Disciplines · Conventions

Nx target-name vocabulary

Rust crates: wrap cargo in the canonical names (test → cargo test,

4sections1 minread

On this page

Canonical target names for every project (deep-audit C-1/C-2, 2026-07-18). nx.json targetDefaults and cacheableOperations key on these names — variant spellings silently lose caching and affected-graph ergonomics.

Canonical names#

Concept Canonical name Never
Compile/build build build:ts, compile
Unit tests test test:ts, unit
Integration tests test:integration test-integration, integration
Type checking typecheck type-check, typecheck:ts, tsc
Linting lint lint:ts, eslint
Format check (CI) format-check fmt-check, format:check
Format write (local) format fmt (grandfathered in Rust projects)
Coverage-reporting tests test-cov coverage
End-to-end e2e e2e:ci
Dev server (never cached) dev or serve

Rust crates: wrap cargo in the canonical names (testcargo test, typecheckcargo check, lintcargo fmt --check and/or clippy). fmt (422 uses) and cargo-test (17) are grandfathered legacy spellings — they are cache-bridged in targetDefaults (below) but new projects use the canonical names; renames land domain-by-domain with the R-14 slices.

Cache bridge#

nx.json targetDefaults carries cache: true entries for the grandfathered variants (fmt, type-check, test-cov, cargo-test, format-check) so the legacy spellings at least cache until renamed. Do not add new names to that bridge — rename to canonical instead.

Enforcement#

New-lib generators default to canonical names. When touching a project with variant names, rename opportunistically (update any CI/scripts that call the variant — grep first: workflow files, scripts/verify-manifest.json, package scripts).

Library placement depth (deep-audit B-7)#

New libraries live at libs/<domain>/<lib> (depth 3). Deeper nesting is allowed only for domains with an approved taxonomy documented in their libs/<domain>/README.md (today: iris's 3-level capability tree, nyx's catalogs/analysis split, galatea's event-handlers). Do not introduce a new depth-4 grouping ad hoc — propose it in the domain README first.