* feat: apply changes from local main * fix: add missing types * feat: deduplicate code blocks coming out of parser * feat: implement a cache manager to improve cache handling * refactor: move code index service initialization to extension and remove await from indexing process * fix: return undefined instead of throwing if no workspace is detected * feat: allow auto approve if it is active for read tools * refactor: improve UI of the results and allow opening the ranges directly in the editor * refactor: use dependency injection to improve performance * feat: implement result filtering by directory path * refactor: centralize path normalization logic * refactor: remove unnecessary barrel file * refactor: prevent restarting the service if no settings change * fix: the indexing process should never be awaited * refactor: cleanup unused method * refactor: remove batch limits for ollama * refactor(parser): simplify method signatures and improve chunking logic - Remove redundant min/max chars parameters - Add better handling for oversized lines - Improve chunking logic with segment handling - Clean up method signatures and parameter ordering * fix(settings): make select inputs full width in CodeIndexSettings * refactor: increase max list file limit * feat(ui): improve codebase search result display formatting * test: add tests for cache and config managers * test: create unit tests for parser and scanner * feat(parser): improve segment hash uniqueness - Added startCharIndex to segment hash calculation in _chunkTextByLines - Track character position when splitting oversized lines - Ensures unique identification of segments from same line * feat(file-watcher): add error logging and optional ignoreController injection * fix: allow getting the state if the service is disabled * fix: set the embedding models when cline provider is initialized * feat: use zod to validate form * feat(file-watcher): enhance file watcher for batched deletions and improved vector store interactions Improve file watcher to handle file deletions in batches and optimize vector store operations. * feat(CodeIndexSettings): move OpenAI key input to a conditional rendering block * feat(CodeIndexSettings): update button visibility based on indexing status * feat(file-watcher): refactor vscode mock and enhance file watcher tests * fix(CodeIndexManager): do not await startIndexing on configuration changes * feat(types): add codeIndexOpenAiKey and codeIndexQdrantApiKey to ProviderSettings and IpcMessage * feat(FileWatcher): enhance file processing with batch operations and new status handling * fix(webviewMessageHandler): handle errors during CodeIndexManager initialization * refactor(CodeIndexManager): streamline service creation by consolidating into a single method * feat(CodeIndex): implement minimum search score configuration and update search methods * refactor(CodeIndexSettings): replace ApiConfiguration with ProviderSettings and update related methods * refactor: move contants to centralized file * refactor(constants): rename CODEBASE_INDEX_SEARCH_MIN_SCORE to SEARCH_MIN_SCORE * feat(QdrantVectorStore): enhance search functionality with new query structure and indexing * feat(FileWatcher): implement batch processing and retry logic for upserting points * fix(CodeIndexSettings): rename setProviderSettingsField to setApiConfigurationField and move model label * fix(ChatRow): remove limit from search query messages * refactor(CodebaseSearchResult): remove unused props from component * feat: implement batch processing for file events in FileWatcher - Introduced a new mechanism to accumulate file events (create, change, delete) and process them in batches. - Added debounce functionality to optimize processing frequency. - Emitted events for batch processing start, progress updates, and completion with detailed summaries. - Refactored existing processing logic to handle batch deletions and upserts efficiently. - Enhanced error handling and logging for better traceability during batch operations. * feat(CodeIndex): implement batch processing and update progress reporting * fix: define a default url for qdrant * feat(CodeIndexManager): add initialization check and update startIndexing logic * feat(CodeIndexSettings): validate Qdrant URL and update settings commitment logic * feat: refactor progress calculation and update progress bar rendering * refactor: remove webview provider and related methods * fix: simplify indexing status update by directly using update values * feat: integrate .gitignore support into file processing and scanning logic * fix: update clearCacheFile method to write an empty object instead of deleting the cache file * Revert this * Run prettier * fix: add new dependencies for qdrant client and directory scanner * feat: add codebase search functionality to localization files * feat: add localization strings for codebase indexing settings * feat: integrate CodeIndexSettings into ExperimentalSettings and update settings localization * refactor: remove console logs from various components for cleaner output * feat: enhance capabilities section and codebase search tool description * feat: add code indexing localization for multiple languages * fix: correct indentation for CodeIndexSettings component in ExperimentalSettings * refactor: update unit tests to properly test current functionality * feat: add mock implementation for p-limit and update Jest config * feat: track file creation, change, and deletion events in accumulatedEvents * refactor: simplify file watcher tests by removing waitForFileProcessingToFinish and using direct event accumulation * refactor: mock ContextProxy's getValue method to return current config name in ClineProvider tests * refactor: mock missing properties required by codebase indexing manager --------- Co-authored-by: cte <cestreich@gmail.com> |
||
|---|---|---|
| .changeset | ||
| .github | ||
| .husky | ||
| .roo | ||
| .vscode | ||
| apps | ||
| e2e/src/suite | ||
| evals | ||
| locales | ||
| packages | ||
| scripts | ||
| src | ||
| webview-ui | ||
| .env.sample | ||
| .git-blame-ignore-revs | ||
| .gitattributes | ||
| .gitconfig | ||
| .gitignore | ||
| .nvmrc | ||
| .prettierignore | ||
| .prettierrc.json | ||
| .rooignore | ||
| .roomodes | ||
| .tool-versions | ||
| CHANGELOG.md | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| ellipsis.yaml | ||
| knip.json | ||
| LICENSE | ||
| MONOREPO.md | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| PRIVACY.md | ||
| README.md | ||
| renovate.json | ||
| turbo.json | ||
English • Català • Deutsch • Español • Français • हिन्दी • Italiano • Nederlands • Русский
日本語 • 한국어 • Polski • Português (BR) • Türkçe • Tiếng Việt • 简体中文 • 繁體中文
Roo Code (prev. Roo Cline)
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.18 Released
Roo Code 3.18 brings powerful new features and improvements based on your feedback!
- Gemini 2.5 Flash Preview Models - Access the latest Gemini Flash models for faster and more efficient responses.
- Intelligent Context Condensing Button - New button in task header lets you intelligently condense content with visual feedback.
- YAML Support for Mode Definitions - Create and customize modes more easily with YAML support.
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:
Press F5 (or Run → Start Debugging) in VSCode to open a new window with Roo Code running.
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:
pnpm 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 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!