feat(hooks): auto-reindex after git commit with embeddings preservation Add PostToolUse hook that re-runs `gitnexus analyze` after git commit/merge, automatically detecting and preserving embeddings via meta.json stats. - Persist embeddings count in meta.json stats.embeddings field - Add PostToolUse handler to both hook variants (cjs + plugin) - Register PostToolUse hook in setup.ts for Claude Code - Add "Keeping the Index Fresh" section to generated CLAUDE.md/AGENTS.md Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> revert running gitanalyz fix: address code review findings for auto-reindex hooks - Fix hook timeout units: seconds not milliseconds (8000->8, 120000->120) - Remove unused execFileSync import from gitnexus-hook.cjs - Remove unused `output` variable in PostToolUse handler - Remove spurious template interpolation in ai-context.ts Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> refactor: clean up gitnexus-hook.cjs per review feedback - Hoist spawnSync import to module scope - Add shell: isWin for npx fallback on Windows - Extract findGitNexusDir helper, reuse in both PreToolUse and PostToolUse Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> fix(hooks): stricter git regex, proper spawnSync error handling, embeddings in recovery commands - Tighten commit/merge regex to not match git merge-base (require \s|$ after subcommand) - Replace try/catch with child.error/signal inspection for spawnSync timeout detection - Include --embeddings in manual recovery commands when embeddings were detected - Extract emitPostToolContext helper to reduce duplication - Apply all fixes to both hook variants (cjs + plugin) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> fix(hooks): single-launch CLI resolution, guard PreToolUse stderr on failure - Plugin: detect gitnexus binary via which/where once, then run exactly once (prevents double execution when binary exists but command fails) - Both hooks: only forward augment stderr as additionalContext when exit code is 0, preventing CLI error output from leaking into agent context Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> docs: update README and CLI skill for PostToolUse auto-reindex - README: editor support table now shows PreToolUse + PostToolUse - README: description mentions auto-reindex after commits - gitnexus-cli skill: document auto-reindex in "When to run" section Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3.4 KiB
| name | description |
|---|---|
| gitnexus-cli | Use 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" |
GitNexus CLI Commands
All commands work via npx — no global install required.
Commands
analyze — Build or refresh the index
npx gitnexus analyze
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.
| Flag | Effect |
|---|---|
--force |
Force full re-index even if up to date |
--embeddings |
Enable embedding generation for semantic search (off by default) |
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 runs analyze automatically after git commit and git merge, preserving embeddings if previously generated.
status — Check index freshness
npx gitnexus status
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.
clean — Delete the index
npx gitnexus clean
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.
| Flag | Effect |
|---|---|
--force |
Skip confirmation prompt |
--all |
Clean all indexed repos, not just the current one |
wiki — Generate documentation from the graph
npx gitnexus wiki
Generates repository documentation from the knowledge graph using an LLM. Requires an API key (saved to ~/.gitnexus/config.json on first use).
| Flag | Effect |
|---|---|
--force |
Force full regeneration |
--model <model> |
LLM model (default: minimax/minimax-m2.5) |
--base-url <url> |
LLM API base URL |
--api-key <key> |
LLM API key |
--concurrency <n> |
Parallel LLM calls (default: 3) |
--gist |
Publish wiki as a public GitHub Gist |
list — Show all indexed repos
npx gitnexus list
Lists all repositories registered in ~/.gitnexus/registry.json. The MCP list_repos tool provides the same information.
After Indexing
- Read
gitnexus://repo/{name}/contextto verify the index loaded - Use the other GitNexus skills (
exploring,debugging,impact-analysis,refactoring) for your task
Troubleshooting
- "Not inside a git repository": Run from a directory inside a git repo
- Index is stale after re-analyzing: Restart Claude Code to reload the MCP server
- Embeddings slow: Omit
--embeddings(it's off by default) or setOPENAI_API_KEYfor faster API-based embedding