Repolode
boyter

boyter/cs

Ferramenta de busca de código via CLI que analisa a estrutura do código e classifica os resultados por relevância, sem precisar de índice.

Alternativa open source a:Sourcegraph

Estrelas
1,080
Forks
23
Issues abertas
2
Último commit
há 3 dias

O que é?

cs (codespelunker) é uma ferramenta de busca de código via linha de comando, escrita em Go. Ela analisa cada arquivo correspondente na hora para distinguir código, comentários e strings, e então classifica os resultados pela relevância BM25 com ponderação estrutural, em vez de listar todas as ocorrências textuais. Como nada é indexado previamente, basta apontá-la para qualquer diretório para começar a pesquisar imediatamente.

Além da busca simples, ela oferece filtros estruturais como --only-code, --only-comments, --only-strings, --only-declarations e --only-usages. Uma configuração de "gravity" baseada em complexidade permite que arquivos de implementação tenham prioridade sobre interfaces e arquivos de configuração, e os perfis de classificação agrupam vários parâmetros de ajuste em predefinições. As consultas aceitam operadores booleanos, frases entre aspas, expressões regulares e busca aproximada.

O mesmo mecanismo pode ser usado em uma TUI interativa, em um servidor de busca HTTP com realce de sintaxe opcional ou em um servidor MCP que permite que ferramentas de LLM, como Claude Desktop e Claude Code, pesquisem uma base de código. A opção --git-sync atualiza periodicamente os repositórios em um diretório de busca para manter os resultados atualizados.

Recursos principais

  • 01Correspondência que considera a estrutura do código e distingue código, comentários e literais de string
  • 02Classificação por relevância BM25, com gravity baseada em complexidade e impulso pela localização do arquivo
  • 03Filtros de declarações e usos para encontrar definições ou locais de chamada
  • 04Consultas booleanas, frases entre aspas, regex e busca aproximada
  • 05Interfaces de console, TUI, servidor HTTP e MCP
  • 06Execução periódica de git pull nos repositórios de um diretório de busca

Casos de uso

  • Encontrar a implementação real de uma função, em vez da interface, dos testes ou dos comentários
  • Pesquisar apenas comentários TODO/FIXME ou strings de mensagens de erro em um projeto
  • Disponibilizar a um agente de LLM uma ferramenta de busca de código com resultados classificados por meio do MCP
  • Pesquisar um diretório de repositórios clonados sem manter um servidor de busca

Início rápido

  1. 1

    Instale via Go (requer Go 1.25.2 ou posterior)

    go install github.com/boyter/cs/v3@latest
  2. 2

    Execute uma busca a partir de qualquer diretório

    cs "authenticate" --gravity=brain

Antes de usar

  • A instalação via go install requer Go 1.25.2 ou posterior; para outros métodos de instalação, use os binários da página de releases.
  • Não há índice, então cada busca examina os arquivos correspondentes em tempo real e é mais lenta que o ripgrep na busca por texto simples.

Em coleções

Tópicos

Perguntas frequentes

O que é cs?
Ferramenta de busca de código via CLI que analisa a estrutura do código e classifica os resultados por relevância, sem precisar de índice. cs (codespelunker) é uma ferramenta de busca de código via linha de comando, escrita em Go. Ela analisa cada arquivo correspondente na hora para distinguir código, comentários e strings, e então classifica os resultados pela relevância BM25 com ponderação estrutural, em vez de listar todas as ocorrências textuais. Como nada é indexado previamente, basta apontá-la para qualquer diretório para começar a pesquisar imediatamente.
cs é gratuito? Qual é a licença?
cs é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
cs ainda é mantido?
Manutenção ativa. O último commit de cs foi em 20 de out. de 2026.
Para que posso usar cs?
Encontrar a implementação real de uma função, em vez da interface, dos testes ou dos comentários Pesquisar apenas comentários TODO/FIXME ou strings de mensagens de erro em um projeto Disponibilizar a um agente de LLM uma ferramenta de busca de código com resultados classificados por meio do MCP Pesquisar um diretório de repositórios clonados sem manter um servidor de busca
Como instalar cs?
Instale via Go (requer Go 1.25.2 ou posterior): go install github.com/boyter/cs/v3@latest Execute uma busca a partir de qualquer diretório: cs "authenticate" --gravity=brain
Onde consigo cs?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/boyter/cs

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados