Roo Code
What is Roo Code?
It’s an open-source VSCode extension which started as a Fork of Cline – another extension with similar capabilities. It’s a coding agent that can make changes directly in the editor you are working on, run terminal commands and integrate with different tools using MCP servers.

Why not Cline?
I would recommend trying both and finding the one that fits your development workflow. They both have similar functionalities and its in the differences where you would choose one or the other.
This article focuses on Roo Code given its capability for adding extra modes and customizing the prompt for the existing ones, which would help customizing the experience (for example adding a mode for code reviewing or one for focusing on integration tests after the feature’s code is done).
Testing Roo Code
For testing, we decided to try it internally with the task of adding a deals feature to a site’s CRM.
Initial setup
The initial setup was done locally (cloning the projects manually and getting the project to run). Roo Code was configured in VSCode to use Claude 3.7 Sonnet and its thinking variation (thinking for architect and debugger mode in particular). In later iterations on the features, the claude 3.7 sonnet (thinking) was used for all modes.
Working on the deals feature
For the initial prompt, Roo Code was provided with:
- The entire schema definition of the deal-related entities
- An image of the DB schema
The prompt was exactly the same as the first prompt sent to Devin (see our article about our experience with Devin).
It did create all the initial entities and their matching relations. It needed further prompting to complete the relations entirely (add the new relations for One to many and many to one in the already existing entities).
It understood the patterns in the existing code where needed and prompted for clarification in some cases. This in part is the custom prompt for the modes and in great part the model used.

As it uses the developer’s VSCode, it makes use of all the tools in there, including the support for languages. In this case it was using typescript, so it detected immediately typescript errors as they were appearing in the editor. It also dismissed bogus errors such as errors on library imports that were installed already, because it detected they were already installed and decided the error was not worth fixing.
After the entities were working it was prompted to create a CRUD for the newly created entity (Deals). After that, a visual change was prompted using a screenshot of the designs as reference.

It did ignore the reference for the most part for the first versions, but after further prompting to use the image it did reach something similar to the image:

Issues
The main issue that happened was due to not knowing the tool completely. When Roo Code is working on a task, do not change the model selected, or it will lose its context and may redo existing work.
It does not test the changes for you unless prompted and that responsibility goes to the user. This could be solved by editing the prompts to add an instruction to do so.
Advantages
We saw there were numerous advantages of using Roo Code. These include:
- Roo Code integrates directly into your existing VSCode environment, allowing you to use all your familiar tools and settings.
- It works with your local development environment, enabling direct file manipulation in your editor without requiring additional cloud resources.
- Provides customizable modes and prompt templates to adapt to specific development workflows like code reviewing or testing.
- Supports direct terminal command execution from within the tool.
- MCP server integration allows for extension with additional capabilities.
- More transparent workflow as you can see changes happening directly in your editor rather than in a separate environment.
- No subscription fee – pay only for the API tokens you use with your chosen model.This can be a disadvantage as well, as it can end up being costly in the long run
- Open source, allowing for community contributions and customizations.
Limitations
While Roo Code offers flexibility, it comes with certain trade-offs that may impact cost and performance. In particular we experienced the following limitations:
- Roo Code consumes a great amount of tokens, as it is a BYOK (Bring your own Key) tool.
- For the features tested, it used around USD 50 in tokens (for entities creation, CRUD, seeding, UI changes)
- It only supports one session per VSCode window. This limits the amount of parallel tasks it can tackle.
- Performance may vary based on the complexity of the codebase, quality of the prompts and the model used for the different modes.
Conclusions
Roo Code showed promising capabilities as a coding assistant that integrates directly within the dev’s existing workflow using VSCode. The ability to use different modes depending on the context, make direct changes on the files and execute terminal commands offer significant advantages for productivity.
While it successfully completed the requested features for the deals page implementation, including entity creation and UI development, it required some extra iterations and additional prompting for optimal results, particularly with visual design references.
The open source nature and customizability of Roo Code provide flexibility for tailoring the tool to specific development workflows. However, the token consumption and single session limitation are notable constraints to consider.