@aws/nx-plugin-mcp 1.0.0-rc.46 → 1.0.0-rc.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/bin/aws-nx-mcp.js +56 -39
  2. package/docs/get_started/existing-project.mdx +6 -2
  3. package/docs/get_started/quick-start.mdx +1 -1
  4. package/docs/get_started/tutorials/dungeon-game/1.mdx +2 -2
  5. package/docs/get_started/tutorials/dungeon-game/2.mdx +3 -3
  6. package/docs/get_started/tutorials/dungeon-game/overview.mdx +1 -0
  7. package/docs/guides/agentcore-gateway.mdx +1 -1
  8. package/docs/guides/connection/py-agent-dynamodb.mdx +1 -1
  9. package/docs/guides/connection/py-agent-rdb.mdx +1 -1
  10. package/docs/guides/connection/py-fast-api-rdb.mdx +1 -1
  11. package/docs/guides/connection/py-mcp-server-dynamodb.mdx +1 -1
  12. package/docs/guides/connection/py-mcp-server-rdb.mdx +1 -1
  13. package/docs/guides/connection/smithy-dynamodb.mdx +1 -1
  14. package/docs/guides/connection/smithy-rdb.mdx +3 -3
  15. package/docs/guides/connection/trpc-dynamodb.mdx +1 -1
  16. package/docs/guides/connection/ts-agent-a2a.mdx +1 -1
  17. package/docs/guides/connection/ts-agent-dynamodb.mdx +2 -2
  18. package/docs/guides/connection/ts-agent-gateway.mdx +1 -1
  19. package/docs/guides/connection/ts-agent-mcp.mdx +1 -1
  20. package/docs/guides/connection/ts-agent-rdb.mdx +4 -4
  21. package/docs/guides/connection/ts-mcp-server-dynamodb.mdx +2 -2
  22. package/docs/guides/connection/ts-mcp-server-rdb.mdx +2 -2
  23. package/docs/guides/docker-bundling.mdx +2 -2
  24. package/docs/guides/fastapi.mdx +2 -2
  25. package/docs/guides/react-website-auth.mdx +2 -2
  26. package/docs/guides/react-website.mdx +3 -2
  27. package/docs/guides/runtime-config.mdx +1 -1
  28. package/docs/guides/trpc.mdx +4 -3
  29. package/docs/guides/ts-dynamodb.mdx +2 -1
  30. package/docs/guides/ts-rdb.mdx +3 -2
  31. package/docs/guides/ts-smithy-api.mdx +3 -2
  32. package/docs/guides/typescript-infrastructure.mdx +6 -5
  33. package/docs/guides/typescript-project.mdx +133 -26
  34. package/docs/guides/workspace.mdx +9 -2
  35. package/docs/snippets/agent/bedrock-deployment.mdx +4 -4
  36. package/docs/snippets/agent/runtime-arn.mdx +1 -1
  37. package/docs/snippets/api/cors-configuration-cdk-note.mdx +1 -1
  38. package/docs/snippets/connection/lambda-dynamodb-access.mdx +1 -1
  39. package/docs/snippets/connection/rdb-api-infrastructure.mdx +1 -1
  40. package/docs/snippets/dynamodb/deploying-table.mdx +5 -5
  41. package/docs/snippets/lambda-function/deploying-your-function.mdx +2 -2
  42. package/docs/snippets/mcp/bedrock-deployment.mdx +4 -4
  43. package/docs/snippets/pdk-migration/example/01-migrate-api.mdx +7 -5
  44. package/docs/snippets/pdk-migration/example/02-migrate-website.mdx +29 -10
  45. package/docs/snippets/pdk-migration/example/03-migrate-infra.mdx +4 -4
  46. package/docs/snippets/pdk-migration/faq/type-safe-api.mdx +1 -1
  47. package/docs/snippets/prerequisites.mdx +2 -1
  48. package/docs/snippets/rdb/cluster-instances.mdx +1 -1
  49. package/docs/snippets/rdb/deletion-protection.mdx +1 -1
  50. package/docs/snippets/rdb/deploying.mdx +1 -1
  51. package/docs/snippets/rdb/encryption-key-rotation.mdx +1 -1
  52. package/docs/snippets/rdb/engine-version.mdx +2 -2
  53. package/docs/snippets/rdb/performance-insights.mdx +1 -1
  54. package/docs/snippets/rdb/rds-proxy.mdx +1 -1
  55. package/docs/snippets/rdb/removal-policy.mdx +2 -2
  56. package/docs/snippets/rdb/serverless-capacity.mdx +1 -1
  57. package/docs/snippets/required-prerequisites.mdx +1 -2
  58. package/generators.json +1 -1
  59. package/package.json +1 -1
  60. package/src/preset/schema.json +5 -0
