Skip to content

Conversation

roomote[bot]
Copy link

@roomote roomote bot commented Oct 17, 2025

This PR implements three interconnected features to enhance the pull request workflow:

Features

1. PR Creator Built-in Mode

  • New built-in mode optimized for creating professional PR descriptions
  • Analyzes git changes, commit history, and test coverage
  • Follows conventional commit standards (feat:, fix:, ux:, etc.)
  • Uses GitHub CLI to create PRs with proper formatting

2. Offer PR After Task Completion

  • Shows "offer_pr" message after any task completes (except in PR Creator mode)
  • Provides one-click switch to PR Creator mode
  • Improves workflow by prompting users to create PRs when appropriate

3. PR Reviewer Cloud Agent Upsell

  • Displays upsell message after PR creation in PR Creator mode
  • Links to Cloud Agents creation page
  • Only shown to authenticated Cloud users

Changes

Backend:

Frontend:

Testing

  • All existing tests pass
  • Mode configuration tests validate new PR Creator mode
  • Attempt completion tool tests pass with new logic

- Add PR Creator built-in mode for generating professional PR descriptions
- Add offer_pr message after task completion (except in PR Creator mode)
- Add pr_reviewer_upsell message after PR Creator completes
- Add translations for new UI elements
- Update message types to support new features
@roomote roomote bot requested review from cte, jr and mrubens as code owners October 17, 2025 18:33
@dosubot dosubot bot added size:M This PR changes 30-99 lines, ignoring generated files. enhancement New feature or request labels Oct 17, 2025
Copy link
Author

roomote bot commented Oct 17, 2025

Review Summary

I've reviewed the PR and found 2 issues that should be addressed:

Issues Found

  • Race condition in attemptCompletionTool.ts: The code accesses cline.taskMode synchronously, but for new tasks the mode is initialized asynchronously. This could cause an error if attempt_completion is called before initialization completes.
  • Untranslated i18n strings: The translation files for all non-English locales (ca, de, es, fr, hi, id, it, ja, ko, nl, pl, pt-BR, ru, tr, vi, zh-CN, zh-TW) contain English text instead of proper translations for the new offerPr and prReviewerUpsell strings.

Overall Assessment

The PR successfully implements the PR Creator mode and workflow enhancements. The implementation is mostly solid, with good integration between the backend and frontend. However, the race condition issue should be addressed to ensure reliable operation in all scenarios, and the translation strings need to be properly localized.

Changes Overview

Backend:

  • Added PR Creator mode to DEFAULT_MODES ✅
  • Added new message types (offer_pr, pr_reviewer_upsell) ✅
  • Added logic to show appropriate messages after task completion ✅

Frontend:

  • Added handlers for new message types ✅
  • Added translations for UI elements ⚠️ (English placeholders need translation)
  • Proper authentication check for upsell message ✅

}

// Send offer_pr message if not in PR Creator mode
if (cline.taskMode !== "pr-creator") {
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Potential race condition: For new tasks (not from history), taskMode is initialized asynchronously but accessed synchronously here. The taskMode getter throws an error if accessed before initialization completes. While this may work in practice due to the async nature of the LLM request loop, it's not guaranteed that taskModeReady will resolve before attempt_completion is called. Consider using await cline.getTaskMode() instead to safely handle the async initialization.

@hannesrudolph hannesrudolph added the Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. label Oct 17, 2025
Comment on lines +415 to 423
"offerPr": {
"title": "Create Pull Request",
"description": "Would you like to create a pull request for these changes?",
"switchToPrCreator": "Switch to PR Creator"
},
"prReviewerUpsell": {
"message": "Get Roo to review this in the Cloud",
"createLink": "Create a PR Reviewer Agent"
}
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The translation strings for offerPr and prReviewerUpsell are in English rather than Spanish. This same issue affects all non-English locale files in this commit (ca, de, es, fr, hi, id, it, ja, ko, nl, pl, pt-BR, ru, tr, vi, zh-CN, zh-TW). These strings should be properly translated to their respective languages to maintain i18n consistency.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. size:M This PR changes 30-99 lines, ignoring generated files.

Projects

Status: Triage

Development

Successfully merging this pull request may close these issues.

2 participants