説明
codebase-snapshotは、厳格なバイト予算に従ってコードリポジトリをLLM対応のパーツのセットに変換するために設計されたユーティリティです。これは、ファイルが大きすぎたり、コンテキストウィンドウが小さすぎたりする場合に、言語モデルに大規模なリポジトリを供給する際の課題に対処します。このツールは決定論的に動作し、変更されていない入力に対して一貫した出力を保証します。
続きを読む
コア機能は、プレーンテキストのパーツを含む`snapshot/`ディレクトリを作成することにあります。各パーツは`maxPartBytes`の上限によって制限されており、この予算を超えるファイルは明示的な省略マーカーで切り捨てられます。非常に大きなファイルについては、ヘッド/テールの抜粋を提供します。コードパーツに加えて、`manifest.json`ファイルを生成します。このマニフェストは、各ファイルのレイヤー、種類、言語、パーツ、ハッシュ、および構造的要約などの詳細を含む包括的なインデックスとして機能します。重要なことに、`gitignore`、`sensitive-file`、または`binary`などの省略の具体的な理由とともに、すべての除外されたファイルも記録します。
コンテキストの整合性を維持するための重要な機能は、`validate`コマンドです。このコマンドは、生成されたスナップショットに対してリポジトリを再ハッシュし、ドリフトが検出された場合は非ゼロコードで終了します。これにより、LLMのコンテキストが新鮮で正確に保たれ、モデルが古いコードを使用することを防ぎます。このツールはデフォルトで安全に設計されており、明示的に要求されない限り資格情報ファイルをスキップし、秘密の形状の文字列を削除し、作成していないディレクトリを上書きすることを拒否することでソースコードの偶発的な削除を防ぎます。
codebase-snapshotは、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、Railsなど、幅広いプログラミング言語とフレームワークをサポートしており、通常は設定を必要としません。レイヤー、種類、エコシステムの無視パターン、および推奨されるパーツ予算を提供する25の自動プリセットを提供します。TypeScript以外の言語については、インポート/エクスポート/クラス/関数の要約を生成し、それらを`ast`、`structural`、または`heuristic`としてラベル付けして信頼性を示します。
人間のインタラクションを超えて、codebase-snapshotはAIエージェントのために構築されています。マシン可読の契約とインストール可能なスキルを提供し、エージェントがプロセス全体を自律的に推進できるようにします。エージェントは、スナップショットを管理し、ドリフトをチェックし、秘密を監査し、ファイルの含有/除外を理解するために、`generate`、`validate`、`report`、`explain`などのコマンドを使用できます。このツールは、より大きなシステムへの統合のためのプログラム的APIアクセスもサポートしています。その包括的なドキュメントには、インストール、CLIリファレンス、設定、スナップショット出力スキーマ、およびChatGPT、Claude、CursorなどのLLMと効果的に使用するためのガイドが含まれています。
- カテゴリーAI コーディングアシスタント
- 料金モデル無料
- デプロイCLI, Programmatic API
- プラットフォームNode.js 18+
codebase-snapshotの主要機能
決定論的なスナップショット生成
パーツのための厳格なバイト予算
包括的なmanifest.jsonインデックス
`validate`コマンドによるドリフト検証
25のプロジェクトプリセットの自動検出
複数のプログラミング言語とフレームワークのサポート
秘密の削除と敏感なファイルの除外
AIエージェントのためのマシン可読契約
インストール可能なエージェントスキル
プログラム的APIアクセス
詳細な報告と監査
ガイド付きの初回セットアップ
構成可能な出力アーティファクト
大きなファイルのためのメモリ制約処理
`diff`コマンドによるスナップショット比較
codebase-snapshotの使い方は?
インストール: npm、yarn、pnpm、またはbunを使用して、`codebase-snapshot`をグローバルまたはプロジェクト依存関係としてインストールします。
クイックスタート: プロジェクトディレクトリで`snapshot`を実行して、ガイド付きの初回実行または自動生成を行います。
構成: `init`コマンドを使用して、自己文書化された`snapshot.config.ts`ファイルを書き込むインタラクティブなセットアップを行います。
スナップショット生成: `snapshot generate`を実行して、LLM対応のスナップショットディレクトリを作成します。
スナップショット検証: `snapshot validate`を実行して、スナップショットを現在のリポジトリと比較し、ドリフトをチェックします。
パスの説明: `snapshot explain <path>`を使用して、特定のファイルが含まれた理由、スキップされた理由、またはどこに配置されたかを理解します。
監査レポート: 健康指標、レイヤーの詳細、および秘密の監査のために`snapshot report`を生成します。
codebase-snapshotの使用例
- LLMコンテキスト生成
- AIエージェントコード分析
- コードレビューの自動化
- 開発者のオンボーディング
- コンテキストウィンドウ管理
- コードベースの監査
- コンテキストの新鮮さを保証
- クロスリポジトリ比較







