abhigyanpatwari/gitnexus

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\

Hot #1497 First seen Mar 1, 2026

Installation

$ npx skills add abhigyanpatwari/gitnexus --skill gitnexus-cli

Also in this package

Other skills from abhigyanpatwari/gitnexus · top by installs.

npx skills add abhigyanpatwari/gitnexus

Browse all from abhigyanpatwari/gitnexus

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Declared

Repository health

Stars 47.2K
License LICENSE
Default branch main
Open issues 276
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents claude-code opencode

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 7,446 B
  • docs SUMMARY.md 3,861 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 809 installs

SKILL.md

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.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, or bunx gitnexus@latest analyze on a bun-only machine. 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 bunx gitnexus@latest analyze, or pnpm --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 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
--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 pdgquery (taint, CDG, and REACHINGDEF).
--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 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

node .gitnexus/run.cjs 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

node .gitnexus/run.cjs wiki

Generates 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 list

Lists all repositories registered in ~/.gitnexus/registry.json. The MCP list_repos tool provides the same information.

After Indexing

  1. Read gitnexus://repo/{name}/context to verify the index loaded
  2. 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 set OPENAIAPIKEY for faster API-based embedding