Repolode
nrwl

nrwl/nx

A monorepo build platform for TypeScript and polyglot codebases that caches unchanged work, runs only affected tasks, and integrates with CI.

Open-source alternative to:Bazel

Stars
29,416
Forks
2,961
Open issues
454
Last commit
59 minutes ago

What is it?

Nx is a monorepo build system for TypeScript and polyglot codebases. It caches the outputs of tasks that have not changed, runs only the projects affected by a given change, and can distribute tasks across machines. It can be added to an existing npm, pnpm, or Yarn workspace by running npx nx init, which picks up existing package.json scripts without requiring changes to the setup.

Nx uses a plugin system to discover tasks and configure cache inputs and outputs based on the tooling in use. The project lists support for Vite, Webpack, Jest, Vitest, ESLint, Gradle, Maven, .NET, and Go. Its CI integration connects to providers such as GitHub Actions, GitLab, and Azure to enable remote caching, affected-only runs, and automatic e2e test splitting.

The core is written in Rust, and it can be extended with TypeScript. The CLI is also designed for use by AI agents, and an optional Nx Cloud service adds self-healing CI, where an agent detects failures and proposes verified fixes.

Key features

  • 01Caches task outputs and reruns only what is affected by a change.
  • 02Adds to existing npm, pnpm, and Yarn workspaces without restructuring them.
  • 03Plugins auto-discover tasks for tools such as Vite, Webpack, Jest, and ESLint.
  • 04Integrates with GitHub Actions, GitLab, and Azure for remote caching and task distribution.
  • 05Supports polyglot projects including Gradle, Maven, .NET, and Go.
  • 06Provides a CLI designed for use by AI agents.

Use cases

  • Speeding up builds and tests in a large TypeScript monorepo with many interdependent packages.
  • Running only the affected tests and builds on each pull request in CI.
  • Coordinating build tasks across a mixed-language codebase that includes Java, .NET, or Go.
  • Adding caching and affected-only execution to an existing npm, pnpm, or Yarn workspace.

Quick start

  1. 1

    Run the init command in an existing npm, pnpm, or yarn workspace

    npx nx init
  2. 2

    Visit the Nx quickstart docs for full setup steps

Things to know

  • Its full setup is documented on the external quickstart site rather than in the README itself.

In collections

Topics

FAQ

What is nx?
A monorepo build platform for TypeScript and polyglot codebases that caches unchanged work, runs only affected tasks, and integrates with CI. Nx is a monorepo build system for TypeScript and polyglot codebases. It caches the outputs of tasks that have not changed, runs only the projects affected by a given change, and can distribute tasks across machines. It can be added to an existing npm, pnpm, or Yarn workspace by running npx nx init, which picks up existing package.json scripts without requiring changes to the setup.
Is nx free to use? What license does it have?
nx is open source under the MIT license. Check the license terms before using it in commercial products.
Is nx still maintained?
Actively maintained. The last commit to nx was on Oct 22, 2026.
What can I use nx for?
Speeding up builds and tests in a large TypeScript monorepo with many interdependent packages. Running only the affected tests and builds on each pull request in CI. Coordinating build tasks across a mixed-language codebase that includes Java, .NET, or Go. Adding caching and affected-only execution to an existing npm, pnpm, or Yarn workspace.
How do I install nx?
Run the init command in an existing npm, pnpm, or yarn workspace: npx nx init Visit the Nx quickstart docs for full setup steps
Where can I get nx?
The source code and installation instructions are on GitHub: https://github.com/nrwl/nx

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects