Descripción
codebase-snapshot es una utilidad diseñada para transformar un repositorio de código en un conjunto de partes listas para LLM, cumpliendo con un estricto presupuesto de bytes. Aborda los desafíos de alimentar grandes repositorios a modelos de lenguaje, donde los archivos pueden ser demasiado grandes y las ventanas de contexto demasiado pequeñas. La herramienta opera de manera determinista, asegurando una salida consistente en ejecuciones para entradas inalteradas.
Leer más
La funcionalidad principal gira en torno a la creación de un directorio `snapshot/` que contiene partes en texto plano. Cada parte está limitada por un techo de `maxPartBytes`; los archivos que superan este presupuesto son truncados con marcadores de omisión explícitos. Para archivos muy grandes, proporciona un extracto de cabeza/cola. Junto con las partes de código, genera un archivo `manifest.json`. Este manifiesto actúa como un índice completo, listando cada archivo incluido con detalles como su capa, tipo, lenguaje, parte, hash y un resumen estructural. Crucialmente, también registra cada archivo excluido junto con la razón específica de su omisión, como `gitignore`, `sensitive-file` o `binary`.
Una característica clave para mantener la integridad del contexto es el comando `validate`. Este comando vuelve a calcular el hash del repositorio contra la instantánea generada y sale con un código distinto de cero si se detecta alguna desviación. Esto asegura que el contexto de LLM se mantenga fresco y preciso, evitando que los modelos trabajen con código desactualizado. La herramienta está diseñada para ser segura por defecto, omitiendo archivos de credenciales a menos que se solicite explícitamente, redactando cadenas con forma de secreto y previniendo la eliminación accidental de código fuente al negarse a sobrescribir directorios que no creó.
codebase-snapshot admite una amplia gama de lenguajes de programación y marcos, incluidos TypeScript, JavaScript, Python, Go, Rust, Java/Kotlin, C#/.NET, PHP, Ruby, C/C++, Vue, Svelte, Astro, Next.js, Nuxt, Remix, Angular, Solid, NestJS, Express, Fastify, Koa, Django, FastAPI, Flask, Laravel y Rails, a menudo sin requerir configuración. Proporciona 25 presets automáticos que contribuyen con capas, tipos, patrones de ignorar ecosistemas y presupuestos recomendados para partes. Para lenguajes que no son TypeScript, genera resúmenes de importación/exportación/clase/función, etiquetándolos como `ast`, `structural` o `heuristic` para indicar su fiabilidad.
Más allá de la interacción humana, codebase-snapshot está construido para agentes de IA. Ofrece un contrato legible por máquina y una habilidad instalable, permitiendo a los agentes llevar a cabo todo el proceso de manera autónoma. Los agentes pueden usar comandos como `generate`, `validate`, `report` y `explain` para gestionar instantáneas, verificar desviaciones, auditar secretos y entender inclusiones/exclusiones de archivos. La herramienta también admite acceso a API programático para integración en sistemas más grandes. Su documentación completa cubre instalación, referencia de CLI, configuración, esquema de salida de instantáneas y guías para usarla de manera efectiva con LLMs como ChatGPT, Claude y Cursor.
- CategoríaAsistentes de programación con IA
- Modelo de preciosGratis
- ImplementaciónCLI, Programmatic API
- PlataformasNode.js 18+
Características principales de codebase-snapshot
Generación de instantáneas deterministas
Presupuesto de bytes estricto para partes
Índice completo en manifest.json
Validación de desviaciones con el comando `validate`
Detección automática para 25 presets de proyectos
Soporte para múltiples lenguajes de programación y marcos
Redacción de secretos y exclusión de archivos sensibles
Contrato legible por máquina para agentes de IA
Habilidad de agente instalable
Acceso a API programático
Informes y auditorías detalladas
Configuración guiada para la primera ejecución
Artefactos de salida configurables
Procesamiento limitado por memoria para archivos grandes
Comparación de instantáneas con el comando `diff`
¿Cómo usar codebase-snapshot?
Instalar: Usa npm, yarn, pnpm o bun para instalar `codebase-snapshot` globalmente o como una dependencia del proyecto.
Inicio Rápido: Ejecuta `snapshot` en el directorio de tu proyecto para una primera ejecución guiada o generación automática.
Configurar: Usa el comando `init` para una configuración interactiva que escribe un archivo `snapshot.config.ts` auto-documentado.
Generar Instantánea: Ejecuta `snapshot generate` para crear el directorio de instantáneas listas para LLM.
Validar Instantánea: Ejecuta `snapshot validate` para comparar la instantánea con el repositorio actual y verificar desviaciones.
Explicar Rutas: Usa `snapshot explain <path>` para entender por qué se incluyó, omitió o dónde se ubicó un archivo específico.
Informes de Auditoría: Genera `snapshot report` para métricas de salud, detalles de capas y auditorías de secretos.
Casos de uso de codebase-snapshot
- Generación de Contexto LLM
- Análisis de Código por Agentes de IA
- Automatización de Revisión de Código
- Integración de Desarrolladores
- Gestión de Ventanas de Contexto
- Auditoría de Repositorios de Código
- Asegurando la Frescura del Contexto
- Comparación entre Repositorios







