59 lines
2.7 KiB
Markdown
59 lines
2.7 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="lerna" title="Add to an Existing Monorepo" url="/recipes/adopting-nx/adding-to-monorepo" %}
|
|
|
|
Incrementally add Nx to your repo and enjoy faster CI runs and local development. All without modifying your existing setup.
|
|
|
|
- [Add Nx to an Existing Monorepo](/recipes/adopting-nx/adding-to-monorepo)
|
|
|
|
{% /persona %}
|
|
|
|
{% persona type="angular" title="Enter Modern Angular" url="/recipe/migration-angular" %}
|
|
Enhance your Angular development experience by leveraging its advanced generators and integrations with modern tooling.
|
|
|
|
- [Switch from the Angular CLI to Nx](/recipe/migration-angular)
|
|
|
|
{% /persona %}
|
|
{% /personas %}
|
|
|
|
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)
|
|
|
|
## Nx Has Two Goals
|
|
|
|
**Speed up your existing workflow with minimum effort.**
|
|
|
|
- Never rebuild the same code twice by [caching task results](/core-features/cache-task-results).
|
|
- Only [run tasks affected by the current PR](/core-features/run-tasks#run-tasks-affected-by-a-pr).
|
|
- [Distribute your task execution](/core-features/distribute-task-execution) across multiple agents in CI.
|
|
|
|
These features can be enabled without touching your existing workflows if you use Nx with a [package-based repo](/concepts/integrated-vs-package-based).
|
|
|
|
**Provide a first-rate developer experience no matter the size of the repo:**
|
|
|
|
- Encode common coding tasks in [code generators](/plugin-features/use-code-generators) to make them easily repeatable.
|
|
- Offload the maintenance burden of [updating dependencies and configuration files](/core-features/automate-updating-dependencies) to the Nrwl team.
|
|
- [Enforce project boundaries](/core-features/enforce-project-boundaries) based on your own organization structure.
|
|
|
|
These features and the [integrated repository](/concepts/integrated-vs-package-based) mindset allow large teams to collaborate in a single monorepo without getting in each other's way.
|