Beschreibung
codebase-snapshot ist ein Dienstprogramm, das darauf abzielt, ein Code-Repository in eine Reihe von LLM-bereiten Teilen zu transformieren, die einem strengen Byte-Budget entsprechen. Es geht die Herausforderungen an, große Repositories an Sprachmodelle zu übergeben, bei denen Dateien zu groß und Kontextfenster zu klein sein können. Das Tool arbeitet deterministisch und gewährleistet konsistente Ausgaben über mehrere Durchläufe bei unverändertem Input.
Weiterlesen
Die Kernfunktionalität dreht sich um die Erstellung eines `snapshot/`-Verzeichnisses, das einfache Textteile enthält. Jedes Teil ist durch eine `maxPartBytes`-Obergrenze begrenzt; Dateien, die dieses Budget überschreiten, werden mit expliziten Auslassmarkierungen gekürzt. Für sehr große Dateien bietet es einen Kopf-/Schwanzauszug. Neben den Code-Teilen wird eine `manifest.json`-Datei generiert. Dieses Manifest fungiert als umfassendes Index, das jede enthaltene Datei mit Details wie Schicht, Art, Sprache, Teil, Hash und einer strukturellen Zusammenfassung auflistet. Entscheidend ist, dass es auch jede ausgeschlossene Datei zusammen mit dem spezifischen Grund für ihre Auslassung aufzeichnet, wie `gitignore`, `sensitive-file` oder `binary`.
Ein zentrales Merkmal zur Wahrung der Kontextintegrität ist der Befehl `validate`. Dieser Befehl hasht das Repository erneut gegen den generierten Schnappschuss und beendet mit einem Nicht-Null-Code, wenn Abweichungen festgestellt werden. Dies stellt sicher, dass der LLM-Kontext frisch und genau bleibt und verhindert, dass Modelle mit veraltetem Code arbeiten. Das Tool ist standardmäßig sicher konzipiert, überspringt Anmeldeinformationen, es sei denn, dies wird ausdrücklich angefordert, redigiert geheimnisartige Zeichenfolgen und verhindert die versehentliche Löschung von Quellcode, indem es sich weigert, Verzeichnisse zu überschreiben, die es nicht erstellt hat.
codebase-snapshot unterstützt eine breite Palette von Programmiersprachen und Frameworks, darunter 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 und Rails, oft ohne dass eine Konfiguration erforderlich ist. Es bietet 25 automatische Voreinstellungen, die Schichten, Arten, Ökosystem-Ignore-Muster und empfohlene Teilbudgets beitragen. Für nicht-TypeScript-Sprachen generiert es Import-/Export-/Klassen-/Funktionszusammenfassungen und kennzeichnet sie als `ast`, `structural` oder `heuristic`, um ihre Zuverlässigkeit anzuzeigen.
Über die menschliche Interaktion hinaus ist codebase-snapshot für KI-Agenten konzipiert. Es bietet einen maschinenlesbaren Vertrag und eine installierbare Fähigkeit, die es Agenten ermöglicht, den gesamten Prozess autonom zu steuern. Agenten können Befehle wie `generate`, `validate`, `report` und `explain` verwenden, um Schnappschüsse zu verwalten, nach Abweichungen zu suchen, Geheimnisse zu prüfen und das Ein- und Ausschließen von Dateien zu verstehen. Das Tool unterstützt auch programmgesteuerten API-Zugriff zur Integration in größere Systeme. Die umfassende Dokumentation deckt Installation, CLI-Referenz, Konfiguration, Schnappschuss-Ausgabeschema und Anleitungen zur effektiven Nutzung mit LLMs wie ChatGPT, Claude und Cursor ab.
- KategorieKI-Programmierassistenten
- PreismodellKostenlos
- BereitstellungCLI, Programmatic API
- PlattformenNode.js 18+
codebase-snapshot's Kernfunktionen
Deterministische Schnappschussgenerierung
Strenges Byte-Budget für Teile
Umfassendes manifest.json-Index
Abweichungsvalidierung mit dem Befehl `validate`
Automatische Erkennung für 25 Projektvoreinstellungen
Unterstützung für mehrere Programmiersprachen und Frameworks
Geheimnisredaktion und Ausschluss sensibler Dateien
Maschinenlesbarer Vertrag für KI-Agenten
Installierbare Agentenfähigkeit
Programmgesteuerter API-Zugriff
Detaillierte Berichterstattung und Prüfung
Geführte Ersteinrichtung
Konfigurierbare Ausgabeartefakte
Speicherbegrenzte Verarbeitung für große Dateien
Schnappschussvergleich mit dem Befehl `diff`
Wie verwendet man codebase-snapshot?
Installieren: Verwenden Sie npm, yarn, pnpm oder bun, um `codebase-snapshot` global oder als Projektabhängigkeit zu installieren.
Schnellstart: Führen Sie `snapshot` in Ihrem Projektverzeichnis für einen geführten Erstdurchlauf oder eine automatische Generierung aus.
Konfigurieren: Verwenden Sie den Befehl `init` für eine interaktive Einrichtung, die eine selbstdokumentierende `snapshot.config.ts`-Datei schreibt.
Schnappschuss generieren: Führen Sie `snapshot generate` aus, um das LLM-bereite Schnappschussverzeichnis zu erstellen.
Schnappschuss validieren: Führen Sie `snapshot validate` aus, um den Schnappschuss mit dem aktuellen Repository zu vergleichen und nach Abweichungen zu suchen.
Pfad erklären: Verwenden Sie `snapshot explain <path>`, um zu verstehen, warum eine bestimmte Datei einbezogen, übersprungen oder wo sie gelandet ist.
Berichte prüfen: Generieren Sie `snapshot report` für Gesundheitsmetriken, Schichtdetails und Geheimnisprüfungen.
codebase-snapshot's Anwendungsfälle
- LLM-Kontextgenerierung
- KI-Agenten-Codeanalyse
- Automatisierung der Codeüberprüfung
- Entwickler-Onboarding
- Verwaltung des Kontextfensters
- Codebasisprüfung
- Sicherstellung der Kontextfrische
- Vergleich zwischen Repositories







