MCPInstall

codependix-navigate

Answer dependency navigation and architecture questions using codependix CLI commands or committed graphs. Use when finding dependency paths between projects, files, or NestJS modules, tracing blast radius, determining what touches or imports a file or package, choosing narrowing flags to minimize run costs, or reading committed README diagrams across packages without running commands.

Installs
269
Last 24h
+11
Trending rank
#8287
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/organizzolini/codebase --skill codependix-navigate
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads codependix-navigate automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Navigating a codebase with codependix

Codependix builds and queries dependency graphs across Nx workspaces, NestJS containers, and file-level TypeScript and Python imports. When asking "how does X reach Y?", "what breaks if I change Z?", or "what does this package depend on?", use codependix commands to query relationships directly, or inspect committed graphs already on disk.

Command first: querying dependency paths

Reach for codependix path to trace directed dependency paths between two nodes without parsing diagrams or grepping source files by hand. Every invocation names the configuration with --config <path> — in this repository configuration/codependix.config.ts — because nothing is searched for and there is no default.

# How does project-a reach project-c?
codependix path project-a project-c --config configuration/codependix.config.ts

# How does one file import another?
codependix path src/modules/auth/auth.service.ts src/modules/users/user.entity.ts --config configuration/codependix.config.ts

# What NestJS modules connect two modules in a container?
codependix path AuthModule DatabaseModule --config configuration/codependix.config.ts

Path query flags and narrowing

Running across a full workspace can be expensive because it parses Nx projects, TypeScript ASTs, and container registrations across the entire monorepo. Use narrowing flags to scope the run and minimize execution time:

FlagPurpose
-f, --format <format>Output format: markdown (default), json, or mermaid
--nx-projects / --no-nx-projectsToggle Nx workspace project dependency graph search
--file-imports / --no-file-importsToggle internal file-level import graph search
--nestjs-modules / --no-nestjs-modulesToggle NestJS container module graph search
--projects <names>Comma-separated project names or globs to search across
-d, --directory <dir>Directory whose Nx workspace to read
--include <globs> / --exclude <globs>Override configured project inclusion or exclusion globs
--tags <tags>Comma-separated Nx project tags to filter by
--config <path>Required. Path to the codependix configuration file; every example here passes it

Path results

  • Path found: Prints the shortest directed path connecting <from> to <to> (for example project-a → project-b → project-c).
  • No path: Reports _No path connects "<from>" to "<to>"._ (or an empty list in JSON) and exits 0. A missing path is an answer, not an error.

When to read a committed diagram instead of running the CLI

Running the CLI builds graph representations from source files. Before running a command, check if the question is already answered by committed artifacts on disk:

  1. Every package in the monorepo commits its own graphs. Look in any project's README.md under the ## 🕸️ Codependix section or between <!-- codependix:start name="..." --> markers.
  2. Immediate blast radius (1 hop): The project's committed Nx Neighborhood diagram lists all immediate dependencies (what it reaches) and dependents (what breaks if its public API changes).
  3. Internal file structure: The project's committed File import graph lists all file-to-file imports and isolated files within that project.
  4. Container structure: The project's committed NestJS module graph lists wired container modules.
  5. Whole-workspace structure: The repository root README.md carries the committed workspace graph.

Cost rule of thumb:

  • Read README diagrams or JSON for single-hop dependencies, immediate blast radius, or local file layout (zero build cost, instant answer on disk).
  • Run codependix path for multi-hop transitive paths, cross-project reachability, verifying unstaged changes, or generating machine-readable JSON.

The four graph types and their questions

GraphScopeAnswers
Nx NeighborhoodProjectWhat one project reaches (dependencies) and who breaks if it changes (dependents)
Workspace graphWorkspaceHigh-level architectural layering and cross-package relationships
NestJS module graphContainerWhat modules the DI container wires together at runtime
File import graphProject filesFile-to-file import relationships, cycles, and local refactoring fan-out

Interpreting graph artifacts

Nx Neighborhood: blast radius

A Neighborhood covers one hop in each direction from the focal project (highlighted in diagrams):

  • dependents is the blast radius of a breaking change: every listed project must build against the new shape. For breaking changes spanning deeper layers, walk outward neighborhood by neighborhood or run codependix path.
  • dependencies is the allowed surface: A project may only import what is declared here.
  • Edges marked implicit are Nx workspace configuration dependencies rather than code imports.

File import graph: refactoring and moves

