80 lines
3.5 KiB
Markdown
80 lines
3.5 KiB
Markdown
# Intro to Nx
|
|
|
|
Nx is a smart, fast and extensible build system with first class monorepo support and powerful integrations.
|
|
|
|
{% personas %}
|
|
{% persona type="javascript" title="New Package-Based Repo" url="/getting-started/package-based-repo-tutorial" %}
|
|
Create a monorepo with Yarn, NPM or PNPM. Nx makes it fast, but lets you run things your way.
|
|
|
|
- [Get started with your package-based repo](/getting-started/package-based-repo-tutorial)
|
|
|
|
{% /persona %}
|
|
|
|
{% persona type="integrated" title="New Integrated Repo" url="/getting-started/integrated-repo-tutorial" %}
|
|
|
|
Get a pre-configured setup. Nx configures your favorite frameworks and lets you focus on shipping features.
|
|
|
|
- [Get started with your integrated repo](/getting-started/integrated-repo-tutorial)
|
|
|
|
{% /persona %}
|
|
|
|
{% persona type="react" title="Create a Standalone React app" url="/getting-started/react-standalone-tutorial" %}
|
|
|
|
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 a Standalone React app](/getting-started/react-standalone-tutorial)
|
|
|
|
{% /persona %}
|
|
|
|
{% persona type="angular" title="Create a Standalone Angular app" url="/getting-started/angular-standalone-tutorial" %}
|
|
|
|
A modern Angular development experience powered by advanced generators and integrations with modern tooling.
|
|
|
|
- [Create a Standalone Angular app](/getting-started/angular-standalone-tutorial)
|
|
|
|
{% /persona %}
|
|
|
|
{% persona type="node" title="Create a Standalone Node server" url="/getting-started/node-tutorial" %}
|
|
|
|
A modern Node server with scaffolding for Express, Fastify or Koa. There's also Docker support built-in.
|
|
|
|
- [Create a Standalone Node server](/getting-started/node-tutorial)
|
|
|
|
{% /persona %}
|
|
|
|
{% /personas %}
|
|
|
|
## Adopting Nx
|
|
|
|
Coming from an existing project and want to adopt Nx? We have a few recipes to help you get started.
|
|
|
|
{% cards cols="4" %}
|
|
|
|
{% card title="Add to Existing Monorepo" description="Add Nx to your existing NPM/YARN/PNPM workspace" type="documentation" url="/recipes/adopting-nx/adding-to-monorepo" /%}
|
|
|
|
{% card title="Add to any Project" description="Add Nx to an standalone project" type="documentation" url="/recipes/adopting-nx/adding-to-existing-project" /%}
|
|
|
|
{% card title="Migrate from CRA" description="Migrate from a CRA setup and automatically switch to Vite" type="documentation" url="/recipes/adopting-nx/migration-cra" /%}
|
|
|
|
{% card title="Migrate from Angular CLI" description="Automatically migrate from the Angular CLI" type="documentation" url="/recipes/adopting-nx/migration-angular" /%}
|
|
|
|
{% /cards %}
|
|
|
|
## Why Nx?
|
|
|
|
Nx has two main goals:
|
|
|
|
- **Speed up your existing workflow with minimum effort.**
|
|
- **Provide a first-rate developer experience no matter the size of the repo.**
|
|
|
|
It achieves that speed via [computation caching](/core-features/cache-task-results), by only [run tasks affected by a given change](/core-features/run-tasks#run-tasks-affected-by-a-pr) and by being able to [distribute your task execution](/core-features/distribute-task-execution) across multiple agents in CI.
|
|
|
|
High quality DX is implemented via [code generators](/plugin-features/use-code-generators), [IDE extensions](/core-features/integrate-with-editors#integrate-with-editors) and by helping you [keep your codebase evergreen](/core-features/automate-updating-dependencies).
|
|
|
|
## How does Nx compare to other tools?
|
|
|
|
If you know other tools in the monorepo space, here is how Nx compares:
|
|
|
|
- [Monorepo.tools](https://monorepo.tools)
|
|
- [Nx and Turborepo](/more-concepts/turbo-and-nx)
|