Skip to content

Packages ​

n-dx is a set of @n-dx/* packages in a strict dependency hierarchy. All of them are published together at one version; the member list is the fixed group in .changeset/config.json.

  @n-dx/core                    CLI orchestrator (spawns the tool CLIs)
       ↓
  hench                         agent loops, tool dispatch
       ↓
  rex · sourcevision            PRD management · static analysis
  @n-dx/lang-runtime, lang-*    language packs (loaded by sourcevision, never imported)
       ↓
  @n-dx/llm-client              shared types, API client
  @n-dx/lang-kit                language facts, pack contract

Three packages sit beside the hierarchy:

  • @n-dx/web is a coordination layer, importing from both domain packages through gateway modules.
  • @n-dx/graview projects the PRD, the analysis and the runs into a Graview document for ndx graview.
  • @n-dx/graview-face is the Vite + React app that ndx graview serve runs; no other package depends on it.

Package Summary ​

PackageKey CommandsOutput Directory
SourceVisionanalyze, serve, mcp.sourcevision/
Rexadd, status, recommend, analyze.rex/
Henchrun, status, show.hench/
LLM Client(library only)—
Web Dashboardvia ndx start—

Naming Convention ​

All packages are published under the @n-dx/ scope. The root package @n-dx/core depends on the tool packages and registers CLI commands on install. The language packs are opt-in; @n-dx/lang-go is an optional dependency of sourcevision.

npm PackageCLI CommandsDescription
@n-dx/corendx, n-dxOrchestration entry point
@n-dx/rexrexPRD management
@n-dx/henchhenchAutonomous agent
@n-dx/sourcevisionsourcevision, svStatic analysis
@n-dx/llm-client—LLM foundation (library only)
@n-dx/web—Dashboard + MCP server
@n-dx/lang-kit—Language facts and the pack contract (library only)
@n-dx/lang-runtime—Tree-sitter runtime the packs share (library only)
@n-dx/lang-go, @n-dx/lang-java, @n-dx/lang-python, @n-dx/lang-sql, @n-dx/lang-terraform—Language packs; install with ndx sv pack add <lang>
@n-dx/graviewndx-graview (run as ndx graview)Graview projection
@n-dx/graview-facendx-graview-face (run as ndx graview serve)Graview product face

Public API ​

Every package exposes its public surface through src/public.ts, mapped to exports["."] in package.json. See Package Guidelines for the full convention.

Development ​

sh
pnpm build          # build all packages
pnpm test           # test all packages
pnpm typecheck      # typecheck all packages

# Per-package
pnpm --filter @n-dx/rex build
pnpm --filter @n-dx/sourcevision test
pnpm --filter @n-dx/hench typecheck

Released under the Elastic License 2.0.