🌟 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.

📋 Resumo do Agente

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
⚠️ Limitação Conhecida

Performance depende diretamente da qualidade dos embeddings gerados. Repositórios muito grandes podem ter latência elevada.

🔄 Fluxo de Dados

┌─────────────────────────────────────────────────────────────────────────────┐ │ ROOCODE DATA FLOW │ ├─────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ Usuário │────▶│ Chat Input │────▶│ RAG Engine │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │ │ │ │ ▼ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ Código │◀────│ LLM (Local) │◀────│ Embeddings │ │ │ │ Gerado │ └──────────────┘ └──────────────┘ │ │ └──────────────┘ ▲ │ │ │ │ ▼ │ │ ┌──────────────┐ │ ┌──────────────┐ │ │ │ Git │────────────┴───────────▶│ Git Context │ │ │ │ Commit │ │ Analysis │ │ │ └──────────────┘ └──────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────────┘

Passos do fluxo:

  1. Usuário envia prompt/pedido de código
  2. RAG Engine busca contexto relevante nos embeddings locais
  3. Git Context Analysis extrai informações históricas
  4. LLM processa com contexto recuperado
  5. Código gerado é oferecido ao usuário
  6. Opcional: commit direto no Git

🔧 Ferramentas

RAG Search
Busca semântica em embeddings locais
Git Operations
Commit, push, branch, diff
Code Indexing
Geração de embeddings do codebase
File Edit
Edição de arquivos com contexto
Terminal
Execução de comandos shell
Multi-Repo
Suporte a múltiplos repositórios

📜 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
⚠️ Coleta de Dados Sensíveis

Arquivos sensíveis (credenciais, keys) podem ser indexados inadvertidamente. Configure .gitignore adequadamente.

🔗 Integrações

ServiçoTipoDescrição
LLMs LocaisOllama, LM StudioExecução de modelos locally
OpenAI APICloudBackup/suplência de modelos
Anthropic APICloudSuporte a Claude
GitHubVCSIntegração com repositórios
GitLab/BitbucketVCSSuporte 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

🎯 Diferenciais do RooCode
  1. Open Source Real: Código completamente aberto e auditável
  2. Privacidade Total: Nenhum dado sai da máquina do usuário
  3. RAG Nativo: Sistema de busca semântica integrado desde a concepção
  4. Multi-Repo: Suporte nativo a múltiplos projetos simultaneamente
  5. Customizável: Totalmente configurável e extensível

📈 Métricas e Indicadores

~50+
Linguagens Suportadas
Local
Processamento
RAG
Contexto
Ollama
LLM Local