Optimizing RooCode in VS Code: A Complete Guide to Agent Development Setup
RooCode extends VS Code with multi-agent development capabilities. After installation and authorization, a chat interface opens with a message queue, mod selection, AI model choices, and auto-approval settings. Project indexing connects the Qdrant vector database for file analysis, improving the accuracy of LLM-generated edits.
Configuration follows a logical order: from indexing to permissions, marketplace, notifications, and prompts. This minimizes iterations and speeds up workflow.
Indexing and Vector Processing
Connect a provider for vectorization and graphs. Specify the Qdrant endpoint—indexing results are stored there. The LLM receives project context, generating relevant changes without hallucinations.
In the main window, activate Indexing. Directory scanning allows models to reference the codebase during editing.
Auto-Approve: Controlling LLM Operations
Allow the LLM to execute functions with limits on requests or cost. For console commands (Execute), configure whitelist/blacklist.
- Allowed Commands: Add as you go; RooCode requests confirmation for new ones.
- Limits: Prevent token overuse in auto-mode.
- Dangerous Actions: Manual confirmation for sudo or system calls.
This balances autonomy and safety.
Marketplace for MCP Servers and Mods
Install ready-made MCP (Model Control Protocol) servers for git, filesystem, qdrant. Global ones come from the marketplace; project-specific ones are stored locally in .roo.
Examples of MCP:
- mcp-git: Repository operations without CLI.
- mcp-filesystem: File read/write.
- mcp-qdrant: Vector search.
Mods are pre-configured agents for tasks. Download and customize them.
Notifications and UI Settings
Enable notifications for confirmations, loop interruptions, and completions. Adjust volume.
UI options:
- Expand model reasoning for debugging logic.
- Ctrl+Enter to send (avoid accidental Shift+Enter).
- Background editing—edits without window flickering.
Prompts and Experimental Features
Edit built-in prompts. Enhance rephrases queries, enforcing Documentation-First and TDD.
Generate an enhanced version of the following prompt (reply with only the enhanced prompt — no conversation, explanations, lead-in text, bullet points, placeholders, or surrounding quotes).
Your enhancement must:
- Preserve the user's original intent and constraints; do not add new requirements that change meaning.
- Improve clarity, structure, specificity, and testability; remove ambiguity and weak language.
- Explicitly enforce **Documentation-First** and **TDD** as the default execution workflow:
1) Start by reading and relying on the project documentation and `memory-bank/` as the single source of truth (e.g., productContext, activeContext, systemPatterns).
2) If the request implies changes in logic/architecture/behavior, update the relevant documentation/specs (or draft an RFC) BEFORE writing production code.
3) Follow strict TDD (Red → Green → Refactor): write failing tests first, implement the minimum code to pass, then refactor to SOLID/DRY.
- Require updating the `memory-bank/` (at minimum activeContext/progress and any affected context docs) to reflect the new behavior and decisions.
- Include a clear Definition of Done aligned with the request (tests passing, docs updated, behavior verified), without adding unnecessary scope.
Here is the prompt to enhance:
${userInput}
Experimental: slash commands for mods/skills.
Skills: Structure and Categories
Skills are agent instructions in Markdown format. Place them globally (~/.roo/skills) or in the project (.roo/skills).
Skill structure:
---
name: mcp-time
description:
context:
compatibility:
---
# <Title>
## Tools
| Tool | Use For |
|------|---------|
| | |
## When to Use
## Usage Effectiveness & Best Practices
#### ❌ Bad Practice (Hallucinating time)
#### ✅ Good Practice (Verifying time)
### Debugging Strategy
## Why Use This
## CLI Alternative
| MCP Action | CLI Equivalent |
|------------|----------------|
| | |
| | |
| | |
| | |
Categories:
- mcp-*: MCP servers (git, filesystem, qdrant, redis).
- cli-*: Console commands (docker, systemd, sudo).
- usr-*: Custom for tasks.
Example set:
- cli-database, cli-docker, mcp-git, mcp-memory, mcp-playwright.
Key Takeaways
- Indexing with Qdrant enables context-aware edits without manual copy-paste.
- Auto-Approve + limits prevent LLM abuse in autonomous mode.
- Skills increase success rate, minimizing CLI calls.
- TDD in prompts ensures testable changes.
- Background editing maintains focus during agent edits.
— Editorial Team
No comments yet.