> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/nrwl/nx/llms.txt
> Use this file to discover all available pages before exploring further.

# What is Nx?

> Nx is a build system for monorepos. It helps you develop faster and keep CI fast as your codebase scales.

Nx is a build system for monorepos — a monorepo solution for TypeScript and polyglot codebases. Built with Rust for performance and extensible via TypeScript, Nx caches what didn't change, runs only what's affected, and comes with an integrated CI solution.

## Challenges of monorepos

Monorepos have many advantages and are especially powerful for AI-assisted development. But as teams and codebases grow, monorepos are hard to scale:

* **Slow builds and tests** — Hundreds or thousands of tasks compete for CI resources.
* **Complex task pipelines** — Projects depend on each other, so tasks need to run in the right order, and that's hard to manage by hand.
* **Flaky CI** — Longer pipelines lead to random failures and inconsistent results between local and CI environments.
* **Architectural erosion** — Without clear boundaries, unwanted dependencies creep in and projects become tightly coupled.

## What Nx does

Nx reduces friction across your entire development cycle with intelligent caching, task orchestration, and deep understanding of your codebase structure.

At its core, Nx:

1. **Runs tasks fast** — Caches results so you never rebuild the same code twice.
2. **Understands your codebase** — Builds project and task graphs showing how everything connects.
3. **Orchestrates intelligently** — Runs tasks in the right order, parallelizing when possible.
4. **Enforces boundaries** — Module boundary rules prevent unwanted dependencies between projects.
5. **Handles flakiness** — Automatically re-runs flaky tasks and self-heals CI failures.

```bash theme={null}
nx build myapp            # Run a task
nx build myapp            # Run again - instant cache hit
nx run-many -t build test # Run across all projects
```

## Key capabilities

<CardGroup cols={2}>
  <Card title="Task Caching" icon="bolt" href="/features/cache-task-results">
    Local and remote caching so you never rebuild the same code twice. Results are replayed instantly on cache hits.
  </Card>

  <Card title="Project Graph" icon="diagram-project" href="/concepts/project-graph">
    Visual and programmatic exploration of how every project and task in your monorepo connects.
  </Card>

  <Card title="Affected Commands" icon="filter" href="/features/affected-builds">
    Run only the tasks affected by your changes. Skip everything else and save CI minutes.
  </Card>

  <Card title="Module Boundaries" icon="shield" href="/features/enforce-module-boundaries">
    Lint rules that enforce architectural constraints and prevent unwanted cross-project dependencies.
  </Card>

  <Card title="Task Distribution" icon="server" href="/features/ci-orchestration">
    Distribute tasks across many CI agents automatically, with no manual configuration required.
  </Card>

  <Card title="Self-Healing CI" icon="wrench" href="/features/self-healing-ci">
    An AI agent on your CI pipeline that detects failures, analyzes root cause, and proposes a fix automatically.
  </Card>
</CardGroup>

## Start small, grow as needed

Nx is modular. Start with the CLI and add capabilities as your needs grow.

| Component      | What it does                                                                                                                     |
| -------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| **Nx Core**    | Task runner with local caching. Works with any tech stack.                                                                       |
| **Nx Plugins** | Technology-specific automation — generators, executors, and dependency detection for React, Angular, Node, Vite, Jest, and more. |
| **Nx Console** | Editor extension for VS Code and JetBrains with a visual UI and AI assistance.                                                   |
| **Nx Cloud**   | Remote caching, affected commands, task distribution, and self-healing CI.                                                       |

<Note>
  Nx provides value even for single-project repositories. You get fast task caching, intelligent task orchestration, and access to Nx plugins for your specific technology stack. As your project grows into a monorepo, the foundation is already in place.
</Note>

## Plugin ecosystem

Nx has an extensive plugin ecosystem covering the most popular tools and frameworks:

* **Frontend:** `@nx/react`, `@nx/angular`, `@nx/vue`, `@nx/next`, `@nx/nuxt`, `@nx/remix`
* **Backend:** `@nx/node`, `@nx/nest`, `@nx/express`
* **Bundlers:** `@nx/vite`, `@nx/webpack`, `@nx/esbuild`, `@nx/rspack`, `@nx/rsbuild`, `@nx/rollup`
* **Testing:** `@nx/jest`, `@nx/vitest`, `@nx/cypress`, `@nx/playwright`
* **Polyglot:** `@nx/gradle`, `@nx/maven`, `@nx/dotnet`, `@nx/docker`

Plugins auto-discover tasks, configure cache inputs and outputs, and scaffold code based on your actual tooling.

## Where to go from here

<CardGroup cols={2}>
  <Card title="Start a new project" icon="plus" href="/getting-started/quickstart">
    Create a new Nx workspace with a starter template and run your first tasks.
  </Card>

  <Card title="Add to an existing project" icon="arrow-right" href="/getting-started/add-to-existing-project">
    Run `npx nx@latest init` to add Nx to any existing npm, pnpm, or yarn workspace.
  </Card>

  <Card title="Installation" icon="download" href="/getting-started/installation">
    Install Nx globally via npm, Homebrew, Chocolatey, or apt.
  </Card>

  <Card title="AI integration" icon="robot" href="/getting-started/ai-setup">
    Set up the Nx MCP server so AI coding assistants have real workspace context.
  </Card>
</CardGroup>
