* fix: remove -p flag from test script to prevent git operation errors The -p flag in npm-run-all was causing tests to run in parallel, which led to 'Cannot log after tests are done' errors with git operations. These errors don't appear when running test:extension alone. The issue occurs because git-based tests create temporary directories and run async operations that can interfere with each other when executed in parallel. Running tests sequentially resolves this cleanly. While it might increase total test time slightly, it ensures more reliable and consistent test results. * refactor(terminal): improve mock streams and fix test issues - Create shell-specific mock streams (bash, cmd, pwsh) with proper line ending handling - Fix open handles in tests by properly managing timeouts - Standardize stderr redirection across all shell implementations using stdio option - Improve test reliability and output cleanliness * fix(tests): add skipVerification option to PowerShell tests to debug Linux issues * fix(tests): use explicit variable name in PowerShell test to fix Linux compatibility * Refactor terminal tests to use purpose-based approach instead of command mapping * Remove reference to non-existent test file * fix: use printf instead of echo -e for more consistent behavior across platforms * fix: use single quotes for PowerShell commands to preserve variables on Linux * Update code-qa workflow to run tests on both Windows and Ubuntu * fix: use platform-specific PowerShell command execution for Linux and Windows * Fix toggleToolAlwaysAllow to handle path normalization for cross-platform compatibility * Fix McpHub tests to handle normalized paths on Windows * Suppress console.error messages in McpHub tests * fix: make Bedrock ARN regex patterns Windows-compatible Fixed an issue where AWS Bedrock tests were timing out on Windows but passing on Linux. The root cause was path separator handling in regex patterns used for model ID extraction from ARNs. 1. Updated model ID extraction regex to handle both forward slashes (Linux) and backslashes (Windows) 2. Modified ARN matching regex to be platform-independent 3. Ensured consistent region prefix handling for all supported regions This change maintains functionality while ensuring cross-platform compatibility. * fix: make WorkspaceTracker test cross-platform compatible Fixed an issue where the WorkspaceTracker test 'should initialize with workspace files' was failing on Windows but passing on Linux. The problem was in the mock implementation of toRelativePath that only handled forward slashes. - Updated the toRelativePath mock to use path.relative which properly handles platform-specific path separators - Ensured all paths are converted to forward slashes for consistency in test assertions - The fix maintains cross-platform compatibility while preserving the test's intent * fix: make WorkspaceTracker tests cross-platform compatible Fixed cross-platform compatibility issues in the WorkspaceTracker tests that were causing failures on Windows but passing on Linux: 1. Updated the toRelativePath mock implementation to: - Use path.relative which properly handles platform-specific path separators - Convert paths to forward slashes for consistency in test assertions 2. Enhanced the 'should not update file paths' test to be platform-agnostic by: - Using more flexible assertions that don't depend on specific path formats - Checking file path length and content rather than exact string matches - Properly typed the test assertions to fix TypeScript errors These changes preserve the test intent while ensuring they run successfully across different operating systems. * fix: make McpHub tests cross-platform compatible Fixed cross-platform compatibility issues in the McpHub tests that were causing failures on Windows but passing on Linux: 1. Made the toggleToolAlwaysAllow tests more platform-agnostic by: - No longer relying on specific path formats which differ between Windows and Linux - Using the last write call instead of searching for a specific path string - Adding more robust assertions that verify structure instead of exact path matches - Properly handling array existence checks 2. These tests would fail on Windows because paths are formatted with backslashes instead of forward slashes, causing path equality checks to fail. The changes maintain test intent while ensuring cross-platform compatibility. * handle escaping of slash and quote * fix: ensure consistent line endings in git fallback strategy Fixed an issue where tests would fail on GitHub Windows runners but pass on local Windows machines due to line ending differences. The fix ensures consistent line ending handling by: 1. Normalizing CRLF to LF when reading files in the git fallback strategy 2. Disabling Git's automatic line ending conversion 3. Maintaining consistent line ending usage throughout text operations * feat: run tests sequentially on Windows, parallel otherwise |
||
|---|---|---|
| .changeset | ||
| .github | ||
| .husky | ||
| .vscode | ||
| assets | ||
| audio | ||
| benchmark | ||
| cline_docs | ||
| e2e | ||
| locales | ||
| scripts | ||
| src | ||
| webview-ui | ||
| .clinerules | ||
| .dockerignore | ||
| .env.sample | ||
| .eslintrc.json | ||
| .git-blame-ignore-revs | ||
| .gitattributes | ||
| .gitconfig | ||
| .gitignore | ||
| .npmrc | ||
| .nvmrc | ||
| .prettierignore | ||
| .prettierrc.json | ||
| .rooignore | ||
| .roomodes | ||
| .vscodeignore | ||
| CHANGELOG.md | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| ellipsis.yaml | ||
| esbuild.js | ||
| flake.lock | ||
| flake.nix | ||
| jest.config.js | ||
| knip.json | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| PRIVACY.md | ||
| README.md | ||
| tsconfig.json | ||
English • Català • Deutsch • Español • Français • हिन्दी • Italiano
日本語 • 한국어 • Polski • Português (BR) • Türkçe • Tiếng Việt • 简体中文 • 繁體中文
Join the Roo Code Community
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.11 Released
Roo Code 3.11 brings significant performance improvements and new features!
- Fast Edits - Edits now apply way faster. Less waiting, more coding.
- API Key Balances - View your OpenRouter and Requesty balances in settings.
- Project-Level MCP Config - Now you can configure it per project/workspace.
- Improved Gemini Support - Smarter retries, fixed escaping, added to Vertex provider.
- Import/Export Settings - Easily back up or share your config across setups.
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/RooVetGit/Roo-Code.git
- Install dependencies:
npm run install:all
- Start the webview (Vite/React app with HMR):
npm run dev
- Debug:
Press
F5(or Run → Start Debugging) in VSCode to open a new session with Roo Code loaded.
Changes to the webview will appear immediately. Changes to the core extension will require a restart of the extension host.
Alternatively you can build a .vsix and install it directly in VSCode:
npm run build
A .vsix file will appear in the bin/ directory which can be installed with:
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 Veterinary, 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 Veterinary, 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!