@aws/nx-plugin-mcp 1.0.0-rc.7 → 1.0.0-rc.71

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 (195) hide show
  1. package/bin/aws-nx-mcp.js +12317 -10933
  2. package/docs/get_started/building-with-ai.mdx +116 -0
  3. package/docs/get_started/concepts.mdx +67 -0
  4. package/docs/get_started/existing-project.mdx +180 -0
  5. package/docs/get_started/graph-builder.mdx +39 -0
  6. package/docs/get_started/quick-start.mdx +277 -0
  7. package/docs/get_started/tutorials/contribute-generator.mdx +408 -0
  8. package/docs/get_started/tutorials/dungeon-game/1.mdx +1301 -0
  9. package/docs/get_started/tutorials/dungeon-game/2.mdx +237 -0
  10. package/docs/get_started/tutorials/dungeon-game/3.mdx +76 -0
  11. package/docs/get_started/tutorials/dungeon-game/4.mdx +164 -0
  12. package/docs/get_started/tutorials/dungeon-game/overview.mdx +145 -0
  13. package/docs/get_started/tutorials/dungeon-game/wrap-up.mdx +41 -0
  14. package/docs/get_started/tutorials/existing-project.mdx +4 -0
  15. package/docs/get_started/upgrading.mdx +147 -0
  16. package/docs/guides/agentcore-gateway.mdx +490 -0
  17. package/docs/guides/agentcore-harness.mdx +275 -0
  18. package/docs/guides/astro-docs.mdx +8 -0
  19. package/docs/guides/connection/agentcore-gateway-agent.mdx +222 -0
  20. package/docs/guides/connection/agentcore-gateway-gateway.mdx +154 -0
  21. package/docs/guides/connection/agentcore-gateway-mcp.mdx +134 -0
  22. package/docs/guides/connection/py-agent-a2a.mdx +48 -16
  23. package/docs/guides/connection/py-agent-dynamodb.mdx +116 -0
  24. package/docs/guides/connection/py-agent-gateway.mdx +178 -0
  25. package/docs/guides/connection/py-agent-mcp.mdx +43 -14
  26. package/docs/guides/connection/py-agent-rdb.mdx +178 -0
  27. package/docs/guides/connection/py-fast-api-dynamodb.mdx +56 -0
  28. package/docs/guides/connection/py-fast-api-rdb.mdx +184 -0
  29. package/docs/guides/connection/py-mcp-server-dynamodb.mdx +116 -0
  30. package/docs/guides/connection/py-mcp-server-rdb.mdx +187 -0
  31. package/docs/guides/connection/react-agentcore-gateway.mdx +112 -0
  32. package/docs/guides/connection/react-agui.mdx +13 -13
  33. package/docs/guides/connection/react-fastapi.mdx +38 -2
  34. package/docs/guides/connection/react-py-agent.mdx +9 -15
  35. package/docs/guides/connection/react-smithy.mdx +3 -3
  36. package/docs/guides/connection/react-trpc.mdx +1 -1
  37. package/docs/guides/connection/react-ts-agent.mdx +8 -8
  38. package/docs/guides/connection/smithy-dynamodb.mdx +5 -5
  39. package/docs/guides/connection/smithy-rdb.mdx +9 -9
  40. package/docs/guides/connection/trpc-dynamodb.mdx +5 -5
  41. package/docs/guides/connection/trpc-rdb.mdx +6 -6
  42. package/docs/guides/connection/ts-agent-a2a.mdx +14 -11
  43. package/docs/guides/connection/ts-agent-dynamodb.mdx +5 -5
  44. package/docs/guides/connection/ts-agent-gateway.mdx +143 -0
  45. package/docs/guides/connection/ts-agent-mcp.mdx +12 -9
  46. package/docs/guides/connection/ts-agent-rdb.mdx +70 -25
  47. package/docs/guides/connection/ts-mcp-server-dynamodb.mdx +5 -5
  48. package/docs/guides/connection/ts-mcp-server-rdb.mdx +68 -18
  49. package/docs/guides/connection.mdx +122 -5
  50. package/docs/guides/docker-bundling.mdx +69 -12
  51. package/docs/guides/fastapi.mdx +249 -9
  52. package/docs/guides/local-development.mdx +87 -0
  53. package/docs/guides/nx-generator.mdx +4 -3
  54. package/docs/guides/nx-migration.mdx +165 -0
  55. package/docs/guides/py-agent.mdx +264 -49
  56. package/docs/guides/py-dynamodb.mdx +476 -0
  57. package/docs/guides/py-mcp-server.mdx +61 -2
  58. package/docs/guides/py-rdb.mdx +265 -0
  59. package/docs/guides/python-lambda-function.mdx +1 -1
  60. package/docs/guides/react-website-auth.mdx +65 -4
  61. package/docs/guides/react-website.mdx +149 -30
  62. package/docs/guides/runtime-config.mdx +1 -1
  63. package/docs/guides/security.mdx +75 -0
  64. package/docs/guides/smithy-project.mdx +167 -0
  65. package/docs/guides/terraform-project.mdx +2 -2
  66. package/docs/guides/trpc.mdx +53 -16
  67. package/docs/guides/ts-agent.mdx +183 -10
  68. package/docs/guides/ts-dcr-proxy.mdx +569 -0
  69. package/docs/guides/ts-dynamodb.mdx +66 -242
  70. package/docs/guides/ts-lambda-function.mdx +1 -1
  71. package/docs/guides/ts-mcp-server.mdx +109 -29
  72. package/docs/guides/ts-nx-plugin.mdx +3 -3
  73. package/docs/guides/ts-rdb.mdx +113 -467
  74. package/docs/guides/ts-smithy-api.mdx +258 -18
  75. package/docs/guides/typescript-infrastructure.mdx +46 -24
  76. package/docs/guides/typescript-project.mdx +134 -27
  77. package/docs/guides/workspace.mdx +10 -3
  78. package/docs/snippets/agent/architecture.mdx +1 -1
  79. package/docs/snippets/agent/bedrock-deployment.mdx +9 -5
  80. package/docs/snippets/agent/runtime-arn.mdx +23 -2
  81. package/docs/snippets/agent/securing-your-agent.mdx +39 -0
  82. package/docs/snippets/api/access-logging.mdx +33 -0
  83. package/docs/snippets/api/cors-configuration-cdk-note.mdx +1 -1
  84. package/docs/snippets/api/cors-configuration-terraform-note.mdx +1 -1
  85. package/docs/snippets/api/type-safe-api-integrations.mdx +33 -2
  86. package/docs/snippets/api/waf-configuration.mdx +3 -3
  87. package/docs/snippets/connection/a2a-infrastructure.mdx +1 -1
  88. package/docs/snippets/connection/dynamodb-local-development.mdx +2 -2
  89. package/docs/snippets/connection/lambda-dynamodb-access.mdx +1 -1
  90. package/docs/snippets/connection/py-dynamodb-local-development.mdx +7 -0
  91. package/docs/snippets/connection/py-lambda-rdb-ssl-requirements.mdx +7 -0
  92. package/docs/snippets/connection/rdb-api-infrastructure.mdx +51 -19
  93. package/docs/snippets/dynamodb/deploying-table.mdx +166 -0
  94. package/docs/snippets/dynamodb/gsi-config.mdx +38 -0
  95. package/docs/snippets/dynamodb/infrastructure.mdx +33 -0
  96. package/docs/snippets/dynamodb/local-dev-start.mdx +13 -0
  97. package/docs/snippets/dynamodb/local-dev-windows.mdx +15 -0
  98. package/docs/snippets/lambda-function/deploying-your-function.mdx +3 -3
  99. package/docs/snippets/mcp/architecture.mdx +1 -1
  100. package/docs/snippets/mcp/bedrock-deployment.mdx +9 -5
  101. package/docs/snippets/mcp/config.mdx +3 -2
  102. package/docs/snippets/pdk-migration/example/01-migrate-api.mdx +7 -5
  103. package/docs/snippets/pdk-migration/example/02-migrate-website.mdx +29 -10
  104. package/docs/snippets/pdk-migration/example/03-migrate-infra.mdx +4 -4
  105. package/docs/snippets/pdk-migration/faq/type-safe-api.mdx +5 -111
  106. package/docs/snippets/prerequisites.mdx +1 -4
  107. package/docs/snippets/rdb/architecture.mdx +38 -0
  108. package/docs/snippets/rdb/cluster-instances.mdx +31 -0
  109. package/docs/snippets/rdb/deletion-protection.mdx +34 -0
  110. package/docs/snippets/rdb/deploying.mdx +187 -0
  111. package/docs/snippets/rdb/encryption-key-rotation.mdx +30 -0
  112. package/docs/snippets/rdb/engine-version.mdx +63 -0
  113. package/docs/snippets/rdb/infrastructure.mdx +35 -0
  114. package/docs/snippets/rdb/logging-mysql.mdx +5 -0
  115. package/docs/snippets/rdb/logging-postgres.mdx +5 -0
  116. package/docs/snippets/rdb/performance-insights.mdx +34 -0
  117. package/docs/snippets/rdb/rds-proxy.mdx +50 -0
  118. package/docs/snippets/rdb/removal-policy.mdx +57 -0
  119. package/docs/snippets/rdb/serverless-capacity.mdx +32 -0
  120. package/docs/snippets/recommended-prerequisites.mdx +10 -0
  121. package/docs/snippets/required-prerequisites.mdx +1 -4
  122. package/docs/snippets/runtime-config-app-id-note.mdx +8 -0
  123. package/docs/snippets/shared-constructs.mdx +1 -1
  124. package/docs/snippets/trivy-image-scan.mdx +37 -0
  125. package/generators.json +152 -10
  126. package/package.json +1 -1
  127. package/src/agentcore-gateway/agent-connection/schema.json +31 -0
  128. package/src/agentcore-gateway/gateway-connection/schema.json +31 -0
  129. package/src/agentcore-gateway/mcp-connection/schema.json +31 -0
  130. package/src/agentcore-gateway/react-connection/schema.json +31 -0
  131. package/src/agentcore-gateway/schema.json +72 -0
  132. package/src/agentcore-harness/schema.json +53 -0
  133. package/src/connection/schema.json +5 -0
  134. package/src/infra/app/schema.json +5 -0
  135. package/src/init/schema.json +35 -0
  136. package/src/internal/test-matrix/schema.json +21 -0
  137. package/src/license/schema.json +5 -0
  138. package/src/preset/schema.json +16 -5
  139. package/src/py/agent/a2a-connection/schema.json +5 -0
  140. package/src/py/agent/gateway-connection/schema.json +31 -0
  141. package/src/py/agent/mcp-connection/schema.json +5 -0
  142. package/src/py/agent/react-connection/schema.json +5 -0
  143. package/src/py/agent/schema.json +15 -1
  144. package/src/py/api/schema.json +5 -0
  145. package/src/py/dynamodb/agent-connection/schema.json +27 -0
  146. package/src/py/dynamodb/fast-api-connection/schema.json +23 -0
  147. package/src/py/dynamodb/mcp-server-connection/schema.json +27 -0
  148. package/src/py/dynamodb/schema.json +76 -0
  149. package/src/py/fast-api/react/schema.json +5 -0
  150. package/src/py/fast-api/schema.json +6 -0
  151. package/src/py/lambda-function/schema.json +5 -0
  152. package/src/py/mcp-server/schema.json +6 -0
  153. package/src/py/project/schema.json +5 -0
  154. package/src/py/rdb/agent-connection/schema.json +27 -0
  155. package/src/py/rdb/fast-api-connection/schema.json +23 -0
  156. package/src/py/rdb/mcp-server-connection/schema.json +27 -0
  157. package/src/py/rdb/schema.json +78 -0
  158. package/src/smithy/project/schema.json +28 -1
  159. package/src/smithy/react-connection/schema.json +5 -0
  160. package/src/smithy/ts/api/schema.json +6 -0
  161. package/src/terraform/project/schema.json +5 -0
  162. package/src/trpc/backend/schema.json +6 -0
  163. package/src/trpc/react/schema.json +5 -0
  164. package/src/ts/agent/a2a-connection/schema.json +5 -0
  165. package/src/ts/agent/gateway-connection/schema.json +31 -0
  166. package/src/ts/agent/mcp-connection/schema.json +5 -0
  167. package/src/ts/agent/react-connection/schema.json +5 -0
  168. package/src/ts/agent/schema.json +14 -0
  169. package/src/ts/api/schema.json +5 -0
  170. package/src/ts/astro-docs/schema.json +3 -3
  171. package/src/ts/dcr-proxy/schema.json +44 -0
  172. package/src/ts/docs/schema.json +3 -3
  173. package/src/ts/dynamodb/agent-connection/schema.json +5 -0
  174. package/src/ts/dynamodb/mcp-server-connection/schema.json +5 -0
  175. package/src/ts/dynamodb/schema.json +26 -2
  176. package/src/ts/dynamodb/smithy-connection/schema.json +5 -0
  177. package/src/ts/dynamodb/trpc-connection/schema.json +5 -0
  178. package/src/ts/lambda-function/schema.json +5 -0
  179. package/src/ts/lib/schema.json +5 -0
  180. package/src/ts/mcp-server/schema.json +6 -0
  181. package/src/ts/nx-generator/schema.json +5 -0
  182. package/src/ts/nx-migration/schema.json +63 -0
  183. package/src/ts/nx-plugin/schema.json +5 -0
  184. package/src/ts/rdb/agent-connection/schema.json +5 -0
  185. package/src/ts/rdb/mcp-server-connection/schema.json +5 -0
  186. package/src/ts/rdb/schema.json +7 -1
  187. package/src/ts/rdb/smithy-connection/schema.json +5 -0
  188. package/src/ts/rdb/trpc-connection/schema.json +5 -0
  189. package/src/ts/react-website/app/schema.json +12 -6
  190. package/src/ts/react-website/cognito-auth/schema.json +5 -0
  191. package/src/ts/react-website/runtime-config/schema.json +5 -0
  192. package/src/ts/website/app/schema.json +11 -6
  193. package/src/ts/website/auth/schema.json +5 -0
  194. /package/docs/snippets/connection/{lambda-rdb-ssl-requirements.mdx → ts-lambda-rdb-ssl-requirements.mdx} +0 -0
  195. /package/docs/snippets/connection/{mcp-server-rdb-ssl-requirements.mdx → ts-mcp-server-rdb-ssl-requirements.mdx} +0 -0
