Repolode
boyter

boyter/cs

Herramienta CLI para buscar código que analiza su estructura y ordena los resultados por relevancia, sin necesidad de crear un índice.

Alternativa open source a:Sourcegraph

Estrellas
1,080
Forks
23
Issues abiertos
2
Último commit
hace 3 días

¿Qué es?

cs (codespelunker) es una herramienta de búsqueda de código para la línea de comandos, escrita en Go. Analiza sobre la marcha cada archivo que coincide para distinguir el código de los comentarios y las cadenas, y luego ordena los resultados según su relevancia BM25 con ponderación estructural, en lugar de enumerar todas las coincidencias textuales. Como no crea índices previamente, se puede apuntar a cualquier directorio y empezar a buscar de inmediato.

Además de la búsqueda básica, admite filtros estructurales como --only-code, --only-comments, --only-strings, --only-declarations y --only-usages. Un ajuste de «gravedad» basado en la complejidad permite que los archivos de implementación aparezcan antes que las interfaces y los archivos de configuración; además, los perfiles de clasificación agrupan varios parámetros de ajuste en preconfiguraciones. Las consultas admiten operadores booleanos, frases entre comillas, expresiones regulares y búsqueda aproximada.

El mismo motor funciona como TUI interactiva, servidor de búsqueda HTTP con resaltado de sintaxis opcional o servidor MCP que permite a herramientas LLM como Claude Desktop y Claude Code buscar en una base de código. La opción --git-sync actualiza periódicamente los repositorios de un directorio de búsqueda para mantener los resultados al día.

Funciones clave

  • 01Coincidencias que tienen en cuenta la estructura y distinguen el código, los comentarios y las cadenas literales
  • 02Clasificación por relevancia BM25 con gravedad basada en la complejidad y aumento de puntuación según la ubicación del archivo
  • 03Filtros para declaraciones y usos que permiten ir a definiciones o lugares de llamada
  • 04Consultas booleanas, frases entre comillas, expresiones regulares y búsqueda aproximada
  • 05Interfaces de consola, TUI, servidor HTTP y MCP
  • 06Ejecución periódica de git pull en los repositorios de un directorio de búsqueda

Casos de uso

  • Encontrar la implementación real de una función en lugar de su interfaz, sus pruebas o sus comentarios
  • Buscar solo comentarios TODO/FIXME o cadenas de mensajes de error en todo un proyecto
  • Proporcionar a un agente LLM una herramienta de búsqueda de código clasificada por relevancia a través de MCP
  • Buscar en un directorio de repositorios clonados sin mantener un servidor de búsqueda

Inicio rápido

  1. 1

    Instálalo con Go (se requiere Go 1.25.2 o posterior)

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

    Ejecuta una búsqueda desde cualquier directorio

    cs "authenticate" --gravity=brain

Antes de usarlo

  • La instalación con go install requiere Go 1.25.2 o posterior; para otros métodos, descarga los binarios desde la página de releases.
  • No hay índice, por lo que cada búsqueda analiza sobre la marcha los archivos que coinciden y es más lenta que ripgrep al buscar texto sin formato.

En colecciones

Temas

Preguntas frecuentes

¿Qué es cs?
Herramienta CLI para buscar código que analiza su estructura y ordena los resultados por relevancia, sin necesidad de crear un índice. cs (codespelunker) es una herramienta de búsqueda de código para la línea de comandos, escrita en Go. Analiza sobre la marcha cada archivo que coincide para distinguir el código de los comentarios y las cadenas, y luego ordena los resultados según su relevancia BM25 con ponderación estructural, en lugar de enumerar todas las coincidencias textuales. Como no crea índices previamente, se puede apuntar a cualquier directorio y empezar a buscar de inmediato.
¿cs es gratuito? ¿Qué licencia tiene?
cs es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿cs sigue mantenido?
Mantenimiento activo. El último commit de cs fue el 20 oct 2026.
¿Para qué puedo usar cs?
Encontrar la implementación real de una función en lugar de su interfaz, sus pruebas o sus comentarios Buscar solo comentarios TODO/FIXME o cadenas de mensajes de error en todo un proyecto Proporcionar a un agente LLM una herramienta de búsqueda de código clasificada por relevancia a través de MCP Buscar en un directorio de repositorios clonados sin mantener un servidor de búsqueda
¿Cómo se instala cs?
Instálalo con Go (se requiere Go 1.25.2 o posterior): go install github.com/boyter/cs/v3@latest Ejecuta una búsqueda desde cualquier directorio: cs "authenticate" --gravity=brain
¿Dónde consigo cs?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/boyter/cs

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados