All projects

You ask for one change and the agent updates one file — missing the twelve others that touch it.

NavGator
Available now · Node.js CLI · Claude Code & Codex plugin

Know your stack before you change it.

A static connection graph of your components, services, databases, and queues that answers "what breaks if I touch this?" before you touch it.

$ claude plugin install navgator@rosslabs-ai-toolkit

Free · npm install -g @tyroneross/navgator · no account

NavGator architecture diagram — components grouped into Frontend, Backend, Data Layer, Queue/Workers, and Infrastructure panels, color-coded by layer.
01Impact analysis

See what breaks before you touch it

`navgator impact "<thing>"` returns every file that imports, calls, references, or types against a component, with `file:line` so each connection is verifiable. A Stripe SDK bump might surface 47 affected files — pre-change that's a checklist, post-change the same query verifies nothing was missed.

Impact Analysis view listing selectable components — Stripe, PostgreSQL, BullMQ, Next.js, Redis, OpenAI, Anthropic, SendGrid, Vercel.
02Component detection

Every package, service, and layer, tracked automatically

Two scan phases keep the tradeoff honest — a sub-second bootstrap reads package.json and lockfiles for the stack, then an optional deep pass (static analysis, or AST via ts-morph) finds service calls, DB ops, prompts, and typed signatures. Both are pure file reads; NavGator scans codebases that don't even build.

Components table listing npm packages with type, layer, version, and connection counts.
03Freshness pipeline

The graph never goes stale without telling you

A non-blocking hook marks files dirty as the agent edits them. A background drainer coalesces those edits, holds a single-writer scan lock, and rescans only the changed surface. Every read checks a freshness stamp first, so the answer reflects the repo as it stands, not as it stood at the last manual scan.

04LLM use-case dedup

154 import sites, 8 real use cases

Counting raw import statements is the wrong number — one project showed 154 "LLM connections" that collapsed to 8 distinct use cases once test files, re-imports, and dead code were filtered out. NavGator groups call sites by purpose, so the headline is the number you'd actually govern.

  • No execution, ever — both scan phases are static analysis, so it never runs your code
  • Not live monitoring — doesn't poll services, hit health endpoints, or query metrics APIs
  • Hooks disabled by default — nothing runs automatically until you run a scan yourself
What does it actually track?

Components (npm/pip packages, frameworks, databases, queues, infrastructure, services) and the connections between them — API→database, frontend→API, queue→handler, service calls — built entirely from static file reads.

Does it work on a codebase that doesn't build?

Yes. Both scan phases are static analysis with no execution, so a broken build or a runtime crash in your app never breaks a scan.

How does it stay current as I code?

A non-blocking hook marks edited files dirty, a background drainer rescans only the changed surface, and every read checks a freshness stamp before answering — no manual re-scan loop required.

Does it only work in Claude Code?

It installs as a global npm CLI first. Claude Code gets slash commands, hooks, and an agent; Codex gets its own additive plugin surface (skills, MCP tools) side by side.

From the maker

I kept watching coding agents update one file and miss the twelve others that touched it — a schema change with a migration but no updated API routes, a package bump that missed a webhook handler three files away. Every “it’s fixed” was a guess dressed up as confidence.

NavGator is the map I wanted before handing an agent a change: scan the repo, build a typed connection graph, and answer “what breaks if I touch this?” with file:line evidence instead of vibes. It stays static — no execution, no polling live services — so it works on code that doesn’t even build, and a background drainer keeps the graph honest as files change without me remembering to re-scan.

$ claude plugin install navgator@rosslabs-ai-toolkit

Free · npm install -g @tyroneross/navgator · no account