@@ -0,0 +1,78 @@
1
+ {
2
+ "$schema": "https://json-schema.org/schema",
3
+ "$id": "py#rdb",
4
+ "title": "py#rdb",
5
+ "x-label": "Relational Database",
6
+ "description": "Create a Python relational database project",
7
+ "type": "object",
8
+ "properties": {
9
+ "name": {
10
+ "type": "string",
11
+ "description": "Name of the database project to generate",
12
+ "$default": {
13
+ "$source": "argv",
14
+ "index": 0
15
+ },
16
+ "x-priority": "important",
17
+ "x-prompt": "What name would you like your database project to have? i.e: MyDb"
18
+ },
19
+ "directory": {
20
+ "type": "string",
21
+ "description": "The directory to store the application in.",
22
+ "default": "packages",
23
+ "x-priority": "important",
24
+ "x-prompt": "Which directory do you want to create the project in?"
25
+ },
26
+ "subDirectory": {
27
+ "type": "string",
28
+ "description": "The sub directory the project is placed in. By default this is the project name."
29
+ },
30
+ "infra": {
31
+ "type": "string",
32
+ "enum": ["aurora", "none"],
33
+ "default": "aurora",
34
+ "description": "Relational database service to provision.",
35
+ "x-priority": "important",
36
+ "x-prompt": "Which database service would you like to use?"
37
+ },
38
+ "engine": {
39
+ "type": "string",
40
+ "enum": ["postgres", "mysql"],
41
+ "default": "postgres",
42
+ "description": "Database engine to use with the selected service.",
43
+ "x-priority": "important",
44
+ "x-prompt": "Which database engine would you like to use?"
45
+ },
46
+ "databaseUser": {
47
+ "type": "string",
48
+ "description": "Database admin username. Defaults to 'dbadmin'.",
49
+ "default": "dbadmin"
50
+ },
51
+ "databaseName": {
52
+ "type": "string",
53
+ "description": "Initial database name. Defaults to the project name."
54
+ },
55
+ "framework": {
56
+ "type": "string",
57
+ "enum": ["sqlmodel"],
58
+ "default": "sqlmodel",
59
+ "description": "ORM framework to use for the generated project.",
60
+ "x-priority": "important",
61
+ "x-prompt": "Which ORM framework would you like to use?"
62
+ },
63
+ "iac": {
64
+ "type": "string",
65
+ "description": "The preferred IaC provider. By default this is inherited from your initial selection.",
66
+ "enum": ["inherit", "cdk", "terraform"],
67
+ "x-priority": "important",
68
+ "default": "inherit",
69
+ "x-prompt": "Which provider would you like to manage your infrastructure? (default: inherit)"
70
+ },
71
+ "preferInstallDependencies": {
72
+ "type": "boolean",
73
+ "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.",
74
+ "default": true
75
+ }
76
+ },
77
+ "required": ["name"]
78
+ }
@@ -15,9 +15,31 @@
15
15
  "x-priority": "important",
