gitnexus-cli について
リポジトリ内の GitNexus インデックスを操作するコマンドラインスキルです。ソースコードの解析、状態確認、削除、グラフに基づくドキュメント生成、対象リポジトリの一覧表示を行い、コード調査用データの準備と保守に役立ちます。
主な機能
- 01コードインデックスの構築と更新
- 02インデックスの鮮度確認
- 03リポジトリインデックスの削除
- 04グラフに基づくドキュメント生成
- 05インデックス済みリポジトリの一覧
活用シーン
- 01コード調査前のリポジトリのインデックス化
- 02大幅な変更後のインデックス更新
- 03インデックスの古さの確認
- 04リポジトリグラフからの文書生成
MCP 対応
`list_repos` や `gitnexus://repo/{name}/context` などの GitNexus MCP リソースとツールを参照し、インデックス済みリポジトリやコンテキストを確認します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ arenukvern/ mcp_flutter --skill gitnexus-cliインストール後、Claude Code で/gitnexus-cliを入力して読み込まれたか確認します。
詳細
GitNexus CLI コマンド
以下のコマンドは node .gitnexus/run.cjs <command> を使用します。プロジェクトローカルのランナー gitnexus analyze は、インデックスの隣に配置されます。呼び出し時に利用可能なランナーを自動選択するため(グローバルの gitnexus、それがなければ pnpm dlx、さらにそれもなければ npx)、特定のパッケージマネージャーを前提とせず、グローバルインストールも不要です。
まだ解析していない場合、または
node .gitnexus/run.cjsでCannot find moduleと表示される場合(gitignore 対象のランナーが存在しない状態です。新規クローンやgit cleanの実行後などが該当します)。プロジェクトのルートでnpx gitnexus analyzeを実行して、生成し直してください。npm 11.x で、インストール中にnpxがクラッシュする場合(node.target is null)、npm i -g gitnexusで一度インストールしてからgitnexus analyzeを実行するか、pnpm --allow-build=@ladybugdb/core --allow-build=gitnexus --allow-build=tree-sitter dlx gitnexus@latest analyzeを使用してください。詳しくは #1939 をご覧ください。
コマンド
analyze — インデックスを構築または更新する
node .gitnexus/run.cjs analyze
プロジェクトのルートから実行してください。すべてのソースファイルを解析し、ナレッジグラフを構築して .gitnexus/ に書き込み、CLAUDE.md / AGENTS.md のコンテキストファイルを生成します。
| フラグ | 効果 |
|---|---|
--force | 最新の状態でも、インデックスをすべて強制的に再構築します |
--embeddings | セマンティック検索用のエンベディング生成を有効にします(デフォルトでは無効です) |
--drop-embeddings | 再構築時に既存のエンベディングを削除します。デフォルトでは、--embeddings を指定せずに analyze を実行しても、エンベディングは保持されます。 |
--pdg | explain と pdg_query で使用するプログラム依存レイヤー(taint、CDG、REACHING_DEF)を構築します。 |
実行するタイミング: プロジェクトで初めて使用するとき、大規模なコード変更の後、または gitnexus://repo/{name}/context でインデックスが古いと報告されたときです。Claude Code では、PostToolUse フックが git commit と git merge の後に古さを検出し、エージェントに analyze の実行を通知します。このフック自体は analyze を実行しません。エージェントが最大 120 秒間ブロックされるのを避け、タイムアウト時に KuzuDB が破損するリスクを防ぐためです。
status — インデックスの最新状態を確認する
node .gitnexus/run.cjs status
現在のリポジトリに GitNexus のインデックスがあるか、最終更新日時、シンボル数とリレーションシップ数を表示します。再インデックスが必要かどうかの確認に使用してください。
clean — インデックスを削除する
node .gitnexus/run.cjs clean
.gitnexus/ ディレクトリを削除し、グローバルレジストリからリポジトリの登録を解除します。インデックスが破損している場合や、プロジェクトから GitNexus を削除した後に、再インデックスする前に使用してください。
| フラグ | 効果 |
|---|---|
--force | 確認プロンプトをスキップします |
--all | 現在のリポジトリだけでなく、インデックス登録済みのすべてのリポジトリをクリーンアップします |
wiki — グラフからドキュメントを生成する
node .gitnexus/run.cjs wiki
LLM を使用して、ナレッジグラフからリポジトリのドキュメントを生成します。API キーが必要です(初回使用時に ~/.gitnexus/config.json に保存されます)。
| フラグ | 効果 |
|---|---|
--force | すべてのドキュメントを強制的に再生成します |
--model <model> | LLM モデル(デフォルト:minimax/minimax-m2.5) |
--base-url <url> | LLM API のベース URL |
--api-key <key> | LLM API キー |
--concurrency <n> | LLM 呼び出しの並列数(デフォルト:3) |
--gist | wiki を公開 GitHub Gist として公開します |
list — インデックス登録済みのリポジトリをすべて表示する
node .gitnexus/run.cjs list
~/.gitnexus/registry.json に登録されているすべてのリポジトリを一覧表示します。MCP の list_repos ツールでも同じ情報を取得できます。
インデックス作成後
gitnexus://repo/{name}/contextを読み取り、インデックスが読み込まれていることを確認します- タスクに応じて、ほかの GitNexus スキル(
exploring、debugging、impact-analysis、refactoring)を使用します
トラブルシューティング
- 「Git リポジトリ内ではありません」:Git リポジトリ内のディレクトリから実行してください
- 再分析後もインデックスが古いまま:MCP サーバーを再読み込みするため、Claude Code を再起動してください
- 埋め込みの処理が遅い:
--embeddingsを省略する(デフォルトでは無効です)か、OPENAI_API_KEYを設定して、API ベースの埋め込みを高速化してください