Description
codebase-snapshot est un utilitaire conçu pour transformer un dépôt de code en un ensemble de parties prêtes pour LLM, respectant un budget strict en octets. Il répond aux défis de l'alimentation de grands dépôts aux modèles de langage, où les fichiers peuvent être trop volumineux et les fenêtres de contexte trop petites. L'outil fonctionne de manière déterministe, garantissant une sortie cohérente à travers les exécutions pour des entrées inchangées.
Lire la suite
La fonctionnalité principale tourne autour de la création d'un répertoire `snapshot/` contenant des parties en texte brut. Chaque partie est limitée par un plafond `maxPartBytes` ; les fichiers dépassant ce budget sont tronqués avec des marqueurs d'omission explicites. Pour les fichiers très volumineux, il fournit un extrait de tête/queue. En plus des parties de code, il génère un fichier `manifest.json`. Ce manifeste agit comme un index complet, listant chaque fichier inclus avec des détails tels que sa couche, son type, sa langue, sa partie, son hachage et un résumé structurel. De manière cruciale, il enregistre également chaque fichier exclu avec la raison spécifique de son omission, comme `gitignore`, `sensitive-file` ou `binary`.
Une fonctionnalité clé pour maintenir l'intégrité du contexte est la commande `validate`. Cette commande re-hache le dépôt par rapport à l'instantané généré et se termine avec un code non nul si une dérive est détectée. Cela garantit que le contexte LLM reste frais et précis, empêchant les modèles de travailler avec du code obsolète. L'outil est conçu pour être sûr par défaut, en omettant les fichiers d'identification à moins qu'ils ne soient explicitement demandés, en masquant les chaînes de forme secrète et en empêchant la suppression accidentelle du code source en refusant d'écraser les répertoires qu'il n'a pas créés.
codebase-snapshot prend en charge un large éventail de langages de programmation et de frameworks, y compris 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 et Rails, souvent sans nécessiter de configuration. Il fournit 25 préréglages automatiques qui contribuent des couches, des types, des motifs d'ignorance d'écosystème et des budgets de parties recommandés. Pour les langages non TypeScript, il génère des résumés d'importation/exportation/classe/fonction, les étiquetant comme `ast`, `structural` ou `heuristic` pour indiquer leur fiabilité.
Au-delà de l'interaction humaine, codebase-snapshot est construit pour les agents IA. Il offre un contrat lisible par machine et une compétence installable, permettant aux agents de piloter l'ensemble du processus de manière autonome. Les agents peuvent utiliser des commandes telles que `generate`, `validate`, `report` et `explain` pour gérer les instantanés, vérifier les dérives, auditer les secrets et comprendre les inclusions/exclusions de fichiers. L'outil prend également en charge l'accès API programmatique pour une intégration dans des systèmes plus vastes. Sa documentation complète couvre l'installation, la référence CLI, la configuration, le schéma de sortie des instantanés et des guides pour l'utiliser efficacement avec des LLM comme ChatGPT, Claude et Cursor.
- CatégorieAssistants de codage IA
- Modèle tarifaireGratuit
- DéploiementCLI, Programmatic API
- PlateformesNode.js 18+
Fonctionnalités principales de codebase-snapshot
Génération d'instantanés déterministes
Budget strict en octets pour les parties
Index complet manifest.json
Validation des dérives avec la commande `validate`
Détection automatique pour 25 préréglages de projet
Support pour plusieurs langages de programmation et frameworks
Masquage des secrets et exclusion des fichiers sensibles
Contrat lisible par machine pour les agents IA
Compétence d'agent installable
Accès API programmatique
Rapports et audits détaillés
Configuration guidée pour le premier démarrage
Artéfacts de sortie configurables
Traitement limité en mémoire pour les fichiers volumineux
Comparaison d'instantanés avec la commande `diff`
Comment utiliser codebase-snapshot ?
Installer : Utilisez npm, yarn, pnpm ou bun pour installer `codebase-snapshot` globalement ou comme dépendance de projet.
Démarrage rapide : Exécutez `snapshot` dans votre répertoire de projet pour un premier démarrage guidé ou une génération automatique.
Configurer : Utilisez la commande `init` pour une configuration interactive qui écrit un fichier `snapshot.config.ts` auto-documenté.
Générer un instantané : Exécutez `snapshot generate` pour créer le répertoire d'instantané prêt pour LLM.
Valider l'instantané : Exécutez `snapshot validate` pour comparer l'instantané avec le dépôt actuel et vérifier les dérives.
Expliquer les chemins : Utilisez `snapshot explain <path>` pour comprendre pourquoi un fichier spécifique a été inclus, omis ou où il a atterri.
Rapports d'audit : Générez `snapshot report` pour des métriques de santé, des détails de couche et des audits de secrets.
Cas d'utilisation de codebase-snapshot
- Génération de contexte LLM
- Analyse de code par agent IA
- Automatisation de la révision de code
- Intégration des développeurs
- Gestion de la fenêtre de contexte
- Audit de base de code
- Assurer la fraîcheur du contexte
- Comparaison entre dépôts







