gitnexus-cli
Skill310 starsChanged 6 months agoMITView on GitHub
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\"
- Reads credentials
- Installs packages
We split this skill into the rules it gives an agent
4 rules. 1 is common, 1 is distinctive, and 2 are very specific to this project.
1
Common
Most of the 8 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 20
Run from the project root.
- Very specific: line 92
Use the other GitNexus skills (exploring, debugging, impact-analysis, refactoring) for your task
- Common: line 96
"Not inside a git repository": Run from a directory inside a git repo
- Distinctive: line 97
Index is stale after re-analyzing: Wait for the next MCP tool call to reopen the published index.
“Common” is measured: kept by at least 6 in 10 of the 8 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
GitNexus CLI Commands
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 bunx, else npx), so no package-manager assumption and no global install is required — including on a bun-only machine, which has no npm, npx or pnpm at all.
Not analyzed yet, or
node .gitnexus/run.cjsreportsCannot find module(the gitignored runner is absent — e.g. a fresh clone orgit clean)? (Re)generate it withnpx gitnexus analyzefrom the project root, orbunx gitnexus@latest analyzeon a bun-only machine. On npm 11.x, ifnpxcrashes during install (node.target is null), install once withnpm i -g gitnexus(thengitnexus analyze), or usebunx gitnexus@latest analyze, orpnpm --allow-build=@ladybugdb/core --allow-build=gitnexus --allow-build=tree-sitter dlx gitnexus@latest analyze. See #1939.
Commands
analyze — Build or refresh the index
node .gitnexus/run.cjs analyzeRun 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 |
--watch | Keep a Git repository index current with serialized refreshes |
--debounce <ms> | Watch quiet period before refresh (default: 300 ms) |
--force | Force full re-index even if up to date |
--embeddings | Enable embedding generation for semantic search (off by default) |
--drop-embeddings | Drop existing embeddings on rebuild. By default, an analyze without --embeddings preserves them. |
--pdg | Build the program-dependence layers used by explain and pdg_query (taint, CDG, and REACHING_DEF). |
--spring-actuator <path> | Import opt-in Spring Boot Actuator mappings, beans, conditions, configprops, and env snapshots. Forces a full rebuild; unsupported with --watch. |
--asyncapi-spec <path> | Read opt-in AsyncAPI 3.x documents (directory or single file) and mint Destination nodes from their operations. 2.x is refused, not mapped. Unsupported with --watch. |
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.
For Spring runtime enrichment, pass a JSON bundle, one endpoint JSON file, or a directory containing endpoint files. Route evidence is authoritative only when runtimeConfirmed === true; runtimeSource records provenance and may also accompany handler-conflict. Env/configprops values are never persisted.
Use node .gitnexus/run.cjs analyze --watch for a long-lived local Git repository. It performs an initial analysis, queues scanner-admitted file changes, and retries intact failed batches with bounded backoff. Watch refreshes update only the graph: they skip AGENTS.md / CLAUDE.md injection and standard skill installation, so run a one-shot analyze when those generated files need updating. Watch rejects one-shot or context-output flags including --force, embedding flags, --skills, --default-branch, --skip-agents-md, --skip-skills, --no-stats, --self-commit, --index-only, and --skip-git. It never pulls remotes. Scheduled remote clone/pull is a different command: gitnexus auto-sync. Bare gitnexus watch is reserved and does not start either job. Running MCP and serve processes periodically check for a published replacement and reopen it without a restart. MCP checks are throttled to once every five seconds, so a tool call before the next check can briefly use the previous index.
status — Check index freshness
node .gitnexus/run.cjs statusShows 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
node .gitnexus/run.cjs cleanDeletes 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
node .gitnexus/run.cjs wikiGenerates repository documentation from the knowledge graph using an LLM. HTTP providers require an API key (saved to ~/.gitnexus/config.json on first use). Local CLI providers (--provider cursor|claude|codex|opencode|grok) use your existing CLI login.
| Flag | Effect |
--force | Force full regeneration, also required to re-generate an existing wiki in a different language |
--provider <name> | LLM provider: minimax, openai, openrouter, azure, custom, cursor, claude, codex, opencode, or grok (default: minimax). Local CLIs (cursor, claude, codex, opencode, grok) use your existing CLI login and skip --api-key. |
--model <model> | LLM model (default: MiniMax-M3) |
--base-url <url> | LLM API base URL |
--api-key <key> | LLM API key |
--concurrency <n> | Parallel LLM calls (default: 3) |
--timeout <seconds> | LLM request timeout in seconds (default: disabled) |
--retries <n> | Max LLM retry attempts per request (default: 3) |
--lang <lang> | Output language for generated documentation (e.g. english, chinese, spanish, japanese) |
--gist | Publish wiki as a public GitHub Gist |
list — Show all indexed repos
node .gitnexus/run.cjs listLists 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: Wait for the next MCP tool call to reopen the published index; this normally takes no more than five seconds
- Embeddings slow: Omit
--embeddings(it's off by default) or setOPENAI_API_KEYfor faster API-based embedding
Other versions9 projects use a version of this.
Word for word · 1
- kunwarVivek/mcp-github-project-manager★ 104100% same
Edited · 8
- abhigyanpatwari/GitNexus★ 48k87% same
- haoxiang-xu/PuPu★ 3694% same
- pandich93/youtube-niche-finder★ 2390% same
- metagit-ai/metagit-cli★ 499% same
- MarkChu-git/typesafe-mcp★ 294% same
- vasceannie/slopgate★ 194% same
- AlexHercules/skills★ 077% same
- ErrorNotFound808/claude-skills★ 089% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository20 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- dashclaw-governanceSkill
- gitnexus-cliSkill
- gitnexus-debuggingSkill
- gitnexus-exploringSkill
- gitnexus-guideSkill
- gitnexus-impact-analysisSkill
- gitnexus-refactoringSkill
- c--projects-dashclaw-route-changesSkill
- dashclaw-governanceSkill
- dashclaw-shipSkill
- dashclaw-weeklySkill
- gitnexus-debuggingSkill
- gitnexus-exploringSkill
- gitnexus-guideSkill
- gitnexus-impact-analysisSkill
- gitnexus-refactoringSkill
- reproSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

