5.1 KiB
| title | description |
|---|---|
| Intro to Nx | Nx is an AI-first build platform that connects everything from your editor to CI Helping you deliver fast, without breaking things. |
What is Nx?
Nx is a powerful, open source, technology-agnostic build platform designed to efficiently manage codebases of any scale. From small single projects to large enterprise monorepos, Nx is designed to streamline your development workflows, minimize errors and dramatically reduce waste by saving engineering time and cutting compute costs.
{% youtube src="https://www.youtube.com/embed/-_4WMl-Fn0w" title="What is Nx?" width="100%" /%}
As teams and codebases grow, productivity bottlenecks multiply: build times increase, CI becomes flaky, and code sharing becomes complex. Nx reduces friction across your entire development cycle.
Start small, extend as you grow
Nx is built in a modular fashion, allowing you to adopt as little or as much as you'd like at any moment in your development lifecycle. You can start with just the core and add additional capabilities incrementally as your needs grow and complexity increases.
At the foundation is Nx Core, a Rust-based, technology-agnostic task runner. Nx Core creates a knowledge graph of your workspace, understanding project relationships and dependencies. This enables highly optimized and fast task execution regardless of technology stack. It runs package.json scripts in TypeScript monorepos or Gradle tasks in Java projects or can be extended to meet your projects specific needs
{% callout type="deepdive" title="What do you mean by 'running NPM scripts'?" %}
At the very core, Nx is a super fast, intelligent task runner. Let's take the example of an NPM workspace. This could be a project's package.json:
{
"name": "my-project",
"scripts": {
"build": "tsc",
"test": "jest"
}
}
Then you can simply add Nx to your root package.json:
{
"devDependencies": {
"nx": "latest"
}
}
And once that's done, you can run your tasks via Nx.
nx build my-project
This will execute the build script from my-project's package.json, equivalent to running npm run build in that project directory.
Similarly you can run tasks across all projects, just specific ones or just those from projects you touched.
From there, you can gradually enhance your setup by adding features like task caching, adding plugins, optimizing your CI via task distribution, and many more powerful capabilities as your needs grow.
{% /callout %}
Nx Core works great alone, but you can incrementally add capabilities as needed. Speed up your CI with Nx Cloud through remote caching and distributed task execution. Add Nx Console integrating Nx with your editor, giving you powerful autocomplete support, project graph visualization, CI run notifications and an MCP to make your AI coding assistant smarter. Add Nx Plugins for technology-specific automation and DX improvements and build custom capabilities using Nx Devkit.
Where to go from here?
{% cards %}
{% card title="Get set up and ready with Nx" description="Dive right in with our getting started steps to install Nx, set up your editor, and create your first project" type="documentation" url="/getting-started" icon="RocketLaunchIcon" /%}
{% card title="Step by step with our tutorials" description="Learn more about Nx through hands-on tutorials for different technology stacks" type="documentation" url="/getting-started/tutorials" icon="AcademicCapIcon" /%}
{% card title="Learn with our video courses" description="Dive deeper with comprehensive video courses that walk you through Nx concepts" type="documentation" url="/courses" icon="PlayCircleIcon" /%}
{% card title="Dive deep into Nx features" description="Discover all the powerful features that Nx provides to streamline your workflow" type="documentation" url="/features" icon="SparklesIcon" /%}
{% card title="Understand underlying concepts" description="Improve your understanding of the core concepts of how Nx works under the hood" type="documentation" url="/concepts" icon="LightBulbIcon" /%}
{% card title="Explore Technologies" description="Explore Nx's technology integrations and how it can support your specific stack" type="documentation" url="/technologies" icon="CodeBracketIcon" /%}
{% /cards %}
Stay up to date with our latest news by ⭐️ starring us on Github, subscribing to our Youtube channel, joining our Discord, subscribe to our monthly tech newsletter or follow us on X, Bluesky and LinkedIn.