Vitali87 cria ferramenta de IA para monorepos com 3.718 estrelas
Código aberto transforma bases com várias linguagens em um grafo consultável e editável por linguagem natural.
Código aberto transforma bases com várias linguagens em um grafo consultável e editável por linguagem natural.
Quem trabalha com um monorepo precisa localizar funções e entender dependências espalhadas por várias linguagens. O Code-Graph-RAG, criado por Vitali87 em 2025-06-16, lê essa base, monta um grafo de conhecimento e permite consultar e editar código com IA; o projeto já soma 3.718 estrelas e 558 forks. A ferramenta atende equipes que precisam navegar por bases grandes sem depender apenas de buscas por texto ou regex.
O parser usa Tree-sitter para identificar funções, classes, métodos, módulos e os vínculos entre eles. Depois, o sistema grava esses elementos no Memgraph com um esquema único para diferentes linguagens. O resultado reúne, no mesmo grafo, trechos escritos em Python, TypeScript, TSX, JavaScript, Rust, Go, Java, C, C++, C#, PHP, Lua e Dart.
A CLI cgr transforma perguntas em linguagem natural em consultas Cypher. Ela recupera funções, classes e métodos pelo nome ou pela intenção descrita pelo usuário. Também permite editar o código com patches baseados em AST e exibe um diff antes de aplicar qualquer mudança.
O projeto acrescenta arestas FLOWS_TO para seguir valores por atribuições, chamadas de função e pontos de entrada e saída. O README informa que o recurso cobre dez linguagens, entre elas Python, JavaScript, TypeScript/TSX, Go, Java, Rust, C++, C e C#.
A busca estrutural usa ast-grep, em vez de depender de regex. Com ela, o agente encontra padrões de AST e reescreve estruturas ao longo da base inteira. Ruby também entrou no grafo por meio de um arquivo de padrões YAML, sem um parser escrito manualmente.
A execução depende de componentes locais. O usuário instala o pacote pela PyPI e precisa de Docker para rodar a pilha de Memgraph e Qdrant, além de cmake e ripgrep; o README não informa um provedor externo de IA.
A instalação pode usar uv tool install "code-graph-rag[treesitter-full,semantic]", que inclui todas as linguagens e a busca vetorial, ou pipx com os mesmos extras. Depois, cgr daemon up inicia os serviços empacotados. O comando prepara a infraestrutura local.
Para indexar um projeto, o usuário executa cgr start --repo-path /path/to/repo --update-graph. A ferramenta lê os arquivos-fonte, extrai suas relações e grava os dados no grafo; uma nova execução sem --update-graph consulta a estrutura existente. Cada repositório pode compartilhar o mesmo grafo sem apagar os outros.
A versão mais recente é a v0.0.589, publicada em 2026-08-10, e o último commit ocorreu em 2026-08-11. A atualização corrigiu uma falha de leitura e escrita arbitrária por symlink, classificada como alta e com CVSS 7.1. O problema afetava as versões até 0.0.588.
Um symlink dentro do repositório podia apontar para fora da raiz configurada. Nesse cenário, structural_search conseguia ler arquivos arbitrários, enquanto structural_replace podia sobrescrevê-los com dry_run=False. Quem analisa código que não controla deve atualizar o cgr.
O projeto tem 46 issues abertas e 420 dias de idade. Esses números mostram adoção rápida, mas também pedem cautela antes de colocá-lo em fluxos críticos. A licença MIT permite usar, modificar e redistribuir o código, inclusive em produtos comerciais; a ferramenta não serve para equipes que não podem instalar Docker, cmake e ripgrep, nem para quem pretende analisar repositórios não confiáveis sem aplicar a versão corrigida.