mcpField
G
gitnexus-cli

gitnexus-cli

github.com/arenukvern開発39447 回インストール2 週間前に更新
リポジトリ

gitnexus-cli について

リポジトリ内の GitNexus インデックスを操作するコマンドラインスキルです。ソースコードの解析、状態確認、削除、グラフに基づくドキュメント生成、対象リポジトリの一覧表示を行い、コード調査用データの準備と保守に役立ちます。

主な機能

  1. 01コードインデックスの構築と更新
  2. 02インデックスの鮮度確認
  3. 03リポジトリインデックスの削除
  4. 04グラフに基づくドキュメント生成
  5. 05インデックス済みリポジトリの一覧

活用シーン

  1. 01コード調査前のリポジトリのインデックス化
  2. 02大幅な変更後のインデックス更新
  3. 03インデックスの古さの確認
  4. 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 を実行しても、エンベディングは保持されます。
--pdgexplain と 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)
--gistwiki を公開 GitHub Gist として公開します
list — インデックス登録済みのリポジトリをすべて表示する
node .gitnexus/run.cjs list

~/.gitnexus/registry.json に登録されているすべてのリポジトリを一覧表示します。MCP の list_repos ツールでも同じ情報を取得できます。

インデックス作成後

  1. gitnexus://repo/{name}/context を読み取り、インデックスが読み込まれていることを確認します
  2. タスクに応じて、ほかの GitNexus スキル(exploring、debugging、impact-analysis、refactoring)を使用します

トラブルシューティング

  • 「Git リポジトリ内ではありません」:Git リポジトリ内のディレクトリから実行してください
  • 再分析後もインデックスが古いまま:MCP サーバーを再読み込みするため、Claude Code を再起動してください
  • 埋め込みの処理が遅い:--embeddings を省略する(デフォルトでは無効です)か、OPENAI_API_KEY を設定して、API ベースの埋め込みを高速化してください

コメント