{
  "$schema": "./../scripts/documentation/map-schema.json",
  "title": "Documentation map reference",
  "description": "This is used to create documentation routing and hierarchy on the nx.dev website.",
  "content": [
    {
      "name": "Nx",
      "id": "nx-documentation",
      "description": "Nx documentation for you to discover!",
      "itemList": [
        {
          "name": "Getting Started",
          "id": "getting-started",
          "description": "Get started with basic information, concepts and tutorials.",
          "itemList": [
            {
              "name": "Intro to Nx",
              "id": "intro",
              "file": "shared/getting-started/intro"
            },
            {
              "name": "Installation",
              "id": "installation",
              "file": "shared/getting-started/installation"
            },
            {
              "name": "Why Nx?",
              "id": "why-nx",
              "file": "shared/getting-started/why-nx"
            },
            {
              "name": "Editor Setup",
              "description": "Learn about Nx Console, an extension for VS Code and WebStorm.",
              "id": "editor-setup",
              "tags": ["editor-setup"],
              "file": "shared/getting-started/editor-setup"
            },
            {
              "name": "Tutorials",
              "id": "tutorials",
              "description": "Get started with basic information, concepts and tutorials.",
              "itemList": [
                {
                  "name": "NPM Workspaces Monorepo",
                  "id": "npm-workspaces-tutorial",
                  "file": "shared/tutorials/npm-workspaces"
                },
                {
                  "name": "React Standalone",
                  "id": "react-standalone-tutorial",
                  "file": "shared/react-standalone-tutorial/react-standalone"
                },
                {
                  "name": "React Monorepo",
                  "id": "react-monorepo-tutorial",
                  "file": "shared/react-tutorial/react-monorepo"
                },
                {
                  "name": "Angular Standalone",
                  "id": "angular-standalone-tutorial",
                  "file": "shared/angular-standalone-tutorial/angular-standalone"
                },
                {
                  "name": "Angular Monorepo",
                  "id": "angular-monorepo-tutorial",
                  "file": "shared/angular-tutorial/angular-monorepo"
                },
                {
                  "name": "Vue Standalone",
                  "id": "vue-standalone-tutorial",
                  "file": "shared/vue-standalone-tutorial/vue-standalone"
                }
              ]
            }
          ]
        },
        {
          "name": "Core Tutorial",
          "id": "core-tutorial",
          "description": "Learn to use Nx with this core tutorial where you will learn about all its main feature with a real project.",
          "itemList": [
            {
              "name": "1 - Create Blog",
              "id": "01-create-blog",
              "file": "shared/core-tutorial/01-create-blog"
            },
            {
              "name": "2 - Create CLI",
              "id": "02-create-cli",
              "file": "shared/core-tutorial/02-create-cli"
            },
            {
              "name": "3 - Share Assets",
              "id": "03-share-assets",
              "file": "shared/core-tutorial/03-share-assets"
            },
            {
              "name": "4 - Build Affected Projects",
              "id": "04-build-affected-projects",
              "file": "shared/core-tutorial/04-build-affected-projects"
            },
            {
              "name": "5 - Automatically Detect Dependencies",
              "id": "05-auto-detect-dependencies",
              "file": "shared/core-tutorial/05-auto-detect-dependencies"
            },
            {
              "name": "6 - Summary",
              "id": "06-summary",
              "file": "shared/core-tutorial/06-summary"
            }
          ]
        },
        {
          "name": "Features",
          "id": "features",
          "description": "Learn the core features of Nx with in depth guides.",
          "itemList": [
            {
              "name": "Run Tasks",
              "description": "Learn about the various ways you can use Nx to run tasks in your workspace.",
              "tags": ["run-tasks", "cache-task-results"],
              "id": "run-tasks",
              "file": "shared/features/run-tasks"
            },
            {
              "name": "Cache Task Results",
              "description": "Learn how to define cacheable tasks, how to fine-tune with inputs and outputs, where the cache is stored and much more.",
              "id": "cache-task-results",
              "tags": ["cache-task-results"],
              "file": "shared/features/cache-task-results"
            },
            {
              "name": "Explore your Workspace",
              "id": "explore-graph",
              "tags": ["explore-graph"],
              "file": "shared/features/explore-graph"
            },
            {
              "name": "Generate Code",
              "id": "generate-code",
              "tags": ["generate-code"],
              "file": "shared/features/generate-code"
            },
            {
              "name": "Automate Updating Dependencies",
              "description": "Learn how Nx provides automated update scripts to help you keep your workspace, tooling and framework dependencies up to date.",
              "id": "automate-updating-dependencies",
              "tags": ["automate-updating-dependencies"],
              "file": "shared/features/automate-updating-dependencies"
            },
            {
              "name": "Enforce Module Boundaries",
              "description": "Learn how to avoid dependency hell and scale a codebase by imposing constraints on your projects using the module boundary lint rule.",
              "id": "enforce-module-boundaries",
              "tags": ["enforce-module-boundaries"],
              "file": "shared/features/enforce-module-boundaries"
            },
            {
              "name": "Manage Releases",
              "description": "Learn how Nx provides tools to help you manage releasing your projects.",
              "id": "manage-releases",
              "tags": ["nx-release"],
              "file": "shared/features/manage-releases"
            },
            {
              "name": "CI Features",
              "id": "ci-features",
              "description": "Features of Nx and Nx Cloud that improve CI",
              "itemList": [
                {
                  "name": "Run Only Tasks Affected by a PR",
                  "id": "affected",
                  "file": "",
                  "path": "/ci/features/affected",
                  "isExternal": true
                },
                {
                  "name": "Use Remote Caching (Nx Replay)",
                  "description": "Learn how to enable remote caching s.t. you don't just benefit locally from it but also in CI.",
                  "id": "remote-cache",
                  "file": "",
                  "path": "/ci/features/remote-cache",
                  "isExternal": true
                },
                {
                  "name": "Distribute Task Execution (Nx Agents)",
                  "description": "Learn how to efficiently distribute tasks across machines to take full advantage of parallelization. Nx Agents make this a trivial task.",
                  "id": "distribute-task-execution",
                  "file": "",
                  "path": "/ci/features/distribute-task-execution",
                  "isExternal": true
                },
                {
                  "name": "Dynamically Allocate Agents",
                  "id": "dynamic-agents",
                  "file": "",
                  "path": "/ci/features/dynamic-agents",
                  "isExternal": true
                },
                {
                  "name": "Automatically Split E2E Tasks",
                  "id": "split-e2e-tasks",
                  "file": "",
                  "path": "/ci/features/split-e2e-tasks",
                  "isExternal": true
                },
                {
                  "name": "Identify and Re-run Flaky Tasks",
                  "id": "flaky-tasks",
                  "file": "",
                  "path": "/ci/features/flaky-tasks",
                  "isExternal": true
                },
                {
                  "name": "Set up Nx Cloud On-Premise",
                  "id": "on-premise",
                  "description": "Set up Nx Cloud on machines that you control",
                  "file": "",
                  "path": "/ci/features/on-premise",
                  "isExternal": true
                }
              ]
            }
          ]
        },
        {
          "name": "Concepts",
          "id": "concepts",
          "description": "Learn about all the different concepts Nx uses to manage your tasks and enhance your productivity.",
          "itemList": [
            {
              "name": "Mental Model",
              "tags": ["intro", "inferred-tasks"],
              "id": "mental-model",
              "file": "shared/mental-model"
            },
            {
              "name": "How Caching Works",
              "tags": ["cache-task-results"],
              "id": "how-caching-works",
              "file": "shared/concepts/how-caching-works"
            },
            {
              "name": "What is a Task Pipeline",
              "tags": ["run-tasks"],
              "id": "task-pipeline-configuration",
              "file": "shared/concepts/task-pipeline-configuration"
            },
            {
              "name": "What Are Nx Plugins",
              "tags": [
                "generate-code",
                "create-your-own-plugin",
                "inferred-tasks"
              ],
              "id": "nx-plugins",
              "file": "shared/concepts/nx-plugins"
            },
            {
              "name": "Inferred Tasks",
              "tags": ["inferred-tasks"],
              "id": "inferred-tasks",
              "file": "shared/concepts/inferred-tasks"
            },
            {
              "name": "Types of Configuration",
              "tags": [],
              "id": "types-of-configuration",
              "file": "shared/concepts/types-of-configuration"
            },
            {
              "name": "Executors and Configurations",
              "id": "executors-and-configurations",
              "tags": ["run-tasks"],
              "file": "shared/recipes/running-tasks/executors-and-configurations"
            },
            {
              "name": "Integrated Repos vs. Package-Based Repos vs. Standalone Apps",
              "tags": ["intro", "repository-types"],
              "id": "integrated-vs-package-based",
              "file": "shared/concepts/integrated-vs-package-based"
            },
            {
              "name": "Module Federation",
              "id": "module-federation",
              "description": "Understand more about Module Federation with NX",
              "itemList": [
                {
                  "name": "Module Federation and Nx",
                  "id": "module-federation-and-nx",
                  "tags": ["module-federation", "angular", "react"],
                  "file": "shared/guides/module-federation/module-federation-and-nx"
                },
                {
                  "name": "Faster Builds with Module Federation",
                  "id": "faster-builds-with-module-federation",
                  "tags": ["module-federation", "angular", "react"],
                  "file": "shared/guides/module-federation/faster-builds"
                },
                {
                  "name": "Micro Frontend Architecture",
                  "id": "micro-frontend-architecture",
                  "file": "shared/guides/module-federation/micro-frontend-architecture"
                },
                {
                  "name": "Manage Library Versions with Module Federation",
                  "id": "manage-library-versions-with-module-federation",
                  "file": "shared/guides/module-federation/manage-library-versions-with-module-federation"
                }
              ]
            },
            {
              "name": "More Concepts",
              "id": "more-concepts",
              "description": "Get deeper into how Nx works and its different aspects.",
              "itemList": [
                {
                  "name": "Incremental Builds",
                  "id": "incremental-builds",
                  "tags": [],
                  "file": "shared/incremental-builds"
                },
                {
                  "name": "Nx and Turborepo",
                  "id": "turbo-and-nx",
                  "mediaImage": "./shared/guides/nx-media-monorepo.jpg",
                  "file": "shared/guides/turbo-and-nx"
                },
                {
                  "name": "Monorepos",
                  "id": "why-monorepos",
                  "file": "shared/guides/why-monorepos"
                },
                {
                  "name": "Dependency Management",
                  "id": "dependency-management",
                  "file": "shared/concepts/dependency-management"
                },
                {
                  "name": "Code Sharing",
                  "id": "code-sharing",
                  "file": "shared/concepts/code-sharing"
                },
                {
                  "name": "Using Nx at Enterprises",
                  "id": "monorepo-nx-enterprise",
                  "tags": ["enforce-module-boundaries", "generate-code"],
                  "file": "shared/monorepo-nx-enterprise"
                },
                {
                  "name": "Nx Daemon",
                  "id": "nx-daemon",
                  "file": "shared/daemon"
                },
                {
                  "name": "Nx and the Angular CLI",
                  "id": "nx-and-angular",
                  "file": "shared/guides/nx-and-angular-cli"
                },
                {
                  "name": "Folder Structure",
                  "id": "folder-structure",
                  "file": "shared/guides/integrated-repo-folder-structure"
                },
                {
                  "name": "Nx Devkit and Angular Devkit",
                  "id": "nx-devkit-angular-devkit",
                  "tags": ["create-your-own-plugin"],
                  "file": "shared/guides/nx-devkit-angular-devkit"
                },
                {
                  "name": "Applications and Libraries",
                  "id": "applications-and-libraries",
                  "tags": ["enforce-module-boundaries"],
                  "file": "shared/workspace/applications-and-libraries"
                },
                {
                  "name": "Creating Libraries",
                  "id": "creating-libraries",
                  "tags": ["enforce-module-boundaries"],
                  "file": "shared/workspace/creating-libraries"
                },
                {
                  "name": "Library Types",
                  "id": "library-types",
                  "tags": ["enforce-module-boundaries"],
                  "file": "shared/workspace/library-types"
                },
                {
                  "name": "Grouping Libraries",
                  "id": "grouping-libraries",
                  "tags": ["enforce-module-boundaries"],
                  "file": "shared/workspace/grouping-libraries"
                },
                {
                  "name": "Buildable and Publishable Libraries",
                  "id": "buildable-and-publishable-libraries",
                  "file": "shared/workspace/buildable-and-publishable-libraries"
                },
                {
                  "name": "How the Project Graph is Built",
                  "id": "how-project-graph-is-built",
                  "tags": ["explore-graph", "inferred-tasks"],
                  "file": "shared/concepts/how-project-graph-is-built"
                }
              ]
            }
          ]
        },
        {
          "name": "Recipes",
          "id": "recipes",
          "description": "In depth recipes for common tasks",
          "itemList": [
            {
              "name": "Installation",
              "id": "installation",
              "description": "Installing Nx",
              "itemList": [
                {
                  "name": "Install Nx in a Non-Javascript Repo",
                  "id": "install-non-javascript",
                  "tags": ["installation"],
                  "file": "shared/recipes/installation/install-non-javascript"
                },
                {
                  "name": "Update Your Global Nx Installation",
                  "id": "update-global-installation",
                  "tags": ["installation"],
                  "file": "shared/recipes/installation/update-global-installation"
                }
              ]
            },
            {
              "name": "Tasks & Caching",
              "id": "running-tasks",
              "description": "A series of recipes that show how to run tasks efficiently with Nx",
              "itemList": [
                {
                  "name": "Configure Inputs for Task Caching",
                  "id": "configure-inputs",
                  "tags": ["run-tasks", "cache-task-results"],
                  "file": "shared/recipes/running-tasks/configure-inputs"
                },
                {
                  "name": "Configure Outputs for Task Caching",
                  "id": "configure-outputs",
                  "tags": ["run-tasks", "cache-task-results"],
                  "file": "shared/recipes/running-tasks/configure-outputs"
                },
                {
                  "name": "Define a Task Pipeline",
                  "id": "defining-task-pipeline",
                  "tags": ["run-tasks"],
                  "file": "shared/recipes/running-tasks/defining-task-pipeline"
                },
                {
                  "name": "Change Cache Location",
                  "id": "change-cache-location",
                  "file": "shared/recipes/running-tasks/change-cache-location"
                },
                {
                  "name": "Run Custom Commands",
                  "id": "run-commands-executor",
                  "tags": ["run-tasks"],
                  "file": "shared/recipes/running-tasks/running-custom-commands"
                },
                {
                  "name": "Pass Args to Commands",
                  "id": "pass-args-to-commands",
                  "tags": ["run-tasks"],
                  "file": "shared/recipes/running-tasks/pass-args-to-commands"
                },
                {
                  "name": "Run Tasks in Parallel",
                  "id": "run-tasks-in-parallel",
                  "tags": ["run-tasks"],
                  "file": "shared/recipes/running-tasks/run-tasks-in-parallel"
                },
                {
                  "name": "Run Root-Level NPM Scripts with Nx",
                  "id": "root-level-scripts",
                  "tags": ["run-tasks"],
                  "file": "shared/recipes/running-tasks/root-level-scripts"
                },
                {
                  "name": "Workspace Watching",
                  "id": "workspace-watching",
                  "tags": ["run-tasks", "workspace-watching"],
                  "file": "shared/recipes/running-tasks/workspace-watching"
                },
                {
                  "name": "Reduce Repetitive Configuration",
                  "id": "reduce-repetitive-configuration",
                  "tags": [],
                  "file": "shared/recipes/running-tasks/reduce-repetitive-configuration"
                }
              ]
            },
            {
              "name": "Adopting Nx",
              "id": "adopting-nx",
              "description": "Adopting Nx incrementally, on existing project or from scratch.",
              "itemList": [
                {
                  "name": "NPM/Yarn/PNPM workspaces",
                  "id": "adding-to-monorepo",
                  "file": "shared/migration/adding-to-monorepo"
                },
                {
                  "name": "Migrate From Turborepo",
                  "id": "from-turborepo",
                  "file": "shared/migration/from-turborepo"
                },
                {
                  "name": "Add to any Project",
                  "id": "adding-to-existing-project",
                  "file": "shared/migration/adding-to-existing-project"
                },
                {
                  "name": "Preserving Git Histories",
                  "id": "preserving-git-histories",
                  "file": "shared/migration/preserving-git-histories"
                },
                {
                  "name": "Manual migration",
                  "id": "manual",
                  "file": "shared/migration/manual"
                }
              ]
            },
            {
              "name": "React",
              "id": "react",
              "description": "Advanced guides to adopt Nx in React.",
              "itemList": [
                {
                  "name": "React Native with Nx",
                  "id": "react-native",
                  "file": "shared/guides/react-native"
                },
                {
                  "name": "Remix with Nx",
                  "id": "remix",
                  "file": "shared/guides/remix"
                },
                {
                  "name": "Use Environment Variables in React",
                  "id": "use-environment-variables-in-react",
                  "tags": ["environment-variables"],
                  "file": "shared/guides/use-environment-variables-in-react"
                },
                {
                  "name": "Using Tailwind CSS in React",
                  "id": "using-tailwind-css-in-react",
                  "file": "shared/guides/using-tailwind-css-in-react"
                },
                {
                  "name": "Adding Images, Fonts, and Files",
                  "id": "adding-assets-react",
                  "file": "shared/guides/adding-assets"
                },
                {
                  "name": "Setup Module Federation with SSR for React",
                  "id": "module-federation-with-ssr",
                  "tags": ["module-federation", "react"],
                  "file": "shared/recipes/module-federation-with-ssr"
                },
                {
                  "name": "Deploying Next.js applications to Vercel",
                  "id": "deploy-nextjs-to-vercel",
                  "file": "shared/recipes/deployment/deploy-nextjs-to-vercel"
                }
              ]
            },
            {
              "name": "Angular",
              "id": "angular",
              "description": "Advanced guides to adopt Nx in Angular.",
              "itemList": [
                {
                  "name": "Migration",
                  "id": "migration",
                  "itemList": [
                    {
                      "name": "Migrating from Angular CLI",
                      "id": "angular",
                      "file": "shared/migration/migration-angular"
                    },
                    {
                      "name": "Migrating From Multiple Angular CLI Repos",
                      "id": "angular-multiple",
                      "file": "shared/migration/angular-multiple"
                    }
                  ]
                },
                {
                  "name": "Use Environment Variables in Angular",
                  "id": "use-environment-variables-in-angular",
                  "tags": ["environment-variables"],
                  "file": "shared/guides/use-environment-variables-in-angular"
                },
                {
                  "name": "Using Tailwind CSS with Angular projects",
                  "id": "using-tailwind-css-with-angular-projects",
                  "file": "shared/guides/using-tailwind-css-with-angular-projects"
                },
                {
                  "name": "Setup Module Federation with SSR for Angular",
                  "id": "module-federation-with-ssr",
                  "tags": ["module-federation", "angular"],
                  "file": "shared/recipes/module-federation-with-ssr"
                },
                {
                  "name": "Advanced Micro Frontends with Angular using Dynamic Federation",
                  "id": "dynamic-module-federation-with-angular",
                  "tags": ["module-federation", "angular"],
                  "file": "shared/guides/module-federation/dynamic-mfe-angular"
                },
                {
                  "name": "Setup incremental builds for Angular applications",
                  "id": "setup-incremental-builds-angular",
                  "file": "shared/guides/setup-incremental-builds-angular"
                }
              ]
            },
            {
              "name": "Node",
              "id": "node",
              "description": "Set of Node related recipes.",
              "itemList": [
                {
                  "name": "Deploying a Node App to Fly.io",
                  "id": "node-server-fly-io",
                  "tags": ["deployment", "node"],
                  "file": "shared/recipes/deployment/node-server-fly-io"
                },
                {
                  "name": "Add and Deploy Netlify Edge Functions with Node",
                  "id": "node-serverless-functions-netlify",
                  "tags": ["deployment", "node"],
                  "file": "shared/recipes/deployment/node-serverless-functions-netlify"
                },
                {
                  "name": "Deploying AWS lambda in Node.js",
                  "id": "node-aws-lambda",
                  "tags": ["deployment", "node"],
                  "file": "shared/recipes/deployment/node-aws-lambda"
                },
                {
                  "name": "Set Up Application Proxies",
                  "id": "application-proxies",
                  "tags": ["node"],
                  "file": "shared/recipes/node/application-proxies"
                },
                {
                  "name": "Wait for Tasks to Finish",
                  "id": "wait-for-tasks",
                  "tags": [],
                  "file": "shared/recipes/node/wait-for-tasks"
                }
              ]
            },
            {
              "name": "Storybook",
              "id": "storybook",
              "description": "Storybook strategies and setups.",
              "itemList": [
                {
                  "name": "Set up Storybook for React Projects",
                  "id": "overview-react",
                  "tags": ["storybook"],
                  "description": "This guide explains how to set up Storybook for React projects in your Nx workspace.",
                  "file": "shared/recipes/storybook/plugin-react"
                },
                {
                  "name": "Set up Storybook for Angular Projects",
                  "id": "overview-angular",
                  "tags": ["storybook"],
                  "description": "This guide explains how to set up Storybook for Angular projects in your Nx workspace.",
                  "file": "shared/recipes/storybook/plugin-angular"
                },
                {
                  "name": "Set up Storybook for Vue Projects",
                  "id": "overview-vue",
                  "tags": ["storybook"],
                  "description": "This guide explains how to set up Storybook for Vue projects in your Nx workspace.",
                  "file": "shared/recipes/storybook/plugin-vue"
                },
                {
                  "name": "Configuring Storybook on Nx",
                  "id": "configuring-storybook",
                  "tags": ["storybook"],
                  "description": "This guide explains how Storybook is configured on your Nx workspace.",
                  "file": "shared/recipes/storybook/configuring-storybook"
                },
                {
                  "name": "One main Storybook instance for all projects",
                  "id": "one-storybook-for-all",
                  "tags": ["storybook"],
                  "description": "This guide explains how to consolidate all your Storybook stories from different projects into one unified Storybook instance. Ideal for Nx workspaces leveraging a single framework.",
                  "file": "shared/recipes/storybook/one-storybook-for-all"
                },
                {
                  "name": "One Storybook instance per scope",
                  "id": "one-storybook-per-scope",
                  "tags": ["storybook"],
                  "description": "This guide explains how to set up individual Storybook instances for each scope within an Nx workspace. It provides a structured approach, emphasizing folder organization and thematic scope separation.",
                  "file": "shared/recipes/storybook/one-storybook-per-scope"
                },
                {
                  "name": "One main Storybook instance using Storybook Composition",
                  "id": "one-storybook-with-composition",
                  "tags": ["storybook"],
                  "description": "This guide explains how to publish a unified Storybook instance from multiple frameworks within an Nx workspace using Storybook Composition.",
                  "file": "shared/recipes/storybook/one-storybook-with-composition"
                },
                {
                  "name": "How to configure Webpack and Vite for Storybook",
                  "id": "custom-builder-configs",
                  "tags": ["storybook"],
                  "description": "This guide explains how to customize the webpack configuration and your vite configuration for Storybook.",
                  "file": "shared/recipes/storybook/custom-builder-configs"
                },
                {
                  "name": "Setting up Storybook Interaction Tests with Nx",
                  "id": "storybook-interaction-tests",
                  "tags": ["storybook"],
                  "description": "This guide explains how you can set up Storybook interaction tests on your Nx workspace.",
                  "file": "shared/recipes/storybook/interaction-tests"
                },
                {
                  "name": "Upgrading Storybook using the Storybook CLI",
                  "id": "upgrading-storybook",
                  "tags": ["storybook"],
                  "description": "This guide explains how you can upgrade Storybook using the Storybook CLI upgrade and automigrate commands.",
                  "file": "shared/recipes/storybook/upgrading-storybook"
                },
                {
                  "name": "Setting up Storybook Composition with Nx",
                  "id": "storybook-composition-setup",
                  "tags": ["storybook"],
                  "description": "This guide explains how you can set up Storybook composition on your Nx workspace.",
                  "file": "shared/recipes/storybook/storybook-composition-setup"
                },
                {
                  "name": "Angular: Set up Compodoc for Storybook on Nx",
                  "id": "angular-storybook-compodoc",
                  "tags": ["storybook"],
                  "description": "This guide explains how to set up Compodoc for Storybook on Angular projects in a Nx workspace.",
                  "file": "shared/recipes/storybook/angular-storybook-compodoc"
                },
                {
                  "name": "Angular: Configuring styles and preprocessor options",
                  "id": "angular-configuring-styles",
                  "tags": ["storybook"],
                  "description": "This document explains how to configure styles and preprocessor options in Angular projects with a Storybook configuration.",
                  "file": "shared/recipes/storybook/angular-configuring-styles"
                }
              ]
            },
            {
              "name": "Cypress",
              "id": "cypress",
              "description": "Cypress related recipes",
              "itemList": [
                {
                  "id": "cypress-component-testing",
                  "name": "Component Testing",
                  "description": "Component Testing",
                  "file": "shared/packages/cypress/cypress-component-testing"
                },
                {
                  "id": "cypress-setup-node-events",
                  "name": "Using setupNodeEvents with Cypress preset",
                  "description": "A guide on using the setupNodeEvents function with @nx/cypress/plugins/cypress-preset",
                  "file": "shared/packages/cypress/cypress-setup-node-events"
                },
                {
                  "id": "cypress-v11-migration",
                  "name": "Cypress v11 Migration Guide",
                  "description": "Cypress v11 Migration Guide",
                  "file": "shared/packages/cypress/cypress-v11-migration"
                }
              ]
            },
            {
              "name": "Next",
              "id": "next",
              "description": "Next related recipes",
              "itemList": [
                {
                  "id": "next-config-setup",
                  "name": "How to configure Next.js plugins",
                  "description": "How to configure Next.js plugins",
                  "file": "shared/packages/next/next-config-setup"
                }
              ]
            },
            {
              "name": "Nuxt",
              "id": "nuxt",
              "description": "Nuxt related recipes",
              "itemList": [
                {
                  "id": "deploy-nuxt-to-vercel",
                  "name": "Deploying Nuxt applications to Vercel",
                  "description": "A detailed guide on how to deploy Nuxt applications from Nx workspaces to Vercel.",
                  "file": "shared/recipes/deployment/deploy-nuxt-to-vercel"
                }
              ]
            },
            {
              "name": "Vite",
              "id": "vite",
              "description": "Vite related recipes",
              "itemList": [
                {
                  "id": "configure-vite",
                  "name": "Configure Vite on your Nx workspace",
                  "description": "Configure Vite on your Nx workspace",
                  "file": "shared/packages/vite/configure-vite"
                }
              ]
            },
            {
              "name": "Webpack",
              "id": "webpack",
              "description": "Webpack related recipes",
              "itemList": [
                {
                  "id": "webpack-config-setup",
                  "name": "How to configure Webpack in your Nx workspace",
                  "description": "A guide on how to configure webpack on your Nx workspace, and instructions on how to customize your webpack configuration",
                  "file": "shared/packages/webpack/webpack-config-setup"
                },
                {
                  "id": "webpack-plugins",
                  "name": "Webpack plugins",
                  "description": "Webpack plugins",
                  "file": "shared/packages/webpack/webpack-plugins"
                }
              ]
            },
            {
              "name": "Module Federation",
              "id": "module-federation",
              "description": "Advanced guides to utilize Module Federation with Nx.",
              "itemList": [
                {
                  "id": "create-a-host",
                  "name": "How to create a Module Federation Host Application",
                  "description": "A guide on how to create a Module Federation Host Application in your Nx workspace",
                  "file": "shared/recipes/module-federation/creating-a-host"
                },
                {
                  "id": "create-a-remote",
                  "name": "How to create a Module Federation Remote Application",
                  "description": "A guide on how to create a Module Federation Remote Application in your Nx workspace",
                  "file": "shared/recipes/module-federation/creating-a-remote"
                },
                {
                  "id": "federate-a-module",
                  "name": "How to Federate a Module",
                  "description": "A guide on how to federate a module in your Nx workspace",
                  "file": "shared/recipes/module-federation/federate-a-module"
                }
              ]
            },
            {
              "name": "Enforce Module Boundaries",
              "id": "enforce-module-boundaries",
              "description": "Configuring the enforce module boundaries rule",
              "itemList": [
                {
                  "name": "Ban Dependencies with Certain Tags",
                  "id": "ban-dependencies-with-tags",
                  "tags": ["enforce-module-boundaries"],
                  "file": "shared/recipes/ban-dependencies-with-tags"
                },
                {
                  "name": "Tag in Multiple Dimensions",
                  "id": "tag-multiple-dimensions",
                  "tags": ["enforce-module-boundaries"],
                  "file": "shared/recipes/tag-multiple-dimensions"
                },
                {
                  "name": "Ban External Imports",
                  "id": "ban-external-imports",
                  "tags": ["enforce-module-boundaries"],
                  "file": "shared/recipes/ban-external-imports"
                },
                {
                  "name": "Tags Allow List",
                  "id": "tags-allow-list",
                  "tags": ["enforce-module-boundaries"],
                  "file": "shared/recipes/tags-allow-list"
                }
              ]
            },
            {
              "name": "Tips and tricks",
              "id": "tips-n-tricks",
              "description": "Various tips and tricks for using Nx.",
              "itemList": [
                {
                  "name": "Add a Package-based Project in an Integrated Repo",
                  "id": "package-based-in-integrated",
                  "tags": ["repository-types"],
                  "file": "shared/recipes/repo-types/package-based-in-integrated"
                },
                {
                  "name": "Add an Integrated Project in a Package-based Repo",
                  "id": "integrated-in-package-based",
                  "tags": ["repository-types"],
                  "file": "shared/recipes/repo-types/integrated-in-package-based"
                },
                {
                  "name": "Convert from a Standalone Repository to an Integrated Repository",
                  "id": "standalone-to-integrated",
                  "tags": ["repository-types"],
                  "file": "shared/recipes/repo-types/standalone-to-integrated"
                },
                {
                  "name": "Configuring ESLint with Typescript",
                  "id": "eslint",
                  "file": "shared/eslint"
                },
                {
                  "name": "Enable Typescript Batch Mode",
                  "id": "enable-tsc-batch-mode",
                  "file": "shared/recipes/enable-tsc-batch-mode"
                },
                {
                  "name": "Define Secondary Entrypoints for Typescript Packages",
                  "id": "define-secondary-entrypoints",
                  "file": "shared/recipes/tips-n-tricks/define-secondary-entrypoints"
                },
                {
                  "name": "Compile Typescript Packages to Multiple Formats",
                  "id": "compile-multiple-formats",
                  "file": "shared/recipes/tips-n-tricks/compile-multiple-formats"
                },
                {
                  "name": "Keep Nx Versions in Sync",
                  "id": "keep-nx-versions-in-sync",
                  "tags": ["automate-updating-dependencies"],
                  "file": "shared/recipes/tips-n-tricks/keep-nx-versions-in-sync"
                },
                {
                  "name": "Define Environment Variables",
                  "id": "define-environment-variables",
                  "tags": ["environment-variables"],
                  "file": "shared/guides/define-environment-variables"
                },
                {
                  "name": "Configuring Browser Support",
                  "id": "browser-support",
                  "file": "shared/guides/browser-support"
                },
                {
                  "name": "Include Assets in Build",
                  "id": "include-assets-in-build",
                  "tags": [],
                  "file": "shared/recipes/include-assets-in-build"
                },
                {
                  "name": "Include All package.json Files as Projects",
                  "id": "include-all-packagejson",
                  "tags": [],
                  "file": "shared/recipes/include-all-packagejson"
                },
                {
                  "name": "Identify Dependencies Between Folders",
                  "id": "identify-dependencies-between-folders",
                  "tags": [],
                  "file": "shared/recipes/identify-dependencies-between-folders"
                },
                {
                  "name": "Disable Graph Links Created from Analyzing Source Files",
                  "id": "analyze-source-files",
                  "tags": ["explore-graph"],
                  "file": "shared/recipes/analyze-source-files"
                },
                {
                  "name": "Use JavaScript instead TypeScript",
                  "id": "js-and-ts",
                  "file": "shared/guides/js-and-ts"
                },
                {
                  "name": "Altering Migration Process",
                  "id": "advanced-update",
                  "tags": ["automate-updating-dependencies"],
                  "file": "shared/recipes/advanced-update"
                },
                {
                  "name": "Using Yarn PnP",
                  "id": "yarn-pnp",
                  "tags": ["yarn", "Plug and Play"],
                  "file": "shared/recipes/yarn-pnp"
                },
                {
                  "name": "Switching to ESLint's flat config format",
                  "id": "flat-config",
                  "tags": ["eslint", "flat config"],
                  "file": "shared/recipes/tips-n-tricks/migrating-to-flat-eslint"
                }
              ]
            },
            {
              "name": "Nx Console",
              "id": "nx-console",
              "description": "Checkout all the recipes related to Nx Console.",
              "itemList": [
                {
                  "name": "Telemetry",
                  "id": "console-telemetry",
                  "tags": ["editor-setup"],
                  "file": "shared/recipes/console-telemetry"
                },
                {
                  "name": "Project Details View",
                  "id": "console-project-details",
                  "tags": ["editor-setup"],
                  "file": "shared/recipes/console-project-details"
                },
                {
                  "name": "Generate Command",
                  "id": "console-generate-command",
                  "tags": ["editor-setup"],
                  "file": "shared/recipes/console-generate-command"
                },
                {
                  "name": "Run Command",
                  "id": "console-run-command",
                  "tags": ["editor-setup"],
                  "file": "shared/recipes/console-run-command"
                },
                {
                  "name": "Troubleshooting",
                  "id": "console-troubleshooting",
                  "tags": ["editor-setup"],
                  "file": "shared/recipes/console-troubleshooting"
                }
              ]
            },
            {
              "name": "Nx Release",
              "id": "nx-release",
              "description": "Recipes for releasing with Nx release.",
              "itemList": [
                {
                  "name": "Get Started with Nx Release",
                  "id": "get-started-with-nx-release",
                  "tags": ["nx-release"],
                  "file": "shared/recipes/nx-release/get-started-with-nx-release"
                },
                {
                  "name": "Release Projects Independently",
                  "id": "release-projects-independently",
                  "tags": ["nx-release"],
                  "file": "shared/recipes/nx-release/release-projects-independently"
                },
                {
                  "name": "Automatically Version with Conventional Commits",
                  "id": "automatically-version-with-conventional-commits",
                  "tags": ["nx-release"],
                  "file": "shared/recipes/nx-release/automatically-version-with-conventional-commits"
                },
                {
                  "name": "Configure Custom Registries",
                  "id": "configure-custom-registries",
                  "tags": ["nx-release"],
                  "file": "shared/recipes/nx-release/configure-custom-registries"
                },
                {
                  "name": "Publish in CI/CD",
                  "id": "publish-in-ci-cd",
                  "tags": ["nx-release"],
                  "file": "shared/recipes/nx-release/publish-in-ci-cd"
                },
                {
                  "name": "Automate GitHub Releases",
                  "id": "automate-github-releases",
                  "tags": ["nx-release"],
                  "file": "shared/recipes/nx-release/automate-github-releases"
                },
                {
                  "name": "Publish Rust Crates",
                  "id": "publish-rust-crates",
                  "tags": ["nx-release"],
                  "file": "shared/recipes/nx-release/publish-rust-crates"
                },
                {
                  "name": "Update Your Local Registry Setup to use Nx Release",
                  "id": "update-local-registry-setup",
                  "tags": ["nx-release"],
                  "file": "shared/recipes/nx-release/update-local-registry-setup"
                },
                {
                  "name": "Customize Conventional Commit Types",
                  "id": "customize-conventional-commit-types",
                  "tags": ["nx-release"],
                  "file": "shared/recipes/nx-release/customize-conventional-commit-types"
                }
              ]
            },
            {
              "name": "Other",
              "id": "other",
              "description": "Other recipes you will find useful.",
              "itemList": [
                {
                  "name": "Rescope Packages from @nrwl to @nx",
                  "id": "rescope",
                  "tags": [],
                  "file": "shared/recipes/rescope"
                }
              ]
            }
          ]
        },
        {
          "name": "Showcase",
          "id": "showcase",
          "description": "Discover our selection of examples and benchmarks.",
          "itemList": [
            {
              "name": "Nx with your favorite tech",
              "id": "example-repos",
              "description": "Examples of different ways to use Nx with your favorite tech",
              "file": "shared/showcase/example-repos",
              "itemList": [
                {
                  "name": "Express",
                  "id": "add-express",
                  "description": "Add an Express application to your repo",
                  "file": "shared/recipes/add-stack/add-express"
                },
                {
                  "name": "Lit",
                  "id": "add-lit",
                  "description": "Lit to your repo",
                  "file": "shared/recipes/add-stack/add-lit"
                },
                {
                  "name": "Solid",
                  "id": "add-solid",
                  "description": "Solid to your repo",
                  "file": "shared/recipes/add-stack/add-solid"
                },
                {
                  "name": "Qwik",
                  "id": "add-qwik",
                  "description": "Qwik to your repo",
                  "file": "shared/recipes/add-stack/add-qwik"
                },
                {
                  "name": "Rust",
                  "id": "add-rust",
                  "description": "Rust to your repo",
                  "file": "shared/recipes/add-stack/add-rust"
                },
                {
                  "name": ".NET",
                  "id": "add-dotnet",
                  "description": ".NET to your repo",
                  "file": "shared/recipes/add-stack/add-dotnet"
                },
                {
                  "name": "Astro",
                  "id": "add-astro",
                  "description": "Add Nx to an Astro project",
                  "file": "shared/recipes/add-stack/add-astro"
                },
                {
                  "name": "Svelte",
                  "id": "add-svelte",
                  "description": "Svelte to your repo",
                  "file": "shared/recipes/add-stack/add-svelte"
                },
                {
                  "name": "Fastify",
                  "id": "add-fastify",
                  "description": "Fastify to your repo",
                  "file": "shared/recipes/add-stack/add-fastify"
                },
                {
                  "name": "Apollo GraphQL",
                  "id": "apollo-react",
                  "file": "shared/examples/apollo-react"
                },
                {
                  "name": "Prisma with NestJS",
                  "id": "nestjs-prisma",
                  "tags": ["database", "node"],
                  "file": "shared/recipes/database/nestjs-prisma"
                },
                {
                  "name": "Mongo with Fastify",
                  "id": "mongo-fastify",
                  "tags": ["database", "node"],
                  "file": "shared/recipes/database/mongo-fastify"
                },
                {
                  "name": "Redis with Fastify",
                  "id": "redis-fastify",
                  "tags": ["database", "node"],
                  "file": "shared/recipes/database/redis-fastify"
                },
                {
                  "name": "Postgres with Fastify",
                  "id": "postgres-fastify",
                  "tags": ["database", "node"],
                  "file": "shared/recipes/database/postgres-fastify"
                },
                {
                  "name": "PlanetScale with Serverless Fastify",
                  "id": "serverless-fastify-planetscale",
                  "tags": ["database", "node", "serverless"],
                  "file": "shared/recipes/database/serverless-fastify-planetscale"
                },
                {
                  "name": "Nx with Micro-frontends",
                  "id": "mfe",
                  "file": "shared/examples/nx-examples"
                }
              ]
            },
            {
              "name": "Benchmarks",
              "id": "benchmarks",
              "description": "Benchmarks showing how fast Nx is",
              "itemList": [
                {
                  "name": "Typescript Batch Mode Compilation",
                  "id": "tsc-batch-mode",
                  "file": "shared/examples/tsc-batch-mode"
                },
                {
                  "name": "Large Repo and Caching",
                  "id": "caching",
                  "file": "shared/examples/caching"
                },
                {
                  "name": "Large Repo and DTE",
                  "id": "dte",
                  "file": "shared/examples/dte"
                }
              ]
            }
          ]
        },
        {
          "name": "Reference",
          "id": "reference",
          "description": "Understand how to use Nx functionalities, what arguments and options are available for each component.",
          "itemList": [
            {
              "name": "Commands",
              "id": "commands",
              "file": "",
              "path": "/nx-api/nx",
              "isExternal": true
            },
            {
              "name": "Nx Configuration",
              "id": "nx-json",
              "file": "shared/reference/nx-json"
            },
            {
              "name": "Project Configuration",
              "id": "project-configuration",
              "tags": [],
              "file": "shared/reference/project-configuration"
            },
            {
              "name": "Inputs and Named Inputs",
              "id": "inputs",
              "tags": ["cache-task-results"],
              "file": "shared/reference/inputs"
            },
            {
              "name": ".nxignore",
              "id": "nxignore",
              "tags": ["enforce-module-boundaries"],
              "file": "shared/reference/nxignore"
            },
            {
              "name": "Environment Variables",
              "id": "environment-variables",
              "tags": ["environment-variables"],
              "file": "shared/reference/environment-variables"
            },
            {
              "name": "Glossary",
              "id": "glossary",
              "tags": [],
              "file": "shared/reference/glossary"
            }
          ]
        },

        {
          "name": "Troubleshooting",
          "id": "troubleshooting",
          "description": "Learn how to troubleshoot common problems.",
          "itemList": [
            {
              "name": "Resolve Circular Dependencies",
              "id": "resolve-circular-dependencies",
              "tags": ["explore-graph"],
              "file": "shared/recipes/resolve-circular-dependencies"
            },
            {
              "name": "Troubleshooting Nx Install Issues",
              "id": "troubleshoot-nx-install-issues",
              "file": "shared/installation/troubleshoot-installation"
            },
            {
              "name": "Troubleshoot Cache Misses",
              "id": "troubleshoot-cache-misses",
              "tags": ["cache-task-results"],
              "file": "shared/recipes/troubleshoot-cache-misses"
            },
            {
              "name": "Unknown Local Cache Error",
              "id": "unknown-local-cache",
              "tags": [],
              "file": "shared/guides/unknown-local-cache"
            },
            {
              "name": "Profiling Build Performance",
              "id": "performance-profiling",
              "tags": ["environment-variables"],
              "file": "shared/guides/performance-profiling"
            }
          ]
        },
        {
          "name": "Deprecated",
          "id": "deprecated",
          "description": "Functionality that has been superseded in the current version of Nx.  Listed here for those running older versions.",
          "itemList": [
            {
              "name": "workspace.json",
              "id": "workspace-json",
              "file": "shared/deprecated/workspace-json"
            },
            {
              "name": "As Provided vs. Derived",
              "id": "as-provided-vs-derived",
              "file": "shared/deprecated/as-provided-vs-derived"
            },
            {
              "name": "Workspace Generators",
              "id": "workspace-generators",
              "file": "shared/deprecated/workspace-generators"
            },
            {
              "name": "Workspace Executors",
              "id": "workspace-executors",
              "file": "shared/deprecated/workspace-executors"
            },
            {
              "name": "runtimeCacheInputs",
              "id": "runtime-cache-inputs",
              "file": "shared/deprecated/runtime-cache-inputs"
            },
            {
              "name": "cacheableOperations",
              "id": "cacheable-operations",
              "file": "shared/deprecated/cacheable-operations"
            },
            {
              "name": "npmScope",
              "id": "npm-scope",
              "file": "shared/deprecated/npm-scope"
            },
            {
              "name": "globalImplicitDependencies",
              "id": "global-implicit-dependencies",
              "file": "shared/deprecated/global-implicit-dependencies"
            },
            {
              "name": "Angular Schematics and Builders",
              "id": "angular-schematics-builders",
              "file": "shared/deprecated/angular-schematics-builders"
            },
            {
              "name": "v1 Nx Plugin API",
              "id": "v1-nx-plugin-api",
              "file": "shared/deprecated/v1-nx-plugin-api"
            }
          ]
        },
        {
          "name": "See Also",
          "id": "see-also",
          "description": "Links to other pieces of documentation",
          "itemList": [
            {
              "name": "CI Documentation",
              "id": "ci",
              "file": "",
              "tags": ["cache-task-results", "distribute-task-execution"],
              "path": "/ci/intro/ci-with-nx",
              "isExternal": true
            },
            {
              "name": "Nx Cloud Main Site",
              "id": "nx-cloud-main-site",
              "file": "",
              "tags": ["cache-task-results", "distribute-task-execution"],
              "path": "https://nx.app",
              "isExternal": true
            },
            {
              "name": "--skip-nx-cache flag",
              "id": "skip-nx-cache-flag",
              "file": "",
              "tags": ["cache-task-results"],
              "path": "/nx-api/nx/documents/affected#skip-nx-cache",
              "isExternal": true
            },
            {
              "name": "tasks-runner-options property",
              "id": "tasks-runner-options-property",
              "file": "",
              "tags": ["cache-task-results"],
              "path": "/reference/nx-json#tasks-runner-options",
              "isExternal": true
            },
            {
              "name": "nx.json reference: inputs and namedInputs",
              "id": "nxjson-inputs",
              "file": "",
              "tags": ["cache-task-results"],
              "path": "/reference/nx-json#inputs-&-namedinputs",
              "isExternal": true
            },
            {
              "name": "Project Configuration reference: inputs and namedInputs",
              "id": "project-config-inputs",
              "file": "",
              "tags": ["cache-task-results"],
              "path": "/reference/project-configuration#inputs-&-namedinputs",
              "isExternal": true
            },
            {
              "name": "nx.json generator defaults",
              "id": "nxjson-generator-defaults",
              "file": "",
              "tags": ["generate-code"],
              "path": "/reference/nx-json#generators",
              "isExternal": true
            },
            {
              "name": "Site Map",
              "id": "sitemap",
              "tags": [],
              "file": "shared/reference/sitemap"
            }
          ]
        }
      ]
    },
    {
      "name": "Extending Nx",
      "id": "extending-nx",
      "description": "Learn more about creating your own plugin, extending Nx.",
      "itemList": [
        {
          "name": "Intro",
          "id": "intro",
          "description": "Learn about plugins.",
          "itemList": [
            {
              "name": "Getting Started with Plugins",
              "id": "getting-started",
              "description": "Learn how to extend Nx by creating and releasing your own Nx plugin.",
              "file": "shared/plugins/intro"
            }
          ]
        },
        {
          "name": "5 Min Tutorials",
          "id": "tutorials",
          "description": "Get started with plugins",
          "itemList": [
            {
              "name": "Create a Local Plugin",
              "id": "create-plugin",
              "file": "shared/plugins/create-plugin"
            },
            {
              "name": "Maintain a Published Plugin",
              "id": "publish-plugin",
              "file": "shared/plugins/maintain-published-plugin"
            }
          ]
        },
        {
          "name": "Recipes",
          "id": "recipes",
          "description": "Focused instructions to complete a specific task",
          "itemList": [
            {
              "name": "Write a Simple Executor",
              "id": "local-executors",
              "tags": [],
              "file": "shared/recipes/plugins/local-executors"
            },
            {
              "name": "Compose Executors",
              "id": "compose-executors",
              "tags": [],
              "file": "shared/recipes/plugins/compose-executors"
            },
            {
              "name": "Write a Simple Generator",
              "id": "local-generators",
              "tags": ["generate-code"],
              "file": "shared/recipes/generators/local-generators"
            },
            {
              "name": "Compose Generators",
              "id": "composing-generators",
              "tags": ["generate-code"],
              "file": "shared/recipes/generators/composing-generators"
            },
            {
              "name": "Provide Options for Generators",
              "id": "generator-options",
              "tags": ["generate-code"],
              "file": "shared/recipes/generators/generator-options"
            },
            {
              "name": "Create Files",
              "id": "creating-files",
              "tags": ["generate-code"],
              "file": "shared/recipes/generators/creating-files"
            },
            {
              "name": "Modify Files",
              "id": "modifying-files",
              "tags": ["generate-code"],
              "file": "shared/recipes/generators/modifying-files"
            },
            {
              "name": "Write a Migration",
              "id": "migration-generators",
              "tags": ["create-your-own-plugin"],
              "file": "shared/recipes/plugins/migration-generators"
            },
            {
              "name": "Create a Preset",
              "id": "create-preset",
              "tags": ["create-your-own-plugin"],
              "file": "shared/recipes/plugins/create-preset"
            },
            {
              "name": "Create an Install Package",
              "id": "create-install-package",
              "tags": ["create-your-own-plugin"],
              "file": "shared/recipes/plugins/create-install-package"
            },
            {
              "name": "Modify the Project Graph",
              "id": "project-graph-plugins",
              "tags": [
                "create-your-own-plugin",
                "explore-graph",
                "inferred-tasks"
              ],
              "file": "shared/recipes/plugins/project-graph-plugins"
            }
          ]
        }
      ]
    },
    {
      "name": "CI",
      "id": "ci",
      "description": "Learn how to enable Distributed Tasks Executions, remote caching and more.",
      "itemList": [
        {
          "name": "Intro",
          "id": "intro",
          "description": "Learn about basic Nx Cloud knowledge.",
          "itemList": [
            {
              "name": "CI with Nx",
              "id": "ci-with-nx",
              "file": "nx-cloud/intro/ci-with-nx"
            },
            {
              "name": "Why Nx Cloud?",
              "id": "why-nx-cloud",
              "file": "nx-cloud/intro/why-nx-cloud"
            },
            {
              "name": "Tutorials",
              "id": "tutorials",
              "description": "Tutorials setting up CI with Nx",
              "itemList": [
                {
                  "name": "Circle CI with Nx",
                  "id": "circle",
                  "file": "nx-cloud/tutorial/circle"
                },
                {
                  "name": "GitHub Actions with Nx",
                  "id": "github-actions",
                  "file": "nx-cloud/tutorial/github-actions"
                }
              ]
            }
          ]
        },
        {
          "name": "Features",
          "id": "features",
          "description": "Features of Nx and Nx Cloud that improve CI",
          "itemList": [
            {
              "name": "Run Only Tasks Affected by a PR",
              "description": "This allows to only run tasks on projects that got changed in a given PR.",
              "tags": ["run-tasks"],
              "id": "affected",
              "file": "shared/using-nx/affected"
            },
            {
              "name": "Use Remote Caching (Nx Replay)",
              "description": "Learn how to enable remote caching s.t. you don't just benefit locally from it but also in CI.",
              "id": "remote-cache",
              "tags": ["remote-cache"],
              "file": "shared/features/remote-cache"
            },
            {
              "name": "Distribute Task Execution (Nx Agents)",
              "id": "distribute-task-execution",
              "description": "Learn how to efficiently distribute tasks across machines to take full advantage of parallelization. Nx Agents make this a trivial task.",
              "file": "shared/features/distribute-task-execution"
            },
            {
              "name": "Dynamically Allocate Agents",
              "description": "Learn how to dynamically allocate agents based on the size of a PR, keeping the balance of speed and cost.",
              "id": "dynamic-agents",
              "file": "nx-cloud/features/dynamic-agents"
            },
            {
              "name": "Automatically Split E2E Tasks (Atomizer)",
              "id": "split-e2e-tasks",
              "description": "Learn how Nx can automatically split e2e tests into fine-grained chunks for a much better distribution on Nx Agents.",
              "file": "nx-cloud/features/split-e2e-tasks"
            },
            {
              "name": "Identify and Re-run Flaky Tasks",
              "id": "flaky-tasks",
              "description": "Learn how Nx Cloud is able to automatically identify flaky tasks and re-run them for you.",
              "file": "nx-cloud/features/flaky-tasks"
            },
            {
              "name": "Set up Nx Cloud On-Premise",
              "description": "Set up Nx Cloud on machines that you control",
              "id": "on-premise",
              "tags": ["on-premise"],
              "file": "nx-cloud/features/nx-enterprise-on-prem"
            }
          ]
        },
        {
          "name": "Concepts",
          "id": "concepts",
          "description": "Learn how to manage Nx Cloud subscriptions and other options.",
          "itemList": [
            {
              "name": "The Building Blocks of Fast CI",
              "tags": [],
              "id": "building-blocks-fast-ci",
              "file": "nx-cloud/concepts/building-blocks-fast-ci"
            },
            {
              "name": "Reduce Wasted Time in CI",
              "tags": [],
              "id": "reduce-waste",
              "file": "nx-cloud/concepts/reduce-waste"
            },
            {
              "name": "Parallelization and Distribution",
              "tags": ["distribute-task-execution"],
              "id": "parallelization-distribution",
              "file": "nx-cloud/concepts/parallelization-distribution"
            },
            {
              "name": "Cache Security",
              "id": "cache-security",
              "file": "nx-cloud/concepts/cache-security"
            }
          ]
        },
        {
          "name": "Recipes",
          "id": "recipes",
          "description": "Learn how to set up Nx Cloud for your workspace.",
          "itemList": [
            {
              "name": "Set Up CI",
              "id": "set-up",
              "description": "Learn how to set up Nx Cloud for your workspace.",
              "tags": ["distribute-task-execution"],
              "itemList": [
                {
                  "name": "Connect Nx Cloud",
                  "id": "connect-to-cloud",
                  "file": "nx-cloud/recipes/connect-to-cloud"
                },
                {
                  "name": "Setting up Azure Pipelines",
                  "id": "monorepo-ci-azure",
                  "file": "shared/monorepo-ci-azure"
                },
                {
                  "name": "Setting up CircleCI",
                  "id": "monorepo-ci-circle-ci",
                  "file": "shared/monorepo-ci-circle-ci"
                },
                {
                  "name": "Setting up GitHub Actions",
                  "id": "monorepo-ci-github-actions",
                  "file": "shared/monorepo-ci-github-actions"
                },
                {
                  "name": "Setting up Jenkins",
                  "id": "monorepo-ci-jenkins",
                  "file": "shared/monorepo-ci-jenkins"
                },
                {
                  "name": "Setting up GitLab",
                  "id": "monorepo-ci-gitlab",
                  "file": "shared/monorepo-ci-gitlab"
                },
                {
                  "name": "Setting up Bitbucket",
                  "id": "monorepo-ci-bitbucket-pipelines",
                  "file": "shared/monorepo-ci-bitbucket-pipelines"
                }
              ]
            },
            {
              "name": "Security",
              "id": "security",
              "description": "Manage access to Nx Cloud",
              "itemList": [
                {
                  "name": "Authenticate with Google Identity",
                  "id": "google-auth",
                  "file": "nx-cloud/recipes/google-auth"
                },
                {
                  "name": "Access Tokens",
                  "id": "access-tokens",
                  "file": "nx-cloud/recipes/access-tokens"
                },
                {
                  "name": "Enable End to End Encryption",
                  "id": "encryption",
                  "file": "nx-cloud/recipes/encryption"
                }
              ]
            },
            {
              "name": "Source Control Integration",
              "id": "source-control-integration",
              "description": "Show Nx Cloud results directly in your pull request",
              "itemList": [
                {
                  "name": "Enable GitHub PR Integration",
                  "id": "github",
                  "file": "nx-cloud/set-up/github"
                },
                {
                  "name": "Enable Bitbucket Cloud PR Integration",
                  "id": "bitbucket-cloud",
                  "file": "nx-cloud/set-up/bitbucket-cloud"
                },
                {
                  "name": "Enable GitLab MR Integration",
                  "id": "gitlab",
                  "file": "nx-cloud/set-up/gitlab"
                },
                {
                  "name": "Enable Azure DevOps PR Integration",
                  "id": "azure-devops",
                  "file": "nx-cloud/set-up/azure-devops"
                }
              ]
            },
            {
              "name": "Enterprise",
              "id": "enterprise",
              "description": "Recipes for enterprise accounts",
              "itemList": [
                {
                  "name": "On-Premise",
                  "id": "on-premise",
                  "description": "Manage an on-premise installation of Nx Cloud",
                  "itemList": [
                    {
                      "name": "Authenticate with a Single Admin",
                      "id": "auth-single-admin",
                      "file": "nx-cloud/enterprise/on-premise/auth-single-admin"
                    },
                    {
                      "name": "Authenticate with GitHub",
                      "id": "auth-github",
                      "file": "nx-cloud/enterprise/on-premise/auth-github"
                    },
                    {
                      "name": "On-Prem VM Setup",
                      "id": "ami-setup",
                      "file": "nx-cloud/enterprise/on-premise/ami-setup"
                    },
                    {
                      "name": "Authenticate with GitLab",
                      "id": "auth-gitlab",
                      "file": "nx-cloud/enterprise/on-premise/auth-gitlab"
                    },
                    {
                      "name": "Authenticate with BitBucket",
                      "id": "auth-bitbucket",
                      "file": "nx-cloud/enterprise/on-premise/auth-bitbucket"
                    },
                    {
                      "name": "Authenticate via SAML",
                      "id": "auth-saml",
                      "file": "nx-cloud/enterprise/on-premise/auth-saml"
                    },
                    {
                      "name": "Authenticate via SAML on Managed Version",
                      "id": "auth-saml-managed",
                      "file": "nx-cloud/enterprise/on-premise/auth-saml-managed"
                    },
                    {
                      "name": "Advanced Configuration",
                      "id": "advanced-config",
                      "file": "nx-cloud/enterprise/on-premise/advanced-config"
                    }
                  ]
                },
                {
                  "name": "Custom Distributed Task Execution",
                  "id": "dte",
                  "description": "Custom DTE on your own CI provider",
                  "itemList": [
                    {
                      "name": "GitHub Actions Custom DTE",
                      "id": "github-dte",
                      "file": "nx-cloud/enterprise/dte/github-dte"
                    },
                    {
                      "name": "Circle CI Custom DTE",
                      "id": "circle-ci-dte",
                      "file": "nx-cloud/enterprise/dte/circle-ci-dte"
                    },
                    {
                      "name": "Azure Pipelines Custom DTE",
                      "id": "azure-dte",
                      "file": "nx-cloud/enterprise/dte/azure-dte"
                    },
                    {
                      "name": "Bitbucket Pipelines Custom DTE",
                      "id": "bitbucket-dte",
                      "file": "nx-cloud/enterprise/dte/bitbucket-dte"
                    },
                    {
                      "name": "GitLab Custom DTE",
                      "id": "gitlab-dte",
                      "file": "nx-cloud/enterprise/dte/gitlab-dte"
                    },
                    {
                      "name": "Jenkins Custom DTE",
                      "id": "jenkins-dte",
                      "file": "nx-cloud/enterprise/dte/jenkins-dte"
                    }
                  ]
                }
              ]
            },
            {
              "name": "Other",
              "id": "other",
              "description": "Learn how to set up Nx Cloud for your workspace.",
              "itemList": [
                {
                  "name": "Record Non-Nx Commands",
                  "id": "record-commands",
                  "file": "nx-cloud/set-up/record-commands"
                },
                {
                  "name": "Prepare applications for deployment via CI",
                  "id": "ci-deployment",
                  "tags": ["docker", "deploy"],
                  "file": "shared/recipes/ci-deployment"
                }
              ]
            }
          ]
        },
        {
          "name": "Reference",
          "id": "reference",
          "description": "Understand how to use Nx Cloud, what arguments and options are available for each component.",
          "itemList": [
            {
              "name": "Configuration Options",
              "id": "config",
              "file": "nx-cloud/reference/config"
            },
            {
              "name": "nx-cloud CLI",
              "id": "nx-cloud-cli",
              "file": "nx-cloud/reference/nx-cloud-cli"
            },
            {
              "name": "Launch Templates",
              "id": "launch-templates",
              "file": "nx-cloud/reference/launch-templates"
            },
            {
              "name": "Environment Variables",
              "id": "env-vars",
              "file": "nx-cloud/reference/env-vars"
            },
            {
              "name": "Release Notes",
              "id": "release-notes",
              "file": "nx-cloud/reference/release-notes"
            }
          ]
        },
        {
          "name": "Troubleshooting",
          "id": "troubleshooting",
          "description": "Learn how to solve common issues in Nx Cloud.",
          "itemList": [
            {
              "name": "CI Execution Failed",
              "id": "ci-execution-failed",
              "file": "nx-cloud/troubleshooting/ci-execution-failed"
            }
          ]
        }
      ]
    },
    {
      "name": "Changelog",
      "id": "changelog",
      "file": "",
      "path": "/changelog",
      "isExternal": true
    },
    {
      "name": "additional api references",
      "id": "additional-api-references",
      "description": "Package reference.",
      "itemList": [
        {
          "name": "nx",
          "id": "nx",
          "description": "Nx package",
          "itemList": [
            {
              "name": "create-nx-workspace",
              "id": "create-nx-workspace",
              "file": "generated/cli/create-nx-workspace"
            },
            {
              "name": "init",
              "id": "init",
              "file": "generated/cli/init"
            },
            {
              "name": "generate",
              "id": "generate",
              "tags": ["generate-code"],
              "file": "generated/cli/generate"
            },
            {
              "name": "run",
              "tags": ["run-tasks"],
              "id": "run",
              "file": "generated/cli/run"
            },
            {
              "name": "daemon",
              "id": "daemon",
              "file": "generated/cli/daemon"
            },
            {
              "name": "graph",
              "id": "dep-graph",
              "tags": ["explore-graph"],
              "file": "generated/cli/graph"
            },
            {
              "name": "run-many",
              "tags": ["run-tasks"],
              "id": "run-many",
              "file": "generated/cli/run-many"
            },
            {
              "name": "affected",
              "tags": ["run-tasks"],
              "id": "affected",
              "file": "generated/cli/affected"
            },
            {
              "name": "affected:graph",
              "id": "affected-dep-graph",
              "file": "generated/cli/affected-graph"
            },
            {
              "name": "print-affected",
              "id": "print-affected",
              "file": "generated/cli/print-affected"
            },
            {
              "name": "format:check",
              "id": "format-check",
              "tags": ["enforce-module-boundaries"],
              "file": "generated/cli/format-check"
            },
            {
              "name": "format:write",
              "id": "format-write",
              "tags": ["enforce-module-boundaries"],
              "file": "generated/cli/format-write"
            },
            {
              "name": "migrate",
              "id": "migrate",
              "tags": ["automate-updating-dependencies"],
              "file": "generated/cli/migrate"
            },
            {
              "name": "report",
              "id": "report",
              "file": "generated/cli/report"
            },
            {
              "name": "list",
              "id": "list",
              "file": "generated/cli/list"
            },
            {
              "name": "connect-to-nx-cloud",
              "id": "connect-to-nx-cloud",
              "tags": ["cache-task-results", "distribute-task-execution"],
              "file": "generated/cli/connect"
            },
            {
              "name": "reset",
              "id": "reset",
              "tags": ["cache-task-results"],
              "file": "generated/cli/reset"
            },
            {
              "name": "repair",
              "id": "repair",
              "file": "generated/cli/repair"
            },
            {
              "name": "exec",
              "id": "exec",
              "file": "generated/cli/exec"
            },
            {
              "name": "watch",
              "id": "watch",
              "tags": ["workspace-watching"],
              "file": "generated/cli/watch"
            },
            {
              "name": "show",
              "id": "show",
              "file": "generated/cli/show"
            },
            {
              "name": "view-logs",
              "id": "view-logs",
              "file": "generated/cli/view-logs"
            },
            {
              "name": "release",
              "id": "release",
              "tags": ["nx-release"],
              "file": "generated/cli/release"
            },
            {
              "name": "add",
              "id": "add",
              "file": "generated/cli/add"
            }
          ]
        },
        {
          "name": "workspace",
          "id": "workspace",
          "description": "Workspace package.",
          "itemList": [
            {
              "name": "Overview",
              "id": "overview",
              "path": "/nx-api/workspace",
              "file": "shared/packages/workspace/workspace-plugin"
            },
            {
              "name": "Nx, NodeJS and Typescript Versions",
              "id": "nx-nodejs-typescript-version-matrix",
              "file": "shared/packages/workspace/nx-compatibility-matrix"
            }
          ]
        },
        {
          "name": "Nx Plugin",
          "id": "plugin",
          "description": "Plugin package.",
          "itemList": [
            {
              "id": "overview",
              "name": "Overview",
              "path": "/nx-api/plugin",
              "file": "shared/packages/plugin/plugin"
            }
          ]
        },
        {
          "name": "Nx Devkit",
          "id": "devkit",
          "description": "Devkit package.",
          "itemList": [
            {
              "id": "nx_devkit",
              "name": "Overview",
              "file": "generated/devkit/README"
            },
            {
              "id": "ngcli_adapter",
              "name": "Ng CLI Adapter",
              "file": "generated/devkit/ngcli_adapter/README"
            }
          ]
        },
        {
          "name": "js",
          "id": "js",
          "description": "JS package.",
          "itemList": [
            {
              "name": "Overview",
              "id": "overview",
              "path": "/nx-api/js",
              "file": "shared/packages/js/js-plugin"
            }
          ]
        },
        {
          "name": "web",
          "id": "web",
          "description": "Web package.",
          "itemList": [
            {
              "name": "Overview",
              "id": "overview",
              "path": "/nx-api/web",
              "file": "shared/packages/web/web-plugin"
            }
          ]
        },
        {
          "name": "esbuild",
          "id": "esbuild",
          "description": "esbuild package.",
          "itemList": [
            {
              "name": "Overview",
              "id": "overview",
              "path": "/nx-api/esbuild",
              "file": "shared/packages/esbuild/esbuild-plugin"
            }
          ]
        },
        {
          "name": "vite",
          "id": "vite",
          "description": "Vite package.",
          "itemList": [
            {
              "id": "overview",
              "path": "/nx-api/vite",
              "name": "Overview",
              "description": "The Nx Plugin for Vite contains executors and generators that support building applications using Vite. This page also explains how to configure Vite on your Nx workspace.",
              "file": "shared/packages/vite/vite-plugin"
            }
          ]
        },
        {
          "name": "vue",
          "id": "vue",
          "description": "Vue package.",
          "itemList": [
            {
              "id": "overview",
              "path": "/nx-api/vue",
              "name": "Overview",
              "description": "The Nx Plugin for Vue contains generators for managing Vue applications and libraries within an Nx workspace. This page also explains how to configure Vue on your Nx workspace.",
              "file": "shared/packages/vue/vue-plugin"
            }
          ]
        },
        {
          "name": "nuxt",
          "id": "nuxt",
          "description": "Nuxt package.",
          "itemList": [
            {
              "id": "overview",
              "path": "/nx-api/nuxt",
              "name": "Overview",
              "description": "The Nx Plugin for Nuxt contains generators for managing Nuxt applications within a Nx workspace. This page also explains how to configure Nuxt on your Nx workspace.",
              "file": "shared/packages/nuxt/nuxt-plugin"
            }
          ]
        },
        {
          "name": "webpack",
          "id": "webpack",
          "description": "Webpack package.",
          "itemList": [
            {
              "id": "overview",
              "path": "/nx-api/webpack",
              "name": "Overview",
              "description": "The Nx Plugin for Webpack contains executors and generators that support building applications using Webpack.",
              "file": "shared/packages/webpack/plugin-overview"
            }
          ]
        },
        {
          "name": "angular",
          "id": "angular",
          "description": "Angular package.",
          "itemList": [
            {
              "name": "Overview",
              "id": "overview",
              "path": "/nx-api/angular",
              "file": "shared/packages/angular/angular-plugin"
            },
            {
              "name": "Angular and Nx Version Matrix",
              "id": "angular-nx-version-matrix",
              "file": "shared/packages/angular/angular-nx-version-matrix",
              "path": "/angular-nx-version-matrix"
            }
          ]
        },
        {
          "name": "react",
          "id": "react",
          "description": "React package.",
          "itemList": [
            {
              "name": "Overview",
              "id": "overview",
              "path": "/nx-api/react",
              "file": "shared/packages/react/react-plugin"
            }
          ]
        },
        {
          "name": "jest",
          "id": "jest",
          "description": "Jest package.",
          "itemList": [
            {
              "name": "Overview",
              "id": "overview",
              "path": "/nx-api/jest",
              "file": "shared/packages/jest/jest-plugin"
            }
          ]
        },
        {
          "name": "cypress",
          "id": "cypress",
          "description": "Cypress package.",
          "itemList": [
            {
              "name": "Overview",
              "id": "overview",
              "path": "/nx-api/cypress",
              "file": "shared/packages/cypress/cypress-plugin"
            }
          ]
        },
        {
          "name": "playwright",
          "id": "playwright",
          "description": "Playwright package.",
          "itemList": [
            {
              "name": "Overview",
              "id": "overview",
              "path": "/nx-api/playwright",
              "file": "shared/packages/playwright/playwright-plugin"
            }
          ]
        },
        {
          "name": "storybook",
          "id": "storybook",
          "description": "Storybook package.",
          "itemList": [
            {
              "id": "overview",
              "name": "Overview",
              "description": "This is an overview page for the Storybook plugin in Nx. It explains what Storybook is and how to set it up in your Nx workspace.",
              "path": "/nx-api/storybook",
              "file": "shared/packages/storybook/plugin-overview"
            },
            {
              "id": "best-practices",
              "name": "Storybook best practices for making the most out of Nx",
              "description": "The purpose of this guide is to help you set up Storybook in your Nx workspace so that you can get the most out of Nx and its powerful capabilities.",
              "file": "shared/packages/storybook/best-practices"
            },
            {
              "id": "storybook-7-setup",
              "name": "Storybook 7",
              "description": "This guide explains how you can set up Storybook version 7 in your Nx workspace. It contains information about the generators and the frameworks that are supported.",
              "file": "shared/packages/storybook/storybook-7-setup"
            }
          ]
        },
        {
          "name": "eslint",
          "id": "eslint",
          "description": "Linter package.",
          "itemList": [
            {
              "id": "overview",
              "name": "Overview",
              "path": "/nx-api/eslint",
              "file": "shared/packages/eslint/eslint"
            }
          ]
        },
        {
          "name": "eslint-plugin",
          "id": "eslint-plugin",
          "description": "ESLint plugin package.",
          "itemList": [
            {
              "id": "overview",
              "name": "Overview",
              "path": "/nx-api/eslint-plugin",
              "file": "shared/packages/eslint/eslint-plugin"
            },
            {
              "id": "enforce-module-boundaries",
              "name": "The `enforce-module-boundaries` rule",
              "path": "/nx-api/eslint-plugin",
              "file": "shared/packages/eslint/enforce-module-boundaries"
            },
            {
              "id": "dependency-checks",
              "name": "The `dependency-checks` rule",
              "path": "/nx-api/eslint-plugin",
              "file": "shared/packages/eslint/dependency-checks"
            }
          ]
        },
        {
          "name": "node",
          "id": "node",
          "description": "Node package.",
          "itemList": [
            {
              "id": "overview",
              "name": "Overview",
              "path": "/nx-api/node",
              "file": "shared/packages/node/node-plugin"
            }
          ]
        },
        {
          "name": "express",
          "id": "express",
          "description": "Express package.",
          "itemList": [
            {
              "id": "overview",
              "name": "Overview",
              "path": "/nx-api/express",
              "file": "shared/packages/express/express-plugin"
            }
          ]
        },
        {
          "name": "nest",
          "id": "nest",
          "description": "Nest package.",
          "itemList": [
            {
              "id": "overview",
              "name": "Overview",
              "path": "/nx-api/nest",
              "file": "shared/packages/nest/nest-plugin"
            }
          ]
        },
        {
          "name": "next",
          "id": "next",
          "description": "Next package.",
          "itemList": [
            {
              "id": "overview",
              "name": "Overview",
              "path": "/nx-api/next",
              "file": "shared/packages/next/plugin-overview"
            }
          ]
        },
        {
          "name": "remix",
          "id": "remix",
          "description": "Remix package.",
          "itemList": [
            {
              "id": "overview",
              "name": "Overview",
              "path": "/nx-api/remix",
              "file": "shared/packages/remix/remix-plugin"
            }
          ]
        },
        {
          "name": "detox",
          "id": "detox",
          "description": "Detox package.",
          "itemList": [
            {
              "id": "overview",
              "name": "Overview",
              "path": "/nx-api/detox",
              "file": "shared/packages/detox/detox-plugin"
            }
          ]
        },
        {
          "name": "react native",
          "id": "react-native",
          "description": "React Native package.",
          "itemList": [
            {
              "id": "overview",
              "name": "Overview",
              "path": "/nx-api/react-native",
              "file": "shared/packages/react-native/react-native-plugin"
            }
          ]
        },
        {
          "name": "expo",
          "id": "expo",
          "description": "Expo package.",
          "itemList": [
            {
              "id": "overview",
              "name": "Overview",
              "path": "/nx-api/expo",
              "file": "shared/packages/expo/expo-plugin"
            }
          ]
        },
        {
          "name": "gradle",
          "id": "gradle",
          "description": "Gradle package.",
          "itemList": [
            {
              "id": "overview",
              "name": "Overview",
              "path": "/nx-api/gradle",
              "file": "shared/packages/gradle/gradle-plugin"
            }
          ]
        }
      ]
    }
  ]
}