16
16
  "x-prompt": "What would you like to call your Smithy project?"
17
17
  },
18
+ "type": {
19
+ "type": "string",
20
+ "description": "The type of Smithy project to create. Choose between service (a model with a service shape, ready for an implementation) and shapes (a shape library of reusable shapes, shared between multiple Smithy projects).",
21
+ "default": "service",
22
+ "enum": ["service", "shapes"],
23
+ "x-priority": "important",
24
+ "x-prompt": {
25
+ "message": "What type of Smithy project would you like to create?",
26
+ "type": "list",
27
+ "items": [
28
+ {
29
+ "value": "service",
30
+ "label": "service (a model which defines a service and its operations)"
31
+ },
32
+ {
33
+ "value": "shapes",
34
+ "label": "shapes (a library of reusable shapes, shared between Smithy projects)"
35
+ }
36
+ ],
37
+ "default": "service"
38
+ }
39
+ },
18
40
  "serviceName": {
19
41
  "type": "string",
20
- "description": "The name of your Smithy service. Uses the supplied name by default.",
42
+ "description": "The name of your Smithy service. Uses the supplied name by default. Not applicable to shape libraries.",
21
43
  "x-prompt": "What name would you like your Smithy Service to have? i.e: MyService"
22
44
  },
23
45
  "namespace": {
@@ -36,6 +58,11 @@
36
58
  "type": "string",
37
59
  "description": "The sub directory the Smithy project is placed in. By default this is the project name.",
38
60
  "x-prompt": "Which sub directory do you want to create the Smithy project in? (By default this is the project name)"
61
+ },
62
+ "preferInstallDependencies": {
63
+ "type": "boolean",
64
+ "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.",
65
+ "default": true
39
66
  }
