cgrep: ferramenta local de busca por intenção de código para agentes de programação com IA
(github.com/meghendra6)Olá. Criei uma ferramenta de busca de código local-first (code-local) chamada cgrep.
O objetivo principal é reduzir o desperdício de tokens e as buscas repetidas que acontecem quando agentes de programação com IA exploram um codebase.
cgrep combina busca BM25 (Tantivy) + análise de símbolos via AST (tree-sitter), e foi projetado para permitir uma exploração mais alinhada à intenção do código do que uma simples busca por string.
Principais recursos:
- Exploração de código: definition / references / callers / dependents
- Exploração de contexto: read / map
- Fluxo de agente em 2 etapas:
agent locate -> agent expand(encontra candidatos com payload pequeno e expande só o necessário) - Suporte a MCP:
cgrep mcp serve+ suporte para instalação no host - Suporte à instalação de agentes: claude-code, codex, copilot, cursor, opencode
Benchmark com base no PyTorch (6 cenários de rastreamento de implementação):
- tokens-to-complete com grep: 127,665
- tokens-to-complete com cgrep(agent locate/expand): 6,153
- redução de 95,2% nos tokens (20,75x menor)
- latência média de busca até a conclusão: 1321.3ms -> 22.7ms (aprox. 58,2x)
Todo o processamento roda localmente (sem dependência de índice em nuvem).
Agradeço o feedback:
- pontos que faltam em codebases grandes reais
- melhorias necessárias na integração com MCP/agentes
- ideias para reforçar os cenários de benchmark
Repo: https://github.com/meghendra6/cgrep
Docs: https://meghendra6.github.io/cgrep/
Benchmark: https://meghendra6.github.io/cgrep/benchmarks/…
4 comentários
Parece ter um propósito parecido com o do mgrep ou da ferramenta ck.
No macOS, ao tentar executar o binário de release da versão v1.4.1, aparece um aviso e ele não roda.
Achei que seria interessante se também houvesse
skillsou instruções que o agente pudesse consultar, como no exemplo do agent-browser.Havia um problema com a assinatura do binário, então eu corrigi.
Obrigado por verificar e revisar!
O efeito de redução de tokens é muito bom. Se o README também trouxesse resultados de benchmarks relacionados a programação, acho que a confiabilidade aumentaria ainda mais, mesmo que o desempenho nos benchmarks se mantivesse em um nível parecido.
Conforme o feedback de vocês, também adicionei os resultados do benchmark para cenários reais de coding agents.
Obrigado pelo feedback!