Commit graph

46 commits

Author SHA1 Message Date
Matt Rubens
10f3e30126
Remove duplicate PR link in issue fixer workflow (#5638) 2025-07-12 15:38:04 -04:00
Murilo Pires
9da5166f56
Pr fixer improvements (#5407)
* feat: add Issue Fixer Orchestrator mode

* feat(pr-fixer-orchestrator): enhance workflow safety and user control

- Add user approval checkpoint before committing changes
- Implement large diff handling (>2000 lines) with automatic summarization
- Replace dangerous `git add -A` with selective file staging
- Enforce context preservation in shared temp directory for all delegated tasks
- Add exact PR template format specification
- Update best practices to reflect new safety measures

BREAKING CHANGE: Workflow now requires explicit user approval before commits

* removed files that were added accidently
2025-07-04 20:53:40 -04:00
Murilo Pires
7c4fc55fc5
PR-Reviewer improvements (#5406)
* feat: add Issue Fixer Orchestrator mode

* feat: enhance PR Reviewer mode as orchestrator with critical review capabilities

- Transform PR Reviewer into an orchestrator mode that delegates analysis tasks
- Add comprehensive rule files for workflow, guidelines, and patterns
- Implement file-based context management system in .roo/temp/pr-*/
- Add GitHub MCP tool integration with CLI fallback strategy
- Include critical review guidelines for pattern consistency and redundancy detection
- Update file permissions to support temporary context files
2025-07-04 20:53:13 -04:00
Murilo Pires
6982b1916c
feat: Add pre-commit review and PR template to issue-fixer-orchestrator (#5405)
* feat: Add pre-commit review and PR template to issue-fixer-orchestrator

- Add user confirmation step before committing changes
- Handle large diffs (>2000 lines) with summary generation
- Save PR message to temp directory instead of creating PR directly
- Implement exact Roo Code PR template format
- Add post-commit options for flexible PR creation
- Update best practices and communication guidelines
- Document new commit and PR workflow patterns

* removed files that were added accidently
2025-07-04 20:50:36 -04:00
Daniel
b7d5a964c7
fix: enhance PR reviewer mode to prevent duplicate comments (#5382)
- Reorganized workflow to fetch existing comments BEFORE code review (Step 4)
- Added dedicated Step 6 to verify existing comments against current code
- Updated best practices to emphasize checking resolved comments first
- Enhanced common mistakes to highlight duplicate comment prevention
- Added tracking of resolved vs pending comments in the review process
2025-07-03 14:50:38 -04:00
Hannes Rudolph
2ecf2ce5ad
feat: improve docs-extractor mode rules for better documentation extraction (#5381)
- Enhanced extraction workflow with clearer step-by-step instructions
- Improved documentation patterns for better structure recognition
- Refined analysis techniques for comprehensive coverage
- Updated tool usage guide with practical examples
- Added complete extraction examples for common scenarios
- Improved communication guidelines for clearer output
- Enhanced user-friendly examples with better formatting
2025-07-03 14:50:09 -04:00
Murilo Pires
a3106bf9a5
feat: add Issue Fixer Orchestrator mode (#5379) 2025-07-03 14:49:25 -04:00
Hannes Rudolph
7e8c1d71a4
feat: add issue-fixer-orchestrator mode (#5366)
* Add issue-fixer-orchestrator mode

* fix: address PR review comments

- Restore multi-line YAML formatting for mode-writer roleDefinition
- Fix duplicate numbering in workflow XML (4. -> 5., 5. -> 6.)

---------

Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-03 10:58:58 -04:00
Matt Rubens
1cb69d2dc6
Remove reference to file that no longer exists (#5360) 2025-07-02 22:25:58 -04:00
Daniel
c72f4a4b5e
docs: add compact testing guidelines to project rules (#5353) 2025-07-02 18:48:50 -04:00
Hannes Rudolph
1acbd45dc2
refactor: update issue-fixer mode to use GitHub CLI instead of MCP (#5320) 2025-07-01 17:04:57 -04:00
Hannes Rudolph
adb3ee9a11
feat: add translation orchestration to PR Fixer mode (#5280)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-01 10:32:38 -04:00
Hannes Rudolph
6b7cfdc6ac
feat: add translation workflow to issue-fixer mode (#5281) 2025-07-01 10:32:23 -04:00
KJ7LNW
d1ab71c60e
Improve translation workflow to avoid unnecessary file reads (#5126)
* dotroo: improve translation workflow to reduce unnecessary file reads

Update translation workflow guidelines to use search_files instead of reading
each translation file individually. This approach is more efficient and
reduces context token usage while maintaining translation accuracy.

The improved workflow:
- Uses search_files to find JSON structure in translation files
- Creates proper context for apply_diff without reading every file
- Only reads specific files when their structure differs
- Validates changes with the missing translations script

Fixes: #5125
Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* Update 001-general-rules.md

---------

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
Co-authored-by: Eric Wheeler <roo-code@z.ewheeler.org>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
2025-06-25 20:24:30 -04:00
Daniel
a9752e0293
Improve pr-reviewer to verify resolved comments by checking code (#5112) 2025-06-25 16:07:29 -04:00
KJ7LNW
8455909809
fix: use safeWriteJson for all JSON file writes with race condition fix (#4733)
Co-authored-by: Eric Wheeler <roo-code@z.ewheeler.org>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-06-25 16:05:02 -04:00
Daniel
e7ca038cb5
feat(pr-fixer): add validation step to workflow (#5078) 2025-06-24 15:00:35 -04:00
Hannes Rudolph
f5d4847dce
feat: add PR check monitoring to issue-fixer workflow (#5077) 2025-06-24 15:00:19 -04:00
Hannes Rudolph
cb4c178b5b
feat: remove individual review comments option from PR Reviewer mode (#5080) 2025-06-24 14:59:59 -04:00
Daniel
35cdcf4883
Refine PR Reviewer mode: focus on issues, minimize markdown (#5022) 2025-06-22 22:53:10 -04:00
Daniel
ef19082acd
feat: add PR Fixer mode for resolving pull request issues (#4961)
* feat: add PR Fixer mode for resolving pull request issues

- Add new PR Fixer mode to help address feedback and resolve issues in existing PRs
- Include workflow instructions for analyzing PR comments, failing tests, and merge conflicts
- Add best practices and common patterns for PR resolution
- Include tool usage guidelines and examples
- Add custom instructions for handling merge conflict markers in diffs

* refactor: remove duplicate custom instructions
2025-06-21 12:11:53 -04:00
Hannes Rudolph
b0f4ea78e1
feat: update issue-writer mode rules for streamlined feature request template (#4850) 2025-06-18 15:36:31 -04:00
Hannes Rudolph
80dd3b8320
fix: update wording in GitHub MCP tool usage guide (#4789)
Co-authored-by: Claude <noreply@anthropic.com>
2025-06-17 15:05:45 -04:00
Chris Estreich
62c3914034
Farewell jest (#4607)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-06-16 21:39:45 -07:00
Hannes Rudolph
58888d5d14
refactor: reorganize implementation plan step in workflow (#4710) 2025-06-14 20:45:13 -04:00
Hannes Rudolph
69ffa43bab
Add Mode Writer mode to repo (#4600) 2025-06-13 22:32:09 -06:00
Christiaan Arnoldus
206c292498
feat: Indonesian translation (#4672)
* Copy Indonesian text files from Kilo Code

* Use Roo to update its own Indonesian translation
2025-06-13 20:25:05 -04:00
Hannes Rudolph
fc82485563
Docs extractor mode (#4621) 2025-06-13 11:29:12 -04:00
Daniel
48d0b19324
Feat: Improve Issue Fixer Rules for Targeted Fixes (#4652) 2025-06-13 11:28:05 -04:00
Daniel
87186067f9
Feat: Improve PR Reviewer Rules (#4651) 2025-06-13 11:08:51 -04:00
Chris Estreich
15e3d6fc87
feat(tests): core tools integration tests (#4433)
* feat(tests): add apply_diff tool tests

* feat(tests): add tests for write_to_file tool functionality

* feat(tests): add comprehensive tests for read_file tool functionality

* feat(tests): add tests for execute_command tool functionality

* feat(integration-tester): add integration testing role with comprehensive guidelines

* feat(tests): enhance test runner with grep and specific file filtering

* feat(tests): add comprehensive tests for search_files tool functionality

* feat(tests): add comprehensive tests for list_files tool functionality

* feat(tests): add tests for insert_content tool functionality

* feat(tests): add comprehensive tests for search_and_replace tool functionality

* feat(tests): add comprehensive tests for use_mcp_tool functionality

* feat(tests): increase timeout values for various tool tests to improve reliability

* fix(tests): add non-null assertion for workspaceDir assignment in multiple test files

* feat(tests): enhance read_file tool tests with increased timeouts and improved prompts

* feat(tests): enhance read_file tool tests to extract and verify tool results

* feat(tests): enhance execute_command tool tests with additional context in prompts

* refactor(tests): remove script execution test and related setup for execute_command tool

* fix(tests): increase timeout for task start and completion in apply_diff and read_file tests

* fix(tests): clarify error handling message in command execution test

* refactor(tests): remove error handling test and related setup for execute_command tool

* fix: update openRouterModelId to use anthropic/claude-3.5-sonnet

* fix: update openRouterModelId to use openai/gpt-4.1

* fix(tests): increase timeouts for apply_diff, execute_command, and search_and_replace tests

* fix(tests): disable terminal shell integration for execute_command tool tests

* chore: rewrite integration tester mode

* Update .roo/rules-integration-tester/1_workflow.xml

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

---------

Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-06-12 11:50:25 -04:00
Daniel
bf14b37edc
Add PR Reviewer mode (#4531)
* feat: add PR Reviewer mode with detailed review instructions

* fix: structure

* feat: add comprehensive PR Reviewer workflow and best practices
2025-06-11 17:27:05 -04:00
Hannes Rudolph
2ea26637d7
feat: Add Issue Writer and Issue Fixer modes with comprehensive workflows (#4437)
* Add issue writer mode with detailed templates for bug reports and feature proposals

* Refactor issue-writer mode to enhance role definition and instructions for creating GitHub issues

* Add steps for searching GitHub Discussions and documenting related issues in the issue creation process

* Add Issue Fixer mode with detailed workflow for resolving GitHub issues

* Enhance Issue Fixer mode with detailed workflows for PR reviews and issue handling

* Refactor Issue Fixer and Issue Worker modes to enhance workflow orchestration and implementation processes. Updated role definitions, added detailed workflows for issue resolution, and improved context management and communication guidelines.

* Enhance issue-worker mode with branch verification steps and detailed instructions for ensuring correct branch setup before implementation. Updated workflow to include branch context in design planning and final verification processes.

* Enhance pull request creation and verification workflow with detailed steps for branch verification, commit checks, and comprehensive PR status monitoring. Improved instructions for ensuring successful PR creation and linking to original issues.

* feat: Add Issue Writer and Issue Fixer modes with comprehensive workflows

- Add Issue Writer mode for creating well-structured GitHub issues
- Add Issue Fixer mode for implementing fixes from GitHub issues
- Include detailed workflow rules and best practices for both modes
- Add GitHub MCP tool usage guidelines
- Include PR workflow and communication guidelines
2025-06-11 16:00:13 -04:00
Matt Rubens
ba6490c2e2
Remove monorepo.md for now (#4549) 2025-06-11 15:25:31 -04:00
Matt Rubens
8d2eeda4ad
Revert "fix: use safeWriteJson for all JSON file writes" (#4471)
Revert "fix: use safeWriteJson for all JSON file writes (#3772)"

This reverts commit 1be30fc8c2.
2025-06-09 13:53:17 -04:00
KJ7LNW
1be30fc8c2
fix: use safeWriteJson for all JSON file writes (#3772)
* feat: Add safeWriteJson utility for atomic file operations

Implements a robust JSON file writing utility that:
- Prevents concurrent writes to the same file using in-memory locks
- Ensures atomic operations with temporary file and backup strategies
- Handles error cases with proper rollback mechanisms
- Cleans up temporary files even when operations fail
- Provides comprehensive test coverage for success and failure scenarios

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* fix: use safeWriteJson for all JSON file writes

This change refactors all direct JSON file writes to use the safeWriteJson
utility, which implements atomic file writes to prevent data corruption
during write operations.

- Modified safeWriteJson to accept optional replacer and space arguments
- Updated tests to verify correct behavior with the new implementation

Fixes: #722
Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* feat: Implement inter-process file locking for safeWriteJson

Replaces the previous in-memory lock in `safeWriteJson` with
`proper-lockfile` to provide robust, cross-process advisory file
locking. This enhances safety when multiple processes might attempt
concurrent writes to the same JSON file.

Key changes:
- Added `proper-lockfile` and `@types/proper-lockfile` dependencies.
- `safeWriteJson` now uses `proper-lockfile.lock()` with configured
  retries, staleness checks (31s), and lock update intervals (10s).
- An `onCompromised` handler is included to manage scenarios where
  the lock state is unexpectedly altered.
- Logging and comments within `safeWriteJson` have been refined for
  clarity, ensuring error logs include backtraces.
- The test suite `safeWriteJson.test.ts` has been significantly
  updated to:
    - Use real timers (`jest.useRealTimers()`).
    - Employ a more comprehensive mock for `fs/promises`.
    - Correctly manage file pre-existence for various scenarios.
    - Simulate lock contention by mocking `proper-lockfile.lock()`
      using `jest.doMock` and a dynamic require for the SUT.
    - Verify lock release by checking for the absence of the `.lock`
      file.

All tests are passing with these changes.

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* feat: implement streaming JSON write in safeWriteJson

Refactor safeWriteJson to use stream-json for memory-efficient JSON serialization:
- Replace in-memory string creation with streaming pipeline
- Add Disassembler and Stringer from stream-json library
- Extract streaming logic to a dedicated helper function
- Add proper-lockfile and stream-json dependencies

This implementation reduces memory usage when writing large JSON objects.

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* fix: improve safeWriteJson locking mechanism

- Use file path itself for locking instead of separate lock file
- Improve error handling and clarity of code
- Enhance cleanup of temporary files

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* test: fix safeWriteJson test failures

- Ensure test file exists before locking
- Add proper mocking for fs.createWriteStream
- Fix test assertions to match expected behavior
- Improve test comments to follow project guidelines

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* test: update tests to work with safeWriteJson

Updated tests to work with safeWriteJson instead of direct fs.writeFile calls:

- Updated importExport.test.ts to expect safeWriteJson calls instead of fs.writeFile
- Fixed McpHub.test.ts by properly mocking fs/promises module:
  - Moved jest.mock() to the top of the file before any imports
  - Added mock implementations for all fs functions used by safeWriteJson
  - Updated the test setup to work with the mocked fs module

All tests now pass successfully.

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* refactor: replace JSON.stringify with safeWriteJson for file operations

Replace all non-test instances of JSON.stringify used for writing to JSON files with safeWriteJson to ensure safer file operations with proper locking, error handling, and atomic writes.

- Updated src/services/mcp/McpHub.ts
- Updated src/services/code-index/cache-manager.ts
- Updated src/api/providers/fetchers/modelEndpointCache.ts
- Updated src/api/providers/fetchers/modelCache.ts
- Updated tests to match the new implementation

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* docs: add rules for using safeWriteJson

Add concise rules for using safeWriteJson instead of JSON.stringify with file operations to ensure atomic writes and prevent data corruption.

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

---------

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
Co-authored-by: Eric Wheeler <roo-code@z.ewheeler.org>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
2025-06-08 07:17:20 -07:00
Hannes Rudolph
b6bfeefc46
Remove mcp.json configuration and add it to .gitignore (#4422) 2025-06-06 12:33:35 -04:00
Hannes Rudolph
2a92312b85
Add MCP configuration file (#4363) 2025-06-06 11:04:01 -04:00
KJ7LNW
17b18e3f47
docs: add monorepo management rules (#4296)
Co-authored-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-06-03 15:12:33 -07:00
Matt Rubens
f18f71cb17
Rename cline_docs -> docs (#3587) 2025-05-13 21:59:26 -04:00
Matt Rubens
3ce7b3a432
Add Dutch localization files (#3231)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Thomas Brugman <thomas.brugman.teb3@gmail.com>
2025-05-06 14:09:05 -04:00
asychin
7f99c0691e
feat/add-russian-lang (#2909)
* rus

* sad

* fix lang

* Add ru to translate mode instructions

* Add ru to evals types

* Add link to READMEs

* Bring back smart quotes

* Add prompt caching translations

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-04-24 16:03:30 -04:00
Matt Rubens
7e4000b4e0
Add custom instructions for de (#2383) 2025-04-09 09:20:13 -04:00
Matt Rubens
903f3b64a1
Add custom instructions for zh-CN (#2381)
* Add custom instructions for zh-CN

* Updates from System233
2025-04-07 23:06:54 -04:00
Matt Rubens
d5aee1e1d8
Add custom instructions for zh-TW (#2382)
* Add custom instructions for zh-TW

* Move custom instructions to a rules file for easier reading

* PR feedback
2025-04-07 14:24:23 -04:00
Matt Rubens
009faf349e
Move .roorules to .roo/rules/ (#2385) 2025-04-07 12:14:04 -04:00