40
67
  },
41
68
  "required": ["name"]
@@ -20,6 +20,11 @@
20
20
  "description": "",
21
21
  "x-prompt": "Project containing your Smithy API (either model or backend)",
22
22
  "x-dropdown": "projects"
23
+ },
24
+ "preferInstallDependencies": {
25
+ "type": "boolean",
26
+ "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.",
27
+ "default": true
23
28
  }
24
29
  },
25
30
  "required": ["frontendProjectName", "smithyModelOrBackendProjectName"]
@@ -2,6 +2,7 @@
2
2
  "$schema": "https://json-schema.org/schema",
3
3
  "$id": "ts#smithy-api",
4
4
  "title": "ts#smithy-api",
5
+ "x-label": "Smithy API",
5
6
  "description": "Create an API using Smithy and the Smithy TypeScript Server SDK",
6
7
  "type": "object",
7
8
  "properties": {
@@ -77,6 +78,11 @@
77
78
  "enum": ["rest-lambda", "none"],
78
79
  "x-prompt": "What infrastructure would you like to deploy your API with?",
79
80
  "x-priority": "internal"
81
+ },
82
+ "preferInstallDependencies": {
83
+ "type": "boolean",
84
+ "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.",
85
+ "default": true
80
86
  }
81
87
  },
