Commit graph

52 commits

Author SHA1 Message Date
Daniel
d52b6834e3
Add back post-revert bug fixes and features (Step 2) (#11463)
* fix: cancel backend auto-approval timeout when auto-approve is toggled off mid-countdown (#11439)

Co-authored-by: Sannidhya <sann@Sannidhyas-MacBook-Pro.local>

* fix: prevent chat history loss during cloud/settings navigation (#11371) (#11372)

Co-authored-by: Sannidhya <sann@Sannidhyas-MacBook-Pro.local>

* fix: preserve pasted images in chatbox during chat activity (#11375)

Co-authored-by: Roo Code <roomote@roocode.com>

* fix: resolve chat scroll anchoring and task-switch scroll race condit… (#11385)

* fix: avoid zsh process-substitution false positives in assignments (#11365)

* fix(editor): make tab close best-effort in DiffViewProvider.open (#11363)

* fix(checkpoints): canonicalize core.worktree comparison to prevent Windows path mismatch failures (#11346)

* fix: prevent double notification sound playback (#11283)

* fix: prevent false unsaved changes prompt with OpenAI Compatible headers (#8230) (#11334)

fix: prevent false unsaved changes prompt with OpenAI Compatible headers

Mark automatic header syncs in ApiOptions and OpenAICompatible as
non-user actions (isUserAction: false) and enhance SettingsView change
detection to skip automatic syncs with semantically equal values.

Root cause: two components (ApiOptions and OpenAICompatible) manage
openAiHeaders state and automatically sync it back on mount/remount.
These syncs were treated as user changes, triggering a false dirty state.

Co-authored-by: Robert McIntyre <robertjmcintyre@users.noreply.github.com>

* fix: remove noisy console.warn logs from NativeToolCallParser (#11264)

Remove two console.warn messages that fire excessively when loading tasks
from history:
- 'Attempting to finalize unknown tool call' in finalizeStreamingToolCall()
- 'Received chunk for unknown tool call' in processStreamingChunk()

The defensive null-return behavior is preserved; only the log output is removed.

* refactor: remove footgun prompting (file-based system prompt override) (#11387)

* refactor: delete orphaned per-provider caching transform files (#11388)

* feat: add disabledTools setting to globally disable native tools (#11277)

* feat: add disabledTools setting to globally disable native tools

Add a disabledTools field to GlobalSettings that allows disabling specific
native tools by name. This enables cloud agents to be configured with
restricted tool access.

Schema:
- Add disabledTools: z.array(toolNamesSchema).optional() to globalSettingsSchema
- Add disabledTools to organizationDefaultSettingsSchema.pick()
- Add disabledTools to ExtensionState Pick type

Prompt generation (tool filtering):
- Add disabledTools to BuildToolsOptions interface
- Pass disabledTools through filterSettings to filterNativeToolsForMode()
- Remove disabled tools from allowedToolNames set in filterNativeToolsForMode()

Execution-time validation (safety net):
- Extract disabledTools from state in presentAssistantMessage
- Convert disabledTools to toolRequirements format for validateToolUse()

Wiring:
- Add disabledTools to ClineProvider getState() and getStateToPostToWebview()
- Pass disabledTools to all buildNativeToolsArrayWithRestrictions() call sites

EXT-778

* fix: check toolRequirements before ALWAYS_AVAILABLE_TOOLS

Moves the toolRequirements check before the ALWAYS_AVAILABLE_TOOLS
early-return in isToolAllowedForMode(). This ensures disabledTools
can block always-available tools (switch_mode, new_task, etc.) at
execution time, making the validation layer consistent with the
filtering layer.

* feat: add support for .agents/skills directory (#11181)

* feat: add support for .agents/skills directory

This change adds support for discovering skills from the .agents/skills
directory, following the Agent Skills convention for sharing skills
across different AI coding tools.

Priority order (later entries override earlier ones):
1. Global ~/.agents/skills (shared across AI coding tools, lowest priority)
2. Project .agents/skills
3. Global ~/.roo/skills (Roo-specific)
4. Project .roo/skills (highest priority)

Changes:
- Add getGlobalAgentsDirectory() and getProjectAgentsDirectoryForCwd()
  functions to roo-config
- Update SkillsManager.getSkillsDirectories() to include .agents/skills
- Update SkillsManager.setupFileWatchers() to watch .agents/skills
- Add tests for new functionality

* fix: clarify skill priority comment to match actual behavior

* fix: clarify skill priority comment to explain Map.set replacement mechanism

---------

Co-authored-by: Roo Code <roomote@roocode.com>

* feat(history): render nested subtasks as recursive tree (#11299)

* feat(history): render nested subtasks as recursive tree

* fix(lockfile): resolve missing ai-sdk provider entry

* fix: address review feedback — dedupe countAll, increase SubtaskRow max-h

- HistoryView: replace local countAll with imported countAllSubtasks from types.ts
- SubtaskRow: increase nested children max-h from 500px to 2000px to match TaskGroupItem

* perf(refactor): consolidate getState calls in resolveWebviewView (#11320)

* perf(refactor): consolidate getState calls in resolveWebviewView

Replace three separate this.getState().then() calls with a single
await this.getState() and destructuring. This avoids running the
full getState() method (CloudService calls, ContextProxy reads, etc.)
three times during webview view resolution.

* fix: keep getState consolidation non-blocking to avoid delaying webview render

---------

Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>

* fix: harden command auto-approval against inline JS false positives (#11382)

* feat: rename search_and_replace tool to edit and unify edit-family UI (#11296)

* Revert "refactor: delete orphaned per-provider caching transform files (#11388)"

This reverts commit 13a45b0361.

* chore: regenerate built-in-skills.ts with updated formatting

* fix: add missing maxReadFileLine property to test baseState

The ExtensionState type now requires maxReadFileLine property (added in commit 63e3f769a).
Update the test to include this property with the default value of -1 (unlimited reading).

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* feat: add pnpm serve command for code-server development (#10964)

Co-authored-by: Roo Code <roomote@roocode.com>

* chore: remove Feature Request from issue template options (#11141)

Co-authored-by: Roo Code <roomote@roocode.com>

* refactor(docs-extractor): simplify mode to focus on raw fact extraction (#11129)

* Add cli support for linux (#11167)

* fix: replace heredocs with echo statements in cli-release workflow (#11168)

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>

* Drop MacOS-13 cli support (#11169)

* fix(cli): correct example in install script (#11170)

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>

* feat: add Kimi K2.5 model to Fireworks provider (#11177)

* feat(cli): improve dev experience and roo provider API key support (#11203)

- Allow --api-key and ROO_API_KEY env var for the roo provider instead of
  requiring cloud auth token
- Switch dev/start scripts to use tsx for running directly from source
  without building first
- Fix path resolution (version.ts, extension.ts, extension-host.ts) to
  work from both source and bundled locations
- Disable debug log file (~/.roo/cli-debug.log) unless --debug is passed
- Update README with complete env var table and dev workflow docs

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>

* Roo Code CLI v0.0.50 (#11204)

* Roo Code CLI v0.0.50

* docs(cli): add --exit-on-error to changelog

---------

Co-authored-by: Roo Code <roomote@roocode.com>

* feat(cli): update default model from Opus 4.5 to Opus 4.6 (#11273)

Co-authored-by: Roo Code <roomote@roocode.com>

* feat(web): replace Roomote Control with Linear Integration in cloud features grid (#11280)

Co-authored-by: Roo Code <roomote@roocode.com>

* Add linux-arm64 for the roo cli (#11314)

* chore: clean up repo-facing mode rules (#11410)

* Make CLI auto-approve by default with require-approval opt-in (#11424)

Co-authored-by: Roo Code <roomote@roocode.com>

* Add new code owners to CODEOWNERS file

* Update next.js (#11108)

* feat(web): Replace bespoke navigation menu with shadcn navigation menu (#11117)

Co-authored-by: Roo Code <roomote@roocode.com>

---------

Co-authored-by: SannidhyaSah <sah_sannidhya@outlook.com>
Co-authored-by: Sannidhya <sann@Sannidhyas-MacBook-Pro.local>
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Hannes Rudolph <hrudolph@gmail.com>
Co-authored-by: 0xMink <dennis@dennismink.com>
Co-authored-by: Robert McIntyre <robertjmcintyre@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
Co-authored-by: Chris Estreich <cestreich@gmail.com>
2026-02-13 18:40:28 -05:00
Daniel
6cfa82f571
Revert to pre-AI-SDK state (January 29, 2026) (#11462)
Revert to pre-AI-SDK state (commit 67e568f6b)

This commit reverts the codebase to the state before AI SDK migration work began.

Target commit: 67e568f6b - refactor: replace fetch_instructions with skill tool and built-in skills (#10913)
Date: January 29, 2026

This removes approximately 152 commits of AI SDK migration work.
A follow-up PR will add back bug fixes and features that are unrelated to AI SDK.

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-13 16:45:18 -05:00
Hannes Rudolph
d2c52c9e09
chore: clean up repo-facing mode rules (#11410) 2026-02-11 12:15:55 -07:00
Hannes Rudolph
dcba685097
refactor(docs-extractor): simplify mode to focus on raw fact extraction (#11129) 2026-02-04 17:14:31 -08:00
Hannes Rudolph
c8d1a9d699
Normalize docs-extractor audience tags; remove admin/stakeholder; strip tool invocations (#8717)
docs(extractor): normalize audience to type="user"; remove admin/stakeholder; strip tool invocation examples
2025-10-17 19:17:38 -04:00
Daniel
87d50a78cb
refactor: remove pr-reviewer mode (#8222) 2025-09-25 17:44:49 -05:00
Daniel
51836bdafb
Update PR reviewer rules and mode configuration (#6391) 2025-07-29 22:20:47 -04:00
Hannes Rudolph
82a3212180
docs: update docs extractor mode configuration and rules (#6373) 2025-07-29 11:29:31 -06:00
Matt Rubens
e117208c29
Command argument hints and change release engineer to a command (#6333) 2025-07-29 00:42:28 -04:00
Daniel
f90fc2fd5f
Restore PR reviewer (#6324)
Restore PR reviewer mode with updated rules structure
2025-07-28 19:21:14 -05:00
Hannes Rudolph
03ce1e58a3
feat(mode-writer): add validation and cohesion checking for mode creation (#6313)
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-07-28 16:45:42 -04:00
Hannes Rudolph
4effcecd83
Improve issue-writer mode initialization workflow (#6311) 2025-07-28 16:30:26 -04:00
Hannes Rudolph
b73c17a375
Update issue writer rules and workflow configurations (#6230) 2025-07-27 10:20:41 -06:00
Daniel
aa0e6d31d8
feat: add merge-resolver mode for intelligent conflict resolution (#6090) 2025-07-22 21:31:36 -04:00
Matt Rubens
fe3a7ab0f0
Release v3.23.16 (#5952) 2025-07-19 11:55:18 -04:00
roomote[bot]
539b716b4f
feat: enhance release engineer mode to include issue numbers and reporters in changelog (#5940)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-07-19 11:42:59 -04:00
Hannes Rudolph
8c349767fa
feat: Add Issue Investigator mode and enhance Issue Writer mode (#5913) 2025-07-18 14:43:14 -04:00
Randal L. Schwartz
670d79be62
feat: Add description and whenToUse fields to custom modes in .roomodes (#5862) 2025-07-17 20:38:44 -04:00
Hannes Rudolph
d2b51c1b41
refactor: remove orchestrator modes and update GitHub CLI usage (#5832) 2025-07-17 14:28:09 -04:00
Hannes Rudolph
2a3e40e3f6
update internal orchestrator modes definitions to remove tool access (#5487)
Reorder and update orchestrator mode definitions

Moved the 'issue-fixer-orchestrator' mode below 'pr-fixer-orchestrator' and updated their 'groups' fields to empty lists for consistency. No functional changes to mode logic.
2025-07-08 20:37:37 -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
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
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
922f48335a
The goal of this change is to give the mode writer access to a list o… (#4990) 2025-06-21 16:37:34 -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
Matt Rubens
3e2aec2ca7
Update test mode for Vitest (#4778) 2025-06-17 11:55:01 -04:00
Hannes Rudolph
69ffa43bab
Add Mode Writer mode to repo (#4600) 2025-06-13 22:32:09 -06:00
Hannes Rudolph
fc82485563
Docs extractor mode (#4621) 2025-06-13 11:29:12 -04:00
Matt Rubens
ffc8dc7b6b
v3.20 (#4609)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-06-12 17:54:53 -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
Dicha Zelianivan Arkana
bfeb12bfb4
chore: add data-testid rule (#4505) 2025-06-10 21:39:49 -04:00
Matt Rubens
b32e1eda03
Convert .roomodes to YAML (#3792)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-05-21 15:14:10 -04:00
Matt Rubens
e625a1e957
V3.15.2 (#3121)
v3.15.2
2025-05-02 10:43:27 -04:00
Sacha Sayan
dc03cb75da
Design Engineer Roomode (#3070)
* Design Engineer Roomode

* Create spicy-tips-fail.md

* Update .roomodes

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

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-05-01 11:32:47 -04:00
Chris Estreich
7863303aac
Fall back to execa if VSCode terminal integration fails (#3049) 2025-04-29 21:10:41 -07:00
Matt Rubens
664d5b1dd5
Add a Release Engineer project mode (#3038) 2025-04-29 16:10:25 -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
7b56422449
Interpolate settings link in telemetry banner (#1873) 2025-03-21 09:58:25 -04:00
cannuri
000df18503
Enhance translate mode guidelines + informal speech in de locales (#1858)
* feat(i18n): Enhance Translate mode guidelines

This commit improves the Translate custom mode in .roomodes by adding:

- Clear requirement to use informal speech (e.g., "du" instead of "Sie")
- Guidance on preserving domain-specific terminology in English
- New section on common translation pitfalls to avoid
- Enhanced instructions for handling placeholders in translated strings
- Guidelines for UI element translation (buttons vs. tooltips)
- Directions for handling incomplete source strings
- Rules to preserve original perspective (user→system vs system→user)
- A translator's checklist for quality assurance

These improvements ensure more consistent, accurate, and natural
translations across supported languages while preventing common
localization errors.

* use informal speech in de locales
2025-03-20 20:47:27 -04:00
Matt Rubens
38655825d4
Extension-side internationalization (#1757)
* Extension-side internationalization

* Update script

* Cleaner esbuild

* Turn off debugging

* PR feedback

* Update src/i18n/locales/en/common.json

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

* Update src/i18n/locales/ca/common.json

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

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-03-18 10:39:21 -04:00
Matt Rubens
41bd36c29a More chat i18n 2025-03-17 15:49:59 -04:00
Matt Rubens
e91d49ca23 Adjust languages to align with userbase 2025-03-16 22:53:13 -04:00
Matt Rubens
f6f4ec475b Localize ModelPicker 2025-03-16 14:39:22 -04:00
Matt Rubens
2df634c836 Add script to find missing translations 2025-03-16 11:26:49 -04:00
Matt Rubens
6cdd10251a Translate history preview and view 2025-03-16 00:51:38 -04:00
Matt Rubens
a2be45e27e i18n for chattextarea 2025-03-15 23:49:09 -04:00