* feat: add optional todos parameter to new_task tool with experimental setting (#6329) - Add optional todos parameter to new_task tool for hierarchical task planning - Implement experimental setting to optionally require todos parameter - Add clean state-based UI rendering to avoid spurious messages - Export and reuse parseMarkdownChecklist function - Add comprehensive test coverage for both optional and required modes - Maintain full backward compatibility (todos optional by default) * fix: update new_task tool example to include todos parameter - Updated the example in tool-use.ts to show the todos parameter - This prevents AI confusion about whether todos is a valid parameter - The example now demonstrates the complete tool usage pattern * fix: make new_task tool definition dynamic based on experimental setting - Tool description now changes based on newTaskRequireTodos setting - When disabled: shows todos as (optional) - When enabled: shows todos as (required) with no mention of configuration - Added tests to verify dynamic behavior - Ensures AI models get unambiguous instructions based on current settings * fix: add translations for newTaskRequireTodos experimental setting - Added translations for all 17 supported languages - Ensures consistent UI experience across all locales * test: update snapshots for new_task tool example with todos parameter - Updated 13 snapshot files to reflect the new tool-use example - All tests now pass with the updated example format * Update src/core/tools/newTaskTool.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: address PR review comments - Replace any[] with TodoItem[] type in ExtensionStateContext.tsx for better type safety - Remove redundant initialTodos parameter from startTask call in Task.ts (todos already set in constructor) - Improve code clarity in newTaskTool.ts by checking provider reference early and reusing state # Conflicts: # src/core/task/Task.ts # webview-ui/src/context/ExtensionStateContext.tsx * fix: revert order of operations in startTask to fix integration test timeout The change in order of operations (calling say() before postStateToWebview()) was causing the XML content file test to timeout. Reverting to the original order fixes the issue. * fix: hide todos parameter from new_task tool prompt when experiment is disabled - Modified getNewTaskDescription to completely omit todos parameter when experiment is off - Updated tests to verify todos parameter is not shown at all when disabled - Ensures tool prompt remains unchanged when experimental setting is disabled - Maintains backward compatibility while providing cleaner prompt interface * fix: update snapshots for new_task tool todos parameter - Updated snapshots in add-custom-instructions.spec.ts - Updated snapshots in system-prompt.spec.ts - All tests now passing with the new todos parameter documentation * feat: move newTaskRequireTodos from experimental to VSCode settings - Added newTaskRequireTodos as a VSCode configuration property in src/package.json - Added description in src/package.nls.json - Updated newTaskTool.ts to read from VSCode configuration instead of experiments - Removed NEW_TASK_REQUIRE_TODOS from experimental settings in src/shared/experiments.ts - Removed newTaskRequireTodos from packages/types/src/experiment.ts - Updated tests to use VSCode configuration mocking instead of experiments - Removed references from experiments test file - Maintains backward compatibility (defaults to false) * fix: make new_task tool description dynamically reflect VSCode setting - Updated new-task.ts to check args.settings instead of args.experiments - Added newTaskRequireTodos to SystemPromptSettings interface - Pass newTaskRequireTodos setting through Task.ts and generateSystemPrompt.ts - Updated all related tests to use settings instead of experiments - Fixed TypeScript errors in test files by adding newTaskRequireTodos property This ensures the tool description correctly shows todos parameter as required/optional based on the VSCode setting value, fixing the issue where Roo would try to use new_task without the todos parameter when it was required. --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Merge Resolver <merge-resolver@roo-code.com> Co-authored-by: Roo Code <roomote@roocode.com> |
||
|---|---|---|
| .changeset | ||
| .github | ||
| .husky | ||
| .roo | ||
| .vscode | ||
| apps | ||
| locales | ||
| packages | ||
| scripts | ||
| src | ||
| webview-ui | ||
| .dockerignore | ||
| .env.sample | ||
| .git-blame-ignore-revs | ||
| .gitattributes | ||
| .gitconfig | ||
| .gitignore | ||
| .nvmrc | ||
| .prettierrc.json | ||
| .rooignore | ||
| .roomodes | ||
| .tool-versions | ||
| CHANGELOG.md | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| ellipsis.yaml | ||
| knip.json | ||
| LICENSE | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| PRIVACY.md | ||
| README.md | ||
| renovate.json | ||
| SECURITY.md | ||
| tsconfig.json | ||
| turbo.json | ||
English • Català • Deutsch • Español • Français • हिंदी • Bahasa Indonesia • Italiano • 日本語
한국어 • Nederlands • Polski • Português (BR) • Русский • Türkçe • Tiếng Việt • 简体中文 • 繁體中文
Roo Code
Connect with developers, contribute ideas, and stay ahead with the latest AI-powered coding tools.
Roo Code is an AI-powered autonomous coding agent that lives in your editor. It can:
- Communicate in natural language
- Read and write files directly in your workspace
- Run terminal commands
- Automate browser actions
- Integrate with any OpenAI-compatible or custom API/model
- Adapt its “personality” and capabilities through Custom Modes
Whether you’re seeking a flexible coding partner, a system architect, or specialized roles like a QA engineer or product manager, Roo Code can help you build software more efficiently.
Check out the CHANGELOG for detailed updates and fixes.
🎉 Roo Code 3.25 Released
Roo Code 3.25 brings powerful new features and significant improvements to enhance your development workflow!
- Message Queueing - Queue multiple messages while Roo is working, allowing you to continue planning your workflow without interruption.
- Custom Slash Commands - Create personalized slash commands for quick access to frequently used prompts and workflows, with full UI management.
- Enhanced Gemini Tools - New URL context and Google Search grounding capabilities provide Gemini models with real-time web information and enhanced research abilities.
What Can Roo Code Do?
- 🚀 Generate Code from natural language descriptions
- 🔧 Refactor & Debug existing code
- 📝 Write & Update documentation
- 🤔 Answer Questions about your codebase
- 🔄 Automate repetitive tasks
- 🏗️ Create new files and projects
Quick Start
Key Features
Multiple Modes
Roo Code adapts to your needs with specialized modes:
- Code Mode: For general-purpose coding tasks
- Architect Mode: For planning and technical leadership
- Ask Mode: For answering questions and providing information
- Debug Mode: For systematic problem diagnosis
- Custom Modes: Create unlimited specialized personas for security auditing, performance optimization, documentation, or any other task
Smart Tools
Roo Code comes with powerful tools that can:
- Read and write files in your project
- Execute commands in your VS Code terminal
- Control a web browser
- Use external tools via MCP (Model Context Protocol)
MCP extends Roo Code's capabilities by allowing you to add unlimited custom tools. Integrate with external APIs, connect to databases, or create specialized development tools - MCP provides the framework to expand Roo Code's functionality to meet your specific needs.
Customization
Make Roo Code work your way with:
- Custom Instructions for personalized behavior
- Custom Modes for specialized tasks
- Local Models for offline use
- Auto-Approval Settings for faster workflows
Resources
Documentation
Community
- Discord: Join our Discord server for real-time help and discussions
- Reddit: Visit our subreddit to share experiences and tips
- GitHub: Report issues or request features
Local Setup & Development
- Clone the repo:
git clone https://github.com/RooCodeInc/Roo-Code.git
- Install dependencies:
pnpm install
- Run the extension:
There are several ways to run the Roo Code extension:
Development Mode (F5)
For active development, use VSCode's built-in debugging:
Press F5 (or go to Run → Start Debugging) in VSCode. This will open a new VSCode window with the Roo Code extension running.
- Changes to the webview will appear immediately.
- Changes to the core extension will also hot reload automatically.
Automated VSIX Installation
To build and install the extension as a VSIX package directly into VSCode:
pnpm install:vsix [-y] [--editor=<command>]
This command will:
- Ask which editor command to use (code/cursor/code-insiders) - defaults to 'code'
- Uninstall any existing version of the extension.
- Build the latest VSIX package.
- Install the newly built VSIX.
- Prompt you to restart VS Code for changes to take effect.
Options:
-y: Skip all confirmation prompts and use defaults--editor=<command>: Specify the editor command (e.g.,--editor=cursoror--editor=code-insiders)
Manual VSIX Installation
If you prefer to install the VSIX package manually:
- First, build the VSIX package:
pnpm vsix - A
.vsixfile will be generated in thebin/directory (e.g.,bin/roo-cline-<version>.vsix). - Install it manually using the VSCode CLI:
code --install-extension bin/roo-cline-<version>.vsix
We use changesets for versioning and publishing. Check our CHANGELOG.md for release notes.
Disclaimer
Please note that Roo Code, Inc does not make any representations or warranties regarding any code, models, or other tools provided or made available in connection with Roo Code, any associated third-party tools, or any resulting outputs. You assume all risks associated with the use of any such tools or outputs; such tools are provided on an "AS IS" and "AS AVAILABLE" basis. Such risks may include, without limitation, intellectual property infringement, cyber vulnerabilities or attacks, bias, inaccuracies, errors, defects, viruses, downtime, property loss or damage, and/or personal injury. You are solely responsible for your use of any such tools or outputs (including, without limitation, the legality, appropriateness, and results thereof).
Contributing
We love community contributions! Get started by reading our CONTRIBUTING.md.
Contributors
Thanks to all our contributors who have helped make Roo Code better!
License
Apache 2.0 © 2025 Roo Code, Inc.
Enjoy Roo Code! Whether you keep it on a short leash or let it roam autonomously, we can’t wait to see what you build. If you have questions or feature ideas, drop by our Reddit community or Discord. Happy coding!