82
88
  "required": ["name"]
@@ -34,6 +34,11 @@
34
34
  "type": "string",
35
35
  "description": "The sub directory the project is placed in. By default this is the project name.",
36
36
  "x-prompt": "Which sub directory do you want to create the project in? (By default this is the project name)"
37
+ },
38
+ "preferInstallDependencies": {
39
+ "type": "boolean",
40
+ "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.",
41
+ "default": true
37
42
  }
38
43
  },
39
44
  "required": ["name"]
@@ -2,6 +2,7 @@
2
2
  "$schema": "https://json-schema.org/schema",
3
3
  "$id": "TrpcBackend",
4
4
  "title": "",
5
+ "x-label": "tRPC API",
5
6
  "type": "object",
6
7
  "properties": {
7
8
  "name": {
@@ -71,6 +72,11 @@
71
72
  "enum": ["rest-lambda", "http-lambda", "none"],
72
73
  "x-prompt": "What infrastructure would you like to deploy your API with?",
73
74
  "x-priority": "important"
75
+ },
76
+ "preferInstallDependencies": {
77
+ "type": "boolean",
78
+ "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.",
79
+ "default": true
74
80
  }
75
81
  },
76
82
  "required": ["name"]
@@ -19,6 +19,11 @@
19
19
  "description": "",
20
20
  "x-prompt": "Package containing your Api Backend.",
21
21
  "x-dropdown": "projects"
22
+ },
23
+ "preferInstallDependencies": {
24
+ "type": "boolean",
25
+ "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.",
26
+ "default": true
22
27
  }
23
28
  },
24
29
  "required": ["frontendProjectName", "backendProjectName"]
@@ -20,6 +20,11 @@
20
20
  "targetComponent": {
21
21
  "type": "string",
22
22
  "description": "The target A2A agent component name"
23
+ },
24
+ "preferInstallDependencies": {
25
+ "type": "boolean",
26
+ "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.",
27
+ "default": true
23
28
  }
24
29
  },
25
30
  "required": ["sourceProject", "targetProject"]
@@ -0,0 +1,31 @@
1
+ {
2
+ "$schema": "https://json-schema.org/schema",
3
+ "$id": "ts#agent#gateway-connection",
4
+ "title": "ts#agent#gateway-connection",
5
+ "description": "Connect a TypeScript Agent to an AgentCore Gateway",
6
+ "type": "object",
7
+ "properties": {
8
+ "sourceProject": {
9
+ "type": "string",
10
+ "description": "The TypeScript Agent project"
11
+ },
12
+ "targetProject": {
13
+ "type": "string",
14
+ "description": "The AgentCore Gateway project"
15
+ },
16
+ "sourceComponent": {
17
+ "type": "string",
18
+ "description": "The agent component in the source project"
19
+ },
20
+ "targetComponent": {
21
+ "type": "string",
22
+ "description": "The gateway component in the target project"
23
+ },
24
+ "preferInstallDependencies": {
25
+ "type": "boolean",
26
+ "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.",
27
+ "default": true
28
+ }
29
+ },
30
+ "required": ["sourceProject", "targetProject"]
31
+ }
@@ -20,6 +20,11 @@
20
20
  "targetComponent": {
21
21
  "type": "string",
22
22
  "description": "The MCP server component name"
23
+ },
24
+ "preferInstallDependencies": {
25
+ "type": "boolean",
26
+ "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.",
27
+ "default": true
23
28
  }
