Deskripsi
codebase-snapshot adalah utilitas yang dirancang untuk mengubah repositori kode menjadi serangkaian bagian siap LLM, mematuhi anggaran byte yang ketat. Ini mengatasi tantangan memberi makan repositori besar ke model bahasa, di mana file bisa terlalu besar dan jendela konteks terlalu kecil. Alat ini beroperasi secara deterministik, memastikan output yang konsisten di seluruh eksekusi untuk input yang tidak berubah.
Baca Selengkapnya
Fungsi inti berputar di sekitar pembuatan direktori `snapshot/` yang berisi bagian teks biasa. Setiap bagian dibatasi oleh batas `maxPartBytes`; file yang melebihi anggaran ini dipotong dengan penanda penghilangan eksplisit. Untuk file yang sangat besar, ia menyediakan kutipan kepala/ekor. Bersamaan dengan bagian kode, ia menghasilkan file `manifest.json`. Manifest ini bertindak sebagai indeks komprehensif, mencantumkan setiap file yang disertakan dengan detail seperti lapisan, jenis, bahasa, bagian, hash, dan ringkasan struktural. Yang penting, ia juga mencatat setiap file yang dikecualikan beserta alasan spesifik untuk penghapusannya, seperti `gitignore`, `sensitive-file`, atau `binary`.
Fitur kunci untuk menjaga integritas konteks adalah perintah `validate`. Perintah ini menghitung ulang hash repositori terhadap snapshot yang dihasilkan dan keluar dengan kode non-nol jika ada drift yang terdeteksi. Ini memastikan bahwa konteks LLM tetap segar dan akurat, mencegah model bekerja dengan kode yang sudah usang. Alat ini dirancang untuk aman secara default, melewati file kredensial kecuali diminta secara eksplisit, menyunting string berbentuk rahasia, dan mencegah penghapusan kode sumber secara tidak sengaja dengan menolak untuk menimpa direktori yang tidak dibuatnya.
codebase-snapshot mendukung berbagai bahasa pemrograman dan kerangka kerja, termasuk 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, dan Rails, sering kali tanpa memerlukan konfigurasi. Ini menyediakan 25 preset otomatis yang menyumbang lapisan, jenis, pola pengabaian ekosistem, dan anggaran bagian yang direkomendasikan. Untuk bahasa non-TypeScript, ia menghasilkan ringkasan impor/ekspor/kelas/fungsi, menandainya sebagai `ast`, `structural`, atau `heuristic` untuk menunjukkan keandalannya.
Di luar interaksi manusia, codebase-snapshot dibangun untuk agen AI. Ini menawarkan kontrak yang dapat dibaca mesin dan keterampilan yang dapat diinstal, memungkinkan agen untuk menjalankan seluruh proses secara otonom. Agen dapat menggunakan perintah seperti `generate`, `validate`, `report`, dan `explain` untuk mengelola snapshot, memeriksa drift, mengaudit rahasia, dan memahami inklusi/eksklusi file. Alat ini juga mendukung akses API programatik untuk integrasi ke dalam sistem yang lebih besar. Dokumentasi komprehensifnya mencakup instalasi, referensi CLI, konfigurasi, skema output snapshot, dan panduan untuk menggunakannya secara efektif dengan LLM seperti ChatGPT, Claude, dan Cursor.
- KategoriAsisten Coding AI
- Model HargaGratis
- PenerapanCLI, Programmatic API
- PlatformNode.js 18+
Fitur Inti codebase-snapshot
Generasi snapshot deterministik
Anggaran byte yang ketat untuk bagian
Indeks manifest.json yang komprehensif
Validasi drift dengan perintah `validate`
Deteksi otomatis untuk 25 preset proyek
Dukungan untuk berbagai bahasa pemrograman dan kerangka kerja
Penghapusan rahasia dan pengecualian file sensitif
Kontrak yang dapat dibaca mesin untuk agen AI
Keterampilan agen yang dapat diinstal
Akses API programatik
Pelaporan dan audit yang terperinci
Panduan pengaturan pertama kali
Artefak output yang dapat dikonfigurasi
Pemrosesan terikat memori untuk file besar
Perbandingan snapshot dengan perintah `diff`
Cara menggunakan codebase-snapshot?
Instal: Gunakan npm, yarn, pnpm, atau bun untuk menginstal `codebase-snapshot` secara global atau sebagai ketergantungan proyek.
Mulai Cepat: Jalankan `snapshot` di direktori proyek Anda untuk menjalankan panduan pertama kali atau generasi otomatis.
Konfigurasi: Gunakan perintah `init` untuk pengaturan interaktif yang menulis file `snapshot.config.ts` yang mendokumentasikan diri.
Hasilkan Snapshot: Eksekusi `snapshot generate` untuk membuat direktori snapshot siap LLM.
Validasi Snapshot: Jalankan `snapshot validate` untuk membandingkan snapshot dengan repositori saat ini dan memeriksa drift.
Jelaskan Jalur: Gunakan `snapshot explain <path>` untuk memahami mengapa file tertentu disertakan, dilewati, atau di mana ia berada.
Audit Laporan: Hasilkan `snapshot report` untuk metrik kesehatan, detail lapisan, dan audit rahasia.
Kasus Penggunaan codebase-snapshot
- Generasi Konteks LLM
- Analisis Kode Agen AI
- Automasi Tinjauan Kode
- Onboarding Pengembang
- Manajemen Jendela Konteks
- Audit Kode
- Memastikan Kesegaran Konteks
- Perbandingan Lintas Repositori







