Nx build system and monorepo tools. Advanced task orchestration, generators, and plugins. Use for complex enterprise monorepos with multiple technologies. USE WHEN: user mentions "Nx", "nx.json", "Nx monorepo", "Nx generators", asks about "Nx workspace", "affected commands", "module boundaries" DO NOT USE FOR: Turborepo (use turborepo skill), simple monorepos (Turborepo is simpler), single-package projects

GitHub
Install command
npx skhub add claude-dev-suite/nx
Markdown
SKILL.md

Nx - Quick Reference

Full Reference: See advanced.md for custom generators, custom executors, remote/self-hosted cache, module boundaries, and CI/CD GitHub Actions setup.

Deep Knowledge: Use mcp__documentation__fetch_docs with technology: nx for comprehensive documentation.

Setup

# New workspace
npx create-nx-workspace@latest my-workspace

# Add to existing repo
npx nx@latest init

Project Structure

my-workspace/
├── nx.json
├── apps/
│   ├── web/project.json
│   └── api/project.json
└── libs/
    ├── ui/project.json
    └── utils/project.json

Configuration (nx.json)

{
  "targetDefaults": {
    "build": {
      "dependsOn": ["^build"],
      "inputs": ["production", "^production"],
      "cache": true
    },
    "test": {
      "inputs": ["default", "^production"],
      "cache": true
    }
  },
  "namedInputs": {
    "default": ["{projectRoot}/**/*", "sharedGlobals"],
    "production": ["default", "!{projectRoot}/**/*.spec.ts"]
  }
}

Running Tasks

# Run target
nx build web
nx test api

# Run for all projects
nx run-many -t build
nx run-many -t build test lint

# Affected (changed since base)
nx affected -t build
nx affected -t test --base=main

# Graph
nx graph

Generators

# Generate application
nx g @nx/react:app my-app
nx g @nx/node:app my-api

# Generate library
nx g @nx/react:lib ui --directory=libs/shared

# Generate component
nx g @nx/react:component button --project=ui

# Dry run
nx g @nx/react:lib feature --dry-run

Plugins

# Add plugin
nx add @nx/react
nx add @nx/node
nx add @nx/vite

Caching

# Skip cache
nx build web --skip-nx-cache

# Clear cache
nx reset

Comparison: Nx vs Turborepo

FeatureNxTurborepo
ConfigurationTypeScriptJSON
GeneratorsAdvancedBasic
Plugins50+Limited
Module boundariesEnforcedManual
Learning curveSteeperLower

When NOT to Use This Skill

  • Simple monorepos - Turborepo has simpler configuration
  • Single package - No need for monorepo tools
  • Quick setup needed - Turborepo is faster to configure

Anti-Patterns

Anti-PatternWhy It's BadCorrect Approach
Ignoring module boundariesTight couplingEnforce with @nx/enforce-module-boundaries
Circular dependenciesBuild failuresUse nx graph to detect and fix
Not using affectedWastes CI timeAlways use nx affected in CI
Missing project tagsCan't enforce constraintsTag all projects properly
No workspace generatorsInconsistent codeCreate generators for common patterns

Quick Troubleshooting

IssueCauseSolution
Module boundary violationWrong importCheck depConstraints in .eslintrc.json
Circular dependencyProjects import each otherUse nx graph, refactor to shared lib
Affected not workingMissing dependenciesCheck implicit dependencies
Cache not workingMissing outputsAdd outputs to target configuration
Build order wrongMissing dependsOnAdd dependsOn: ["^build"]

Production Checklist

  • nx.json configured
  • project.json for each project
  • Module boundaries with tags
  • Affected in CI pipeline
  • Nx Cloud for remote cache
  • Generators for consistency

Reference Documentation

Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

MIT

Source path

skills/build-tools/nx

Default branch

main

Latest commit

9496306

Tree SHA

fe4e2f1