Ferramenta de busca de expressões regulares por linha (rg) que percorre diretórios recursivamente e respeita as regras de .gitignore por padrão.
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
Instale via Go (requer Go 1.25.2 ou posterior)
go install github.com/boyter/cs/v3@latest - 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
Ferramenta de linha de comando rápida que conta arquivos, linhas de código, comentários e linhas em branco, agrupados por linguagem.
Mecanismo rápido de busca e referência cruzada de código-fonte escrito em Java, capaz de indexar código e histórico de controle de versão.
Camada de contexto de código auto-hospedada que indexa repositórios em diferentes hosts para que desenvolvedores e agentes de IA possam pesquisá-los e navegar por eles.
Mecanismo de busca CLI local, executado no dispositivo, para notas em markdown, transcrições de reuniões e documentação, que combina BM25, busca vetorial e reranking por LLM.
Um pager de terminal repleto de recursos para visualizar texto, com modo de colunas, acompanhamento, execução de comandos e busca incremental.