24
29
  },
25
30
  "required": ["sourceProject", "targetProject"]
@@ -20,6 +20,11 @@
20
20
  "targetComponent": {
21
21
  "type": "string",
22
22
  "description": "The Agent component name"
23
+ },
24
+ "preferInstallDependencies": {
25
+ "type": "boolean",
26
+ "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.",
27
+ "default": true
23
28
  }
24
29
  },
25
30
  "required": ["sourceProject", "targetProject"]
@@ -2,6 +2,7 @@
2
2
  "$schema": "https://json-schema.org/schema",
3
3
  "$id": "ts#agent",
4
4
  "title": "ts#agent",
5
+ "x-label": "Agent",
5
6
  "description": "Add an AI Agent to a TypeScript project",
6
7
  "type": "object",
7
8
  "properties": {
@@ -59,6 +60,19 @@
59
60
  "enum": ["agentcore", "none"],
60
61
  "default": "agentcore",
61
62
  "x-priority": "important"
63
+ },
64
+ "session": {
65
+ "type": "string",
66
+ "description": "The storage used to persist session for your Agent.",
67
+ "x-prompt": "How would you like to persist session for your Agent?",
68
+ "enum": ["s3", "in-memory"],
69
+ "default": "s3",
70
+ "x-priority": "important"
71
+ },
72
+ "preferInstallDependencies": {
73
+ "type": "boolean",
74
+ "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.",
75
+ "default": true
62
76
  }
63
77
  },
64
78
  "required": ["project"]
@@ -99,6 +99,11 @@
99
99
  "enum": ["rest-lambda", "http-lambda", "none"],
100
100
  "x-prompt": "What infrastructure would you like to deploy your API with?",
101
101
  "x-priority": "important"
102
+ },
103
+ "preferInstallDependencies": {
104
+ "type": "boolean",
105
+ "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.",
106
+ "default": true
102
107
  }
103
108
  },
104
109
  "required": ["name"]
@@ -52,10 +52,10 @@
52
52
  "default": false,
53
53
  "x-prompt": "Would you like to opt out of the blog?"
54
54
  },
55
- "skipInstall": {
56
- "description": "Skip installing dependencies after the generator runs.",
55
+ "preferInstallDependencies": {
57
56
  "type": "boolean",
58
- "default": false
57
+ "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.",
58
+ "default": true
59
59
  }
60
60
  },
61
61
  "required": ["name"]
@@ -0,0 +1,44 @@
1
+ {
2
+ "$schema": "https://json-schema.org/schema",
3
+ "$id": "ts#dcr-proxy",
4
+ "title": "ts#dcr-proxy",
5
+ "description": "Generate an OAuth Dynamic Client Registration (DCR) proxy construct for Cognito-authenticated MCP servers",
6
+ "type": "object",
7
+ "properties": {
8
+ "name": {
9
+ "type": "string",
10
+ "description": "The name of your DCR proxy, used for its TypeScript handler project, the construct/module class name, and its directory under common/constructs or common/terraform",
11
+ "default": "dcr-proxy",
12
+ "$default": {
13
+ "$source": "argv",
14
+ "index": 0
15
+ },
16
+ "x-prompt": "What would you like to call your DCR proxy?",
17
+ "x-priority": "important"
18
+ },
19
+ "directory": {
20
+ "description": "The directory to store the DCR proxy handler project in.",
21
+ "type": "string",
22
+ "alias": "dir",
23
+ "x-priority": "important",
24
+ "default": "packages"
25
+ },
26
+ "subDirectory": {
27
+ "type": "string",
28
+ "description": "The sub directory the handler project is placed in. By default this is the project name."
29
+ },
30
+ "iac": {
31
+ "type": "string",
32
+ "description": "The preferred IaC provider (cdk or terraform). By default this is inherited from your initial selection.",
33
+ "enum": ["inherit", "cdk", "terraform"],
34
+ "x-priority": "important",
35
+ "default": "inherit",
36
+ "x-prompt": "Which provider would you like to manage your infrastructure? (default: inherit)"
37
+ },
38
+ "preferInstallDependencies": {
39
+ "type": "boolean",
40
+ "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.",
41
+ "default": true
42
+ }
43
+ }
44
+ }
@@ -60,10 +60,10 @@
60
60
  "default": false,
