graph-build について
graph-buildは、コードベースの構造ナレッジグラフを構築・更新するスキルです。コードからノードと関係を抽出してSQLiteに保存し、ビルド統計を報告します。
主な機能
- 01全体ビルドと増分更新
- 0220以上の言語の解析
- 03コードのノードと関係の抽出
- 04SHA-256による変更検出とSQLite保存
- 05JSON形式のビルド統計
活用シーン
- 01セッション開始時のグラフ作成
- 02コード変更後のグラフ更新
- 03グラフ検索や影響範囲分析の準備
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ athola/ claude-night-market --skill graph-buildインストール後、Claude Code で/graph-buildを入力して読み込まれたか確認します。
詳細
コードナレッジグラフの構築
現在のコードベースの .gauntlet/graph.db ナレッジグラフを構築または更新します。
手順
-
対象を検出する:現在の作業ディレクトリまたはユーザー指定のパスを使用します。
-
既存のグラフを確認する:
.gauntlet/graph.dbが存在する場合は、増分更新を実行します。存在しない場合は、フルビルドを実行します。 -
ビルドスクリプトを実行する:
フルビルドの場合:
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/graph_build.py <dir>増分更新の場合:
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/graph_build.py <dir> --incremental -
結果を報告する:解析したファイル数、作成したノード数、作成したエッジ数、所要時間を含む JSON 出力を表示します。
-
次のステップを提案する:グラフの検索またはブラスト半径分析の実行を推奨します。
使用するタイミング
- セッション開始時に構造を把握するため
- 大幅なコード変更の後にグラフを更新するため
- ブラスト半径分析またはフロー追跡の実行前
- ユーザーがコードベースの構造について尋ねたとき
使用しないタイミング
- 既存のグラフをクエリするとき(
gauntlet:graph-searchを使用) - チャレンジナレッジベースを構築するとき(
gauntlet:extractを使用)
解析対象
グラフは、Python、JavaScript、TypeScript、Go、Rust、Java、C/C++、Ruby、PHP など、20 以上の言語からノード(File、Class、Function、Type、Test)とエッジ(CALLS、IMPORTS_FROM、INHERITS、CONTAINS、IMPLEMENTS、TESTED_BY)を抽出します。
ストレージ
- データベース:
.gauntlet/graph.db(WAL モードの SQLite) - コミットを防ぐため、
.gauntlet/.gitignoreを自動作成します - 増分更新では SHA-256 ハッシュを使用して、変更されていないファイルをスキップします
完了条件
- スキルの完了後に
.gauntlet/graph.dbが存在し、有効な SQLite ファイルであること。データベースのコミットを防ぐため、.gauntlet/.gitignoreが存在すること - ビルドレポートの JSON に 4 つのキー、
files_parsed、nodes_created、edges_created、durationがすべて含まれていること。空ではないコードベースでは、各値がゼロ以外であること -
.gauntlet/graph.dbがすでに存在する場合は増分更新のパスを使用すること(スクリプトを--incremental付きで実行)。フルビルドは初回実行時のみ行うこと - 次のステップとして、グラフの検索またはブラスト半径分析の実行をユーザーに提案すること
コメント
Markdown 対応