$npx -y skills add haoxiang-xu/PuPu --skill gitnexus-cliUse when the user needs to run GitNexus CLI commands like analyze/index a repo, check status, clean the index, generate a wiki, or list indexed repos. Examples: \"Index this repo\", \"Reanalyze the codebase\", \"Generate a wiki\"
| 1 | # GitNexus CLI Commands |
| 2 | |
| 3 | Commands below use `node .gitnexus/run.cjs <command>` — the project-local runner `gitnexus analyze` drops next to the index. It auto-selects an available runner at call time (global `gitnexus`, else `pnpm dlx`, else `npx`), so no package-manager assumption and no global install is required. |
| 4 | |
| 5 | > **Not analyzed yet, or `node .gitnexus/run.cjs` reports `Cannot find module`** (the gitignored runner is absent — e.g. a fresh clone or `git clean`)? (Re)generate it with `npx gitnexus analyze` from the project root. On **npm 11.x**, if `npx` crashes during install (`node.target is null`), install once with `npm i -g gitnexus` (then `gitnexus analyze`) or use `pnpm --allow-build=@ladybugdb/core --allow-build=gitnexus --allow-build=tree-sitter dlx gitnexus@latest analyze`. See [#1939](https://github.com/abhigyanpatwari/GitNexus/issues/1939). |
| 6 | |
| 7 | ## Commands |
| 8 | |
| 9 | ### analyze — Build or refresh the index |
| 10 | |
| 11 | ```bash |
| 12 | node .gitnexus/run.cjs analyze |
| 13 | ``` |
| 14 | |
| 15 | Run from the project root. This parses all source files, builds the knowledge graph, writes it to `.gitnexus/`, and generates CLAUDE.md / AGENTS.md context files. |
| 16 | |
| 17 | | Flag | Effect | |
| 18 | | -------------- | ---------------------------------------------------------------- | |
| 19 | | `--force` | Force full re-index even if up to date | |
| 20 | | `--embeddings` | Enable embedding generation for semantic search (off by default) | |
| 21 | | `--drop-embeddings` | Drop existing embeddings on rebuild. By default, an `analyze` without `--embeddings` preserves them. | |
| 22 | | `--pdg` | Build the program-dependence layers used by `explain` and `pdg_query` (taint, CDG, and REACHING_DEF). | |
| 23 | |
| 24 | **When to run:** First time in a project, after major code changes, or when `gitnexus://repo/{name}/context` reports the index is stale. In Claude Code, a PostToolUse hook detects staleness after `git commit` and `git merge` and notifies the agent to run `analyze` — the hook does not run analyze itself, to avoid blocking the agent for up to 120s and risking KuzuDB corruption on timeout. |
| 25 | |
| 26 | ### status — Check index freshness |
| 27 | |
| 28 | ```bash |
| 29 | node .gitnexus/run.cjs status |
| 30 | ``` |
| 31 | |
| 32 | Shows whether the current repo has a GitNexus index, when it was last updated, and symbol/relationship counts. Use this to check if re-indexing is needed. |
| 33 | |
| 34 | ### clean — Delete the index |
| 35 | |
| 36 | ```bash |
| 37 | node .gitnexus/run.cjs clean |
| 38 | ``` |
| 39 | |
| 40 | Deletes the `.gitnexus/` directory and unregisters the repo from the global registry. Use before re-indexing if the index is corrupt or after removing GitNexus from a project. |
| 41 | |
| 42 | | Flag | Effect | |
| 43 | | --------- | ------------------------------------------------- | |
| 44 | | `--force` | Skip confirmation prompt | |
| 45 | | `--all` | Clean all indexed repos, not just the current one | |
| 46 | |
| 47 | ### wiki — Generate documentation from the graph |
| 48 | |
| 49 | ```bash |
| 50 | node .gitnexus/run.cjs wiki |
| 51 | ``` |
| 52 | |
| 53 | Generates repository documentation from the knowledge graph using an LLM. Requires an API key (saved to `~/.gitnexus/config.json` on first use). |
| 54 | |
| 55 | | Flag | Effect | |
| 56 | | ------------------- | ----------------------------------------- | |
| 57 | | `--force` | Force full regeneration | |
| 58 | | `--model <model>` | LLM model (default: minimax/minimax-m2.5) | |
| 59 | | `--base-url <url>` | LLM API base URL | |
| 60 | | `--api-key <key>` | LLM API key | |
| 61 | | `--concurrency <n>` | Parallel LLM calls (default: 3) | |
| 62 | | `--gist` | Publish wiki as a public GitHub Gist | |
| 63 | |
| 64 | ### list — Show all indexed repos |
| 65 | |
| 66 | ```bash |
| 67 | node .gitnexus/run.cjs list |
| 68 | ``` |
| 69 | |
| 70 | Lists all repositories registered in `~/.gitnexus/registry.json`. The MCP `list_repos` tool provides the same information. |
| 71 | |
| 72 | ## After Indexing |
| 73 | |
| 74 | 1. **Read `gitnexus://repo/{name}/context`** to verify the index loaded |
| 75 | 2. Use the other GitNexus skills (`exploring`, `debugging`, `impact-analysis`, `refactoring`) for your task |
| 76 | |
| 77 | ## Troubleshooting |
| 78 | |
| 79 | - **"Not inside a git repository"**: Run from a directory inside a git repo |
| 80 | - **Index is stale after re-analyzing**: Restart Claude Code to reload the MCP server |
| 81 | - **Embeddings slow**: Omit `--embeddings` (it's off by default) or set `OPENAI_API_KEY` for faster API-based embedding |