English • Català • Deutsch • Español • Français • हिंदी • Bahasa Indonesia • Italiano • 日本語
한국어 • Nederlands • Polski • Português (BR) • Русский • Türkçe • Tiếng Việt • 简体中文 • 繁體中文
The local-first, bring-your-own-model agentic IDE extension that makes your AI spend legible and your knowledge portable —
no cloud, no lock-in, no silent regressions — powered by a curated 302-mode catalog.
Roo+ is a fork of Zoo Code (originally forked from Roo Code / Cline).
Roo+ is an agentic IDE extension that ships with 90 specialized modes pre-loaded from a curated catalog of 302 modes, plus the features and tailored configuration that modern development workflows demand. Everything runs on your own models — so your AI spend stays legible, your knowledge stays portable, and nothing happens silently behind your back.
| Feature | Description |
|---|---|
| 🎯 Custom Modes Library | 90 specialized modes pre-loaded for every task |
| 🤖 AI Agent Team | Multiple AI agents working together in your editor |
| 🔌 MCP Support | Full Model Context Protocol integration |
| 🌍 Multi-Provider | Works with Anthropic, OpenAI, Gemini, Ollama, and 25+ providers |
| 📦 Bulk Mode Install | Install multiple modes at once from the Mode Marketplace with checkboxes, scope selection, and progress tracking (v3.75.0) |
| 🛠️ Terminal Integration | Smart terminal with shell integration |
| 📁 Tree-Sitter Code Index | Intelligent code understanding for 30+ languages with reliable Semble search, diagnostics, and release-governed binaries (v3.77.0, v3.77.1) |
| 🧮 Accurate Context Window | Trusted, real context-window metrics with no fabricated token counts in the task header (v3.77.0) |
| 🔒 Atomic File Writing | Safe, crash-proof file operations |
| 🛡️ Typed Message Protocol | All 232 webview↔extension message types schema-registered and runtime-validated at the boundary; fail-closed with zero any escapes (v3.78.0) |
| 🔐 Privacy-first & Trust | Zero telemetry by design — no PostHog, no analytics; untrusted workspaces are gated and first-use binaries require explicit consent (v3.88.0) |
| ⚡ Webview Reliability | Bounded task-history, custom-modes, and chat-message payloads plus a payload-size SLI fix the gray frozen webview (v3.88.1–v3.88.3) |
| 🌐 Localization | Available in 18+ languages |
Roo+ is built on one promise: your AI spend is legible, your knowledge is portable, and nothing happens behind your back.
| Principle | What it means for you |
|---|---|
| 💸 Legible AI spend | Know what every task costs — up front and as it runs. Honest numbers, never hidden, never surprising. |
| 🧳 Portable knowledge | Your files stay yours. Standard-compatible (AGENTS.md / CLAUDE.md), with no lock-in to any cloud or vendor. |
| 🛡️ No silent regressions | A trust ladder from visible → supervised → autonomous — no silent "auto-approve everything". |
| 🗂️ Curated 302-mode catalog | 90 modes pre-loaded, 302 in the catalog — expert help for almost every job. |
📌 The Roadmap is built around the same three priorities: cost control, a calmer approval experience, and knowledge that survives across sessions.
Roo+ ships with 90 specialized AI modes pre-configured and ready to use. Switch between them instantly to get expert-level assistance for any task.
| Tier | Modes |
|---|---|
| 🏗️ Core Engineering | Fullstack Developer Master, Backend Developer Pro, Frontend Developer Elite, Microservices Architect |
| 🧠 AI & Data | AI Engineer Expert, LLM Architect Elite, SQL Database Expert |
| 🛡️ Security & Quality | Cybersecurity Expert, Penetration Tester Pro, Code Skeptic |
| 🎯 Orchestration & Reasoning | Agent Organizer Elite, Problem Solving Maestro |
💡 Tip: Open the mode selector (bottom of the VS Code window) to browse and switch between all available agents.
ℹ️ Browse the complete list (✅ pre-loaded vs ⬜ importable) in the Agent Catalog.
Switching modes:
- Click the mode selector at the bottom of VS Code (or press
Ctrl+Shift+P→ "Roo Code: Switch Mode") - Browse the 90 pre-loaded modes by name
- Select the agent that matches your current task
- The agent activates with its specialized role definition and toolset
Browse all 302 modes with their slug, category, and pre-load status in the Agent Catalog. Each entry shows:
- ✅ Pre-loaded — already available in the mode selector
- ⬜ Available — in the submodule, ready to import
The custom modes library contains 302 modes in the canonical catalog. 90 are pre-loaded in .roomodes; the remaining 212 are available in the Modes Marketplace and can be added at any time.
How custom-modes/manifest.json works:
includeCategorieswith"all"— includes EVERY agent from that category directory (e.g.,"business-product": "all"adds all 15 business agents)includeSlugs— adds INDIVIDUAL agents by their slug name, regardless of categoryexcludeSlugs— removes specific agents from the curated list
Currently 0 categories are set to "all" — all curation is via individual slugs. 90 individual slugs define the curated set.
Option 0 — Install from the Mode Marketplace (easiest):
The quickest way to add new modes is directly from the Mode Marketplace inside the extension's webview UI:
- Click the Mode Marketplace button in the mode selector (bottom of the VS Code window) or the marketplace tab
- Browse available modes — search by name, filter by tags, or sort by popularity
- For single installs — click Install on any mode you want to add
- For bulk installs (v3.75.0+) — switch to the Modes tab, select multiple modes with checkboxes, and click Install N Modes to install them all at once
- A sticky action bar shows the selection count
- Choose installation scope: global (all projects) or project-only
- A progress bar tracks each installation step
- A result summary shows per-item success/failure
- The mode(s) are immediately available in your mode selector — no reload needed
The marketplace also supports MCP servers and includes bundled modes — 302 items total (the full 302-mode catalog).
Option A — Add via manifest (recommended for multiple agents):
- Open the Agent Catalog and find agents marked ⬜ Available
- Note their
slug(e.g.,seo-strategist,game-developer) - Open
custom-modes/manifest.jsonand add the slug(s) to"includeSlugs" - Run:
pnpm run sync:custom-modes
- Reload VS Code window
Option B — Add an entire category:
Check the Agent Catalog to see which categories have many agents you want, then in custom-modes/manifest.json set that category to "all":
{
"includeCategories": {
"specialized-domains": "all",
"meta-orchestration": "all"
}
}Then run pnpm run sync:custom-modes.
Option C — Add one mode directly to .roomodes:
Copy the mode YAML content from its file in custom-modes/custom_modes.d/, paste it into .roomodes under the customModes: array (keeping only slug, name, roleDefinition, customInstructions, groups fields), then reload VS Code.
- Open VS Code or VS Codium
- Go to Extensions (
Ctrl+Shift+X/Cmd+Shift+X) - Search for "Roo+"
- Click Install
Want to test the newest build before it ships as stable? Use the marketplace's "Install Pre-Release Version" dropdown on the Roo+ extension page (VS Code Marketplace and Open VSX both expose it). Pre-release builds are generated from every push to master, so you always run the latest code — great for validating fixes and new features ahead of a stable release.
Or install directly from the command line:
# Via the VS Code Marketplace
code --install-extension xavier-arosemena.roo-plus
# Via the Open VSX CLI
ovsx install xavier-arosemena/roo-plusPrerequisite: Node.js 22+ (
^22.22.2, see.nvmrc) andpnpm. Building the extension from source requires the Node.js v22 LTS toolchain (see the Node.js v22 ADR).
# Clone the repo
git clone https://github.com/xavier-arosemena/roo-plus.git
cd roo-plus
# Initialize submodules (includes the 302-mode custom modes library)
git submodule update --init --recursive
# Install dependencies
pnpm install
# Sync custom modes into .roomodes
pnpm run sync:custom-modes
# Build the VSIX
pnpm vsix
# The VSIX will be at: bin/roo-plus-<version>.vsixroo-plus/
├── .roomodes # 90 custom modes (auto-generated)
├── custom-modes/ # Git submodule: 302-mode library
│ ├── custom_modes.d/ # Canonical mode YAML files by category
│ ├── manifest.json # Curation manifest
│ └── README-ROO-PLUS.md # Submodule documentation
├── scripts/
│ └── sync-custom-modes.mjs # Custom modes conversion script
├── src/ # Extension source
│ ├── api/ # API provider integrations
│ ├── core/ # Core logic (task, config, webview)
│ ├── services/ # Services (MCP, terminal, auth, etc.)
│ ├── i18n/ # Internationalization
│ └── integrations/ # Editor integrations
├── webview-ui/ # React-based WebView UI
├── packages/ # Shared packages (types, core, IPC, etc.)
│ └── types/ # Message schema registries (webview-messages/, extension-messages/) — single source of truth for the typed message protocol
└── apps/ # Applications (CLI, VS Code shim, e2e)
Since Roo+ is a fork of Zoo Code, you can pull the latest security updates and features from upstream:
git fetch upstream
git merge upstream/mainThe 90 custom modes pre-loaded with Roo+ are sourced from the Custom-Modes-Roo-Code repository by jtgsystems. A huge thank you to the original author for curating and maintaining this comprehensive agent library — this project would not exist without that foundation.
📌 Attribution:
github.com/jtgsystems/Custom-Modes-Roo-Code
The library is independently versioned via git submodule:
# Pull latest agents and regenerate .roomodes
pnpm run custom-modes:update
# Or manually:
cd custom-modes && git checkout main && git pull origin main && cd ..
pnpm run sync:custom-modesRoo+ is stable and shipped. From here we're building, in order, the capabilities developers keep asking for — cost control, a calmer approval experience, and knowledge that survives across sessions:
- 🟢 Now — cost-aware coding (spending visibility, simple budgets, honest numbers) and smarter mode discovery & onboarding
- 🔵 Next — a safer "trust middle" with non-blocking approvals, and GitHub-first workflow integrations
- 🟣 Later — more efficiency, smarter workflows, and team collaboration
See the full Roadmap for details and the principles behind each item.
Contributions, issues, and feature requests are welcome!
- 🐛 Report a bug: Open an issue
- 💡 Suggest a feature: Open a discussion
- 🔀 Submit a PR: Fork the repo and create a pull request
- 🎯 Add a custom mode agent: Improve the agent library at
custom-modes/and submit a PR upstream
This project is licensed under the Apache 2.0 License — see the LICENSE file for details.
Built with ❤️ by Xavier Arosemena (Audare est Facere)
Find the right solution for your SME
Roo+ is not affiliated with Zoo Code, Roo Code, or Cline.