Edges are strictly between files inside the same project:

  • External packages and cross-project imports are excluded by design (they live in the Nx Neighborhood).
  • isolatedFileNames is a shortlist to investigate, not dead code. An isolated file may be an entry point, an external export, or a configuration file.
  • Cycles are real: An import cycle within a project produces runtime undefined bindings or initialization order bugs. Walk the cycle edges to locate where to decouple.
  • Renaming a file? Edges pointing to the old relative path show the exact blast radius.

NestJS module graph: DI container wiring

Built by evaluating container modules:

  • Global or ambient modules: Modules imported by nearly all others (for example core logging or configuration) have individual edges omitted to reduce visual noise; they are listed under ambientModuleNames and drawn with rounded corners.
  • Dynamic wrapper modules: Private internal host modules created by forRoot or dynamic providers are collapsed into the declaring module.
  • A missing module was never registered in the container hierarchy, meaning its exported providers are unavailable.

Confirming freshness before trusting committed graphs

A committed graph reflects the repository state at the last codependix map --write. To check whether committed graphs are up to date:

# Check if any committed reports are stale without modifying files
codependix map --check reports --config configuration/codependix.config.ts

# Update all committed graphs across the workspace
codependix map --write --config configuration/codependix.config.ts

If committed graphs are stale with respect to recent local edits, either re-run codependix map --write or use codependix path for real-time queries.

FAQ

What does the codependix-navigate skill do?

Answer dependency navigation and architecture questions using codependix CLI commands or committed graphs. Use when finding dependency paths between projects, files, or NestJS modules, tracing blast radius, determining what touches or imports a file or package, choosing narrowing flags to minimize run costs, or reading committed README diagrams across packages without running commands.

How do I install codependix-navigate?

Run npx skills add https://github.com/organizzolini/codebase --skill codependix-navigate in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/codependix-navigate/ (personal) or .claude/skills/codependix-navigate/ (project).

Which AI agents can use codependix-navigate?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is codependix-navigate safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains codependix-navigate?

It is published by organizzolini in organizzolini/codebase. It has 269 recorded installs.

More from organizzolini/codebase

View all →

conformetry-generate

organizzolini/codebase

Scaffold code with a conformetry generator instead of writing it by hand. Use when adding a module, component, service, application, or package to a workspace that has a conformetry configuration; when deciding whether a generator exists for the shape you are about to create; when a generator run overwrote or misplaced files; or when a conformance run reports a file that a generator should have produced. Covers both the Nx plugin and the conformetry command-line host, whose input contracts differ.

Frontend & Design577 installs

conformetry-configure

organizzolini/codebase

Add or change a conformetry generator, and write the template it renders. Use when a needed generator does not exist yet; when editing a conformetry configuration file; when writing or changing files under a template directory; when choosing placeholders or naming-case variants; when a generated file came out with an empty value or an odd path segment; or when a conformetry command refuses to run because the emitted generator plugin is out of date.

conformetry-validate

organizzolini/codebase

Run a conformetry conformance check and act on what it reports. Use when a conformetry-validate target fails; when a composite lint run reports conformance differences; when a report names a missing file, a missing declaration, a missing comment, a placeholder it could not infer, an ambiguous instance, or an unmatched instance; when deciding whether to edit an instance or regenerate it; or before claiming generated code is finished. Covers both the Nx plugin and the conformetry command-line host.

codependix-export

organizzolini/codebase

Run a codependix dependency graph export or boundary check, choose between --check boundaries, --check reports, and --write, point a run at a workspace root or a configuration file, or read a Mermaid block or JSON graph it produced. Use when running codependix or npx codependix, when a run exits 0 having written nothing, when --check is refused for carrying no value, when looking for a flag that selects one graph type, when wiring codependix into a CI step or an Nx task, when a codependix-gate target failed, or when reading an exported Nx Neighborhood, NestJS module graph, or file-level import graph. Covers the command-line host directly, without assuming any task runner.

codependix-configure

organizzolini/codebase

Open the skill to read its SKILL.md instructions.

codometer-configure

organizzolini/codebase

Write or edit a codometer.config.ts, declaring inputs, limits, custom convention counters, comment budgets, exclusions, or output destinations. Use when a repository has no codometer configuration yet, when adding a size or count limit, when bounding how long a comment block or a JSDoc comment may run, when declaring an input for compiled or generated output, when counting a naming convention no built-in analyzer knows about, when a limit fails to bind or an input matches no files, or when deciding whether one configuration can describe every project in a workspace.

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

handoff

mattpocock/skills

Compact the current conversation into a handoff document for another agent to pick up.

domain-modeling

mattpocock/skills

Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.

codebase-design

mattpocock/skills

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

diagnosing-bugs

mattpocock/skills

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.