61
61
  "x-prompt": "Would you like to opt out of the blog?"
62
62
  },
63
- "skipInstall": {
64
- "description": "Skip installing dependencies after the generator runs.",
63
+ "preferInstallDependencies": {
65
64
  "type": "boolean",
66
- "default": false
65
+ "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.",
66
+ "default": true
67
67
  }
68
68
  },
69
69
  "required": ["name"]
@@ -16,6 +16,11 @@
16
16
  "sourceComponent": {
17
17
  "type": "string",
18
18
  "description": "The agent component name"
19
+ },
20
+ "preferInstallDependencies": {
21
+ "type": "boolean",
22
+ "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.",
23
+ "default": true
19
24
  }
20
25
  },
21
26
  "required": ["sourceProject", "targetProject"]
@@ -16,6 +16,11 @@
16
16
  "sourceComponent": {
17
17
  "type": "string",
18
18
  "description": "The MCP server component name"
19
+ },
20
+ "preferInstallDependencies": {
21
+ "type": "boolean",
22
+ "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.",
23
+ "default": true
19
24
  }
20
25
  },
21
26
  "required": ["sourceProject", "targetProject"]
@@ -2,7 +2,8 @@
2
2
  "$schema": "https://json-schema.org/schema",
3
3
  "$id": "ts#dynamodb",
4
4
  "title": "ts#dynamodb",
5
- "description": "Create a DynamoDB project",
5
+ "x-label": "DynamoDB",
6
+ "description": "Create a TypeScript DynamoDB project",
6
7
  "type": "object",
7
8
  "properties": {
8
9
  "name": {
@@ -27,9 +28,27 @@
27
28
  "description": "The sub directory the project is placed in. By default this is the project name.",
28
29
  "x-prompt": "Which sub directory do you want to create the project in? (By default this is the project name)"
29
30
  },
31
+ "framework": {
32
+ "type": "string",
33
+ "enum": ["electrodb"],
34
+ "default": "electrodb",
35
+ "description": "The framework to use for DynamoDB entities.",
36
+ "x-priority": "important",
37
+ "x-prompt": {
38
+ "message": "Which framework would you like to use for DynamoDB entities?",
39
+ "type": "list",
40
+ "items": [
41
+ {
42
+ "value": "electrodb",
43
+ "label": "ElectroDB"
44
+ }
45
+ ],
46
+ "default": "electrodb"
47
+ }
48
+ },
30
49
  "tableName": {
31
50
  "type": "string",
32
- "description": "The DynamoDB table name. Defaults to the project name."
51
+ "description": "The DynamoDB table name. Auto-generated if not specified."
33
52
  },
34
53
  "infra": {
35
54
  "type": "string",
@@ -46,6 +65,11 @@
46
65
  "x-priority": "important",
47
66
  "default": "inherit",
48
67
  "x-prompt": "Which provider would you like to manage your infrastructure? (default: Inherit)"
68
+ },
69
+ "preferInstallDependencies": {
70
+ "type": "boolean",
71
+ "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.",
72
+ "default": true
49
73
  }
50
74
  },
51
75
  "required": ["name"]
@@ -12,6 +12,11 @@
12
12
  "targetProject": {
13
13
  "type": "string",
14
14
  "description": "The ts#dynamodb project to connect to"
15
+ },
16
+ "preferInstallDependencies": {
17
+ "type": "boolean",
18
+ "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.",
19
+ "default": true
15
20
  }
16
21
  },
17
22
  "required": ["sourceProject", "targetProject"]
@@ -12,6 +12,11 @@
12
12
  "targetProject": {
13
13
  "type": "string",
14
14
  "description": "The ts#dynamodb project to connect to"
15
+ },
16
+ "preferInstallDependencies": {
17
+ "type": "boolean",
18
+ "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.",
19
+ "default": true
15
20
  }
16
21
  },
17
22
  "required": ["sourceProject", "targetProject"]
@@ -92,6 +92,11 @@
92
92
  "x-priority": "important",
93
93
  "default": "inherit",
94
94
  "x-prompt": "Which provider would you like to manage your infrastructure? (default: inherit)"
95
+ },
96
+ "preferInstallDependencies": {
97
+ "type": "boolean",
98
+ "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.",
99
+ "default": true
95
100
  }
96
101
  },
97
102
  "required": ["project", "name"]
@@ -26,6 +26,11 @@
26
26
  "type": "string",
27
27
  "description": "The sub directory the lib is placed in. By default this is the library name.",
28
28
  "x-prompt": "Which sub directory do you want to create the library in? (By default this is the library name)"
29
+ },
30
+ "preferInstallDependencies": {
31
+ "type": "boolean",
32
+ "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.",
33
+ "default": true
29
34
  }
