[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-aws-labs-nx-plugin-for-aws":3,"mdc--9ak09w-key":47,"related-repo-aws-labs-nx-plugin-for-aws":2335,"related-org-aws-labs-nx-plugin-for-aws":2343},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":42,"sourceUrl":45,"mdContent":46},"nx-plugin-for-aws","scaffold cloud-native applications on AWS","Scaffold and build cloud-native applications on AWS using @aws\u002Fnx-plugin generators. Use when the user wants to create workspaces, generate projects, or scaffold infrastructure with the Nx Plugin for AWS.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"aws-labs","AWS Labs","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Faws-labs.png","awslabs",[13,17,20],{"name":14,"slug":15,"type":16},"Cloud","cloud","tag",{"name":18,"slug":19,"type":16},"Infrastructure as Code","infrastructure-as-code",{"name":21,"slug":22,"type":16},"AWS","aws",85,"https:\u002F\u002Fgithub.com\u002Fawslabs\u002Fnx-plugin-for-aws","2026-07-29T05:39:03.760685",null,27,[22,29,30,31,32,33,34,35,36,37,38,39,40,41],"aws-cdk","cloudfront","cloudscape","fastapi","lambda","mcp","nx","productivity","python","react","tanstack","trpc","typescript",{"repoUrl":24,"stars":23,"forks":27,"topics":43,"description":44},[22,29,30,31,32,33,34,35,36,37,38,39,40,41],"The @aws\u002Fnx-plugin is a collection of code generators that automate the creation and configuration of cloud-native applications using AWS, TypeScript, Python and React within the Nx development ecosystem.","https:\u002F\u002Fgithub.com\u002Fawslabs\u002Fnx-plugin-for-aws\u002Ftree\u002FHEAD\u002Fskills\u002Fnx-plugin-for-aws","---\nname: nx-plugin-for-aws\ndescription: >-\n  Scaffold and build cloud-native applications on AWS using @aws\u002Fnx-plugin generators.\n  Use when the user wants to create workspaces, generate projects, or scaffold infrastructure with the Nx Plugin for AWS.\n---\n\n# Nx Plugin for AWS\n\n## Overview\n\nThe Nx Plugin for AWS (`@aws\u002Fnx-plugin`) is a collection of generators that help you rapidly scaffold and build cloud-native applications on AWS. It provides end-to-end code generation from application code to CDK\u002FTerraform infrastructure, all following AWS best practices.\n\nThis power gives AI assistants guided access to the MCP server so they can help you create workspaces, discover generators, and scaffold projects interactively.\n\nKey capabilities:\n\n- Create new Nx workspaces configured for AWS development\n- Scaffold TypeScript and Python projects, APIs, websites, and infrastructure\n- Generate Lambda functions, MCP servers, Strands Agents, and more\n- Connect projects together (e.g. frontend to backend)\n- Manage licenses across your workspace\n\n## Onboarding\n\n### Prerequisites\n\n- [Git](https:\u002F\u002Fgit-scm.com\u002Fbook\u002Fen\u002Fv2\u002FGetting-Started-Installing-Git)\n- [Node >= 22](https:\u002F\u002Fnodejs.org\u002Fen\u002Fdownload) (We recommend using something like [NVM](https:\u002F\u002Fgithub.com\u002Fnvm-sh\u002Fnvm) to manage your node versions)\n  - verify by running `node --version`\n- [PNPM >= 11](https:\u002F\u002Fpnpm.io\u002Finstallation#using-npm) (you can also use [Yarn >= 4](https:\u002F\u002Fyarnpkg.com\u002Fgetting-started\u002Finstall), [Bun >= 1](https:\u002F\u002Fbun.sh\u002Fdocs\u002Finstallation), or [NPM >= 10](https:\u002F\u002Fnodejs.org\u002Fen\u002Flearn\u002Fgetting-started\u002Fan-introduction-to-the-npm-package-manager) if you prefer)\n  - verify by running `pnpm --version`, `yarn --version`, `bun --version` or `npm --version`\n- [UV >= 0.5.29](https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002Fgetting-started\u002Finstallation\u002F)\n  1. install Python 3.14 by running: `uv python install 3.14.0`\n  2. verify with `uv python list --only-installed`\n- [AWS Credentials](https:\u002F\u002Fdocs.aws.amazon.com\u002Fsdkref\u002Flatest\u002Fguide\u002Faccess.html) configured to your target AWS account are required to deploy, and for some local development workflows\n\n### Getting Started\n\n1. Choose a package manager (pnpm is recommended)\n2. Choose an IaC provider (CDK is recommended)\n3. Create a new workspace using the `create_workspace_command` tool\n4. Start scaffolding with generators using `list_generators` and `generator_guide`\n\n### Quick Start Example\n\nTo create a new workspace and scaffold a React website with a tRPC API:\n\n```bash\n# Create workspace (pass `.` as the name to create in the current empty directory)\npnpm create @aws\u002Fnx-workspace my-app --no-interactive\n\n# Generate a tRPC API\npnpm nx g @aws\u002Fnx-plugin:ts#trpc-api --no-interactive --name=my-api\n\n# Generate a React website\npnpm nx g @aws\u002Fnx-plugin:ts#react-website --no-interactive --name=my-website\n\n# Connect the website to the API\npnpm nx g @aws\u002Fnx-plugin:connection --no-interactive --sourceProject=my-website --targetProject=my-api\n\n# Generate CDK infrastructure\npnpm nx g @aws\u002Fnx-plugin:ts#infra --no-interactive --name=infra\n```\n\nAlways prompt the user for what name they want to use when executing generators if a --name is a required argument. DO NOT ASSUME THE NAME.\n\n## Common Workflows\n\n### Workflow 1: Create a New Workspace\n\nUse the `create_workspace_command` tool with your preferred package manager. This generates the full command to create an Nx workspace pre-configured with the AWS plugin.\n\n```bash\npnpm create @aws\u002Fnx-workspace my-app --no-interactive\n```\n\nIf you are already inside an empty directory intended for this project, pass `.` as the workspace name to create the workspace in the current directory:\n\n```bash\npnpm create @aws\u002Fnx-workspace . --no-interactive\n```\n\nBe sure to ask the user what their preferred project name is, unless already within an empty directory intended for the project.\n\n### Workflow 2: Discover Available Generators\n\nUse the `list_generators` tool to see all available generators and their parameters. This returns the full list with descriptions and example commands.\n\n### Workflow 3: Get Detailed Generator Guidance\n\nUse the `generator_guide` tool with a specific generator name to get in-depth documentation including:\n\n- All parameters (required and optional)\n- Generated file structure\n- Post-generation steps\n- Best practices and tips\n\n### Workflow 4: Scaffold a Full-Stack Application\n\nA typical full-stack app involves:\n\n1. Create workspace\n2. Generate a backend API (`ts#trpc-api`, `ts#smithy-api`, or `py#fast-api`)\n3. Generate a React frontend (`ts#react-website`)\n4. Connect frontend to backend (`connection`)\n5. Generate CDK infrastructure (`ts#infra`)\n6. Optionally add auth (`ts#react-website#auth`)\n\n### Workflow 5: Add Components to Existing Projects\n\nAdd capabilities to existing projects:\n\n- `ts#lambda-function` \u002F `py#lambda-function` — Add Lambda functions\n- `ts#mcp-server` \u002F `py#mcp-server` — Add MCP servers\n- `ts#agent` \u002F `py#agent` — Add AI agents\n- `ts#nx-generator` — Add custom Nx generators\n\n## Available Generators\n\n| Generator            | Description                                                                                                        |\n| -------------------- | ------------------------------------------------------------------------------------------------------------------ |\n| `init`               | Configure an existing Nx workspace to use the @aws\u002Fnx-plugin                                                       |\n| `agentcore-gateway`  | Generate an AgentCore Gateway project                                                                              |\n| `connection`         | Integrates a source project with a target project                                                                  |\n| `license`            | Add LICENSE files and configure source code licence headers                                                        |\n| `py#api`             | Create a Python API                                                                                                |\n| `py#lambda-function` | Adds a lambda function to a python project                                                                         |\n| `py#mcp-server`      | Generate a Python Model Context Protocol (MCP) server for providing context to Large Language Models               |\n| `py#project`         | Generates a Python project                                                                                         |\n| `py#agent`           | Add an AI Agent to a Python project                                                                                |\n| `terraform#project`  | Generates a Terraform project                                                                                      |\n| `ts#docs`            | Generates a documentation site                                                                                     |\n| `ts#infra`           | Generates a cdk application                                                                                        |\n| `ts#lambda-function` | Generate a TypeScript lambda function                                                                              |\n| `ts#dcr-proxy`       | Generate an OAuth Dynamic Client Registration (DCR) proxy construct for Cognito-authenticated MCP servers          |\n| `ts#mcp-server`      | Generate a TypeScript Model Context Protocol (MCP) server for providing context to Large Language Models           |\n| `ts#nx-generator`    | Generator for adding an Nx Generator to an existing TypeScript project                                             |\n| `ts#nx-migration`    | Generator for adding an Nx Migration to an Nx Plugin, applied by nx migrate when users upgrade                     |\n| `ts#nx-plugin`       | Generate an Nx Plugin of your own! Build custom generators automatically made available for AI vibe-coding via MCP |\n| `ts#project`         | Generates a TypeScript project                                                                                     |\n| `ts#website`         | Generates a website application                                                                                    |\n| `ts#website#auth`    | Adds auth to an existing website                                                                                   |\n| `ts#agent`           | Add an AI Agent to a TypeScript project                                                                            |\n| `ts#api`             | Create a TypeScript API                                                                                            |\n| `ts#rdb`             | Create a relational database project                                                                               |\n| `ts#dynamodb`        | Create a TypeScript DynamoDB project                                                                               |\n| `py#dynamodb`        | Create a Python DynamoDB project                                                                                   |\n| `py#rdb`             | Create a Python relational database project                                                                        |\n\n## Best Practices\n\n- Always use `--no-interactive` flag when running generators programmatically\n- Use fully qualified project names (e.g. `@my-scope\u002Fmy-project`) when referencing projects\n- Run `nx sync` after adding dependencies between TypeScript projects\n- Install dependencies at the workspace root, not in individual projects\n- Use `nx reset` to reset the Nx daemon when unexpected issues arise\n- When running several generators in sequence, pass `--prefer-install-dependencies=false` on each to avoid a slow install after every generator, then install once at the end (or let the final generator install by omitting the flag)\n- After running generators, use `nx show projects` to verify what was created\n- Fix lint issues with `nx run-many --target lint --configuration=fix --all`\n- Generate all projects into the `packages\u002F` directory\n- Prefer pnpm as the package manager and CDK as the IaC provider\n\n## One-Shot Scaffolding\n\nWhen the user wants a full workspace created in one go, you can chain generators to minimize tool calls:\n\n- **Workspace creation** pass `--no-interactive` to avoid interactive prompts\n\n  ```bash\n  pnpm create @aws\u002Fnx-workspace my-app --iacProvider=CDK --no-interactive\n  ```\n\n- **Chain generators** with `&&` in a single Bash call after workspace creation. Pass `--prefer-install-dependencies=false` on each generator except the last so dependencies install once at the end, for example:\n\n  ```bash\n  cd my-app && \\\n    pnpm nx g @aws\u002Fnx-plugin:ts#trpc-api --no-interactive --name=my-app-api --auth=IAM --prefer-install-dependencies=false && \\\n    pnpm nx g @aws\u002Fnx-plugin:ts#react-website --no-interactive --name=my-app-website --uxProvider=Shadcn --prefer-install-dependencies=false && \\\n    pnpm nx g @aws\u002Fnx-plugin:ts#react-website#auth --no-interactive --project=@my-app\u002Fmy-app-website --cognitoDomain=my-app-auth --prefer-install-dependencies=false && \\\n    pnpm nx g @aws\u002Fnx-plugin:connection --no-interactive --sourceProject=@my-app\u002Fmy-app-website --targetProject=@my-app\u002Fmy-app-api --prefer-install-dependencies=false && \\\n    pnpm nx g @aws\u002Fnx-plugin:ts#infra --no-interactive --name=infra && \\\n    pnpm nx sync && \\\n    pnpm lint && \\\n    pnpm build\n  ```\n\n- **`--prefer-install-dependencies=false`** asks a generator to defer its dependency install so the batch installs once at the end (the final generator above omits the flag and installs everything).\n- Use a **timeout of 300000ms** (5 minutes) for workspace creation (downloads dependencies).\n- **`nx sync`** is required before building — generators modify TypeScript project references.\n\n## Troubleshooting\n\n### MCP Server Connection Issues\n\n**Problem:** MCP server won't start or connect\n**Solution:**\n\n1. Verify Node.js and npm are installed: `node --version && npm --version`\n2. Try running manually: `npx -y @aws\u002Fnx-plugin-mcp`\n3. If you get `ENOENT npx`, use the full path: replace `npx` with the output of `which npx`\n\n### Generator Fails\n\n**Problem:** Generator command fails with errors\n**Solution:**\n\n1. Ensure you're in an Nx workspace root directory\n2. Check that `@aws\u002Fnx-plugin` is installed: look for it in `package.json`\n3. Run `nx reset` to clear the Nx daemon cache\n4. Try running with `--verbose` flag for more details\n\n### TypeScript Import Errors\n\n**Problem:** Import errors after adding project dependencies\n**Solution:**\n\n1. Run `nx sync` to update TypeScript project references\n2. Check `tsconfig.base.json` for correct path aliases\n3. Remember TypeScript aliases use `:` prefix (e.g. `:my-scope\u002Fmy-lib`)\n\n### Python Dependency Issues\n\n**Problem:** Python imports not resolving\n**Solution:**\n\n1. Use `nx run \u003Cproject>:add \u003Cdependency>` to add dependencies\n2. Ensure UV is installed and `uv.lock` is up to date\n3. Check `pyproject.toml` for correct dependency declarations\n\n## Configuration\n\n**No additional configuration required** — the MCP server works out of the box via npx.\n\n**MCP Server:** `nx-plugin-for-aws`\n**Package:** `@aws\u002Fnx-plugin`\n**Documentation:** [https:\u002F\u002Fawslabs.github.io\u002Fnx-plugin-for-aws](https:\u002F\u002Fawslabs.github.io\u002Fnx-plugin-for-aws)\n",{"data":48,"body":49},{"name":4,"description":6},{"type":50,"children":51},"root",[52,60,67,82,87,92,122,128,135,307,313,358,364,369,621,626,632,638,650,680,693,724,729,735,746,752,763,786,792,797,880,886,891,960,966,1444,1450,1565,1571,1576,2002,2008,2014,2029,2081,2087,2100,2150,2156,2169,2216,2222,2235,2275,2281,2291,2329],{"type":53,"tag":54,"props":55,"children":56},"element","h1",{"id":4},[57],{"type":58,"value":59},"text","Nx Plugin for AWS",{"type":53,"tag":61,"props":62,"children":64},"h2",{"id":63},"overview",[65],{"type":58,"value":66},"Overview",{"type":53,"tag":68,"props":69,"children":70},"p",{},[71,73,80],{"type":58,"value":72},"The Nx Plugin for AWS (",{"type":53,"tag":74,"props":75,"children":77},"code",{"className":76},[],[78],{"type":58,"value":79},"@aws\u002Fnx-plugin",{"type":58,"value":81},") is a collection of generators that help you rapidly scaffold and build cloud-native applications on AWS. It provides end-to-end code generation from application code to CDK\u002FTerraform infrastructure, all following AWS best practices.",{"type":53,"tag":68,"props":83,"children":84},{},[85],{"type":58,"value":86},"This power gives AI assistants guided access to the MCP server so they can help you create workspaces, discover generators, and scaffold projects interactively.",{"type":53,"tag":68,"props":88,"children":89},{},[90],{"type":58,"value":91},"Key capabilities:",{"type":53,"tag":93,"props":94,"children":95},"ul",{},[96,102,107,112,117],{"type":53,"tag":97,"props":98,"children":99},"li",{},[100],{"type":58,"value":101},"Create new Nx workspaces configured for AWS development",{"type":53,"tag":97,"props":103,"children":104},{},[105],{"type":58,"value":106},"Scaffold TypeScript and Python projects, APIs, websites, and infrastructure",{"type":53,"tag":97,"props":108,"children":109},{},[110],{"type":58,"value":111},"Generate Lambda functions, MCP servers, Strands Agents, and more",{"type":53,"tag":97,"props":113,"children":114},{},[115],{"type":58,"value":116},"Connect projects together (e.g. frontend to backend)",{"type":53,"tag":97,"props":118,"children":119},{},[120],{"type":58,"value":121},"Manage licenses across your workspace",{"type":53,"tag":61,"props":123,"children":125},{"id":124},"onboarding",[126],{"type":58,"value":127},"Onboarding",{"type":53,"tag":129,"props":130,"children":132},"h3",{"id":131},"prerequisites",[133],{"type":58,"value":134},"Prerequisites",{"type":53,"tag":93,"props":136,"children":137},{},[138,150,185,259,295],{"type":53,"tag":97,"props":139,"children":140},{},[141],{"type":53,"tag":142,"props":143,"children":147},"a",{"href":144,"rel":145},"https:\u002F\u002Fgit-scm.com\u002Fbook\u002Fen\u002Fv2\u002FGetting-Started-Installing-Git",[146],"nofollow",[148],{"type":58,"value":149},"Git",{"type":53,"tag":97,"props":151,"children":152},{},[153,160,162,169,171],{"type":53,"tag":142,"props":154,"children":157},{"href":155,"rel":156},"https:\u002F\u002Fnodejs.org\u002Fen\u002Fdownload",[146],[158],{"type":58,"value":159},"Node >= 22",{"type":58,"value":161}," (We recommend using something like ",{"type":53,"tag":142,"props":163,"children":166},{"href":164,"rel":165},"https:\u002F\u002Fgithub.com\u002Fnvm-sh\u002Fnvm",[146],[167],{"type":58,"value":168},"NVM",{"type":58,"value":170}," to manage your node versions)\n",{"type":53,"tag":93,"props":172,"children":173},{},[174],{"type":53,"tag":97,"props":175,"children":176},{},[177,179],{"type":58,"value":178},"verify by running ",{"type":53,"tag":74,"props":180,"children":182},{"className":181},[],[183],{"type":58,"value":184},"node --version",{"type":53,"tag":97,"props":186,"children":187},{},[188,195,197,204,206,213,215,222,224],{"type":53,"tag":142,"props":189,"children":192},{"href":190,"rel":191},"https:\u002F\u002Fpnpm.io\u002Finstallation#using-npm",[146],[193],{"type":58,"value":194},"PNPM >= 11",{"type":58,"value":196}," (you can also use ",{"type":53,"tag":142,"props":198,"children":201},{"href":199,"rel":200},"https:\u002F\u002Fyarnpkg.com\u002Fgetting-started\u002Finstall",[146],[202],{"type":58,"value":203},"Yarn >= 4",{"type":58,"value":205},", ",{"type":53,"tag":142,"props":207,"children":210},{"href":208,"rel":209},"https:\u002F\u002Fbun.sh\u002Fdocs\u002Finstallation",[146],[211],{"type":58,"value":212},"Bun >= 1",{"type":58,"value":214},", or ",{"type":53,"tag":142,"props":216,"children":219},{"href":217,"rel":218},"https:\u002F\u002Fnodejs.org\u002Fen\u002Flearn\u002Fgetting-started\u002Fan-introduction-to-the-npm-package-manager",[146],[220],{"type":58,"value":221},"NPM >= 10",{"type":58,"value":223}," if you prefer)\n",{"type":53,"tag":93,"props":225,"children":226},{},[227],{"type":53,"tag":97,"props":228,"children":229},{},[230,231,237,238,244,245,251,253],{"type":58,"value":178},{"type":53,"tag":74,"props":232,"children":234},{"className":233},[],[235],{"type":58,"value":236},"pnpm --version",{"type":58,"value":205},{"type":53,"tag":74,"props":239,"children":241},{"className":240},[],[242],{"type":58,"value":243},"yarn --version",{"type":58,"value":205},{"type":53,"tag":74,"props":246,"children":248},{"className":247},[],[249],{"type":58,"value":250},"bun --version",{"type":58,"value":252}," or ",{"type":53,"tag":74,"props":254,"children":256},{"className":255},[],[257],{"type":58,"value":258},"npm --version",{"type":53,"tag":97,"props":260,"children":261},{},[262,269],{"type":53,"tag":142,"props":263,"children":266},{"href":264,"rel":265},"https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002Fgetting-started\u002Finstallation\u002F",[146],[267],{"type":58,"value":268},"UV >= 0.5.29",{"type":53,"tag":270,"props":271,"children":272},"ol",{},[273,284],{"type":53,"tag":97,"props":274,"children":275},{},[276,278],{"type":58,"value":277},"install Python 3.14 by running: ",{"type":53,"tag":74,"props":279,"children":281},{"className":280},[],[282],{"type":58,"value":283},"uv python install 3.14.0",{"type":53,"tag":97,"props":285,"children":286},{},[287,289],{"type":58,"value":288},"verify with ",{"type":53,"tag":74,"props":290,"children":292},{"className":291},[],[293],{"type":58,"value":294},"uv python list --only-installed",{"type":53,"tag":97,"props":296,"children":297},{},[298,305],{"type":53,"tag":142,"props":299,"children":302},{"href":300,"rel":301},"https:\u002F\u002Fdocs.aws.amazon.com\u002Fsdkref\u002Flatest\u002Fguide\u002Faccess.html",[146],[303],{"type":58,"value":304},"AWS Credentials",{"type":58,"value":306}," configured to your target AWS account are required to deploy, and for some local development workflows",{"type":53,"tag":129,"props":308,"children":310},{"id":309},"getting-started",[311],{"type":58,"value":312},"Getting Started",{"type":53,"tag":270,"props":314,"children":315},{},[316,321,326,339],{"type":53,"tag":97,"props":317,"children":318},{},[319],{"type":58,"value":320},"Choose a package manager (pnpm is recommended)",{"type":53,"tag":97,"props":322,"children":323},{},[324],{"type":58,"value":325},"Choose an IaC provider (CDK is recommended)",{"type":53,"tag":97,"props":327,"children":328},{},[329,331,337],{"type":58,"value":330},"Create a new workspace using the ",{"type":53,"tag":74,"props":332,"children":334},{"className":333},[],[335],{"type":58,"value":336},"create_workspace_command",{"type":58,"value":338}," tool",{"type":53,"tag":97,"props":340,"children":341},{},[342,344,350,352],{"type":58,"value":343},"Start scaffolding with generators using ",{"type":53,"tag":74,"props":345,"children":347},{"className":346},[],[348],{"type":58,"value":349},"list_generators",{"type":58,"value":351}," and ",{"type":53,"tag":74,"props":353,"children":355},{"className":354},[],[356],{"type":58,"value":357},"generator_guide",{"type":53,"tag":129,"props":359,"children":361},{"id":360},"quick-start-example",[362],{"type":58,"value":363},"Quick Start Example",{"type":53,"tag":68,"props":365,"children":366},{},[367],{"type":58,"value":368},"To create a new workspace and scaffold a React website with a tRPC API:",{"type":53,"tag":370,"props":371,"children":376},"pre",{"className":372,"code":373,"language":374,"meta":375,"style":375},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Create workspace (pass `.` as the name to create in the current empty directory)\npnpm create @aws\u002Fnx-workspace my-app --no-interactive\n\n# Generate a tRPC API\npnpm nx g @aws\u002Fnx-plugin:ts#trpc-api --no-interactive --name=my-api\n\n# Generate a React website\npnpm nx g @aws\u002Fnx-plugin:ts#react-website --no-interactive --name=my-website\n\n# Connect the website to the API\npnpm nx g @aws\u002Fnx-plugin:connection --no-interactive --sourceProject=my-website --targetProject=my-api\n\n# Generate CDK infrastructure\npnpm nx g @aws\u002Fnx-plugin:ts#infra --no-interactive --name=infra\n","bash","",[377],{"type":53,"tag":74,"props":378,"children":379},{"__ignoreMap":375},[380,392,423,433,442,475,483,492,522,530,539,574,582,591],{"type":53,"tag":381,"props":382,"children":385},"span",{"class":383,"line":384},"line",1,[386],{"type":53,"tag":381,"props":387,"children":389},{"style":388},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[390],{"type":58,"value":391},"# Create workspace (pass `.` as the name to create in the current empty directory)\n",{"type":53,"tag":381,"props":393,"children":395},{"class":383,"line":394},2,[396,402,408,413,418],{"type":53,"tag":381,"props":397,"children":399},{"style":398},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[400],{"type":58,"value":401},"pnpm",{"type":53,"tag":381,"props":403,"children":405},{"style":404},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[406],{"type":58,"value":407}," create",{"type":53,"tag":381,"props":409,"children":410},{"style":404},[411],{"type":58,"value":412}," @aws\u002Fnx-workspace",{"type":53,"tag":381,"props":414,"children":415},{"style":404},[416],{"type":58,"value":417}," my-app",{"type":53,"tag":381,"props":419,"children":420},{"style":404},[421],{"type":58,"value":422}," --no-interactive\n",{"type":53,"tag":381,"props":424,"children":426},{"class":383,"line":425},3,[427],{"type":53,"tag":381,"props":428,"children":430},{"emptyLinePlaceholder":429},true,[431],{"type":58,"value":432},"\n",{"type":53,"tag":381,"props":434,"children":436},{"class":383,"line":435},4,[437],{"type":53,"tag":381,"props":438,"children":439},{"style":388},[440],{"type":58,"value":441},"# Generate a tRPC API\n",{"type":53,"tag":381,"props":443,"children":445},{"class":383,"line":444},5,[446,450,455,460,465,470],{"type":53,"tag":381,"props":447,"children":448},{"style":398},[449],{"type":58,"value":401},{"type":53,"tag":381,"props":451,"children":452},{"style":404},[453],{"type":58,"value":454}," nx",{"type":53,"tag":381,"props":456,"children":457},{"style":404},[458],{"type":58,"value":459}," g",{"type":53,"tag":381,"props":461,"children":462},{"style":404},[463],{"type":58,"value":464}," @aws\u002Fnx-plugin:ts#trpc-api",{"type":53,"tag":381,"props":466,"children":467},{"style":404},[468],{"type":58,"value":469}," --no-interactive",{"type":53,"tag":381,"props":471,"children":472},{"style":404},[473],{"type":58,"value":474}," --name=my-api\n",{"type":53,"tag":381,"props":476,"children":478},{"class":383,"line":477},6,[479],{"type":53,"tag":381,"props":480,"children":481},{"emptyLinePlaceholder":429},[482],{"type":58,"value":432},{"type":53,"tag":381,"props":484,"children":486},{"class":383,"line":485},7,[487],{"type":53,"tag":381,"props":488,"children":489},{"style":388},[490],{"type":58,"value":491},"# Generate a React website\n",{"type":53,"tag":381,"props":493,"children":495},{"class":383,"line":494},8,[496,500,504,508,513,517],{"type":53,"tag":381,"props":497,"children":498},{"style":398},[499],{"type":58,"value":401},{"type":53,"tag":381,"props":501,"children":502},{"style":404},[503],{"type":58,"value":454},{"type":53,"tag":381,"props":505,"children":506},{"style":404},[507],{"type":58,"value":459},{"type":53,"tag":381,"props":509,"children":510},{"style":404},[511],{"type":58,"value":512}," @aws\u002Fnx-plugin:ts#react-website",{"type":53,"tag":381,"props":514,"children":515},{"style":404},[516],{"type":58,"value":469},{"type":53,"tag":381,"props":518,"children":519},{"style":404},[520],{"type":58,"value":521}," --name=my-website\n",{"type":53,"tag":381,"props":523,"children":525},{"class":383,"line":524},9,[526],{"type":53,"tag":381,"props":527,"children":528},{"emptyLinePlaceholder":429},[529],{"type":58,"value":432},{"type":53,"tag":381,"props":531,"children":533},{"class":383,"line":532},10,[534],{"type":53,"tag":381,"props":535,"children":536},{"style":388},[537],{"type":58,"value":538},"# Connect the website to the API\n",{"type":53,"tag":381,"props":540,"children":542},{"class":383,"line":541},11,[543,547,551,555,560,564,569],{"type":53,"tag":381,"props":544,"children":545},{"style":398},[546],{"type":58,"value":401},{"type":53,"tag":381,"props":548,"children":549},{"style":404},[550],{"type":58,"value":454},{"type":53,"tag":381,"props":552,"children":553},{"style":404},[554],{"type":58,"value":459},{"type":53,"tag":381,"props":556,"children":557},{"style":404},[558],{"type":58,"value":559}," @aws\u002Fnx-plugin:connection",{"type":53,"tag":381,"props":561,"children":562},{"style":404},[563],{"type":58,"value":469},{"type":53,"tag":381,"props":565,"children":566},{"style":404},[567],{"type":58,"value":568}," --sourceProject=my-website",{"type":53,"tag":381,"props":570,"children":571},{"style":404},[572],{"type":58,"value":573}," --targetProject=my-api\n",{"type":53,"tag":381,"props":575,"children":577},{"class":383,"line":576},12,[578],{"type":53,"tag":381,"props":579,"children":580},{"emptyLinePlaceholder":429},[581],{"type":58,"value":432},{"type":53,"tag":381,"props":583,"children":585},{"class":383,"line":584},13,[586],{"type":53,"tag":381,"props":587,"children":588},{"style":388},[589],{"type":58,"value":590},"# Generate CDK infrastructure\n",{"type":53,"tag":381,"props":592,"children":594},{"class":383,"line":593},14,[595,599,603,607,612,616],{"type":53,"tag":381,"props":596,"children":597},{"style":398},[598],{"type":58,"value":401},{"type":53,"tag":381,"props":600,"children":601},{"style":404},[602],{"type":58,"value":454},{"type":53,"tag":381,"props":604,"children":605},{"style":404},[606],{"type":58,"value":459},{"type":53,"tag":381,"props":608,"children":609},{"style":404},[610],{"type":58,"value":611}," @aws\u002Fnx-plugin:ts#infra",{"type":53,"tag":381,"props":613,"children":614},{"style":404},[615],{"type":58,"value":469},{"type":53,"tag":381,"props":617,"children":618},{"style":404},[619],{"type":58,"value":620}," --name=infra\n",{"type":53,"tag":68,"props":622,"children":623},{},[624],{"type":58,"value":625},"Always prompt the user for what name they want to use when executing generators if a --name is a required argument. DO NOT ASSUME THE NAME.",{"type":53,"tag":61,"props":627,"children":629},{"id":628},"common-workflows",[630],{"type":58,"value":631},"Common Workflows",{"type":53,"tag":129,"props":633,"children":635},{"id":634},"workflow-1-create-a-new-workspace",[636],{"type":58,"value":637},"Workflow 1: Create a New Workspace",{"type":53,"tag":68,"props":639,"children":640},{},[641,643,648],{"type":58,"value":642},"Use the ",{"type":53,"tag":74,"props":644,"children":646},{"className":645},[],[647],{"type":58,"value":336},{"type":58,"value":649}," tool with your preferred package manager. This generates the full command to create an Nx workspace pre-configured with the AWS plugin.",{"type":53,"tag":370,"props":651,"children":653},{"className":372,"code":652,"language":374,"meta":375,"style":375},"pnpm create @aws\u002Fnx-workspace my-app --no-interactive\n",[654],{"type":53,"tag":74,"props":655,"children":656},{"__ignoreMap":375},[657],{"type":53,"tag":381,"props":658,"children":659},{"class":383,"line":384},[660,664,668,672,676],{"type":53,"tag":381,"props":661,"children":662},{"style":398},[663],{"type":58,"value":401},{"type":53,"tag":381,"props":665,"children":666},{"style":404},[667],{"type":58,"value":407},{"type":53,"tag":381,"props":669,"children":670},{"style":404},[671],{"type":58,"value":412},{"type":53,"tag":381,"props":673,"children":674},{"style":404},[675],{"type":58,"value":417},{"type":53,"tag":381,"props":677,"children":678},{"style":404},[679],{"type":58,"value":422},{"type":53,"tag":68,"props":681,"children":682},{},[683,685,691],{"type":58,"value":684},"If you are already inside an empty directory intended for this project, pass ",{"type":53,"tag":74,"props":686,"children":688},{"className":687},[],[689],{"type":58,"value":690},".",{"type":58,"value":692}," as the workspace name to create the workspace in the current directory:",{"type":53,"tag":370,"props":694,"children":696},{"className":372,"code":695,"language":374,"meta":375,"style":375},"pnpm create @aws\u002Fnx-workspace . --no-interactive\n",[697],{"type":53,"tag":74,"props":698,"children":699},{"__ignoreMap":375},[700],{"type":53,"tag":381,"props":701,"children":702},{"class":383,"line":384},[703,707,711,715,720],{"type":53,"tag":381,"props":704,"children":705},{"style":398},[706],{"type":58,"value":401},{"type":53,"tag":381,"props":708,"children":709},{"style":404},[710],{"type":58,"value":407},{"type":53,"tag":381,"props":712,"children":713},{"style":404},[714],{"type":58,"value":412},{"type":53,"tag":381,"props":716,"children":717},{"style":404},[718],{"type":58,"value":719}," .",{"type":53,"tag":381,"props":721,"children":722},{"style":404},[723],{"type":58,"value":422},{"type":53,"tag":68,"props":725,"children":726},{},[727],{"type":58,"value":728},"Be sure to ask the user what their preferred project name is, unless already within an empty directory intended for the project.",{"type":53,"tag":129,"props":730,"children":732},{"id":731},"workflow-2-discover-available-generators",[733],{"type":58,"value":734},"Workflow 2: Discover Available Generators",{"type":53,"tag":68,"props":736,"children":737},{},[738,739,744],{"type":58,"value":642},{"type":53,"tag":74,"props":740,"children":742},{"className":741},[],[743],{"type":58,"value":349},{"type":58,"value":745}," tool to see all available generators and their parameters. This returns the full list with descriptions and example commands.",{"type":53,"tag":129,"props":747,"children":749},{"id":748},"workflow-3-get-detailed-generator-guidance",[750],{"type":58,"value":751},"Workflow 3: Get Detailed Generator Guidance",{"type":53,"tag":68,"props":753,"children":754},{},[755,756,761],{"type":58,"value":642},{"type":53,"tag":74,"props":757,"children":759},{"className":758},[],[760],{"type":58,"value":357},{"type":58,"value":762}," tool with a specific generator name to get in-depth documentation including:",{"type":53,"tag":93,"props":764,"children":765},{},[766,771,776,781],{"type":53,"tag":97,"props":767,"children":768},{},[769],{"type":58,"value":770},"All parameters (required and optional)",{"type":53,"tag":97,"props":772,"children":773},{},[774],{"type":58,"value":775},"Generated file structure",{"type":53,"tag":97,"props":777,"children":778},{},[779],{"type":58,"value":780},"Post-generation steps",{"type":53,"tag":97,"props":782,"children":783},{},[784],{"type":58,"value":785},"Best practices and tips",{"type":53,"tag":129,"props":787,"children":789},{"id":788},"workflow-4-scaffold-a-full-stack-application",[790],{"type":58,"value":791},"Workflow 4: Scaffold a Full-Stack Application",{"type":53,"tag":68,"props":793,"children":794},{},[795],{"type":58,"value":796},"A typical full-stack app involves:",{"type":53,"tag":270,"props":798,"children":799},{},[800,805,832,844,856,868],{"type":53,"tag":97,"props":801,"children":802},{},[803],{"type":58,"value":804},"Create workspace",{"type":53,"tag":97,"props":806,"children":807},{},[808,810,816,817,823,824,830],{"type":58,"value":809},"Generate a backend API (",{"type":53,"tag":74,"props":811,"children":813},{"className":812},[],[814],{"type":58,"value":815},"ts#trpc-api",{"type":58,"value":205},{"type":53,"tag":74,"props":818,"children":820},{"className":819},[],[821],{"type":58,"value":822},"ts#smithy-api",{"type":58,"value":214},{"type":53,"tag":74,"props":825,"children":827},{"className":826},[],[828],{"type":58,"value":829},"py#fast-api",{"type":58,"value":831},")",{"type":53,"tag":97,"props":833,"children":834},{},[835,837,843],{"type":58,"value":836},"Generate a React frontend (",{"type":53,"tag":74,"props":838,"children":840},{"className":839},[],[841],{"type":58,"value":842},"ts#react-website",{"type":58,"value":831},{"type":53,"tag":97,"props":845,"children":846},{},[847,849,855],{"type":58,"value":848},"Connect frontend to backend (",{"type":53,"tag":74,"props":850,"children":852},{"className":851},[],[853],{"type":58,"value":854},"connection",{"type":58,"value":831},{"type":53,"tag":97,"props":857,"children":858},{},[859,861,867],{"type":58,"value":860},"Generate CDK infrastructure (",{"type":53,"tag":74,"props":862,"children":864},{"className":863},[],[865],{"type":58,"value":866},"ts#infra",{"type":58,"value":831},{"type":53,"tag":97,"props":869,"children":870},{},[871,873,879],{"type":58,"value":872},"Optionally add auth (",{"type":53,"tag":74,"props":874,"children":876},{"className":875},[],[877],{"type":58,"value":878},"ts#react-website#auth",{"type":58,"value":831},{"type":53,"tag":129,"props":881,"children":883},{"id":882},"workflow-5-add-components-to-existing-projects",[884],{"type":58,"value":885},"Workflow 5: Add Components to Existing Projects",{"type":53,"tag":68,"props":887,"children":888},{},[889],{"type":58,"value":890},"Add capabilities to existing projects:",{"type":53,"tag":93,"props":892,"children":893},{},[894,913,931,949],{"type":53,"tag":97,"props":895,"children":896},{},[897,903,905,911],{"type":53,"tag":74,"props":898,"children":900},{"className":899},[],[901],{"type":58,"value":902},"ts#lambda-function",{"type":58,"value":904}," \u002F ",{"type":53,"tag":74,"props":906,"children":908},{"className":907},[],[909],{"type":58,"value":910},"py#lambda-function",{"type":58,"value":912}," — Add Lambda functions",{"type":53,"tag":97,"props":914,"children":915},{},[916,922,923,929],{"type":53,"tag":74,"props":917,"children":919},{"className":918},[],[920],{"type":58,"value":921},"ts#mcp-server",{"type":58,"value":904},{"type":53,"tag":74,"props":924,"children":926},{"className":925},[],[927],{"type":58,"value":928},"py#mcp-server",{"type":58,"value":930}," — Add MCP servers",{"type":53,"tag":97,"props":932,"children":933},{},[934,940,941,947],{"type":53,"tag":74,"props":935,"children":937},{"className":936},[],[938],{"type":58,"value":939},"ts#agent",{"type":58,"value":904},{"type":53,"tag":74,"props":942,"children":944},{"className":943},[],[945],{"type":58,"value":946},"py#agent",{"type":58,"value":948}," — Add AI agents",{"type":53,"tag":97,"props":950,"children":951},{},[952,958],{"type":53,"tag":74,"props":953,"children":955},{"className":954},[],[956],{"type":58,"value":957},"ts#nx-generator",{"type":58,"value":959}," — Add custom Nx generators",{"type":53,"tag":61,"props":961,"children":963},{"id":962},"available-generators",[964],{"type":58,"value":965},"Available Generators",{"type":53,"tag":967,"props":968,"children":969},"table",{},[970,989],{"type":53,"tag":971,"props":972,"children":973},"thead",{},[974],{"type":53,"tag":975,"props":976,"children":977},"tr",{},[978,984],{"type":53,"tag":979,"props":980,"children":981},"th",{},[982],{"type":58,"value":983},"Generator",{"type":53,"tag":979,"props":985,"children":986},{},[987],{"type":58,"value":988},"Description",{"type":53,"tag":990,"props":991,"children":992},"tbody",{},[993,1011,1028,1044,1061,1078,1094,1110,1127,1143,1160,1177,1193,1209,1226,1242,1258,1275,1292,1309,1326,1343,1359,1376,1393,1410,1427],{"type":53,"tag":975,"props":994,"children":995},{},[996,1006],{"type":53,"tag":997,"props":998,"children":999},"td",{},[1000],{"type":53,"tag":74,"props":1001,"children":1003},{"className":1002},[],[1004],{"type":58,"value":1005},"init",{"type":53,"tag":997,"props":1007,"children":1008},{},[1009],{"type":58,"value":1010},"Configure an existing Nx workspace to use the @aws\u002Fnx-plugin",{"type":53,"tag":975,"props":1012,"children":1013},{},[1014,1023],{"type":53,"tag":997,"props":1015,"children":1016},{},[1017],{"type":53,"tag":74,"props":1018,"children":1020},{"className":1019},[],[1021],{"type":58,"value":1022},"agentcore-gateway",{"type":53,"tag":997,"props":1024,"children":1025},{},[1026],{"type":58,"value":1027},"Generate an AgentCore Gateway project",{"type":53,"tag":975,"props":1029,"children":1030},{},[1031,1039],{"type":53,"tag":997,"props":1032,"children":1033},{},[1034],{"type":53,"tag":74,"props":1035,"children":1037},{"className":1036},[],[1038],{"type":58,"value":854},{"type":53,"tag":997,"props":1040,"children":1041},{},[1042],{"type":58,"value":1043},"Integrates a source project with a target project",{"type":53,"tag":975,"props":1045,"children":1046},{},[1047,1056],{"type":53,"tag":997,"props":1048,"children":1049},{},[1050],{"type":53,"tag":74,"props":1051,"children":1053},{"className":1052},[],[1054],{"type":58,"value":1055},"license",{"type":53,"tag":997,"props":1057,"children":1058},{},[1059],{"type":58,"value":1060},"Add LICENSE files and configure source code licence headers",{"type":53,"tag":975,"props":1062,"children":1063},{},[1064,1073],{"type":53,"tag":997,"props":1065,"children":1066},{},[1067],{"type":53,"tag":74,"props":1068,"children":1070},{"className":1069},[],[1071],{"type":58,"value":1072},"py#api",{"type":53,"tag":997,"props":1074,"children":1075},{},[1076],{"type":58,"value":1077},"Create a Python API",{"type":53,"tag":975,"props":1079,"children":1080},{},[1081,1089],{"type":53,"tag":997,"props":1082,"children":1083},{},[1084],{"type":53,"tag":74,"props":1085,"children":1087},{"className":1086},[],[1088],{"type":58,"value":910},{"type":53,"tag":997,"props":1090,"children":1091},{},[1092],{"type":58,"value":1093},"Adds a lambda function to a python project",{"type":53,"tag":975,"props":1095,"children":1096},{},[1097,1105],{"type":53,"tag":997,"props":1098,"children":1099},{},[1100],{"type":53,"tag":74,"props":1101,"children":1103},{"className":1102},[],[1104],{"type":58,"value":928},{"type":53,"tag":997,"props":1106,"children":1107},{},[1108],{"type":58,"value":1109},"Generate a Python Model Context Protocol (MCP) server for providing context to Large Language Models",{"type":53,"tag":975,"props":1111,"children":1112},{},[1113,1122],{"type":53,"tag":997,"props":1114,"children":1115},{},[1116],{"type":53,"tag":74,"props":1117,"children":1119},{"className":1118},[],[1120],{"type":58,"value":1121},"py#project",{"type":53,"tag":997,"props":1123,"children":1124},{},[1125],{"type":58,"value":1126},"Generates a Python project",{"type":53,"tag":975,"props":1128,"children":1129},{},[1130,1138],{"type":53,"tag":997,"props":1131,"children":1132},{},[1133],{"type":53,"tag":74,"props":1134,"children":1136},{"className":1135},[],[1137],{"type":58,"value":946},{"type":53,"tag":997,"props":1139,"children":1140},{},[1141],{"type":58,"value":1142},"Add an AI Agent to a Python project",{"type":53,"tag":975,"props":1144,"children":1145},{},[1146,1155],{"type":53,"tag":997,"props":1147,"children":1148},{},[1149],{"type":53,"tag":74,"props":1150,"children":1152},{"className":1151},[],[1153],{"type":58,"value":1154},"terraform#project",{"type":53,"tag":997,"props":1156,"children":1157},{},[1158],{"type":58,"value":1159},"Generates a Terraform project",{"type":53,"tag":975,"props":1161,"children":1162},{},[1163,1172],{"type":53,"tag":997,"props":1164,"children":1165},{},[1166],{"type":53,"tag":74,"props":1167,"children":1169},{"className":1168},[],[1170],{"type":58,"value":1171},"ts#docs",{"type":53,"tag":997,"props":1173,"children":1174},{},[1175],{"type":58,"value":1176},"Generates a documentation site",{"type":53,"tag":975,"props":1178,"children":1179},{},[1180,1188],{"type":53,"tag":997,"props":1181,"children":1182},{},[1183],{"type":53,"tag":74,"props":1184,"children":1186},{"className":1185},[],[1187],{"type":58,"value":866},{"type":53,"tag":997,"props":1189,"children":1190},{},[1191],{"type":58,"value":1192},"Generates a cdk application",{"type":53,"tag":975,"props":1194,"children":1195},{},[1196,1204],{"type":53,"tag":997,"props":1197,"children":1198},{},[1199],{"type":53,"tag":74,"props":1200,"children":1202},{"className":1201},[],[1203],{"type":58,"value":902},{"type":53,"tag":997,"props":1205,"children":1206},{},[1207],{"type":58,"value":1208},"Generate a TypeScript lambda function",{"type":53,"tag":975,"props":1210,"children":1211},{},[1212,1221],{"type":53,"tag":997,"props":1213,"children":1214},{},[1215],{"type":53,"tag":74,"props":1216,"children":1218},{"className":1217},[],[1219],{"type":58,"value":1220},"ts#dcr-proxy",{"type":53,"tag":997,"props":1222,"children":1223},{},[1224],{"type":58,"value":1225},"Generate an OAuth Dynamic Client Registration (DCR) proxy construct for Cognito-authenticated MCP servers",{"type":53,"tag":975,"props":1227,"children":1228},{},[1229,1237],{"type":53,"tag":997,"props":1230,"children":1231},{},[1232],{"type":53,"tag":74,"props":1233,"children":1235},{"className":1234},[],[1236],{"type":58,"value":921},{"type":53,"tag":997,"props":1238,"children":1239},{},[1240],{"type":58,"value":1241},"Generate a TypeScript Model Context Protocol (MCP) server for providing context to Large Language Models",{"type":53,"tag":975,"props":1243,"children":1244},{},[1245,1253],{"type":53,"tag":997,"props":1246,"children":1247},{},[1248],{"type":53,"tag":74,"props":1249,"children":1251},{"className":1250},[],[1252],{"type":58,"value":957},{"type":53,"tag":997,"props":1254,"children":1255},{},[1256],{"type":58,"value":1257},"Generator for adding an Nx Generator to an existing TypeScript project",{"type":53,"tag":975,"props":1259,"children":1260},{},[1261,1270],{"type":53,"tag":997,"props":1262,"children":1263},{},[1264],{"type":53,"tag":74,"props":1265,"children":1267},{"className":1266},[],[1268],{"type":58,"value":1269},"ts#nx-migration",{"type":53,"tag":997,"props":1271,"children":1272},{},[1273],{"type":58,"value":1274},"Generator for adding an Nx Migration to an Nx Plugin, applied by nx migrate when users upgrade",{"type":53,"tag":975,"props":1276,"children":1277},{},[1278,1287],{"type":53,"tag":997,"props":1279,"children":1280},{},[1281],{"type":53,"tag":74,"props":1282,"children":1284},{"className":1283},[],[1285],{"type":58,"value":1286},"ts#nx-plugin",{"type":53,"tag":997,"props":1288,"children":1289},{},[1290],{"type":58,"value":1291},"Generate an Nx Plugin of your own! Build custom generators automatically made available for AI vibe-coding via MCP",{"type":53,"tag":975,"props":1293,"children":1294},{},[1295,1304],{"type":53,"tag":997,"props":1296,"children":1297},{},[1298],{"type":53,"tag":74,"props":1299,"children":1301},{"className":1300},[],[1302],{"type":58,"value":1303},"ts#project",{"type":53,"tag":997,"props":1305,"children":1306},{},[1307],{"type":58,"value":1308},"Generates a TypeScript project",{"type":53,"tag":975,"props":1310,"children":1311},{},[1312,1321],{"type":53,"tag":997,"props":1313,"children":1314},{},[1315],{"type":53,"tag":74,"props":1316,"children":1318},{"className":1317},[],[1319],{"type":58,"value":1320},"ts#website",{"type":53,"tag":997,"props":1322,"children":1323},{},[1324],{"type":58,"value":1325},"Generates a website application",{"type":53,"tag":975,"props":1327,"children":1328},{},[1329,1338],{"type":53,"tag":997,"props":1330,"children":1331},{},[1332],{"type":53,"tag":74,"props":1333,"children":1335},{"className":1334},[],[1336],{"type":58,"value":1337},"ts#website#auth",{"type":53,"tag":997,"props":1339,"children":1340},{},[1341],{"type":58,"value":1342},"Adds auth to an existing website",{"type":53,"tag":975,"props":1344,"children":1345},{},[1346,1354],{"type":53,"tag":997,"props":1347,"children":1348},{},[1349],{"type":53,"tag":74,"props":1350,"children":1352},{"className":1351},[],[1353],{"type":58,"value":939},{"type":53,"tag":997,"props":1355,"children":1356},{},[1357],{"type":58,"value":1358},"Add an AI Agent to a TypeScript project",{"type":53,"tag":975,"props":1360,"children":1361},{},[1362,1371],{"type":53,"tag":997,"props":1363,"children":1364},{},[1365],{"type":53,"tag":74,"props":1366,"children":1368},{"className":1367},[],[1369],{"type":58,"value":1370},"ts#api",{"type":53,"tag":997,"props":1372,"children":1373},{},[1374],{"type":58,"value":1375},"Create a TypeScript API",{"type":53,"tag":975,"props":1377,"children":1378},{},[1379,1388],{"type":53,"tag":997,"props":1380,"children":1381},{},[1382],{"type":53,"tag":74,"props":1383,"children":1385},{"className":1384},[],[1386],{"type":58,"value":1387},"ts#rdb",{"type":53,"tag":997,"props":1389,"children":1390},{},[1391],{"type":58,"value":1392},"Create a relational database project",{"type":53,"tag":975,"props":1394,"children":1395},{},[1396,1405],{"type":53,"tag":997,"props":1397,"children":1398},{},[1399],{"type":53,"tag":74,"props":1400,"children":1402},{"className":1401},[],[1403],{"type":58,"value":1404},"ts#dynamodb",{"type":53,"tag":997,"props":1406,"children":1407},{},[1408],{"type":58,"value":1409},"Create a TypeScript DynamoDB project",{"type":53,"tag":975,"props":1411,"children":1412},{},[1413,1422],{"type":53,"tag":997,"props":1414,"children":1415},{},[1416],{"type":53,"tag":74,"props":1417,"children":1419},{"className":1418},[],[1420],{"type":58,"value":1421},"py#dynamodb",{"type":53,"tag":997,"props":1423,"children":1424},{},[1425],{"type":58,"value":1426},"Create a Python DynamoDB project",{"type":53,"tag":975,"props":1428,"children":1429},{},[1430,1439],{"type":53,"tag":997,"props":1431,"children":1432},{},[1433],{"type":53,"tag":74,"props":1434,"children":1436},{"className":1435},[],[1437],{"type":58,"value":1438},"py#rdb",{"type":53,"tag":997,"props":1440,"children":1441},{},[1442],{"type":58,"value":1443},"Create a Python relational database project",{"type":53,"tag":61,"props":1445,"children":1447},{"id":1446},"best-practices",[1448],{"type":58,"value":1449},"Best Practices",{"type":53,"tag":93,"props":1451,"children":1452},{},[1453,1466,1479,1492,1497,1510,1523,1536,1547,1560],{"type":53,"tag":97,"props":1454,"children":1455},{},[1456,1458,1464],{"type":58,"value":1457},"Always use ",{"type":53,"tag":74,"props":1459,"children":1461},{"className":1460},[],[1462],{"type":58,"value":1463},"--no-interactive",{"type":58,"value":1465}," flag when running generators programmatically",{"type":53,"tag":97,"props":1467,"children":1468},{},[1469,1471,1477],{"type":58,"value":1470},"Use fully qualified project names (e.g. ",{"type":53,"tag":74,"props":1472,"children":1474},{"className":1473},[],[1475],{"type":58,"value":1476},"@my-scope\u002Fmy-project",{"type":58,"value":1478},") when referencing projects",{"type":53,"tag":97,"props":1480,"children":1481},{},[1482,1484,1490],{"type":58,"value":1483},"Run ",{"type":53,"tag":74,"props":1485,"children":1487},{"className":1486},[],[1488],{"type":58,"value":1489},"nx sync",{"type":58,"value":1491}," after adding dependencies between TypeScript projects",{"type":53,"tag":97,"props":1493,"children":1494},{},[1495],{"type":58,"value":1496},"Install dependencies at the workspace root, not in individual projects",{"type":53,"tag":97,"props":1498,"children":1499},{},[1500,1502,1508],{"type":58,"value":1501},"Use ",{"type":53,"tag":74,"props":1503,"children":1505},{"className":1504},[],[1506],{"type":58,"value":1507},"nx reset",{"type":58,"value":1509}," to reset the Nx daemon when unexpected issues arise",{"type":53,"tag":97,"props":1511,"children":1512},{},[1513,1515,1521],{"type":58,"value":1514},"When running several generators in sequence, pass ",{"type":53,"tag":74,"props":1516,"children":1518},{"className":1517},[],[1519],{"type":58,"value":1520},"--prefer-install-dependencies=false",{"type":58,"value":1522}," on each to avoid a slow install after every generator, then install once at the end (or let the final generator install by omitting the flag)",{"type":53,"tag":97,"props":1524,"children":1525},{},[1526,1528,1534],{"type":58,"value":1527},"After running generators, use ",{"type":53,"tag":74,"props":1529,"children":1531},{"className":1530},[],[1532],{"type":58,"value":1533},"nx show projects",{"type":58,"value":1535}," to verify what was created",{"type":53,"tag":97,"props":1537,"children":1538},{},[1539,1541],{"type":58,"value":1540},"Fix lint issues with ",{"type":53,"tag":74,"props":1542,"children":1544},{"className":1543},[],[1545],{"type":58,"value":1546},"nx run-many --target lint --configuration=fix --all",{"type":53,"tag":97,"props":1548,"children":1549},{},[1550,1552,1558],{"type":58,"value":1551},"Generate all projects into the ",{"type":53,"tag":74,"props":1553,"children":1555},{"className":1554},[],[1556],{"type":58,"value":1557},"packages\u002F",{"type":58,"value":1559}," directory",{"type":53,"tag":97,"props":1561,"children":1562},{},[1563],{"type":58,"value":1564},"Prefer pnpm as the package manager and CDK as the IaC provider",{"type":53,"tag":61,"props":1566,"children":1568},{"id":1567},"one-shot-scaffolding",[1569],{"type":58,"value":1570},"One-Shot Scaffolding",{"type":53,"tag":68,"props":1572,"children":1573},{},[1574],{"type":58,"value":1575},"When the user wants a full workspace created in one go, you can chain generators to minimize tool calls:",{"type":53,"tag":93,"props":1577,"children":1578},{},[1579,1632,1964,1977,1989],{"type":53,"tag":97,"props":1580,"children":1581},{},[1582,1588,1590,1595,1597],{"type":53,"tag":1583,"props":1584,"children":1585},"strong",{},[1586],{"type":58,"value":1587},"Workspace creation",{"type":58,"value":1589}," pass ",{"type":53,"tag":74,"props":1591,"children":1593},{"className":1592},[],[1594],{"type":58,"value":1463},{"type":58,"value":1596}," to avoid interactive prompts",{"type":53,"tag":370,"props":1598,"children":1600},{"className":372,"code":1599,"language":374,"meta":375,"style":375},"pnpm create @aws\u002Fnx-workspace my-app --iacProvider=CDK --no-interactive\n",[1601],{"type":53,"tag":74,"props":1602,"children":1603},{"__ignoreMap":375},[1604],{"type":53,"tag":381,"props":1605,"children":1606},{"class":383,"line":384},[1607,1611,1615,1619,1623,1628],{"type":53,"tag":381,"props":1608,"children":1609},{"style":398},[1610],{"type":58,"value":401},{"type":53,"tag":381,"props":1612,"children":1613},{"style":404},[1614],{"type":58,"value":407},{"type":53,"tag":381,"props":1616,"children":1617},{"style":404},[1618],{"type":58,"value":412},{"type":53,"tag":381,"props":1620,"children":1621},{"style":404},[1622],{"type":58,"value":417},{"type":53,"tag":381,"props":1624,"children":1625},{"style":404},[1626],{"type":58,"value":1627}," --iacProvider=CDK",{"type":53,"tag":381,"props":1629,"children":1630},{"style":404},[1631],{"type":58,"value":422},{"type":53,"tag":97,"props":1633,"children":1634},{},[1635,1640,1642,1648,1650,1655,1657],{"type":53,"tag":1583,"props":1636,"children":1637},{},[1638],{"type":58,"value":1639},"Chain generators",{"type":58,"value":1641}," with ",{"type":53,"tag":74,"props":1643,"children":1645},{"className":1644},[],[1646],{"type":58,"value":1647},"&&",{"type":58,"value":1649}," in a single Bash call after workspace creation. Pass ",{"type":53,"tag":74,"props":1651,"children":1653},{"className":1652},[],[1654],{"type":58,"value":1520},{"type":58,"value":1656}," on each generator except the last so dependencies install once at the end, for example:",{"type":53,"tag":370,"props":1658,"children":1660},{"className":372,"code":1659,"language":374,"meta":375,"style":375},"cd my-app && \\\n  pnpm nx g @aws\u002Fnx-plugin:ts#trpc-api --no-interactive --name=my-app-api --auth=IAM --prefer-install-dependencies=false && \\\n  pnpm nx g @aws\u002Fnx-plugin:ts#react-website --no-interactive --name=my-app-website --uxProvider=Shadcn --prefer-install-dependencies=false && \\\n  pnpm nx g @aws\u002Fnx-plugin:ts#react-website#auth --no-interactive --project=@my-app\u002Fmy-app-website --cognitoDomain=my-app-auth --prefer-install-dependencies=false && \\\n  pnpm nx g @aws\u002Fnx-plugin:connection --no-interactive --sourceProject=@my-app\u002Fmy-app-website --targetProject=@my-app\u002Fmy-app-api --prefer-install-dependencies=false && \\\n  pnpm nx g @aws\u002Fnx-plugin:ts#infra --no-interactive --name=infra && \\\n  pnpm nx sync && \\\n  pnpm lint && \\\n  pnpm build\n",[1661],{"type":53,"tag":74,"props":1662,"children":1663},{"__ignoreMap":375},[1664,1689,1736,1781,1827,1872,1908,1932,1952],{"type":53,"tag":381,"props":1665,"children":1666},{"class":383,"line":384},[1667,1673,1677,1683],{"type":53,"tag":381,"props":1668,"children":1670},{"style":1669},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[1671],{"type":58,"value":1672},"cd",{"type":53,"tag":381,"props":1674,"children":1675},{"style":404},[1676],{"type":58,"value":417},{"type":53,"tag":381,"props":1678,"children":1680},{"style":1679},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[1681],{"type":58,"value":1682}," &&",{"type":53,"tag":381,"props":1684,"children":1686},{"style":1685},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[1687],{"type":58,"value":1688}," \\\n",{"type":53,"tag":381,"props":1690,"children":1691},{"class":383,"line":394},[1692,1697,1701,1705,1709,1713,1718,1723,1728,1732],{"type":53,"tag":381,"props":1693,"children":1694},{"style":398},[1695],{"type":58,"value":1696},"  pnpm",{"type":53,"tag":381,"props":1698,"children":1699},{"style":404},[1700],{"type":58,"value":454},{"type":53,"tag":381,"props":1702,"children":1703},{"style":404},[1704],{"type":58,"value":459},{"type":53,"tag":381,"props":1706,"children":1707},{"style":404},[1708],{"type":58,"value":464},{"type":53,"tag":381,"props":1710,"children":1711},{"style":404},[1712],{"type":58,"value":469},{"type":53,"tag":381,"props":1714,"children":1715},{"style":404},[1716],{"type":58,"value":1717}," --name=my-app-api",{"type":53,"tag":381,"props":1719,"children":1720},{"style":404},[1721],{"type":58,"value":1722}," --auth=IAM",{"type":53,"tag":381,"props":1724,"children":1725},{"style":404},[1726],{"type":58,"value":1727}," --prefer-install-dependencies=false",{"type":53,"tag":381,"props":1729,"children":1730},{"style":1679},[1731],{"type":58,"value":1682},{"type":53,"tag":381,"props":1733,"children":1734},{"style":1685},[1735],{"type":58,"value":1688},{"type":53,"tag":381,"props":1737,"children":1738},{"class":383,"line":425},[1739,1743,1747,1751,1755,1759,1764,1769,1773,1777],{"type":53,"tag":381,"props":1740,"children":1741},{"style":398},[1742],{"type":58,"value":1696},{"type":53,"tag":381,"props":1744,"children":1745},{"style":404},[1746],{"type":58,"value":454},{"type":53,"tag":381,"props":1748,"children":1749},{"style":404},[1750],{"type":58,"value":459},{"type":53,"tag":381,"props":1752,"children":1753},{"style":404},[1754],{"type":58,"value":512},{"type":53,"tag":381,"props":1756,"children":1757},{"style":404},[1758],{"type":58,"value":469},{"type":53,"tag":381,"props":1760,"children":1761},{"style":404},[1762],{"type":58,"value":1763}," --name=my-app-website",{"type":53,"tag":381,"props":1765,"children":1766},{"style":404},[1767],{"type":58,"value":1768}," --uxProvider=Shadcn",{"type":53,"tag":381,"props":1770,"children":1771},{"style":404},[1772],{"type":58,"value":1727},{"type":53,"tag":381,"props":1774,"children":1775},{"style":1679},[1776],{"type":58,"value":1682},{"type":53,"tag":381,"props":1778,"children":1779},{"style":1685},[1780],{"type":58,"value":1688},{"type":53,"tag":381,"props":1782,"children":1783},{"class":383,"line":435},[1784,1788,1792,1796,1801,1805,1810,1815,1819,1823],{"type":53,"tag":381,"props":1785,"children":1786},{"style":398},[1787],{"type":58,"value":1696},{"type":53,"tag":381,"props":1789,"children":1790},{"style":404},[1791],{"type":58,"value":454},{"type":53,"tag":381,"props":1793,"children":1794},{"style":404},[1795],{"type":58,"value":459},{"type":53,"tag":381,"props":1797,"children":1798},{"style":404},[1799],{"type":58,"value":1800}," @aws\u002Fnx-plugin:ts#react-website#auth",{"type":53,"tag":381,"props":1802,"children":1803},{"style":404},[1804],{"type":58,"value":469},{"type":53,"tag":381,"props":1806,"children":1807},{"style":404},[1808],{"type":58,"value":1809}," --project=@my-app\u002Fmy-app-website",{"type":53,"tag":381,"props":1811,"children":1812},{"style":404},[1813],{"type":58,"value":1814}," --cognitoDomain=my-app-auth",{"type":53,"tag":381,"props":1816,"children":1817},{"style":404},[1818],{"type":58,"value":1727},{"type":53,"tag":381,"props":1820,"children":1821},{"style":1679},[1822],{"type":58,"value":1682},{"type":53,"tag":381,"props":1824,"children":1825},{"style":1685},[1826],{"type":58,"value":1688},{"type":53,"tag":381,"props":1828,"children":1829},{"class":383,"line":444},[1830,1834,1838,1842,1846,1850,1855,1860,1864,1868],{"type":53,"tag":381,"props":1831,"children":1832},{"style":398},[1833],{"type":58,"value":1696},{"type":53,"tag":381,"props":1835,"children":1836},{"style":404},[1837],{"type":58,"value":454},{"type":53,"tag":381,"props":1839,"children":1840},{"style":404},[1841],{"type":58,"value":459},{"type":53,"tag":381,"props":1843,"children":1844},{"style":404},[1845],{"type":58,"value":559},{"type":53,"tag":381,"props":1847,"children":1848},{"style":404},[1849],{"type":58,"value":469},{"type":53,"tag":381,"props":1851,"children":1852},{"style":404},[1853],{"type":58,"value":1854}," --sourceProject=@my-app\u002Fmy-app-website",{"type":53,"tag":381,"props":1856,"children":1857},{"style":404},[1858],{"type":58,"value":1859}," --targetProject=@my-app\u002Fmy-app-api",{"type":53,"tag":381,"props":1861,"children":1862},{"style":404},[1863],{"type":58,"value":1727},{"type":53,"tag":381,"props":1865,"children":1866},{"style":1679},[1867],{"type":58,"value":1682},{"type":53,"tag":381,"props":1869,"children":1870},{"style":1685},[1871],{"type":58,"value":1688},{"type":53,"tag":381,"props":1873,"children":1874},{"class":383,"line":477},[1875,1879,1883,1887,1891,1895,1900,1904],{"type":53,"tag":381,"props":1876,"children":1877},{"style":398},[1878],{"type":58,"value":1696},{"type":53,"tag":381,"props":1880,"children":1881},{"style":404},[1882],{"type":58,"value":454},{"type":53,"tag":381,"props":1884,"children":1885},{"style":404},[1886],{"type":58,"value":459},{"type":53,"tag":381,"props":1888,"children":1889},{"style":404},[1890],{"type":58,"value":611},{"type":53,"tag":381,"props":1892,"children":1893},{"style":404},[1894],{"type":58,"value":469},{"type":53,"tag":381,"props":1896,"children":1897},{"style":404},[1898],{"type":58,"value":1899}," --name=infra",{"type":53,"tag":381,"props":1901,"children":1902},{"style":1679},[1903],{"type":58,"value":1682},{"type":53,"tag":381,"props":1905,"children":1906},{"style":1685},[1907],{"type":58,"value":1688},{"type":53,"tag":381,"props":1909,"children":1910},{"class":383,"line":485},[1911,1915,1919,1924,1928],{"type":53,"tag":381,"props":1912,"children":1913},{"style":398},[1914],{"type":58,"value":1696},{"type":53,"tag":381,"props":1916,"children":1917},{"style":404},[1918],{"type":58,"value":454},{"type":53,"tag":381,"props":1920,"children":1921},{"style":404},[1922],{"type":58,"value":1923}," sync",{"type":53,"tag":381,"props":1925,"children":1926},{"style":1679},[1927],{"type":58,"value":1682},{"type":53,"tag":381,"props":1929,"children":1930},{"style":1685},[1931],{"type":58,"value":1688},{"type":53,"tag":381,"props":1933,"children":1934},{"class":383,"line":494},[1935,1939,1944,1948],{"type":53,"tag":381,"props":1936,"children":1937},{"style":398},[1938],{"type":58,"value":1696},{"type":53,"tag":381,"props":1940,"children":1941},{"style":404},[1942],{"type":58,"value":1943}," lint",{"type":53,"tag":381,"props":1945,"children":1946},{"style":1679},[1947],{"type":58,"value":1682},{"type":53,"tag":381,"props":1949,"children":1950},{"style":1685},[1951],{"type":58,"value":1688},{"type":53,"tag":381,"props":1953,"children":1954},{"class":383,"line":524},[1955,1959],{"type":53,"tag":381,"props":1956,"children":1957},{"style":398},[1958],{"type":58,"value":1696},{"type":53,"tag":381,"props":1960,"children":1961},{"style":404},[1962],{"type":58,"value":1963}," build\n",{"type":53,"tag":97,"props":1965,"children":1966},{},[1967,1975],{"type":53,"tag":1583,"props":1968,"children":1969},{},[1970],{"type":53,"tag":74,"props":1971,"children":1973},{"className":1972},[],[1974],{"type":58,"value":1520},{"type":58,"value":1976}," asks a generator to defer its dependency install so the batch installs once at the end (the final generator above omits the flag and installs everything).",{"type":53,"tag":97,"props":1978,"children":1979},{},[1980,1982,1987],{"type":58,"value":1981},"Use a ",{"type":53,"tag":1583,"props":1983,"children":1984},{},[1985],{"type":58,"value":1986},"timeout of 300000ms",{"type":58,"value":1988}," (5 minutes) for workspace creation (downloads dependencies).",{"type":53,"tag":97,"props":1990,"children":1991},{},[1992,2000],{"type":53,"tag":1583,"props":1993,"children":1994},{},[1995],{"type":53,"tag":74,"props":1996,"children":1998},{"className":1997},[],[1999],{"type":58,"value":1489},{"type":58,"value":2001}," is required before building — generators modify TypeScript project references.",{"type":53,"tag":61,"props":2003,"children":2005},{"id":2004},"troubleshooting",[2006],{"type":58,"value":2007},"Troubleshooting",{"type":53,"tag":129,"props":2009,"children":2011},{"id":2010},"mcp-server-connection-issues",[2012],{"type":58,"value":2013},"MCP Server Connection Issues",{"type":53,"tag":68,"props":2015,"children":2016},{},[2017,2022,2024],{"type":53,"tag":1583,"props":2018,"children":2019},{},[2020],{"type":58,"value":2021},"Problem:",{"type":58,"value":2023}," MCP server won't start or connect\n",{"type":53,"tag":1583,"props":2025,"children":2026},{},[2027],{"type":58,"value":2028},"Solution:",{"type":53,"tag":270,"props":2030,"children":2031},{},[2032,2043,2054],{"type":53,"tag":97,"props":2033,"children":2034},{},[2035,2037],{"type":58,"value":2036},"Verify Node.js and npm are installed: ",{"type":53,"tag":74,"props":2038,"children":2040},{"className":2039},[],[2041],{"type":58,"value":2042},"node --version && npm --version",{"type":53,"tag":97,"props":2044,"children":2045},{},[2046,2048],{"type":58,"value":2047},"Try running manually: ",{"type":53,"tag":74,"props":2049,"children":2051},{"className":2050},[],[2052],{"type":58,"value":2053},"npx -y @aws\u002Fnx-plugin-mcp",{"type":53,"tag":97,"props":2055,"children":2056},{},[2057,2059,2065,2067,2073,2075],{"type":58,"value":2058},"If you get ",{"type":53,"tag":74,"props":2060,"children":2062},{"className":2061},[],[2063],{"type":58,"value":2064},"ENOENT npx",{"type":58,"value":2066},", use the full path: replace ",{"type":53,"tag":74,"props":2068,"children":2070},{"className":2069},[],[2071],{"type":58,"value":2072},"npx",{"type":58,"value":2074}," with the output of ",{"type":53,"tag":74,"props":2076,"children":2078},{"className":2077},[],[2079],{"type":58,"value":2080},"which npx",{"type":53,"tag":129,"props":2082,"children":2084},{"id":2083},"generator-fails",[2085],{"type":58,"value":2086},"Generator Fails",{"type":53,"tag":68,"props":2088,"children":2089},{},[2090,2094,2096],{"type":53,"tag":1583,"props":2091,"children":2092},{},[2093],{"type":58,"value":2021},{"type":58,"value":2095}," Generator command fails with errors\n",{"type":53,"tag":1583,"props":2097,"children":2098},{},[2099],{"type":58,"value":2028},{"type":53,"tag":270,"props":2101,"children":2102},{},[2103,2108,2126,2137],{"type":53,"tag":97,"props":2104,"children":2105},{},[2106],{"type":58,"value":2107},"Ensure you're in an Nx workspace root directory",{"type":53,"tag":97,"props":2109,"children":2110},{},[2111,2113,2118,2120],{"type":58,"value":2112},"Check that ",{"type":53,"tag":74,"props":2114,"children":2116},{"className":2115},[],[2117],{"type":58,"value":79},{"type":58,"value":2119}," is installed: look for it in ",{"type":53,"tag":74,"props":2121,"children":2123},{"className":2122},[],[2124],{"type":58,"value":2125},"package.json",{"type":53,"tag":97,"props":2127,"children":2128},{},[2129,2130,2135],{"type":58,"value":1483},{"type":53,"tag":74,"props":2131,"children":2133},{"className":2132},[],[2134],{"type":58,"value":1507},{"type":58,"value":2136}," to clear the Nx daemon cache",{"type":53,"tag":97,"props":2138,"children":2139},{},[2140,2142,2148],{"type":58,"value":2141},"Try running with ",{"type":53,"tag":74,"props":2143,"children":2145},{"className":2144},[],[2146],{"type":58,"value":2147},"--verbose",{"type":58,"value":2149}," flag for more details",{"type":53,"tag":129,"props":2151,"children":2153},{"id":2152},"typescript-import-errors",[2154],{"type":58,"value":2155},"TypeScript Import Errors",{"type":53,"tag":68,"props":2157,"children":2158},{},[2159,2163,2165],{"type":53,"tag":1583,"props":2160,"children":2161},{},[2162],{"type":58,"value":2021},{"type":58,"value":2164}," Import errors after adding project dependencies\n",{"type":53,"tag":1583,"props":2166,"children":2167},{},[2168],{"type":58,"value":2028},{"type":53,"tag":270,"props":2170,"children":2171},{},[2172,2183,2196],{"type":53,"tag":97,"props":2173,"children":2174},{},[2175,2176,2181],{"type":58,"value":1483},{"type":53,"tag":74,"props":2177,"children":2179},{"className":2178},[],[2180],{"type":58,"value":1489},{"type":58,"value":2182}," to update TypeScript project references",{"type":53,"tag":97,"props":2184,"children":2185},{},[2186,2188,2194],{"type":58,"value":2187},"Check ",{"type":53,"tag":74,"props":2189,"children":2191},{"className":2190},[],[2192],{"type":58,"value":2193},"tsconfig.base.json",{"type":58,"value":2195}," for correct path aliases",{"type":53,"tag":97,"props":2197,"children":2198},{},[2199,2201,2207,2209,2215],{"type":58,"value":2200},"Remember TypeScript aliases use ",{"type":53,"tag":74,"props":2202,"children":2204},{"className":2203},[],[2205],{"type":58,"value":2206},":",{"type":58,"value":2208}," prefix (e.g. ",{"type":53,"tag":74,"props":2210,"children":2212},{"className":2211},[],[2213],{"type":58,"value":2214},":my-scope\u002Fmy-lib",{"type":58,"value":831},{"type":53,"tag":129,"props":2217,"children":2219},{"id":2218},"python-dependency-issues",[2220],{"type":58,"value":2221},"Python Dependency Issues",{"type":53,"tag":68,"props":2223,"children":2224},{},[2225,2229,2231],{"type":53,"tag":1583,"props":2226,"children":2227},{},[2228],{"type":58,"value":2021},{"type":58,"value":2230}," Python imports not resolving\n",{"type":53,"tag":1583,"props":2232,"children":2233},{},[2234],{"type":58,"value":2028},{"type":53,"tag":270,"props":2236,"children":2237},{},[2238,2250,2263],{"type":53,"tag":97,"props":2239,"children":2240},{},[2241,2242,2248],{"type":58,"value":1501},{"type":53,"tag":74,"props":2243,"children":2245},{"className":2244},[],[2246],{"type":58,"value":2247},"nx run \u003Cproject>:add \u003Cdependency>",{"type":58,"value":2249}," to add dependencies",{"type":53,"tag":97,"props":2251,"children":2252},{},[2253,2255,2261],{"type":58,"value":2254},"Ensure UV is installed and ",{"type":53,"tag":74,"props":2256,"children":2258},{"className":2257},[],[2259],{"type":58,"value":2260},"uv.lock",{"type":58,"value":2262}," is up to date",{"type":53,"tag":97,"props":2264,"children":2265},{},[2266,2267,2273],{"type":58,"value":2187},{"type":53,"tag":74,"props":2268,"children":2270},{"className":2269},[],[2271],{"type":58,"value":2272},"pyproject.toml",{"type":58,"value":2274}," for correct dependency declarations",{"type":53,"tag":61,"props":2276,"children":2278},{"id":2277},"configuration",[2279],{"type":58,"value":2280},"Configuration",{"type":53,"tag":68,"props":2282,"children":2283},{},[2284,2289],{"type":53,"tag":1583,"props":2285,"children":2286},{},[2287],{"type":58,"value":2288},"No additional configuration required",{"type":58,"value":2290}," — the MCP server works out of the box via npx.",{"type":53,"tag":68,"props":2292,"children":2293},{},[2294,2299,2301,2306,2311,2312,2317,2322,2323],{"type":53,"tag":1583,"props":2295,"children":2296},{},[2297],{"type":58,"value":2298},"MCP Server:",{"type":58,"value":2300}," ",{"type":53,"tag":74,"props":2302,"children":2304},{"className":2303},[],[2305],{"type":58,"value":4},{"type":53,"tag":1583,"props":2307,"children":2308},{},[2309],{"type":58,"value":2310},"Package:",{"type":58,"value":2300},{"type":53,"tag":74,"props":2313,"children":2315},{"className":2314},[],[2316],{"type":58,"value":79},{"type":53,"tag":1583,"props":2318,"children":2319},{},[2320],{"type":58,"value":2321},"Documentation:",{"type":58,"value":2300},{"type":53,"tag":142,"props":2324,"children":2327},{"href":2325,"rel":2326},"https:\u002F\u002Fawslabs.github.io\u002Fnx-plugin-for-aws",[146],[2328],{"type":58,"value":2325},{"type":53,"tag":2330,"props":2331,"children":2332},"style",{},[2333],{"type":58,"value":2334},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":2336,"total":384},[2337],{"slug":4,"name":4,"fn":5,"description":6,"org":2338,"tags":2339,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2340,2341,2342],{"name":21,"slug":22,"type":16},{"name":14,"slug":15,"type":16},{"name":18,"slug":19,"type":16},{"items":2344,"total":2522},[2345,2364,2385,2395,2408,2421,2431,2441,2462,2477,2492,2507],{"slug":2346,"name":2346,"fn":2347,"description":2348,"org":2349,"tags":2350,"stars":2361,"repoUrl":2362,"updatedAt":2363},"agentcore-investigation","investigate Bedrock AgentCore runtime sessions","Investigate Bedrock AgentCore runtime sessions via CloudWatch Logs Insights — resolve session\u002Ftrace IDs, query OTEL spans, filter noise, build timelines. Use when debugging AgentCore agent sessions, tracing tool calls, or analyzing latency.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2351,2352,2355,2358],{"name":21,"slug":22,"type":16},{"name":2353,"slug":2354,"type":16},"Debugging","debugging",{"name":2356,"slug":2357,"type":16},"Logs","logs",{"name":2359,"slug":2360,"type":16},"Observability","observability",9427,"https:\u002F\u002Fgithub.com\u002Fawslabs\u002Fmcp","2026-07-12T08:37:22.601527",{"slug":2365,"name":2366,"fn":2367,"description":2368,"org":2369,"tags":2370,"stars":2361,"repoUrl":2362,"updatedAt":2384},"amazon-aurora-dsql","amazon aurora dsql","build applications with Aurora DSQL","Build with Aurora DSQL — manage schemas, execute queries, handle migrations, diagnose query plans, load data, and develop applications with a serverless, distributed SQL database. Covers IAM auth, multi-tenant patterns, MySQL-to-DSQL and PostgreSQL-to-DSQL schema conversion, FK replacement code generation, OCC retry patterns, ORM migration (Django\u002FHibernate\u002FRails), DDL operations, query plan explainability, SQL compatibility validation, and bulk data loading. Triggers on phrases like: DSQL, Aurora DSQL, create DSQL table, DSQL schema, migrate to DSQL, distributed SQL database, serverless PostgreSQL-compatible database, DSQL query plan, DSQL EXPLAIN ANALYZE, why is my DSQL query slow, DSQL foreign key, DSQL OCC retry, DSQL multi-region, load into DSQL, load CSV into DSQL, bulk load DSQL, aurora-dsql-loader.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2371,2374,2375,2378,2381],{"name":2372,"slug":2373,"type":16},"Aurora","aurora",{"name":21,"slug":22,"type":16},{"name":2376,"slug":2377,"type":16},"Database","database",{"name":2379,"slug":2380,"type":16},"Serverless","serverless",{"name":2382,"slug":2383,"type":16},"SQL","sql","2026-07-12T08:36:45.053393",{"slug":2386,"name":2387,"fn":2367,"description":2368,"org":2388,"tags":2389,"stars":2361,"repoUrl":2362,"updatedAt":2394},"aurora-dsql","aurora dsql",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2390,2391,2392,2393],{"name":21,"slug":22,"type":16},{"name":2376,"slug":2377,"type":16},{"name":2379,"slug":2380,"type":16},{"name":2382,"slug":2383,"type":16},"2026-07-12T08:36:42.694299",{"slug":2396,"name":2397,"fn":2367,"description":2368,"org":2398,"tags":2399,"stars":2361,"repoUrl":2362,"updatedAt":2407},"aws-dsql","aws dsql",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2400,2401,2402,2405,2406],{"name":21,"slug":22,"type":16},{"name":2376,"slug":2377,"type":16},{"name":2403,"slug":2404,"type":16},"Migration","migration",{"name":2379,"slug":2380,"type":16},{"name":2382,"slug":2383,"type":16},"2026-07-12T08:36:38.584057",{"slug":2409,"name":2410,"fn":2367,"description":2368,"org":2411,"tags":2412,"stars":2361,"repoUrl":2362,"updatedAt":2420},"distributed-postgres","distributed postgres",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2413,2414,2415,2418,2419],{"name":21,"slug":22,"type":16},{"name":2376,"slug":2377,"type":16},{"name":2416,"slug":2417,"type":16},"PostgreSQL","postgresql",{"name":2379,"slug":2380,"type":16},{"name":2382,"slug":2383,"type":16},"2026-07-12T08:36:46.530743",{"slug":2422,"name":2423,"fn":2367,"description":2368,"org":2424,"tags":2425,"stars":2361,"repoUrl":2362,"updatedAt":2430},"distributed-sql","distributed sql",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2426,2427,2428,2429],{"name":21,"slug":22,"type":16},{"name":2376,"slug":2377,"type":16},{"name":2379,"slug":2380,"type":16},{"name":2382,"slug":2383,"type":16},"2026-07-12T08:36:48.104182",{"slug":2432,"name":2432,"fn":2367,"description":2368,"org":2433,"tags":2434,"stars":2361,"repoUrl":2362,"updatedAt":2440},"dsql",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2435,2436,2437,2438,2439],{"name":21,"slug":22,"type":16},{"name":2376,"slug":2377,"type":16},{"name":2403,"slug":2404,"type":16},{"name":2379,"slug":2380,"type":16},{"name":2382,"slug":2383,"type":16},"2026-07-12T08:36:36.374512",{"slug":2442,"name":2442,"fn":2443,"description":2444,"org":2445,"tags":2446,"stars":2459,"repoUrl":2460,"updatedAt":2461},"cost-efficiency-analyzer","analyze cost efficiency and expenses","Analyzes cost structure, cost efficiency, and expense management from P&L data. Use when the user asks about costs, expenses, COGS, operating expenses, cost ratios, cost control, spending efficiency, margin compression from cost side, or wants to understand where money is going. Also use for \"are we spending too much\", \"cost breakdown\", \"expense analysis\", or \"how efficient are our operations\". NOT for revenue or top-line analysis.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2447,2450,2453,2456],{"name":2448,"slug":2449,"type":16},"Accounting","accounting",{"name":2451,"slug":2452,"type":16},"Analytics","analytics",{"name":2454,"slug":2455,"type":16},"Cost Optimization","cost-optimization",{"name":2457,"slug":2458,"type":16},"Finance","finance",3176,"https:\u002F\u002Fgithub.com\u002Fawslabs\u002Fagentcore-samples","2026-07-12T08:40:03.29555",{"slug":2463,"name":2463,"fn":2464,"description":2465,"org":2466,"tags":2467,"stars":2459,"repoUrl":2460,"updatedAt":2476},"executive-financial-briefing","generate executive financial briefings","Generates a concise executive-level financial briefing or summary suitable for a CEO, CFO, or board presentation. Use when the user asks for a summary, briefing, executive summary, board update, financial overview, financial health check, or \"how is the business doing\". Covers the full P&L picture in one page. Also use for \"give me the highlights\", \"what do I need to know\", or \"quick financial update\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2468,2469,2470,2473],{"name":21,"slug":22,"type":16},{"name":2457,"slug":2458,"type":16},{"name":2471,"slug":2472,"type":16},"Management","management",{"name":2474,"slug":2475,"type":16},"Reporting","reporting","2026-07-12T08:40:02.066471",{"slug":2478,"name":2478,"fn":2479,"description":2480,"org":2481,"tags":2482,"stars":2459,"repoUrl":2460,"updatedAt":2491},"multi-quarter-trend-analysis","analyze multi-quarter financial trends","Analyzes financial trends across multiple quarters by comparing P&L metrics over time. Use when the user wants to see trends, patterns, trajectories, or directional movement across 3 or more quarters. Also use for \"how are we trending\", \"show me the trend\", \"track performance over time\", \"quarter over quarter comparison across all quarters\", or any multi-period longitudinal analysis.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2483,2484,2485,2488],{"name":2451,"slug":2452,"type":16},{"name":2457,"slug":2458,"type":16},{"name":2486,"slug":2487,"type":16},"Financial Statements","financial-statements",{"name":2489,"slug":2490,"type":16},"Variance Analysis","variance-analysis","2026-07-12T08:40:00.79141",{"slug":2493,"name":2493,"fn":2494,"description":2495,"org":2496,"tags":2497,"stars":2459,"repoUrl":2460,"updatedAt":2506},"pdf","process and manipulate PDF documents","Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text\u002Ftables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting\u002Fdecrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2498,2501,2504],{"name":2499,"slug":2500,"type":16},"Automation","automation",{"name":2502,"slug":2503,"type":16},"Documents","documents",{"name":2505,"slug":2493,"type":16},"PDF","2026-07-12T08:41:44.135656",{"slug":2508,"name":2508,"fn":2509,"description":2510,"org":2511,"tags":2512,"stars":2459,"repoUrl":2460,"updatedAt":2521},"quarterly-kpi-calculator","calculate quarterly financial KPIs","Calculates quarterly financial KPIs from P&L data. P&L figures can be provided directly by the user or fetched from the financial data MCP server. Use when the user wants KPI calculations such as Gross Margin %, EBITDA Margin %, Operating Expense Ratio, or Revenue Growth % QoQ. Also use for quarterly performance review, P&L analysis, or interpreting financial ratios against benchmarks.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2513,2514,2517,2518],{"name":2448,"slug":2449,"type":16},{"name":2515,"slug":2516,"type":16},"Data Analysis","data-analysis",{"name":2457,"slug":2458,"type":16},{"name":2519,"slug":2520,"type":16},"KPI","kpi","2026-07-12T08:39:59.54971",150]