Roo Code: An Open-Source VS Code Extension That Rivals Cursor
Simon Høiberg demonstrated Roo Code, an open-source VS Code extension with customisable prompt modes, browser automation for visual debugging, and granular cost control through model selection. It's a community-driven alternative to Cursor.
Simon Høiberg demonstrated Roo Code, an open-source VS Code extension that transforms the editor into an AI-powered IDE comparable to Cursor. Unlike proprietary alternatives, Roo Code lets you bring your own API keys and welcomes community contributions, which has led to some distinctive features.
The extension works through OpenRouter, a unified API that provides access to models from Claude, OpenAI, DeepSeek, Gemini, and others. OpenRouter's app showcase lists Roo Code as their second-most-used client. The project emerged as a fork of Cline, created when developers felt the original wasn't accepting enough community pull requests despite being open source.
Three prompt modes with different behaviours
Roo Code ships with three prompt modes: Code for general development work, Architect for high-level system design, and Ask for research and codebase exploration. Each mode can have its own system prompt, file access permissions, and even different API configurations. You can modify existing modes or create new ones, and Roo Code can generate custom modes from natural language descriptions.
Simon tested this by asking Roo Code to create a documentation writer mode. The extension generated a complete mode definition with role descriptions and custom instructions, including file restrictions that limited it to only editing markdown files.
Browser automation for visual debugging
When Simon asked Roo Code to build a Hacker News clone using Next.js, the extension used its architect mode to create a project plan, then switched to code mode to write the implementation. After launching the development server, it opened its own browser instance to visually inspect the result against the original screenshot.
The browser automation captured console logs and UI issues. When Roo Code detected discrepancies between its output and the target design, it modified the code and re-launched the browser to verify the changes. It ran through this cycle several times until satisfied with the result.
For the submit page, Roo Code tested form validation by attempting to submit empty forms and invalid URLs, checking that error messages appeared correctly. Each browser action is recorded with step-by-step screenshots showing what the extension tested and why.
Cost control through model selection
The initial Hacker News clone cost two cents using Claude Sonnet, but the submit page cost 50 cents. Simon switched to Gemini 2.0 Flash, which costs 10 cents per million input tokens compared to Claude's $15. That's 37 times cheaper. OpenRouter even shows free models with usage limits if you want to experiment without cost.
Each mode can use a different model. You might run documentation tasks on Gemini while keeping Claude for complex coding work. Roo Code can automatically switch modes based on context, effectively selecting the appropriate model for each task.
Configuration depth
The extension exposes granular controls: temperature settings per model, auto-approval rules for file edits and command execution, browser viewport sizes, screenshot quality, and rate limits. You can define file rejection patterns so modes only touch specific file types.
Inline editing works through VS Code's quick actions menu rather than a dedicated prompt box, since Roo Code is an extension rather than a fork. You can select code and ask Roo Code to explain it, add it to context, or fix logic issues. The problems tab also integrates with Roo Code for automated fixes.
The extension supports MCP (Model Context Protocol) servers for controlling external systems like Docker and databases. It includes an MCP server creation mode that can generate new servers from descriptions.
To learn to setup Roo Code and see it in action, watch the full podcast.