Skip to content

Commit

Permalink
docs(core): re-adjust entry page tutorial boxes
Browse files Browse the repository at this point in the history
  • Loading branch information
juristr committed Mar 31, 2023
1 parent 8e570c8 commit 780673c
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 27 deletions.
2 changes: 1 addition & 1 deletion docs/generated/manifests/menus.json
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@
"disableCollapsible": false
},
{
"name": "Tutorials",
"name": "5 min Tutorials",
"path": "/tutorials",
"id": "tutorials",
"isExternal": false,
Expand Down
2 changes: 1 addition & 1 deletion docs/generated/manifests/nx.json
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@
},
"/tutorials": {
"id": "tutorials",
"name": "Tutorials",
"name": "5 min Tutorials",
"description": "Get started with basic information, concepts and tutorials.",
"file": "",
"itemList": [
Expand Down
2 changes: 1 addition & 1 deletion docs/map.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
]
},
{
"name": "Tutorials",
"name": "5 min Tutorials",
"id": "tutorials",
"description": "Get started with basic information, concepts and tutorials.",
"itemList": [
Expand Down
65 changes: 41 additions & 24 deletions docs/shared/getting-started/intro.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,27 @@
# Intro to Nx

Nx is a smart, fast and extensible build system with first class monorepo support and powerful integrations.
Nx is a powerful open-source development toolkit designed to help developers build high-quality software faster. It provides tools and techniques for enhancing developer productivity, optimizing application performance, and maintaining code quality.

You can use Nx to quickly scaffold a new standalone project or even an entire monorepo. It will grow with you as you need it.

{% cards cols="3" %}
{% persona type="extend" title="Add to an Existing Project or Monorepo" url="/getting-started/intro#adding-nx-to-an-existing-project-or-monorepo" %}

{% /persona %}

{% persona type="extend" title="New Monorepo" url="/getting-started/intro#start-a-new-monorepo" %}

{% /persona %}

{% persona type="extend" title="New Standalone Project" url="/getting-started/intro#start-a-new-standalone-project" %}

{% /persona %}

{% /cards %}

## Start a New Monorepo

Nx has been designed from the ground up to scale well with monorepos. Its modular architecture allows you to adopt Nx for simple package-based monorepos in combination with NPM, Yarn or PNPM workspaces, or create a fully integrated and managed monorepo that leverages Nx plugins. Learn more with the tutorials below.

{% personas %}
{% persona type="javascript" title="New Package-Based Repo" url="/tutorials/package-based-repo-tutorial" %}
Expand All @@ -20,6 +41,12 @@ Get a pre-configured setup. Nx configures your favorite frameworks and lets you

{% /personas %}

{% /cards %}

## Start a new Standalone Project

You can still benefit from Nx even if you don't have a monorepo. Nx plugins provide generators that help you not only scaffold a new standlone project with pre-configured tooling, but also to modularize your codebase with local libraries.

{% cards cols="3" %}

{% persona type="react" title="Create a Standalone React app" url="/tutorials/react-standalone-tutorial" %}
Expand Down Expand Up @@ -48,36 +75,26 @@ A modern Node server with scaffolding for Express, Fastify or Koa. There's also

{% /cards %}

## Adopting Nx
## Adding Nx to an Existing Project or Monorepo

Coming from an existing project and want to adopt Nx? We have a few recipes to help you get started.

{% cards cols="2" %}

{% 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" /%}
{% persona type="extend" title="Add to Existing Monorepo" url="/recipes/adopting-nx/adding-to-monorepo" %}
Add Nx to your existing NPM/YARN/PNPM workspace
{% /persona %}

{% card title="Add to any Project" description="Add Nx to an standalone project" type="documentation" url="/recipes/adopting-nx/adding-to-existing-project" /%}
{% persona title="Add to any Project" type="extend" url="/recipes/adopting-nx/adding-to-existing-project" %}
Add Nx to an standalone project
{% /persona %}

{% card title="Migrate from CRA" description="Migrate from a CRA setup and automatically switch to Vite" type="documentation" url="/recipes/adopting-nx/migration-cra" /%}
{% persona title="Migrate from CRA" type="react" url="/recipes/adopting-nx/migration-cra" %}
Migrate from a CRA setup and automatically switch to Vite
{% /persona %}

{% card title="Migrate from Angular CLI" description="Automatically migrate from the Angular CLI" type="documentation" url="/recipes/adopting-nx/migration-angular" /%}
{% persona title="Migrate from Angular CLI" type="angular" url="/recipes/adopting-nx/migration-angular" %}
Automatically migrate from the Angular CLI
{% /persona %}

{% /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)

0 comments on commit 780673c

Please sign in to comment.