MCPInstall

nx

Best practices for Nx monorepo development, project configuration, and code generation

Installs
685
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/mindrally/skills --skill nx
  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 nx 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.

Nx Monorepo Development

You are an expert in Nx, the smart, fast, and extensible build system for monorepos.

Project Structure

  • Organize projects following Nx conventions:
    • apps/ - Application projects (web apps, APIs, mobile apps)
    • libs/ - Library projects (shared code, features, utilities)
  • Use consistent naming patterns: scope-type-name (e.g., shared-ui-button)
  • Group related libraries under feature folders

Workspace Configuration

Configure nx.json for workspace-wide settings:

{
  "targetDefaults": {
    "build": {
      "dependsOn": ["^build"],
      "cache": true
    },
    "test": {
      "cache": true
    }
  },
  "defaultBase": "main"
}
  • Use project.json for project-specific configuration
  • Define proper tags for enforcing module boundaries

Project Configuration

Each project should have a project.json:

{
  "name": "my-app",
  "sourceRoot": "apps/my-app/src",
  "projectType": "application",
  "tags": ["scope:web", "type:app"],
  "targets": {
    "build": { },
    "serve": { },
    "test": { }
  }
}
  • Define clear project types: application or library
  • Use tags for enforcing dependency constraints

Code Generation

  • Use Nx generators for consistent code scaffolding:
    • nx g @nx/react:app my-app - Generate React application
    • nx g @nx/react:lib my-lib - Generate React library
    • nx g @nx/react:component my-component --project=my-lib - Generate component
  • Create custom generators for project-specific patterns
  • Use --dry-run to preview changes before execution

Module Boundaries

Enforce boundaries using ESLint rules:

{
  "@nx/enforce-module-boundaries": [
    "error",
    {
      "depConstraints": [
        { "sourceTag": "type:app", "onlyDependOnLibsWithTags": ["type:lib", "type:util"] },
        { "sourceTag": "type:lib", "onlyDependOnLibsWithTags": ["type:lib", "type:util"] },
        { "sourceTag": "scope:web", "onlyDependOnLibsWithTags": ["scope:web", "scope:shared"] }
      ]
    }
  ]
}
  • Define clear dependency rules between project types
  • Use scopes to separate domain boundaries

Caching and Performance

  • Enable computation caching for faster builds
  • Configure Nx Cloud for distributed caching and task execution
  • Use affected commands to only run tasks for changed projects:
    • nx affected:build
    • nx affected:test
    • nx affected:lint
  • Define proper inputs and outputs for accurate caching

Task Execution

  • Run tasks with Nx CLI:
    • nx build my-app - Build specific project
    • nx run-many -t build - Build all projects
    • nx affected -t test - Test affected projects
  • Use task pipelines for proper dependency ordering
  • Configure parallel execution for independent tasks

Testing Strategy

  • Use Jest for unit testing with Nx presets
  • Configure Cypress or Playwright for E2E testing
  • Implement component testing for UI libraries
  • Use nx affected:test in CI for efficient test runs

CI/CD Integration

  • Use Nx Cloud for distributed task execution
  • Configure GitHub Actions with Nx:
    - uses: nrwl/nx-set-shas@v4
    - run: nx affected -t lint test build
    
  • Implement proper caching strategies
  • Use nx-cloud record for capturing metrics

Best Practices

  • Keep applications thin; move logic to libraries
  • Create shared utility libraries for common code
  • Use barrel exports (index.ts) for clean imports
  • Implement proper type exports from libraries
  • Document library purposes and public APIs
  • Use Nx Console VS Code extension for visual project management
  • Leverage the project graph for understanding dependencies: nx graph

FAQ

What does the nx skill do?

Best practices for Nx monorepo development, project configuration, and code generation

How do I install nx?

Run npx skills add https://github.com/mindrally/skills --skill nx 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/nx/ (personal) or .claude/skills/nx/ (project).

Which AI agents can use nx?

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 nx 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 nx?

It is published by mindrally in mindrally/skills. It has 685 recorded installs.

More from mindrally/skills

View all →

fastapi-python

mindrally/skills

Expert in FastAPI Python development with best practices for APIs and async operations

Backend & APIs13.9K installs

nextjs-react-typescript

mindrally/skills

Expert in TypeScript, Node.js, Next.js App Router, React, Shadcn UI, Radix UI and Tailwind

Frontend & Design5.3K installs

web-scraping

mindrally/skills

Expert in web scraping and data extraction with Python tools

computer-vision-opencv

mindrally/skills

Expert guidance for computer vision development using OpenCV, PyTorch, and modern deep learning techniques for image and video processing.

Media & Creative3.8K installs

framer-motion

mindrally/skills

Expert guidelines for building performant animations with Framer Motion/Motion library in React applications

Expert guidelines for Chrome extension development with Manifest V3, covering security, performance, and best practices. Use when building browser extensions, creating popup UIs, implementing content scripts, working with Chrome APIs, managing extension permissions, or publishing to Chrome Web Store.

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.