code-graph について
code-graphは、cgraphデータベースの管理、コードリポジトリのインデックス作成、構造の検索を行うスキルです。コーディングエージェントが定義や関係、呼び出し経路を調べられ、cgraphコマンドの実行も担います。
主な機能
- 01リポジトリのインデックス作成と管理
- 02名前の接頭辞によるコード要素の検索
- 03ノードの隣接要素と関係の確認
- 04関数の呼び出し経路の追跡
- 05リポジトリ一覧とインデックス統計の表示
活用シーン
- 01インデックス済みコードから関数やクラスを検索
- 02関数が呼び出す要素や定義する要素を確認
- 03関数間の呼び出し経路を追跡
- 04インデックス済みリポジトリを確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ falkordb/ code-graph --skill code-graphインストール後、Claude Code で/code-graphを入力して読み込まれたか確認します。
同梱ファイルreferences/management.mdreferences/querying.md
詳細
Code Graph スキル
cgraph のデータベース、インデックス作成、クエリの全ライフサイクルを管理します。ユーザーが cgraph コマンドを手動で実行する必要はありません。
管理ルール
cgraphコマンドが接続エラーで失敗した場合は、まずcgraph ensure-dbを実行します。cgraphが見つからない場合は、インストール手順についてmanagement.mdを参照してください。- セッション開始時、またはコードに大幅な変更を加えた後にインデックスを作成します:
cgraph index . --ignore node_modules --ignore venv --ignore .git --ignore __pycache__ - コードに変更がなければ、連続するクエリの間にインデックスを再作成する必要はありません。
- すべてのコマンド出力は標準出力に JSON で出力されます。ステータスと進捗は標準エラー出力に出力されます。
--repoを省略した場合、現在のディレクトリ名がデフォルト値になります。
インデックス作成
# Index the current project
cgraph index . --ignore node_modules --ignore venv --ignore .git --ignore __pycache__
# Index a specific folder with a custom name
cgraph index /path/to/project --repo my-project --ignore node_modules
# Clone and index a remote repository
cgraph index-repo https://github.com/org/repo --ignore node_modules
検索
# Search for entities by prefix
cgraph search get_user
cgraph search parse
cgraph search MyClass
結果は、ノードの id、labels(File、Class、Function など)、properties(name、path、src_start、src_end)を含む JSON で返されます。後続のクエリには id を使用します。
関係の調査
# Get all neighbors of a node
cgraph neighbors 42 --repo my-project
# Filter by relationship type
cgraph neighbors 42 --rel CALLS # what does it call?
cgraph neighbors 42 --rel DEFINES # what does it define?
# Filter by destination label
cgraph neighbors 42 --label Function # only function neighbors
# Multiple nodes at once
cgraph neighbors 42 55 --repo my-project
パスの検索
# Trace call-chain paths between two nodes
cgraph paths 42 99 --repo my-project
CALLS エッジをたどり、ある関数から別の関数にどのように到達するかを調べます。
リポジトリ情報
# List all indexed repos
cgraph list
# Show stats for a repo
cgraph info --repo my-project
検索結果の操作
- 検索結果には
path、src_start、src_endが含まれます。Read ツールを使用して、該当箇所の実際のソースコードを読み込みます。 - ノードラベル:File、Class、Function、Interface、Struct
- エッジの種類:DEFINES(階層)、CALLS(呼び出しグラフ)、EXTENDS(継承)、IMPLEMENTS(インターフェース)、RETURNS(戻り値の型)、PARAMETERS(パラメーターの型)
- 詳細な JSON 構造と一般的なクエリパターンについては、
querying.mdを参照してください。
コメント
Markdown 対応