30
35
  },
31
36
  "required": ["name"]
@@ -2,6 +2,7 @@
2
2
  "$schema": "https://json-schema.org/schema",
3
3
  "$id": "ts#mcp-server",
4
4
  "title": "ts#mcp-server",
5
+ "x-label": "MCP Server",
5
6
  "description": "Add a Model Context Protocol (MCP) server to an existing TypeScript project",
6
7
  "type": "object",
7
8
  "properties": {
@@ -43,6 +44,11 @@
43
44
  "enum": ["agentcore", "none"],
44
45
  "default": "agentcore",
45
46
  "x-priority": "important"
47
+ },
48
+ "preferInstallDependencies": {
49
+ "type": "boolean",
50
+ "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.",
51
+ "default": true
46
52
  }
47
53
  },
48
54
  "required": ["project"]
@@ -32,6 +32,11 @@
32
32
  "type": "string",
33
33
  "description": "The directory within the plugin project's source folder to add the generator to (default: <name>)",
34
34
  "x-prompt": "Choose the directory you would like to generate the generator in relative to the project's source folder (default: <name>)"
35
+ },
36
+ "preferInstallDependencies": {
37
+ "type": "boolean",
38
+ "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.",
39
+ "default": true
35
40
  }
36
41
  },
37
42
  "required": ["project", "name"]
@@ -0,0 +1,63 @@
1
+ {
2
+ "$schema": "https://json-schema.org/schema",
3
+ "$id": "TsNxMigration",
4
+ "title": "Create an Nx Migration",
5
+ "description": "Scaffold a migration for an Nx Plugin, applied by nx migrate when users upgrade",
6
+ "type": "object",
7
+ "properties": {
8
+ "project": {
9
+ "type": "string",
10
+ "description": "The Nx Plugin project to add the migration to. We recommend using the ts#nx-plugin generator to create this.",
11
+ "x-priority": "important",
12
+ "x-prompt": "Choose the Nx Plugin project to add the migration to",
13
+ "x-dropdown": "projects",
14
+ "$default": {
15
+ "$source": "argv",
16
+ "index": 0
17
+ }
18
+ },
19
+ "name": {
20
+ "type": "string",
21
+ "description": "Migration name, in kebab-case (e.g. rename-foo-target)",
22
+ "x-priority": "important",
23
+ "x-prompt": "What is the name of the migration? (kebab-case, e.g. rename-foo-target)"
24
+ },
25
+ "description": {
26
+ "type": "string",
27
+ "description": "A description of what the migration does, shown by nx migrate",
28
+ "x-priority": "important",
29
+ "x-prompt": "Describe what the migration does"
30
+ },
31
+ "kind": {
32
+ "type": "string",
33
+ "description": "The kind of migration: deterministic (a codemod), agentic (an AI-applied prompt for user-owned code), or hybrid (a codemod that does the mechanical part then hands off to an agent)",
34
+ "enum": ["deterministic", "agentic", "hybrid"],
35
+ "default": "deterministic",
36
+ "x-priority": "important",
37
+ "x-prompt": {
38
+ "message": "What kind of migration is this?",
39
+ "type": "list",
40
+ "items": [
41
+ {
42
+ "value": "deterministic",
43
+ "label": "Deterministic — a codemod with an exact before/after (runs unattended, incl. CI)"
44
+ },
45
+ {
46
+ "value": "agentic",
47
+ "label": "Agentic — an AI-applied prompt for changes to user-owned code"
48
+ },
49
+ {
50
+ "value": "hybrid",
51
+ "label": "Hybrid — a codemod for the mechanical part that hands off to an agent for the rest"
52
+ }
53
+ ]
54
+ }
55
+ },
56
+ "preferInstallDependencies": {
57
+ "type": "boolean",
58
+ "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.",
59
+ "default": true
60
+ }
61
+ },
62
+ "required": ["project", "name"]
63
+ }
@@ -26,6 +26,11 @@
26
26
  "type": "string",
27
27
  "description": "The sub directory the lib is placed in. By default this is the library name.",
28
28
  "x-prompt": "Which sub directory do you want to create the library in? (By default this is the library name)"
29
+ },
30
+ "preferInstallDependencies": {
31
+ "type": "boolean",
32
+ "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.",
33
+ "default": true
29
34
  }
30
35
  },
31
36
  "required": ["name"]
@@ -16,6 +16,11 @@
16
16
  "sourceComponent": {
17
17
  "type": "string",
18
18
  "description": "The agent component name"
19
+ },
20
+ "preferInstallDependencies": {
21
+ "type": "boolean",
22
+ "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.",
23
+ "default": true
19
24
  }
20
25
  },
21
26
  "required": ["sourceProject", "targetProject"]