Intro to Nx

Nx is a powerful open-source build system that provides tools and techniques for enhancing developer productivity, optimizing CI performance, and maintaining code quality. Find out more about why you should use Nx.

If instead you want to jump right into it, run the following command. It will guide you through the setup:

npx create-nx-workspace

You can use Nx to quickly scaffold a new project or even an entire monorepo. It can be incrementally adopted and will grow with your project as it scales.

Get Started with the Basics

Its modular architecture lets you adopt Nx for package-based monorepos in combination with NPM, Yarn or PNPM, or create a fully integrated monorepo using Nx plugins. Learn more with the tutorials below.

New Package-Based Repo

Create a monorepo with Yarn, NPM or PNPM. Nx makes it fast, but lets you run things your way.

React
New Integrated Repo

Get a pre-configured setup. Nx configures your favorite frameworks and lets you focus on shipping features.

Learn About Nx and Your Favorite Stack

Nx works well not just for monorepos. Nx plugins help you scaffold new projects with pre-configured tooling and modularize your codebase with local libraries.

Create a React app

A modern React setup with built-in support for Vite, ESLint, Cypress, and more. Think CRA but modern, always up-to-date and scalable.

Create an Angular app

A modern Angular development experience powered by advanced generators and integrations with modern tooling.

Create a Node server

A modern Node server with scaffolding for Express, Fastify or Koa. There's also Docker support built-in.

Adding Nx to an Existing Project

If you have an existing project and want to adopt Nx or migrate to Nx just run the following command which guides you through the migration process:

npx nx@latest init

Alternatively, here are some recipes that give you more details based on the technology stack you're using:

Nx
Add to Existing Monorepo

Add Nx to your existing NPM/YARN/PNPM workspace

Nx
Add to any Project

Add Nx to a project

Migrate from CRA

Migrate from a CRA setup and automatically switch to Vite

Migrate from Angular CLI

Automatically migrate from the Angular CLI