@@ -10,7 +10,7 @@ This generator creates CDK or Terraform infrastructure as code based on your sel
10
10
  This generator creates a CDK construct for deploying your function in the `common/constructs` folder. You can use this in a CDK application:
11
11
 
12
12
  ```typescript {1, 6}
13
- import { MyProjectMyFunction } from ':my-scope/common-constructs';
13
+ import { MyProjectMyFunction } from '@my-scope/common-constructs';
14
14
 
15
15
  export class ExampleStack extends Stack {
16
16
  constructor(scope: Construct, id: string) {
@@ -38,7 +38,7 @@ The example below demonstrates the CDK code for invoking your lambda function on
38
38
  ```typescript
39
39
  import { Rule, Schedule } from 'aws-cdk-lib/aws-events';
40
40
  import { LambdaFunction } from 'aws-cdk-lib/aws-events-targets';
41
- import { MyProjectMyFunction } from ':my-scope/common-constructs';
41
+ import { MyProjectMyFunction } from '@my-scope/common-constructs';
42
42
 
43
43
  export class ExampleStack extends Stack {
44
44
  constructor(scope: Construct, id: string) {
@@ -15,7 +15,7 @@ A CDK construct is generated for your MCP Server, named based on the `name` you
15
15
  You can use this CDK construct in a CDK application:
16
16
 
17
17
  ```ts {6}
18
- import { MyProjectMcpServer } from ':my-scope/common-constructs';
18
+ import { MyProjectMcpServer } from '@my-scope/common-constructs';
19
19
 
20
20
  export class ExampleStack extends Stack {
21
21
  constructor(scope: Construct, id: string) {
@@ -64,7 +64,7 @@ By default, your MCP server will be secured using IAM authentication, simply dep
64
64
  <Infrastructure>
65
65
  <Fragment slot="cdk">
66
66
  ```ts {5}
67
- import { MyProjectMcpServer } from ':my-scope/common-constructs';
67
+ import { MyProjectMcpServer } from '@my-scope/common-constructs';
68
68
 
69
69
  export class ExampleStack extends Stack {
70
70
  constructor(scope: Construct, id: string) {
@@ -76,7 +76,7 @@ export class ExampleStack extends Stack {
76
76
  You can grant access to invoke your MCP server on Bedrock AgentCore Runtime using the `grantInvokeAccess` method. For example you may wish for an agent generated with the <Link path="/guides/py-agent">`py#agent`</Link> generator to call your MCP server:
77
77
 
78
78
  ```ts {8}
79
- import { MyProjectAgent, MyProjectMcpServer } from ':my-scope/common-constructs';
79
+ import { MyProjectAgent, MyProjectMcpServer } from '@my-scope/common-constructs';
80
80
 
81
81
  export class ExampleStack extends Stack {
82
82
  constructor(scope: Construct, id: string) {
@@ -126,7 +126,7 @@ When you select `Cognito` authentication, the generator configures the MCP serve
126
126
  The generated construct accepts an `identity` prop which configures Cognito authentication:
127
127
 
128
128
  ```ts {8}
129
- import { MyProjectMcpServer, UserIdentity } from ':my-scope/common-constructs';
129
+ import { MyProjectMcpServer, UserIdentity } from '@my-scope/common-constructs';
130
130
 
131
131
  export class ExampleStack extends Stack {
132
132
  constructor(scope: Construct, id: string) {
@@ -23,9 +23,9 @@ If you used OpenAPI or TypeSpec as your modelling language, or have handlers imp
23
23
 
24
24
  #### Generate a TypeScript Smithy API
25
25
 
26
- Run the <Link path="/guides/ts-smithy-api">`ts#smithy-api` generator</Link> to set up your api project in `packages/api`:
26
+ Run the <Link path="/guides/ts-smithy-api">`ts#api` generator</Link> with `framework` set to `smithy` to set up your api project in `packages/api`:
27
27
 
28
- <RunGenerator generator="ts#smithy-api" noInteractive requiredParameters={{ name: 'api', namespace: 'com.aws', auth: 'IAM' }} />
28
+ <RunGenerator generator="ts#api" noInteractive requiredParameters={{ name: 'api', framework: 'smithy', namespace: 'com.aws', auth: 'iam' }} />
29
29
 
30
30
  You will notice this generates a `model` project, as well as a `backend` project. The `model` project contains your Smithy model, and `backend` contains your server implementation.
31
31
 
@@ -128,12 +128,14 @@ You can consider the `api/backend` project as somewhat equivalent to Type Safe A
128
128
 
129
129
  One of the main differences between Type Safe API and the `ts#smithy-api` generator is that handlers are implemented using the [Smithy Server Generator for TypeScript](https://smithy.io/2.0/languages/typescript/ts-ssdk/index.html), rather than Type Safe API's own generated handler wrappers (found in the `api/generated/typescript/runtime` project).
130
130
 
131
- The shopping list application's lambda handlers rely on the `@aws-sdk/client-dynamodb` package, so let's install that first:
131
+ The shopping list application's lambda handlers rely on the `@aws-sdk/client-dynamodb` package, so let's install that into the `@shopping-list/api` project:
132
132
 
133
- <InstallCommand pkg="@aws-sdk/client-dynamodb" />
133
+ <InstallCommand pkg="@aws-sdk/client-dynamodb" project="@shopping-list/api" />
134
134
 
135
135
  Then, let's copy the `handlers/src/dynamo-client.ts` file from the PDK project to `backend/src/operations` so it's available for our handlers.
136
136
 
137
+ The `ts#smithy-api` generator scaffolds an example `Echo` operation. Since we removed this from our model, delete the corresponding handler in `backend/src/operations/echo.ts`. We'll register our migrated operations in `service.ts` further below.
138
+
137
139
  To migrate the handlers, you can follow these general steps:
138
140
 
139
141
  <Steps>
@@ -583,7 +585,7 @@ Additionally, update `packages/api/backend/project.json` and update `metadata.ap
583
585
  "generator": "ts#smithy-api",
584
586
  - "apiName": "api",
585
587
  + "apiName": "my-api",
586
- "auth": "IAM",
588
+ "auth": "iam",
587
589
  "modelProject": "@shopping-list/api-model",
588
590
  "ports": [3001]
589
591
  },
@@ -11,21 +11,21 @@ import InstallCommand from '@components/install-command.astro';
11
11
 
12
12
  The `CloudscapeReactTsWebsiteProject` used in the shopping list application configured a React website with CloudScape and Cognito authentication built in.
13
13
 
14
- This project type leveraged [`create-react-app`](https://github.com/facebook/create-react-app), which is now deprecated. For migrating the website in this guide, we will use the <Link path="/guides/react-website">`ts#react-website` generator</Link>, which uses more modern and supported technologies, namely [Vite](https://vite.dev/).
14
+ This project type leveraged [`create-react-app`](https://github.com/facebook/create-react-app), which is now deprecated. For migrating the website in this guide, we will use the <Link path="/guides/react-website">`ts#website` generator</Link>, which uses more modern and supported technologies, namely [Vite](https://vite.dev/).
15
15
 
16
16
  As part of the migration, we will also move from PDK's configured React Router to [TanStack Router](https://tanstack.com/router), which adds additional type-safety to website routing.
17
17
 
18
18
  #### Generate a React Website
19
19
 
20
- Run the <Link path="/guides/react-website">`ts#react-website` generator</Link> to set up your website project in `packages/website`:
20
+ Run the <Link path="/guides/react-website">`ts#website` generator</Link> with `framework` set to `react` to set up your website project in `packages/website`. Since the shopping list application is built with CloudScape components, we also set `ux` to `cloudscape` (the default is `shadcn`):
21
21
 
22
- <RunGenerator generator="ts#react-website" noInteractive requiredParameters={{ name: 'website' }} />
22
+ <RunGenerator generator="ts#website" noInteractive requiredParameters={{ name: 'website', framework: 'react', ux: 'cloudscape' }} />
23
23
 
24
24
  #### Add Cognito Authentication
25
25
 
26
- The React website generator above doesn't bundle cognito authentication by default like `CloudscapeReactTsWebsiteProject`, instead it's added explicitly via the <Link path="/guides/react-website-auth">`ts#react-website#auth` generator</Link>.
26
+ The React website generator above doesn't bundle cognito authentication by default like `CloudscapeReactTsWebsiteProject`, instead it's added explicitly via the <Link path="/guides/react-website-auth">`ts#website#auth` generator</Link>.
27
27
 
28
- <RunGenerator generator="ts#react-website#auth" noInteractive requiredParameters={{ project: 'website', cognitoDomain: 'shopping-list' }} />
28
+ <RunGenerator generator="ts#website#auth" noInteractive requiredParameters={{ project: 'website', cognitoDomain: 'shopping-list' }} />
29
29
 
30
30
  This adds React components which manage the appropriate redirects to ensure users log in using the Cognito hosted UI. This also adds a CDK construct to deploy the Cognito resources in `packages/common/constructs`, called `UserIdentity`.
31
31
 
@@ -57,9 +57,26 @@ This generates the necessary client providers and build targets for your website
57
57
 
58
58
  #### Add AWS Northstar Dependency
59
59
 
60
- The `CloudscapeReactTsWebsiteProject` automatically included a dependency on `@aws-northstar/ui` which is used in our shopping list application, so we add it here:
60
+ The `CloudscapeReactTsWebsiteProject` automatically included a dependency on `@aws-northstar/ui` which is used in our shopping list application, so we add it to the `@shopping-list/website` project:
61
61
 
62
- <InstallCommand pkg="@aws-northstar/ui" />
62
+ <InstallCommand pkg="@aws-northstar/ui" project="@shopping-list/website" />
63
+
64
+ `@aws-northstar/ui` bundles a code editor component which depends on `ace-builds`, using a webpack-specific import that Vite cannot resolve. Since our shopping list application doesn't use this component, we exclude it from the bundle by adding it to the `external` configuration within the existing `build` options in `packages/website/vite.config.mts`:
65
+
66
+ ```diff lang="ts"
67
+ // packages/website/vite.config.mts
68
+ build: {
69
+ outDir: '../../dist/packages/website/bundle',
70
+ emptyOutDir: true,
71
+ reportCompressedSize: true,
72
+ commonjsOptions: {
73
+ transformMixedEsModules: true,
74
+ },
75
+ + rollupOptions: {
76
+ + external: ['ace-builds/webpack-resolver'],
77
+ + },
78
+ },
79
+ ```
63
80
 
64
81
  #### Move the Components and Pages
65
82
 
@@ -79,12 +96,14 @@ Note that you'll now have some build errors visible in your IDE, we'll need to m
79
96
 
80
97
  #### Migrate from React Router to TanStack Router
81
98
 
82
- Since we're using [file-based routing](https://tanstack.com/router/latest/docs/framework/react/routing/file-based-routing), we can use the website local development server to manage automatically generating route configuration. Let's start the local website server:
99
+ Since we're using [file-based routing](https://tanstack.com/router/latest/docs/framework/react/routing/file-based-routing), we can use the website local development server to manage automatically generating route configuration.
100
+
101
+ Let's start the local website server:
83
102
 
84
- <NxCommands commands={["serve-local website"]} />
103
+ <NxCommands commands={["dev website"]} />
85
104
 
86
105
  :::tip
87
- We're using the `serve-local` target here, which also starts local servers for any APIs which have been connected with `connection`, and hot-reloads if your website, model, or backend changes! This allows us to test our API and website locally before we've even written any CDK code.
106
+ We're using the `dev` target here, which also starts local servers for any APIs which have been connected with `connection`, and hot-reloads if your website, model, or backend changes! This allows us to test our API and website locally before we've even written any CDK code.
88
107
  :::
89
108
 
90
109
  You'll see some errors, but the local website server should start on port `4200`, as well as the local Smithy API server on port `3001`.
@@ -46,7 +46,7 @@ Since the Nx Plugin for AWS uses [Checkov](https://www.checkov.io/) for security
46
46
 
47
47
  ```diff lang="ts"
48
48
  // constructs/database.ts
49
- +import { suppressRules } from ':shopping-list/common-constructs';
49
+ +import { suppressRules } from '@shopping-list/common-constructs';
50
50
  ...
51
51
  +suppressRules(
52
52
  + this.shoppingListTable,
@@ -69,7 +69,7 @@ The `UserIdentity` construct can generally be swapped out without changes by adj
69
69
 
70
70
  ```diff lang="ts"
71
71
  -import { UserIdentity } from "@aws/pdk/identity";
72
- +import { UserIdentity } from ':shopping-list/common-constructs';
72
+ +import { UserIdentity } from '@shopping-list/common-constructs';
73
73
  ...
74
74
  const userIdentity = new UserIdentity(this, `${id}UserIdentity`);
75
75
  ```
@@ -93,7 +93,7 @@ Follow the below steps:
93
93
  ```diff lang="ts"
94
94
  // stacks/application-stack.ts
95
95
  -import { MyApi } from "../constructs/apis/myapi";
96
- +import { Api } from ':shopping-list/common-constructs';
96
+ +import { Api } from '@shopping-list/common-constructs';
97
97
  ...
98
98
  -const myapi = new MyApi(this, "MyApi", {
99
99
  - databaseConstruct,
@@ -139,7 +139,7 @@ Finally, we add the `Website` construct from `packages/common/constructs/src/app
139
139
 
140
140
  ```diff lang="ts"
141
141
  -import { Website } from "../constructs/websites/website";
142
- +import { Website } from ':shopping-list/common-constructs';
142
+ +import { Website } from '@shopping-list/common-constructs';
143
143
  ...
144
144
  -new Website(this, "Website", {
145
145
  - userIdentity,
@@ -26,7 +26,7 @@ For Python, the [python-fastapi](https://openapi-generator.tech/docs/generators/
26
26
 
27
27
  ##### Client
28
28
 
29
- For TypeScript clients, you can use the <Link path="/guides/react-website">`ts#react-website` generator</Link> and <Link path="/guides/connection">`connection` generator</Link> with an example `ts#smithy-api` to see how clients are generated and integrated with a website. This configures build targets which generate clients by invoking our `open-api#ts-client` or `open-api#ts-hooks` generators. You can use these generators yourself by pointing them at your OpenAPI Specification.
29
+ For TypeScript clients, you can use the <Link path="/guides/react-website">`ts#website` generator</Link> and <Link path="/guides/connection">`connection` generator</Link> with an example `ts#api` (with `framework` set to `smithy`) to see how clients are generated and integrated with a website. This configures build targets which generate clients by invoking our `open-api#ts-client` or `open-api#ts-hooks` generators. You can use these generators yourself by pointing them at your OpenAPI Specification.
30
30
 
31
31
  For other languages, you can also see if any of the generators from [OpenAPI Generator](https://openapi-generator.tech/docs/generators#client-generators) fit your needs.
32
32
 
@@ -10,7 +10,8 @@ import Snippet from '@components/snippet.astro';
10
10
 
11
11
  ### Recommended
12
12
 
13
- - [Docker](https://www.docker.com/) is required for some generators. [Multi-platform builds](https://docs.docker.com/build/building/multi-platform/) must be set up.
13
+ - [AWS Credentials](https://docs.aws.amazon.com/sdkref/latest/guide/access.html) configured to your target AWS account are required to deploy your application (as well as for some local development workflows).
14
+ - [Docker](https://www.docker.com/) or [Finch](https://runfinch.com/) is required for some generators. For Docker, [multi-platform builds](https://docs.docker.com/build/building/multi-platform/) must be set up; Finch supports [multi-platform builds](https://runfinch.com/docs/getting-started/building-images/#building-a-multi-architecture-container-image) out of the box.
14
15
  - [Terraform >= 1.12](https://developer.hashicorp.com/terraform/install) is required if you choose to use this for infrastructure as code instead of CDK
15
16
  - verify by running `terraform --version`
16
17
  - If you are using [VSCode](https://code.visualstudio.com/), we recommend installing the [Nx Console VSCode Plugin](https://marketplace.visualstudio.com/items?itemName=nrwl.angular-console).
@@ -9,7 +9,7 @@ Configure the writer and reader instances for your Aurora cluster.
9
9
  <Fragment slot="cdk">
10
10
 
11
11
  ```ts title="packages/infra/src/stacks/application-stack.ts"
12
- import { MyDatabase } from ':my-scope/common-constructs';
12
+ import { MyDatabase } from '@my-scope/common-constructs';
13
13
 
14
14
  const db = new MyDatabase(this, 'Db', {
15
15
  ...
@@ -13,7 +13,7 @@ You can disable deletion protection for environments where database deletion is
13
13
  <Fragment slot="cdk">
14
14
 
15
15
  ```ts title="packages/infra/src/stacks/application-stack.ts"
16
- import { MyDatabase } from ':my-scope/common-constructs';
16
+ import { MyDatabase } from '@my-scope/common-constructs';
17
17
 
18
18
  const db = new MyDatabase(this, 'Db', {
19
19
  ...
@@ -12,7 +12,7 @@ The relational database generator creates CDK or Terraform infrastructure based
12
12
  The CDK construct is created in `common/constructs`. Example usage:
13
13
 
14
14
  ```ts title="packages/infra/src/stacks/application-stack.ts"
15
- import { MyDatabase } from ':my-scope/common-constructs';
15
+ import { MyDatabase } from '@my-scope/common-constructs';
16
16
 
17
17
  export class ApplicationStack extends Stack {
18
18
  constructor(scope: Construct, id: string, props?: StackProps) {
@@ -9,7 +9,7 @@ The KMS key used to encrypt the Aurora cluster and its credentials secret has au
9
9
  <Fragment slot="cdk">
10
10
 
11
11
  ```ts title="packages/infra/src/stacks/application-stack.ts"
12
- import { MyDatabase } from ':my-scope/common-constructs';
12
+ import { MyDatabase } from '@my-scope/common-constructs';
13
13
 
14
14
  const db = new MyDatabase(this, 'Db', {
15
15
  ...
@@ -15,7 +15,7 @@ The local database image is configured in the `localDev.image` field of the gene
15
15
  <Fragment slot="cdk">
16
16
 
17
17
  ```ts title="packages/infra/src/stacks/application-stack.ts"
18
- import { MyDatabase } from ':my-scope/common-constructs';
18
+ import { MyDatabase } from '@my-scope/common-constructs';
19
19
 
20
20
  const db = new MyDatabase(this, 'Db', {
21
21
  ...
@@ -41,7 +41,7 @@ module "my_database" {
41
41
  <Fragment slot="cdk">
42
42
 
43
43
  ```ts title="packages/infra/src/stacks/application-stack.ts"
44
- import { MyDatabase } from ':my-scope/common-constructs';
44
+ import { MyDatabase } from '@my-scope/common-constructs';
45
45
 
46
46
  const db = new MyDatabase(this, 'Db', {
47
47
  ...
@@ -11,7 +11,7 @@ Disable log export per database if not required:
11
11
  <Fragment slot="cdk">
12
12
 
13
13
  ```ts title="packages/infra/src/stacks/application-stack.ts"
14
- import { MyDatabase } from ':my-scope/common-constructs';
14
+ import { MyDatabase } from '@my-scope/common-constructs';
15
15
 
16
16
  const db = new MyDatabase(this, 'Db', {
17
17
  ...
@@ -22,7 +22,7 @@ You can disable the RDS proxy as follows:
22
22
  <Fragment slot="cdk">
23
23
 
24
24
  ```ts title="packages/infra/src/stacks/application-stack.ts"
25
- import { MyDatabase } from ':my-scope/common-constructs';
25
+ import { MyDatabase } from '@my-scope/common-constructs';
26
26
 
27
27
  const db = new MyDatabase(this, 'Db', {
28
28
  ...
@@ -12,7 +12,7 @@ When using `RemovalPolicy.DESTROY`, deletion protection must also be disabled be
12
12
 
13
13
  ```ts title="packages/infra/src/stacks/application-stack.ts"
14
14
  import { RemovalPolicy } from 'aws-cdk-lib';
15
- import { MyDatabase } from ':my-scope/common-constructs';
15
+ import { MyDatabase } from '@my-scope/common-constructs';
16
16
 
17
17
  const db = new MyDatabase(this, 'Db', {
18
18
  ...
@@ -24,7 +24,7 @@ For an ephemeral environment where the database should be deleted with the stack
24
24
 
25
25
  ```ts title="packages/infra/src/stacks/application-stack.ts"
26
26
  import { RemovalPolicy } from 'aws-cdk-lib';
27
- import { MyDatabase } from ':my-scope/common-constructs';
27
+ import { MyDatabase } from '@my-scope/common-constructs';
28
28
 
29
29
  const db = new MyDatabase(this, 'Db', {
30
30
  ...
@@ -9,7 +9,7 @@ Control Aurora Serverless v2 scaling limits to match your workload.
9
9
  <Fragment slot="cdk">
10
10
 
11
11
  ```ts title="packages/infra/src/stacks/application-stack.ts"
12
- import { MyDatabase } from ':my-scope/common-constructs';
12
+ import { MyDatabase } from '@my-scope/common-constructs';
13
13
 
14
14
  const db = new MyDatabase(this, 'Db', {
15
15
  ...
@@ -8,5 +8,4 @@ title: Required Prerequisites
8
8
  - verify by running `pnpm --version`, `yarn --version`, `bun --version` or `npm --version`
9
9
  - [UV >= 0.5.29](https://docs.astral.sh/uv/getting-started/installation/)
10
10
  1. install Python 3.14 by running: `uv python install 3.14.0`
11
- 2. verify with `uv python list --only-installed`
12
- - [AWS Credentials](https://docs.aws.amazon.com/sdkref/latest/guide/access.html) configured to your target AWS account (where your application will be deployed)
11
+ 2. verify with `uv python list --only-installed`
package/generators.json CHANGED
@@ -340,7 +340,7 @@
340
340
  "ts#sync": {
341
341
  "factory": "./src/ts/sync/generator",
342
342
  "schema": "./src/ts/sync/schema.json",
343
- "description": "TypeScript path alias sync generator",
343
+ "description": "TypeScript path alias and local workspace dependency sync generator",
344
344
  "metric": "g29",
345
345
  "hidden": true
346
346
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws/nx-plugin-mcp",
3
- "version": "1.0.0-rc.46",
3
+ "version": "1.0.0-rc.48",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/awslabs/nx-plugin-for-aws.git",
@@ -37,6 +37,11 @@
37
37
  "enum": ["esm", "cjs"],
38
38
  "default": "esm"
39
39
  },
40
+ "catalog": {
41
+ "type": "boolean",
42
+ "description": "Whether generators record dependency versions in the package manager's catalog (pnpm/yarn/bun), keeping a single source of truth for versions. When false, dependencies are written directly to each project's package.json and keeping versions aligned is your responsibility.",
43
+ "default": true
44
+ },
40
45
  "preferInstallDependencies": {
41
46
  "type": "boolean",
42
47
  "description": "Whether to prefer installing dependencies after the generator runs. Set to false to defer installing when batching multiple generators (an install still runs if needed so subsequent generators can compute the Nx project graph); install once at the end.",