mcpField
G
graph-build

graph-build

github.com/athola開発34377 回インストール1 日前に更新
リポジトリ

graph-build について

graph-buildは、コードベースの構造ナレッジグラフを構築・更新するスキルです。コードからノードと関係を抽出してSQLiteに保存し、ビルド統計を報告します。

主な機能

  1. 01全体ビルドと増分更新
  2. 0220以上の言語の解析
  3. 03コードのノードと関係の抽出
  4. 04SHA-256による変更検出とSQLite保存
  5. 05JSON形式のビルド統計

活用シーン

  1. 01セッション開始時のグラフ作成
  2. 02コード変更後のグラフ更新
  3. 03グラフ検索や影響範囲分析の準備

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/athola/claude-night-market --skill graph-build

インストール後、Claude Code で/graph-buildを入力して読み込まれたか確認します。

詳細

コードナレッジグラフの構築

現在のコードベースの .gauntlet/graph.db ナレッジグラフを構築または更新します。

手順

  1. 対象を検出する:現在の作業ディレクトリまたはユーザー指定のパスを使用します。

  2. 既存のグラフを確認する:.gauntlet/graph.db が存在する場合は、増分更新を実行します。存在しない場合は、フルビルドを実行します。

  3. ビルドスクリプトを実行する:

    フルビルドの場合:

    python3 ${CLAUDE_PLUGIN_ROOT}/scripts/graph_build.py <dir>
    

    増分更新の場合:

    python3 ${CLAUDE_PLUGIN_ROOT}/scripts/graph_build.py <dir> --incremental
    
  4. 結果を報告する:解析したファイル数、作成したノード数、作成したエッジ数、所要時間を含む JSON 出力を表示します。

  5. 次のステップを提案する:グラフの検索またはブラスト半径分析の実行を推奨します。

使用するタイミング

  • セッション開始時に構造を把握するため
  • 大幅なコード変更の後にグラフを更新するため
  • ブラスト半径分析またはフロー追跡の実行前
  • ユーザーがコードベースの構造について尋ねたとき

使用しないタイミング

  • 既存のグラフをクエリするとき(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 付きで実行)。フルビルドは初回実行時のみ行うこと
  • 次のステップとして、グラフの検索またはブラスト半径分析の実行をユーザーに提案すること

コメント