@aws/nx-plugin-mcp 0.96.0
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.
- package/LICENSE +175 -0
- package/README.md +22 -0
- package/bin/aws-nx-mcp.cjs +20437 -0
- package/generators.json +246 -0
- package/package.json +18 -0
- package/src/connection/schema.json +33 -0
- package/src/infra/app/schema.json +38 -0
- package/src/license/schema.json +23 -0
- package/src/license/sync/schema.json +9 -0
- package/src/open-api/ts-client/schema.json +20 -0
- package/src/open-api/ts-hooks/schema.json +20 -0
- package/src/open-api/ts-metadata/schema.json +20 -0
- package/src/preset/schema.json +22 -0
- package/src/py/fast-api/react/schema.json +26 -0
- package/src/py/fast-api/schema.json +82 -0
- package/src/py/lambda-function/schema.json +88 -0
- package/src/py/mcp-server/schema.json +49 -0
- package/src/py/project/schema.json +42 -0
- package/src/py/strands-agent/mcp-connection/schema.json +26 -0
- package/src/py/strands-agent/react-connection/schema.json +26 -0
- package/src/py/strands-agent/schema.json +49 -0
- package/src/smithy/project/schema.json +42 -0
- package/src/smithy/react-connection/schema.json +26 -0
- package/src/smithy/ts/api/schema.json +83 -0
- package/src/terraform/project/schema.json +40 -0
- package/src/trpc/backend/schema.json +77 -0
- package/src/trpc/react/schema.json +25 -0
- package/src/ts/lambda-function/schema.json +90 -0
- package/src/ts/lib/schema.json +32 -0
- package/src/ts/mcp-server/schema.json +49 -0
- package/src/ts/nx-generator/schema.json +38 -0
- package/src/ts/nx-plugin/schema.json +32 -0
- package/src/ts/react-website/app/schema.json +89 -0
- package/src/ts/react-website/cognito-auth/schema.json +50 -0
- package/src/ts/react-website/runtime-config/schema.json +19 -0
- package/src/ts/strands-agent/mcp-connection/schema.json +26 -0
- package/src/ts/strands-agent/react-connection/schema.json +26 -0
- package/src/ts/strands-agent/schema.json +49 -0
- package/src/ts/sync/schema.json +8 -0
package/generators.json
ADDED
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"name": "@aws/nx-plugin",
|
|
4
|
+
"version": "0.0.1",
|
|
5
|
+
"generators": {
|
|
6
|
+
"connection": {
|
|
7
|
+
"factory": "./src/connection/generator",
|
|
8
|
+
"schema": "./src/connection/schema.json",
|
|
9
|
+
"description": "Integrates a source project with a target project",
|
|
10
|
+
"metric": "g11",
|
|
11
|
+
"guidePages": [
|
|
12
|
+
"connection",
|
|
13
|
+
"connection/react-fastapi",
|
|
14
|
+
"connection/react-trpc",
|
|
15
|
+
"connection/react-smithy",
|
|
16
|
+
"connection/react-ts-strands-agent",
|
|
17
|
+
"connection/react-py-strands-agent",
|
|
18
|
+
"connection/py-strands-agent-mcp",
|
|
19
|
+
"connection/ts-strands-agent-mcp"
|
|
20
|
+
]
|
|
21
|
+
},
|
|
22
|
+
"license": {
|
|
23
|
+
"factory": "./src/license/generator",
|
|
24
|
+
"schema": "./src/license/schema.json",
|
|
25
|
+
"description": "Add LICENSE files and configure source code licence headers",
|
|
26
|
+
"metric": "g14"
|
|
27
|
+
},
|
|
28
|
+
"license#sync": {
|
|
29
|
+
"factory": "./src/license/sync/generator",
|
|
30
|
+
"schema": "./src/license/sync/schema.json",
|
|
31
|
+
"description": "Sync generator for writing licence headers and subproject LICENSE files",
|
|
32
|
+
"metric": "g15",
|
|
33
|
+
"hidden": true
|
|
34
|
+
},
|
|
35
|
+
"open-api#ts-client": {
|
|
36
|
+
"factory": "./src/open-api/ts-client/generator",
|
|
37
|
+
"schema": "./src/open-api/ts-client/schema.json",
|
|
38
|
+
"description": "Generate a typescript client from an OpenAPI specification",
|
|
39
|
+
"metric": "g12",
|
|
40
|
+
"hidden": true
|
|
41
|
+
},
|
|
42
|
+
"open-api#ts-hooks": {
|
|
43
|
+
"factory": "./src/open-api/ts-hooks/generator",
|
|
44
|
+
"schema": "./src/open-api/ts-hooks/schema.json",
|
|
45
|
+
"description": "Generate typescript hooks from an OpenAPI specification",
|
|
46
|
+
"metric": "g13",
|
|
47
|
+
"hidden": true
|
|
48
|
+
},
|
|
49
|
+
"open-api#ts-metadata": {
|
|
50
|
+
"factory": "./src/open-api/ts-metadata/generator",
|
|
51
|
+
"schema": "./src/open-api/ts-metadata/schema.json",
|
|
52
|
+
"description": "Generate typescript metadata from an OpenAPI specification",
|
|
53
|
+
"metric": "g19",
|
|
54
|
+
"hidden": true
|
|
55
|
+
},
|
|
56
|
+
"preset": {
|
|
57
|
+
"factory": "./src/preset/generator",
|
|
58
|
+
"schema": "./src/preset/schema.json",
|
|
59
|
+
"description": "The @aws/nx-plugin workspace preset.",
|
|
60
|
+
"metric": "g20",
|
|
61
|
+
"hidden": true
|
|
62
|
+
},
|
|
63
|
+
"py#fast-api": {
|
|
64
|
+
"factory": "./src/py/fast-api/generator",
|
|
65
|
+
"schema": "./src/py/fast-api/schema.json",
|
|
66
|
+
"description": "Generates a FastAPI Python project",
|
|
67
|
+
"metric": "g3",
|
|
68
|
+
"guidePages": ["fastapi"]
|
|
69
|
+
},
|
|
70
|
+
"py#fast-api#react-connection": {
|
|
71
|
+
"factory": "./src/py/fast-api/react/generator",
|
|
72
|
+
"schema": "./src/py/fast-api/react/schema.json",
|
|
73
|
+
"description": "Integrates a FastAPI with a React website",
|
|
74
|
+
"metric": "g4",
|
|
75
|
+
"hidden": true
|
|
76
|
+
},
|
|
77
|
+
"py#lambda-function": {
|
|
78
|
+
"factory": "./src/py/lambda-function/generator",
|
|
79
|
+
"schema": "./src/py/lambda-function/schema.json",
|
|
80
|
+
"description": "Adds a lambda function to a python project",
|
|
81
|
+
"metric": "g16",
|
|
82
|
+
"guidePages": ["python-lambda-function"]
|
|
83
|
+
},
|
|
84
|
+
"py#mcp-server": {
|
|
85
|
+
"factory": "./src/py/mcp-server/generator",
|
|
86
|
+
"schema": "./src/py/mcp-server/schema.json",
|
|
87
|
+
"description": "Generate a Python Model Context Protocol (MCP) server for providing context to Large Language Models",
|
|
88
|
+
"metric": "g24"
|
|
89
|
+
},
|
|
90
|
+
"py#project": {
|
|
91
|
+
"factory": "./src/py/project/generator",
|
|
92
|
+
"schema": "./src/py/project/schema.json",
|
|
93
|
+
"description": "Generates a Python project",
|
|
94
|
+
"metric": "g2",
|
|
95
|
+
"guidePages": ["python-project"]
|
|
96
|
+
},
|
|
97
|
+
"py#strands-agent": {
|
|
98
|
+
"factory": "./src/py/strands-agent/generator",
|
|
99
|
+
"schema": "./src/py/strands-agent/schema.json",
|
|
100
|
+
"description": "Add a Strands Agent to a Python project",
|
|
101
|
+
"metric": "g25"
|
|
102
|
+
},
|
|
103
|
+
"smithy#project": {
|
|
104
|
+
"factory": "./src/smithy/project/generator",
|
|
105
|
+
"schema": "./src/smithy/project/schema.json",
|
|
106
|
+
"description": "Generate a Smithy model project",
|
|
107
|
+
"metric": "g27",
|
|
108
|
+
"hidden": true
|
|
109
|
+
},
|
|
110
|
+
"smithy#react-connection": {
|
|
111
|
+
"factory": "./src/smithy/react-connection/generator",
|
|
112
|
+
"schema": "./src/smithy/react-connection/schema.json",
|
|
113
|
+
"description": "Connects a react website to a Smithy API",
|
|
114
|
+
"metric": "g28",
|
|
115
|
+
"hidden": true
|
|
116
|
+
},
|
|
117
|
+
"terraform#project": {
|
|
118
|
+
"factory": "./src/terraform/project/generator",
|
|
119
|
+
"schema": "./src/terraform/project/schema.json",
|
|
120
|
+
"description": "Generates a Terraform project",
|
|
121
|
+
"metric": "g23",
|
|
122
|
+
"guidePages": ["terraform-project"]
|
|
123
|
+
},
|
|
124
|
+
"ts#infra": {
|
|
125
|
+
"factory": "./src/infra/app/generator",
|
|
126
|
+
"schema": "./src/infra/app/schema.json",
|
|
127
|
+
"description": "Generates a cdk application",
|
|
128
|
+
"metric": "g8",
|
|
129
|
+
"guidePages": ["typescript-infrastructure"]
|
|
130
|
+
},
|
|
131
|
+
"ts#lambda-function": {
|
|
132
|
+
"factory": "./src/ts/lambda-function/generator",
|
|
133
|
+
"schema": "./src/ts/lambda-function/schema.json",
|
|
134
|
+
"description": "Generate a TypeScript lambda function",
|
|
135
|
+
"metric": "g21"
|
|
136
|
+
},
|
|
137
|
+
"ts#mcp-server": {
|
|
138
|
+
"factory": "./src/ts/mcp-server/generator",
|
|
139
|
+
"schema": "./src/ts/mcp-server/schema.json",
|
|
140
|
+
"description": "Generate a TypeScript Model Context Protocol (MCP) server for providing context to Large Language Models",
|
|
141
|
+
"metric": "g18"
|
|
142
|
+
},
|
|
143
|
+
"ts#nx-generator": {
|
|
144
|
+
"factory": "./src/ts/nx-generator/generator",
|
|
145
|
+
"schema": "./src/ts/nx-generator/schema.json",
|
|
146
|
+
"description": "Generator for adding an Nx Generator to an existing TypeScript project",
|
|
147
|
+
"metric": "g17",
|
|
148
|
+
"guidePages": ["nx-generator"]
|
|
149
|
+
},
|
|
150
|
+
"ts#nx-plugin": {
|
|
151
|
+
"factory": "./src/ts/nx-plugin/generator",
|
|
152
|
+
"schema": "./src/ts/nx-plugin/schema.json",
|
|
153
|
+
"description": "Generate an Nx Plugin of your own! Build custom generators automatically made available for AI vibe-coding via MCP",
|
|
154
|
+
"metric": "g22"
|
|
155
|
+
},
|
|
156
|
+
"ts#project": {
|
|
157
|
+
"factory": "./src/ts/lib/generator",
|
|
158
|
+
"schema": "./src/ts/lib/schema.json",
|
|
159
|
+
"description": "Generates a TypeScript project",
|
|
160
|
+
"metric": "g1",
|
|
161
|
+
"guidePages": ["typescript-project"]
|
|
162
|
+
},
|
|
163
|
+
"ts#react-website": {
|
|
164
|
+
"factory": "./src/ts/react-website/app/generator",
|
|
165
|
+
"schema": "./src/ts/react-website/app/schema.json",
|
|
166
|
+
"description": "Generates a React static website",
|
|
167
|
+
"metric": "g5",
|
|
168
|
+
"guidePages": ["react-website"]
|
|
169
|
+
},
|
|
170
|
+
"ts#react-website#auth": {
|
|
171
|
+
"factory": "./src/ts/react-website/cognito-auth/generator",
|
|
172
|
+
"schema": "./src/ts/react-website/cognito-auth/schema.json",
|
|
173
|
+
"description": "Adds auth to an existing React website",
|
|
174
|
+
"metric": "g6",
|
|
175
|
+
"guidePages": ["react-website-auth"]
|
|
176
|
+
},
|
|
177
|
+
"ts#react-website#runtime-config": {
|
|
178
|
+
"factory": "./src/ts/react-website/runtime-config/generator",
|
|
179
|
+
"schema": "./src/ts/react-website/runtime-config/schema.json",
|
|
180
|
+
"description": "Adds runtime config to an existing React website",
|
|
181
|
+
"metric": "g7",
|
|
182
|
+
"hidden": true
|
|
183
|
+
},
|
|
184
|
+
"ts#smithy-api": {
|
|
185
|
+
"factory": "./src/smithy/ts/api/generator",
|
|
186
|
+
"schema": "./src/smithy/ts/api/schema.json",
|
|
187
|
+
"description": "Create an API using Smithy and the Smithy TypeScript Server SDK",
|
|
188
|
+
"metric": "g26"
|
|
189
|
+
},
|
|
190
|
+
"ts#strands-agent": {
|
|
191
|
+
"factory": "./src/ts/strands-agent/generator",
|
|
192
|
+
"schema": "./src/ts/strands-agent/schema.json",
|
|
193
|
+
"description": "Add a Strands Agent to a TypeScript project",
|
|
194
|
+
"metric": "g30"
|
|
195
|
+
},
|
|
196
|
+
"ts#strands-agent#react-connection": {
|
|
197
|
+
"factory": "./src/ts/strands-agent/react-connection/generator",
|
|
198
|
+
"schema": "./src/ts/strands-agent/react-connection/schema.json",
|
|
199
|
+
"description": "Connect a React website to a TypeScript Strands Agent",
|
|
200
|
+
"metric": "g33",
|
|
201
|
+
"hidden": true
|
|
202
|
+
},
|
|
203
|
+
"ts#strands-agent#mcp-connection": {
|
|
204
|
+
"factory": "./src/ts/strands-agent/mcp-connection/generator",
|
|
205
|
+
"schema": "./src/ts/strands-agent/mcp-connection/schema.json",
|
|
206
|
+
"description": "Connect a TypeScript Strands Agent to an MCP server",
|
|
207
|
+
"metric": "g31",
|
|
208
|
+
"hidden": true
|
|
209
|
+
},
|
|
210
|
+
"py#strands-agent#mcp-connection": {
|
|
211
|
+
"factory": "./src/py/strands-agent/mcp-connection/generator",
|
|
212
|
+
"schema": "./src/py/strands-agent/mcp-connection/schema.json",
|
|
213
|
+
"description": "Connect a Python Strands Agent to an MCP server",
|
|
214
|
+
"metric": "g32",
|
|
215
|
+
"hidden": true
|
|
216
|
+
},
|
|
217
|
+
"py#strands-agent#react-connection": {
|
|
218
|
+
"factory": "./src/py/strands-agent/react-connection/generator",
|
|
219
|
+
"schema": "./src/py/strands-agent/react-connection/schema.json",
|
|
220
|
+
"description": "Connect a React website to a Python Strands Agent",
|
|
221
|
+
"metric": "g34",
|
|
222
|
+
"hidden": true
|
|
223
|
+
},
|
|
224
|
+
"ts#sync": {
|
|
225
|
+
"factory": "./src/ts/sync/generator",
|
|
226
|
+
"schema": "./src/ts/sync/schema.json",
|
|
227
|
+
"description": "TypeScript path alias sync generator",
|
|
228
|
+
"metric": "g29",
|
|
229
|
+
"hidden": true
|
|
230
|
+
},
|
|
231
|
+
"ts#trpc-api": {
|
|
232
|
+
"factory": "./src/trpc/backend/generator",
|
|
233
|
+
"schema": "./src/trpc/backend/schema.json",
|
|
234
|
+
"description": "creates a trpc backend",
|
|
235
|
+
"metric": "g9",
|
|
236
|
+
"guidePages": ["trpc"]
|
|
237
|
+
},
|
|
238
|
+
"ts#trpc-api#react-connection": {
|
|
239
|
+
"factory": "./src/trpc/react/generator",
|
|
240
|
+
"schema": "./src/trpc/react/schema.json",
|
|
241
|
+
"description": "provides React integration to a React website",
|
|
242
|
+
"metric": "g10",
|
|
243
|
+
"hidden": true
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@aws/nx-plugin-mcp",
|
|
3
|
+
"version": "0.96.0",
|
|
4
|
+
"repository": {
|
|
5
|
+
"type": "git",
|
|
6
|
+
"url": "https://github.com/awslabs/nx-plugin-for-aws.git",
|
|
7
|
+
"directory": "packages/nx-plugin-mcp"
|
|
8
|
+
},
|
|
9
|
+
"private": false,
|
|
10
|
+
"type": "commonjs",
|
|
11
|
+
"license": "Apache-2.0",
|
|
12
|
+
"publishConfig": {
|
|
13
|
+
"access": "public"
|
|
14
|
+
},
|
|
15
|
+
"bin": {
|
|
16
|
+
"aws-nx-mcp": "./bin/aws-nx-mcp.cjs"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/schema",
|
|
3
|
+
"$id": "Connection",
|
|
4
|
+
"title": "",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"sourceProject": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "The source project",
|
|
10
|
+
"$default": {
|
|
11
|
+
"$source": "argv",
|
|
12
|
+
"index": 0
|
|
13
|
+
},
|
|
14
|
+
"x-prompt": "Select the source project",
|
|
15
|
+
"x-dropdown": "projects"
|
|
16
|
+
},
|
|
17
|
+
"targetProject": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"description": "The target project to connect to",
|
|
20
|
+
"x-prompt": "Select the target project to connect to",
|
|
21
|
+
"x-dropdown": "projects"
|
|
22
|
+
},
|
|
23
|
+
"sourceComponent": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"description": "The source component to connect from (component name, path relative to source project root, or generator id). Use '.' to explicitly select the project as the source."
|
|
26
|
+
},
|
|
27
|
+
"targetComponent": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"description": "The target component to connect to (component name, path relative to target project root, or generator id). Use '.' to explicitly select the project as the target."
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"required": ["sourceProject", "targetProject"]
|
|
33
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/schema",
|
|
3
|
+
"$id": "Infra",
|
|
4
|
+
"title": "",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"name": {
|
|
8
|
+
"description": "The name of the application.",
|
|
9
|
+
"type": "string",
|
|
10
|
+
"$default": {
|
|
11
|
+
"$source": "argv",
|
|
12
|
+
"index": 0
|
|
13
|
+
},
|
|
14
|
+
"x-prompt": "What name would you like to use for the application?",
|
|
15
|
+
"pattern": "^[a-zA-Z][^:]*$"
|
|
16
|
+
},
|
|
17
|
+
"directory": {
|
|
18
|
+
"description": "The directory of the new application.",
|
|
19
|
+
"type": "string",
|
|
20
|
+
"alias": "dir",
|
|
21
|
+
"x-priority": "important",
|
|
22
|
+
"default": "packages",
|
|
23
|
+
"x-prompt": "What directory would you like to store your application in?"
|
|
24
|
+
},
|
|
25
|
+
"subDirectory": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"description": "The sub directory the project is placed in. By default this is the project name.",
|
|
28
|
+
"x-prompt": "Which sub directory do you want to create the project in? (By default this is the project name)"
|
|
29
|
+
},
|
|
30
|
+
"enableStageConfig": {
|
|
31
|
+
"description": "Enable centralized stage configuration (credentials, account, region) for multi-environment CDK deployments.",
|
|
32
|
+
"type": "boolean",
|
|
33
|
+
"default": false,
|
|
34
|
+
"x-prompt": "Would you like to enable centralized stage credential configuration?"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"required": ["name"]
|
|
38
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"cli": "nx",
|
|
4
|
+
"$id": "License",
|
|
5
|
+
"title": "Add LICENSE files, and configure source code license headers",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"license": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "SPDX License Identifier for your chosen license",
|
|
11
|
+
"enum": ["Apache-2.0", "MIT", "ASL"],
|
|
12
|
+
"default": "Apache-2.0",
|
|
13
|
+
"x-priority": "important"
|
|
14
|
+
},
|
|
15
|
+
"copyrightHolder": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "The copyright holder, included in the LICENSE file and source file headers by default.",
|
|
18
|
+
"default": "Amazon.com, Inc. or its affiliates",
|
|
19
|
+
"x-priority": "important"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"required": []
|
|
23
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/schema",
|
|
3
|
+
"$id": "OpenApiTsClient",
|
|
4
|
+
"title": "OpenAPI TypeScript Client",
|
|
5
|
+
"description": "Generate TypeScript client from an OpenAPI specification",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"openApiSpecPath": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "Path to the OpenAPI specification relative to the monorepo root",
|
|
11
|
+
"x-priority": "important"
|
|
12
|
+
},
|
|
13
|
+
"outputPath": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"description": "Path to the directory in which to generate the client relative to the monorepo root",
|
|
16
|
+
"x-priority": "important"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"required": ["openApiSpecPath", "outputPath"]
|
|
20
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/schema",
|
|
3
|
+
"$id": "OpenApiTsHooks",
|
|
4
|
+
"title": "OpenAPI TypeScript Hooks",
|
|
5
|
+
"description": "Generate TypeScript hooks from an OpenAPI specification",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"openApiSpecPath": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "Path to the OpenAPI specification relative to the monorepo root",
|
|
11
|
+
"x-priority": "important"
|
|
12
|
+
},
|
|
13
|
+
"outputPath": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"description": "Path to the directory in which to generate the hooks relative to the monorepo root",
|
|
16
|
+
"x-priority": "important"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"required": ["openApiSpecPath", "outputPath"]
|
|
20
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/schema",
|
|
3
|
+
"$id": "OpenApiTsMetadata",
|
|
4
|
+
"title": "OpenAPI TypeScript Metadata",
|
|
5
|
+
"description": "Generate TypeScript metadata from an OpenAPI specification",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"openApiSpecPath": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "Path to the OpenAPI specification relative to the monorepo root",
|
|
11
|
+
"x-priority": "important"
|
|
12
|
+
},
|
|
13
|
+
"outputPath": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"description": "Path to the directory in which to generate the metadata relative to the monorepo root",
|
|
16
|
+
"x-priority": "important"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"required": ["openApiSpecPath", "outputPath"]
|
|
20
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/schema",
|
|
3
|
+
"$id": "preset",
|
|
4
|
+
"title": "preset",
|
|
5
|
+
"description": "The @aws/nx-plugin preset.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"addTsPlugin": {
|
|
9
|
+
"type": "boolean",
|
|
10
|
+
"description": "Whether to add the ts plugin.",
|
|
11
|
+
"default": true
|
|
12
|
+
},
|
|
13
|
+
"iacProvider": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"description": "The preferred IaC provider.",
|
|
16
|
+
"enum": ["CDK", "Terraform"],
|
|
17
|
+
"x-priority": "important",
|
|
18
|
+
"x-prompt": "Which provider would you like to manage your infrastructure?"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"required": ["iacProvider"]
|
|
22
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/schema",
|
|
3
|
+
"$id": "FastAPIReact",
|
|
4
|
+
"title": "Integrate a Python FastAPI with a react website",
|
|
5
|
+
"description": "Integrate a Python FastAPI with a react website",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"frontendProjectName": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "",
|
|
11
|
+
"$default": {
|
|
12
|
+
"$source": "argv",
|
|
13
|
+
"index": 0
|
|
14
|
+
},
|
|
15
|
+
"x-prompt": "React application's project name.",
|
|
16
|
+
"x-dropdown": "projects"
|
|
17
|
+
},
|
|
18
|
+
"fastApiProjectName": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"description": "",
|
|
21
|
+
"x-prompt": "Package containing your FastAPI backend",
|
|
22
|
+
"x-dropdown": "projects"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"required": ["frontendProjectName", "fastApiProjectName"]
|
|
26
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/schema",
|
|
3
|
+
"$id": "PyFastApi",
|
|
4
|
+
"title": "Create a Python FastAPI project",
|
|
5
|
+
"description": "Create a Python FastAPI project",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"name": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "Name of the API project to generate",
|
|
11
|
+
"x-priority": "important",
|
|
12
|
+
"$default": {
|
|
13
|
+
"$source": "argv",
|
|
14
|
+
"index": 0
|
|
15
|
+
},
|
|
16
|
+
"x-prompt": "What name would you like your API to have? i.e: MyApi"
|
|
17
|
+
},
|
|
18
|
+
"computeType": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"description": "The type of compute to use to deploy this API. Choose between ServerlessApiGatewayRestApi (default) or ServerlessApiGatewayHttpApi.",
|
|
21
|
+
"default": "ServerlessApiGatewayRestApi",
|
|
22
|
+
"enum": ["ServerlessApiGatewayRestApi", "ServerlessApiGatewayHttpApi"],
|
|
23
|
+
"x-prompt": "What compute type would you like to deploy your API with?",
|
|
24
|
+
"x-priority": "important"
|
|
25
|
+
},
|
|
26
|
+
"integrationPattern": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"description": "How API Gateway integrations are generated for the API. Choose between isolated (default) and shared.",
|
|
29
|
+
"default": "isolated",
|
|
30
|
+
"enum": ["isolated", "shared"],
|
|
31
|
+
"x-priority": "important",
|
|
32
|
+
"x-prompt": {
|
|
33
|
+
"message": "How would you like to map integrations to your FastAPI operations?",
|
|
34
|
+
"type": "list",
|
|
35
|
+
"items": [
|
|
36
|
+
{
|
|
37
|
+
"value": "isolated",
|
|
38
|
+
"label": "isolated (one integration per operation)"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"value": "shared",
|
|
42
|
+
"label": "shared (single default integration with optional overrides)"
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
"default": "isolated"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"auth": {
|
|
49
|
+
"type": "string",
|
|
50
|
+
"description": "The method used to authenticate with your API. Choose between IAM (default), Cognito or None.",
|
|
51
|
+
"default": "IAM",
|
|
52
|
+
"enum": ["IAM", "Cognito", "None"],
|
|
53
|
+
"x-prompt": "How would you like users to authenticate with your API?",
|
|
54
|
+
"x-priority": "important"
|
|
55
|
+
},
|
|
56
|
+
"directory": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"description": "The directory to store the application in.",
|
|
59
|
+
"default": "packages",
|
|
60
|
+
"x-prompt": "Which directory do you want to create the project in?",
|
|
61
|
+
"x-priority": "important"
|
|
62
|
+
},
|
|
63
|
+
"subDirectory": {
|
|
64
|
+
"type": "string",
|
|
65
|
+
"description": "The sub directory the project is placed in. By default this is the project name.",
|
|
66
|
+
"x-prompt": "Which sub directory do you want to create the project in? (By default this is the project name)"
|
|
67
|
+
},
|
|
68
|
+
"iacProvider": {
|
|
69
|
+
"type": "string",
|
|
70
|
+
"description": "The preferred IaC provider. By default this is inherited from your initial selection.",
|
|
71
|
+
"enum": ["Inherit", "CDK", "Terraform"],
|
|
72
|
+
"x-priority": "important",
|
|
73
|
+
"default": "Inherit",
|
|
74
|
+
"x-prompt": "Which provider would you like to manage your infrastructure? (default: Inherit)"
|
|
75
|
+
},
|
|
76
|
+
"moduleName": {
|
|
77
|
+
"type": "string",
|
|
78
|
+
"description": "Python module name"
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"required": ["name"]
|
|
82
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/schema",
|
|
3
|
+
"$id": "PyLambdaFunction",
|
|
4
|
+
"title": "Add a Python Lambda Function to a project",
|
|
5
|
+
"description": "Add a Python Lambda Function to a project",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"project": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "The project to add the lambda function to",
|
|
11
|
+
"x-prompt": "Select the project to add the lambda function to",
|
|
12
|
+
"x-dropdown": "projects"
|
|
13
|
+
},
|
|
14
|
+
"functionName": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"description": "The name of the function to add",
|
|
17
|
+
"x-priority": "important",
|
|
18
|
+
"$default": {
|
|
19
|
+
"$source": "argv",
|
|
20
|
+
"index": 0
|
|
21
|
+
},
|
|
22
|
+
"x-prompt": "What name would you like your Lambda Function to have? i.e: MyFunction"
|
|
23
|
+
},
|
|
24
|
+
"functionPath": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"description": "The path within the project source directory to add the function to",
|
|
27
|
+
"x-prompt": "Enter the path within the project source directory to add the function to (e.g. 'lambda_functions/')"
|
|
28
|
+
},
|
|
29
|
+
"eventSource": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"description": "Optional event source model to use for the lambda function",
|
|
32
|
+
"x-priority": "important",
|
|
33
|
+
"enum": [
|
|
34
|
+
"Any",
|
|
35
|
+
"AlbModel",
|
|
36
|
+
"APIGatewayProxyEventModel",
|
|
37
|
+
"ApiGatewayAuthorizerToken",
|
|
38
|
+
"ApiGatewayAuthorizerRequest",
|
|
39
|
+
"APIGatewayProxyEventV2Model",
|
|
40
|
+
"ApiGatewayAuthorizerRequestV2",
|
|
41
|
+
"APIGatewayWebSocketMessageEventModel",
|
|
42
|
+
"APIGatewayWebSocketConnectEventModel",
|
|
43
|
+
"APIGatewayWebSocketDisconnectEventModel",
|
|
44
|
+
"BedrockAgentEventModel",
|
|
45
|
+
"CloudFormationCustomResourceCreateModel",
|
|
46
|
+
"CloudFormationCustomResourceUpdateModel",
|
|
47
|
+
"CloudFormationCustomResourceDeleteModel",
|
|
48
|
+
"CloudwatchLogsModel",
|
|
49
|
+
"DynamoDBStreamModel",
|
|
50
|
+
"EventBridgeModel",
|
|
51
|
+
"IoTCoreThingEvent",
|
|
52
|
+
"IoTCoreThingTypeEvent",
|
|
53
|
+
"IoTCoreThingTypeAssociationEvent",
|
|
54
|
+
"IoTCoreThingGroupEvent",
|
|
55
|
+
"IoTCoreAddOrRemoveFromThingGroupEvent",
|
|
56
|
+
"IoTCoreAddOrDeleteFromThingGroupEvent",
|
|
57
|
+
"KafkaMskEventModel",
|
|
58
|
+
"KafkaSelfManagedEventModel",
|
|
59
|
+
"KinesisDataStreamModel",
|
|
60
|
+
"KinesisFirehoseModel",
|
|
61
|
+
"KinesisFirehoseSqsModel",
|
|
62
|
+
"LambdaFunctionUrlModel",
|
|
63
|
+
"S3BatchOperationModel",
|
|
64
|
+
"S3EventNotificationEventBridgeModel",
|
|
65
|
+
"S3Model",
|
|
66
|
+
"S3ObjectLambdaEvent",
|
|
67
|
+
"S3SqsEventNotificationModel",
|
|
68
|
+
"SesModel",
|
|
69
|
+
"SnsModel",
|
|
70
|
+
"SqsModel",
|
|
71
|
+
"TransferFamilyAuthorizer",
|
|
72
|
+
"VpcLatticeModel",
|
|
73
|
+
"VpcLatticeV2Model"
|
|
74
|
+
],
|
|
75
|
+
"default": "Any",
|
|
76
|
+
"x-prompt": "Enter the event source model to use for the lambda function"
|
|
77
|
+
},
|
|
78
|
+
"iacProvider": {
|
|
79
|
+
"type": "string",
|
|
80
|
+
"description": "The preferred IaC provider. By default this is inherited from your initial selection.",
|
|
81
|
+
"enum": ["Inherit", "CDK", "Terraform"],
|
|
82
|
+
"x-priority": "important",
|
|
83
|
+
"default": "Inherit",
|
|
84
|
+
"x-prompt": "Which provider would you like to manage your infrastructure? (default: Inherit)"
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
"required": ["project", "functionName"]
|
|
88
|
+
}
|