Visão Geral
RooCode (anteriormente Roo) é um agente de código open source construído sobre o código do Cursor, mas com modificações significativas focadas em privacidade e controle do usuário. Diferencia-se pela integração nativa com RAG (Retrieval Augmented Generation) para compreensão profunda de repositórios Git.
Tipo: Open Source | Foco: RAG + Code Context | Fluxo: Context → Completion
Arquitetura
RooCode utiliza uma arquitetura baseada em embeddings para indexing e recuperação de contexto de código:
- RAG Engine: Sistema de embeddings locais para indexação de código
- Git Context Analysis: Análise de histórico Git para entender evolução do código
- Multi-repo Support: Capacidade de trabalhar com múltiplos repositórios simultaneamente
- Local Processing: Preferência por processamento local para privacidade
Performance depende diretamente da qualidade dos embeddings gerados. Repositórios muito grandes podem ter latência elevada.
Fluxo de Dados
Passos do fluxo:
- Usuário envia prompt/pedido de código
- RAG Engine busca contexto relevante nos embeddings locais
- Git Context Analysis extrai informações históricas
- LLM processa com contexto recuperado
- Código gerado é oferecido ao usuário
- Opcional: commit direto no Git
Ferramentas
Regras de Negócio
- Privacidade First: Processamento local preferencial, dados não saem do ambiente do usuário
- Git Safety: Commits apenas com confirmação explícita do usuário
- Index Context: Apenas código indexado pode ser usado como contexto
- Token Budget: Limites de tokens para evitar custos excessivos
Blocos de Coleta de Informação
RooCode coleta as seguintes informações do ambiente:
- Codebase Structure: Árvore de arquivos e dependências
- Git History: Histórico de commits, branches, autores
- Code Embeddings: Representações vetoriais do código
- User Preferences: Configurações e preferências do usuário
- Session Context: Conversação atual e histórico
Arquivos sensíveis (credenciais, keys) podem ser indexados inadvertidamente. Configure .gitignore adequadamente.
Integrações
| Serviço | Tipo | Descrição |
|---|---|---|
| LLMs Locais | Ollama, LM Studio | Execução de modelos locally |
| OpenAI API | Cloud | Backup/suplência de modelos |
| Anthropic API | Cloud | Suporte a Claude |
| GitHub | VCS | Integração com repositórios |
| GitLab/Bitbucket | VCS | Suporte multi-platform |
Pontos de Risco
- Indexação Acidental: Arquivos sensíveis podem ser indexados
- Performance: Repositórios grandes têm latência elevada
- Embeddings Quality: Qualidade depende da configuração
- Local Model Limits: Modelos locais podem ser menos capazes
Diferencial
- Open Source Real: Código completamente aberto e auditável
- Privacidade Total: Nenhum dado sai da máquina do usuário
- RAG Nativo: Sistema de busca semântica integrado desde a concepção
- Multi-Repo: Suporte nativo a múltiplos projetos simultaneamente
- Customizável: Totalmente configurável e extensível