A fast, cross-platform task runner written in Go, inspired by Make and configured through a Taskfile YAML file.
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
Run the init command in an existing npm, pnpm, or yarn workspace
npx nx init - 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
A programmable automation engine that builds, tests and ships codebases using containers, running locally, in CI or in the cloud.
A browser-based 3D voxel world editor for building, sculpting, flying through, and sharing small worlds.
Ethereum development environment for compiling, deploying, testing, and debugging smart contracts and dapps.
A zero-configuration build tool for the web that bundles HTML, CSS, JavaScript and assets without a config file.
An extremely fast JavaScript, TypeScript, JSX and CSS bundler with a CLI, JS and Go API.