@aws/nx-plugin 0.23.0 → 0.24.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.
Files changed (40) hide show
  1. package/LICENSE-THIRD-PARTY +212 -29
  2. package/README.md +22 -0
  3. package/bin/aws-nx-mcp.d.ts +2 -0
  4. package/bin/aws-nx-mcp.js +18 -0
  5. package/bin/aws-nx-mcp.js.map +1 -0
  6. package/generators.json +24 -10
  7. package/package.json +7 -2
  8. package/src/mcp-server/generator-info.d.ts +23 -0
  9. package/src/mcp-server/generator-info.js +134 -0
  10. package/src/mcp-server/generator-info.js.map +1 -0
  11. package/src/mcp-server/index.d.ts +1 -0
  12. package/src/mcp-server/index.js +17 -0
  13. package/src/mcp-server/index.js.map +1 -0
  14. package/src/mcp-server/schema.d.ts +7 -0
  15. package/src/mcp-server/schema.js +11 -0
  16. package/src/mcp-server/schema.js.map +1 -0
  17. package/src/mcp-server/server.d.ts +9 -0
  18. package/src/mcp-server/server.js +40 -0
  19. package/src/mcp-server/server.js.map +1 -0
  20. package/src/mcp-server/tools/create-workspace-command.d.ts +9 -0
  21. package/src/mcp-server/tools/create-workspace-command.js +34 -0
  22. package/src/mcp-server/tools/create-workspace-command.js.map +1 -0
  23. package/src/mcp-server/tools/general-guidance.d.ts +11 -0
  24. package/src/mcp-server/tools/general-guidance.js +74 -0
  25. package/src/mcp-server/tools/general-guidance.js.map +1 -0
  26. package/src/mcp-server/tools/generator-guide.d.ts +10 -0
  27. package/src/mcp-server/tools/generator-guide.js +36 -0
  28. package/src/mcp-server/tools/generator-guide.js.map +1 -0
  29. package/src/mcp-server/tools/list-generators.d.ts +10 -0
  30. package/src/mcp-server/tools/list-generators.js +23 -0
  31. package/src/mcp-server/tools/list-generators.js.map +1 -0
  32. package/src/py/project/generator.js +7 -3
  33. package/src/py/project/generator.js.map +1 -1
  34. package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +1 -2
  35. package/src/ts/nx-generator/files/nx-plugin-for-aws/docs/__nameKebabCase__.mdx.template +1 -2
  36. package/src/utils/nx.d.ts +9 -0
  37. package/src/utils/nx.js +16 -6
  38. package/src/utils/nx.js.map +1 -1
  39. package/src/utils/versions.d.ts +2 -2
  40. package/src/utils/versions.js +1 -1
@@ -3556,6 +3556,33 @@ THE SOFTWARE.
3556
3556
 
3557
3557
  ---
3558
3558
 
3559
+ The following software may be included in this product: @modelcontextprotocol/sdk (1.11.3)
3560
+ This software contains the following license and notice below:
3561
+
3562
+ MIT License
3563
+
3564
+ Copyright (c) 2024 Anthropic, PBC
3565
+
3566
+ Permission is hereby granted, free of charge, to any person obtaining a copy
3567
+ of this software and associated documentation files (the "Software"), to deal
3568
+ in the Software without restriction, including without limitation the rights
3569
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
3570
+ copies of the Software, and to permit persons to whom the Software is
3571
+ furnished to do so, subject to the following conditions:
3572
+
3573
+ The above copyright notice and this permission notice shall be included in all
3574
+ copies or substantial portions of the Software.
3575
+
3576
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
3577
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
3578
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
3579
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
3580
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
3581
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
3582
+ SOFTWARE.
3583
+
3584
+ ---
3585
+
3559
3586
  The following software may be included in this product: @modern-js/node-bundle-require (2.65.1)
3560
3587
  This software contains the following license and notice below:
3561
3588
 
@@ -4793,34 +4820,6 @@ SOFTWARE.
4793
4820
 
4794
4821
  ---
4795
4822
 
4796
- The following software may be included in this product: @nx/devkit (20.6.4)
4797
- This software contains the following license and notice below:
4798
-
4799
- (The MIT License)
4800
-
4801
- Copyright (c) 2017-2025 Narwhal Technologies Inc.
4802
-
4803
- Permission is hereby granted, free of charge, to any person obtaining
4804
- a copy of this software and associated documentation files (the
4805
- 'Software'), to deal in the Software without restriction, including
4806
- without limitation the rights to use, copy, modify, merge, publish,
4807
- distribute, sublicense, and/or sell copies of the Software, and to
4808
- permit persons to whom the Software is furnished to do so, subject to
4809
- the following conditions:
4810
-
4811
- The above copyright notice and this permission notice shall be
4812
- included in all copies or substantial portions of the Software.
4813
-
4814
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
4815
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
4816
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
4817
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
4818
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
4819
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
4820
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
4821
-
4822
- ---
4823
-
4824
4823
  The following software may be included in this product: @nx/devkit (21.0.3)
4825
4824
  This software contains the following license and notice below:
4826
4825
 
@@ -5060,7 +5059,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
5060
5059
 
5061
5060
  ---
5062
5061
 
5063
- The following software may be included in this product: @nxlv/python (20.12.0)
5062
+ The following software may be included in this product: @nxlv/python (21.0.0)
5064
5063
  This software contains the following license and notice below:
5065
5064
 
5066
5065
  MIT License
@@ -11616,6 +11615,61 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
11616
11615
 
11617
11616
  ---
11618
11617
 
11618
+ The following software may be included in this product: eventsource (3.0.7)
11619
+ This software contains the following license and notice below:
11620
+
11621
+ The MIT License
11622
+
11623
+ Copyright (c) EventSource GitHub organisation
11624
+
11625
+ Permission is hereby granted, free of charge, to any person obtaining
11626
+ a copy of this software and associated documentation files (the
11627
+ "Software"), to deal in the Software without restriction, including
11628
+ without limitation the rights to use, copy, modify, merge, publish,
11629
+ distribute, sublicense, and/or sell copies of the Software, and to
11630
+ permit persons to whom the Software is furnished to do so, subject to
11631
+ the following conditions:
11632
+
11633
+ The above copyright notice and this permission notice shall be
11634
+ included in all copies or substantial portions of the Software.
11635
+
11636
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
11637
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
11638
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
11639
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
11640
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
11641
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
11642
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
11643
+
11644
+ ---
11645
+
11646
+ The following software may be included in this product: eventsource-parser (3.0.2)
11647
+ This software contains the following license and notice below:
11648
+
11649
+ MIT License
11650
+
11651
+ Copyright (c) 2025 Espen Hovlandsdal <espen@hovlandsdal.com>
11652
+
11653
+ Permission is hereby granted, free of charge, to any person obtaining a copy
11654
+ of this software and associated documentation files (the "Software"), to deal
11655
+ in the Software without restriction, including without limitation the rights
11656
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11657
+ copies of the Software, and to permit persons to whom the Software is
11658
+ furnished to do so, subject to the following conditions:
11659
+
11660
+ The above copyright notice and this permission notice shall be included in all
11661
+ copies or substantial portions of the Software.
11662
+
11663
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
11664
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
11665
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
11666
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
11667
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
11668
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
11669
+ SOFTWARE.
11670
+
11671
+ ---
11672
+
11619
11673
  The following software may be included in this product: expand-tilde (2.0.2)
11620
11674
  This software contains the following license and notice below:
11621
11675
 
@@ -11686,6 +11740,32 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
11686
11740
 
11687
11741
  ---
11688
11742
 
11743
+ The following software may be included in this product: express-rate-limit (7.5.0)
11744
+ This software contains the following license and notice below:
11745
+
11746
+ # MIT License
11747
+
11748
+ Copyright 2023 Nathan Friedly, Vedant K
11749
+
11750
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
11751
+ this software and associated documentation files (the "Software"), to deal in
11752
+ the Software without restriction, including without limitation the rights to
11753
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
11754
+ the Software, and to permit persons to whom the Software is furnished to do so,
11755
+ subject to the following conditions:
11756
+
11757
+ The above copyright notice and this permission notice shall be included in all
11758
+ copies or substantial portions of the Software.
11759
+
11760
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
11761
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
11762
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
11763
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
11764
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
11765
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
11766
+
11767
+ ---
11768
+
11689
11769
  The following software may be included in this product: extend (3.0.2)
11690
11770
  This software contains the following license and notice below:
11691
11771
 
@@ -18047,6 +18127,33 @@ SOFTWARE.
18047
18127
 
18048
18128
  ---
18049
18129
 
18130
+ The following software may be included in this product: pkce-challenge (5.0.0)
18131
+ This software contains the following license and notice below:
18132
+
18133
+ MIT License
18134
+
18135
+ Copyright (c) 2019
18136
+
18137
+ Permission is hereby granted, free of charge, to any person obtaining a copy
18138
+ of this software and associated documentation files (the "Software"), to deal
18139
+ in the Software without restriction, including without limitation the rights
18140
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
18141
+ copies of the Software, and to permit persons to whom the Software is
18142
+ furnished to do so, subject to the following conditions:
18143
+
18144
+ The above copyright notice and this permission notice shall be included in all
18145
+ copies or substantial portions of the Software.
18146
+
18147
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18148
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18149
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18150
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18151
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18152
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18153
+ SOFTWARE.
18154
+
18155
+ ---
18156
+
18050
18157
  The following software may be included in this product: pkg-types (1.3.1)
18051
18158
  This software contains the following license and notice below:
18052
18159
 
@@ -18666,6 +18773,34 @@ THE SOFTWARE.
18666
18773
 
18667
18774
  ---
18668
18775
 
18776
+ The following software may be included in this product: raw-body (3.0.0)
18777
+ This software contains the following license and notice below:
18778
+
18779
+ The MIT License (MIT)
18780
+
18781
+ Copyright (c) 2013-2014 Jonathan Ong <me@jongleberry.com>
18782
+ Copyright (c) 2014-2022 Douglas Christopher Wilson <doug@somethingdoug.com>
18783
+
18784
+ Permission is hereby granted, free of charge, to any person obtaining a copy
18785
+ of this software and associated documentation files (the "Software"), to deal
18786
+ in the Software without restriction, including without limitation the rights
18787
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
18788
+ copies of the Software, and to permit persons to whom the Software is
18789
+ furnished to do so, subject to the following conditions:
18790
+
18791
+ The above copyright notice and this permission notice shall be included in
18792
+ all copies or substantial portions of the Software.
18793
+
18794
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18795
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18796
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18797
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18798
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18799
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
18800
+ THE SOFTWARE.
18801
+
18802
+ ---
18803
+
18669
18804
  The following software may be included in this product: rc9 (2.1.2)
18670
18805
  This software contains the following license and notice below:
18671
18806
 
@@ -28380,6 +28515,33 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
28380
28515
 
28381
28516
  ---
28382
28517
 
28518
+ The following software may be included in this product: zod (3.24.2)
28519
+ This software contains the following license and notice below:
28520
+
28521
+ MIT License
28522
+
28523
+ Copyright (c) 2020 Colin McDonnell
28524
+
28525
+ Permission is hereby granted, free of charge, to any person obtaining a copy
28526
+ of this software and associated documentation files (the "Software"), to deal
28527
+ in the Software without restriction, including without limitation the rights
28528
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
28529
+ copies of the Software, and to permit persons to whom the Software is
28530
+ furnished to do so, subject to the following conditions:
28531
+
28532
+ The above copyright notice and this permission notice shall be included in all
28533
+ copies or substantial portions of the Software.
28534
+
28535
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
28536
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
28537
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
28538
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
28539
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
28540
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28541
+ SOFTWARE.
28542
+
28543
+ ---
28544
+
28383
28545
  The following software may be included in this product: @ampproject/remapping (2.3.0)
28384
28546
  This software contains the following license and notice below:
28385
28547
 
@@ -35809,6 +35971,27 @@ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
35809
35971
 
35810
35972
  ---
35811
35973
 
35974
+ The following software may be included in this product: zod-to-json-schema (3.24.5)
35975
+ This software contains the following license and notice below:
35976
+
35977
+ ISC License
35978
+
35979
+ Copyright (c) 2020, Stefan Terdell
35980
+
35981
+ Permission to use, copy, modify, and/or distribute this software for any
35982
+ purpose with or without fee is hereby granted, provided that the above
35983
+ copyright notice and this permission notice appear in all copies.
35984
+
35985
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
35986
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
35987
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
35988
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
35989
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
35990
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
35991
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
35992
+
35993
+ ---
35994
+
35812
35995
  The following software may be included in this product: @xtuc/ieee754 (1.2.0)
35813
35996
  This software contains the following license and notice below:
35814
35997
 
package/README.md CHANGED
@@ -100,6 +100,28 @@ pnpm nx g @aws/nx-plugin:ts#infra
100
100
  - [Build a Dungeon Adventure Game](https://awslabs.github.io/nx-plugin-for-aws/get_started/tutorials/dungeon-game/overview/) to get an in-depth guided tutorial on how to use the @aws/nx-plugin.
101
101
  - [Add @aws/nx-plugin to your existing project](https://awslabs.github.io/nx-plugin-for-aws/get_started/tutorials/existing-project/)
102
102
 
103
+ ## MCP Server Installation and Setup
104
+
105
+ This package additionally provides an MCP server to help AI assistants use the Nx Plugin for AWS.
106
+
107
+ 1. Ensure you have `node` and `npm` installed ([see here](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm))
108
+ 2. Add the server to your MCP client configuration
109
+
110
+ Example configuration for Amazon Q CLI MCP (`~/.aws/amazonq/mcp.json`):
111
+
112
+ ```json
113
+ {
114
+ "mcpServers": {
115
+ "aws-nx-mcp": {
116
+ "command": "npx",
117
+ "args": ["-p", "@aws/nx-plugin", "aws-nx-mcp"]
118
+ }
119
+ }
120
+ }
121
+ ```
122
+
123
+ If you have issues such as `ENOENT npx`, replace the command with `/full/path/to/npx` (use `which npx` to find this).
124
+
103
125
  ## Documentation Translation
104
126
 
105
127
  The project supports automatic translation of documentation using AWS Bedrock's Deepseek & Haiku 3.5 models. Documentation is translated from English to multiple languages (currently Japanese, with support for French, Spanish, German, Chinese, and Korean).
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const tslib_1 = require("tslib");
5
+ /**
6
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
7
+ * SPDX-License-Identifier: Apache-2.0
8
+ */
9
+ const mcp_server_1 = require("../src/mcp-server");
10
+ void (() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
11
+ try {
12
+ yield (0, mcp_server_1.startMcpServer)();
13
+ }
14
+ catch (e) {
15
+ console.error(e);
16
+ }
17
+ }))();
18
+ //# sourceMappingURL=aws-nx-mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aws-nx-mcp.js","sourceRoot":"","sources":["../../../../packages/nx-plugin/bin/aws-nx-mcp.ts"],"names":[],"mappings":";;;;AACA;;;GAGG;AACH,kDAAmD;AAEnD,KAAK,CAAC,GAAS,EAAE;IACf,IAAI,CAAC;QACH,MAAM,IAAA,2BAAc,GAAE,CAAC;IACzB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;AACH,CAAC,CAAA,CAAC,EAAE,CAAC"}
package/generators.json CHANGED
@@ -7,19 +7,22 @@
7
7
  "factory": "./src/ts/lib/generator",
8
8
  "schema": "./src/ts/lib/schema.json",
9
9
  "description": "Generates a TypeScript project",
10
- "metric": "g1"
10
+ "metric": "g1",
11
+ "guidePages": ["typescript-project"]
11
12
  },
12
13
  "py#project": {
13
14
  "factory": "./src/py/project/generator",
14
15
  "schema": "./src/py/project/schema.json",
15
16
  "description": "Generates a Python project",
16
- "metric": "g2"
17
+ "metric": "g2",
18
+ "guidePages": ["python-project"]
17
19
  },
18
20
  "py#fast-api": {
19
21
  "factory": "./src/py/fast-api/generator",
20
22
  "schema": "./src/py/fast-api/schema.json",
21
23
  "description": "Generates a FastAPI Python project",
22
- "metric": "g3"
24
+ "metric": "g3",
25
+ "guidePages": ["fastapi"]
23
26
  },
24
27
  "py#fast-api#react-connection": {
25
28
  "factory": "./src/py/fast-api/react/generator",
@@ -32,13 +35,15 @@
32
35
  "factory": "./src/cloudscape-website/app/generator",
33
36
  "schema": "./src/cloudscape-website/app/schema.json",
34
37
  "description": "Generates a React static website based on Cloudscape",
35
- "metric": "g5"
38
+ "metric": "g5",
39
+ "guidePages": ["cloudscape-website"]
36
40
  },
37
41
  "ts#cloudscape-website#auth": {
38
42
  "factory": "./src/cloudscape-website/cognito-auth/generator",
39
43
  "schema": "./src/cloudscape-website/cognito-auth/schema.json",
40
44
  "description": "Adds auth to an existing cloudscape website",
41
- "metric": "g6"
45
+ "metric": "g6",
46
+ "guidePages": ["cloudscape-website-auth"]
42
47
  },
43
48
  "ts#cloudscape-website#runtime-config": {
44
49
  "factory": "./src/cloudscape-website/runtime-config/generator",
@@ -51,13 +56,15 @@
51
56
  "factory": "./src/infra/app/generator",
52
57
  "schema": "./src/infra/app/schema.json",
53
58
  "description": "Generates a cdk application",
54
- "metric": "g8"
59
+ "metric": "g8",
60
+ "guidePages": ["typescript-infrastructure"]
55
61
  },
56
62
  "ts#trpc-api": {
57
63
  "factory": "./src/trpc/backend/generator",
58
64
  "schema": "./src/trpc/backend/schema.json",
59
65
  "description": "creates a trpc backend",
60
- "metric": "g9"
66
+ "metric": "g9",
67
+ "guidePages": ["trpc"]
61
68
  },
62
69
  "ts#trpc-api#react-connection": {
63
70
  "factory": "./src/trpc/react/generator",
@@ -70,7 +77,12 @@
70
77
  "factory": "./src/api-connection/generator",
71
78
  "schema": "./src/api-connection/schema.json",
72
79
  "description": "Integrates a source project with a target API project",
73
- "metric": "g11"
80
+ "metric": "g11",
81
+ "guidePages": [
82
+ "api-connection",
83
+ "api-connection/react-fastapi",
84
+ "api-connection/react-trpc"
85
+ ]
74
86
  },
75
87
  "open-api#ts-client": {
76
88
  "factory": "./src/open-api/ts-client/generator",
@@ -103,13 +115,15 @@
103
115
  "factory": "./src/py/lambda-function/generator",
104
116
  "schema": "./src/py/lambda-function/schema.json",
105
117
  "description": "Adds a lambda function to a python project",
106
- "metric": "g16"
118
+ "metric": "g16",
119
+ "guidePages": ["python-lambda-function"]
107
120
  },
108
121
  "ts#nx-generator": {
109
122
  "factory": "./src/ts/nx-generator/generator",
110
123
  "schema": "./src/ts/nx-generator/schema.json",
111
124
  "description": "Generator for adding an Nx Generator to an existing TypeScript project",
112
- "metric": "g17"
125
+ "metric": "g17",
126
+ "guidePages": ["nx-generator"]
113
127
  },
114
128
  "ts#mcp-server": {
115
129
  "factory": "./src/ts/mcp-server/generator",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws/nx-plugin",
3
- "version": "0.23.0",
3
+ "version": "0.24.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/awslabs/nx-plugin-for-aws.git",
@@ -14,6 +14,9 @@
14
14
  "publishConfig": {
15
15
  "access": "public"
16
16
  },
17
+ "bin": {
18
+ "aws-nx-mcp": "./bin/aws-nx-mcp.js"
19
+ },
17
20
  "generators": "./generators.json",
18
21
  "peerDependencies": {
19
22
  "prettier": "^3.4.2",
@@ -23,6 +26,7 @@
23
26
  "@apidevtools/swagger-parser": "^10.1.1",
24
27
  "@hey-api/openapi-ts": "0.64.13",
25
28
  "@iarna/toml": "^2.2.5",
29
+ "@modelcontextprotocol/sdk": "^1.11.3",
26
30
  "@nx/devkit": "~21.0.3",
27
31
  "@nx/eslint": "~21.0.3",
28
32
  "@nx/js": "~21.0.3",
@@ -42,7 +46,8 @@
42
46
  "openapi-types": "^12.1.3",
43
47
  "typescript": "~5.8.2",
44
48
  "vite": "^6.2.3",
45
- "vitest": "^3.0.9"
49
+ "vitest": "^3.0.9",
50
+ "zod": "^3.24.2"
46
51
  },
47
52
  "types": "./src/index.d.ts"
48
53
  }
@@ -0,0 +1,23 @@
1
+ import { NxGeneratorInfo } from '../utils/nx';
2
+ /**
3
+ * Build a command to run nx
4
+ */
5
+ export declare const buildNxCommand: (command: string, pm?: string) => string;
6
+ /**
7
+ * Render summary information about a generator
8
+ */
9
+ export declare const renderGeneratorInfo: (packageManager: string, info: NxGeneratorInfo) => string;
10
+ /**
11
+ * Retrieve the markdown guide pages for a generator from github.
12
+ * If the generator has guidePages in generators.json we fetch all of those, otherwise we
13
+ * try to fetch a guide with the generator name kebab-cased.
14
+ */
15
+ export declare const fetchGuidePagesForGenerator: (info: NxGeneratorInfo, generators: NxGeneratorInfo[], packageManager?: string) => Promise<string>;
16
+ /**
17
+ * Fetch markdown guide pages from github
18
+ */
19
+ export declare const fetchGuidePages: (guidePages: string[], generators: NxGeneratorInfo[], packageManager?: string) => Promise<string>;
20
+ /**
21
+ * Post-process a guide page to "inline" relevant components
22
+ */
23
+ export declare const postProcessGuide: (guide: string, generators: NxGeneratorInfo[], packageManager?: string) => string;
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.postProcessGuide = exports.fetchGuidePages = exports.fetchGuidePagesForGenerator = exports.renderGeneratorInfo = exports.buildNxCommand = void 0;
4
+ const tslib_1 = require("tslib");
5
+ /**
6
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
7
+ * SPDX-License-Identifier: Apache-2.0
8
+ */
9
+ const lodash_kebabcase_1 = tslib_1.__importDefault(require("lodash.kebabcase"));
10
+ const fs_1 = tslib_1.__importDefault(require("fs"));
11
+ /**
12
+ * Build a command to run nx
13
+ */
14
+ const buildNxCommand = (command, pm) => {
15
+ var _a;
16
+ return `${pm
17
+ ? `${(_a = {
18
+ npm: 'npx',
19
+ bun: 'bunx',
20
+ }[pm]) !== null && _a !== void 0 ? _a : pm} `
21
+ : ''}nx ${command}`;
22
+ };
23
+ exports.buildNxCommand = buildNxCommand;
24
+ const renderSchema = (schema) => Object.entries(schema.properties)
25
+ .map(([parameter, parameterSchema]) => { var _a; return `- ${parameter} [type: ${parameterSchema.type}]${((_a = schema.required) !== null && _a !== void 0 ? _a : []).includes(parameter) ? ` (required)` : ''} ${parameterSchema.description}`; })
26
+ .join('\n');
27
+ const renderGeneratorCommand = (generatorId, schema, packageManager) => `\`\`\`bash
28
+ ${(0, exports.buildNxCommand)(`g @aws/nx-plugin:${generatorId} --no-interactive ${Object.entries(schema.properties)
29
+ .filter(([parameter]) => { var _a; return ((_a = schema.required) !== null && _a !== void 0 ? _a : []).includes(parameter); })
30
+ .map(([parameter]) => `--${parameter}=<${parameter}>`)
31
+ .join(' ')}`, packageManager)}
32
+ \`\`\``;
33
+ /**
34
+ * Render summary information about a generator
35
+ */
36
+ const renderGeneratorInfo = (packageManager, info) => {
37
+ const schema = JSON.parse(fs_1.default.readFileSync(info.resolvedSchemaPath, 'utf-8'));
38
+ return `${info.id}
39
+
40
+ Description: ${info.description}
41
+
42
+ Available Parameters:
43
+ ${renderSchema(schema)}
44
+
45
+ Command:
46
+ ${renderGeneratorCommand(info.id, schema, packageManager)}
47
+ `;
48
+ };
49
+ exports.renderGeneratorInfo = renderGeneratorInfo;
50
+ /**
51
+ * Retrieve the markdown guide pages for a generator from github.
52
+ * If the generator has guidePages in generators.json we fetch all of those, otherwise we
53
+ * try to fetch a guide with the generator name kebab-cased.
54
+ */
55
+ const fetchGuidePagesForGenerator = (info, generators, packageManager) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
56
+ var _a;
57
+ return yield (0, exports.fetchGuidePages)((_a = info.guidePages) !== null && _a !== void 0 ? _a : [(0, lodash_kebabcase_1.default)(info.id)], generators, packageManager);
58
+ });
59
+ exports.fetchGuidePagesForGenerator = fetchGuidePagesForGenerator;
60
+ /**
61
+ * Fetch markdown guide pages from github
62
+ */
63
+ const fetchGuidePages = (guidePages, generators, packageManager) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
64
+ const guides = yield Promise.allSettled(guidePages.map((guide) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
65
+ return yield (yield fetch(`https://raw.githubusercontent.com/awslabs/nx-plugin-for-aws/refs/heads/main/docs/src/content/docs/en/guides/${guide}.mdx`)).text();
66
+ })));
67
+ return guides
68
+ .filter((result) => result.status === 'fulfilled')
69
+ .map((result) => (0, exports.postProcessGuide)(result.value, generators, packageManager))
70
+ .join('\n\n');
71
+ });
72
+ exports.fetchGuidePages = fetchGuidePages;
73
+ const findGeneratorAndSchema = (generators, generatorId) => {
74
+ const generator = generators.find((info) => info.id === generatorId);
75
+ if (!generator) {
76
+ return undefined;
77
+ }
78
+ try {
79
+ const schema = JSON.parse(fs_1.default.readFileSync(generator.resolvedSchemaPath, 'utf-8'));
80
+ return { generator, schema };
81
+ }
82
+ catch (_a) {
83
+ return undefined;
84
+ }
85
+ };
86
+ /**
87
+ * Post-process a guide page to "inline" relevant components
88
+ */
89
+ const postProcessGuide = (guide, generators, packageManager) => {
90
+ // Replace <NxCommands /> with markdown code blocks
91
+ let processedGuide = guide.replace(/<NxCommands\s+commands={([^}]+)}\s*\/>/g, (match, commandsMatch) => {
92
+ try {
93
+ const commands = JSON.parse(commandsMatch
94
+ .replaceAll("\\'", '__ESCAPED_SINGLE_QUOTE__')
95
+ .replaceAll("'", '"')
96
+ .replaceAll('__ESCAPED_SINGLE_QUOTE__', "\\'"));
97
+ return `\`\`\`bash\n${commands.map((command) => (0, exports.buildNxCommand)(command, packageManager)).join('\n')}\n\`\`\``;
98
+ }
99
+ catch (_a) {
100
+ return match;
101
+ }
102
+ });
103
+ // Replace <RunGenerator /> with renderGeneratorCommand
104
+ processedGuide = processedGuide.replace(/<RunGenerator\s+([^/>]+)\s*\/>/g, (match, attributes) => {
105
+ // Extract generator parameter
106
+ const generatorMatch = attributes.match(/generator=["']([^"']+)["']/);
107
+ if (!generatorMatch) {
108
+ return match; // If no generator parameter, leave as is
109
+ }
110
+ const generatorId = generatorMatch[1];
111
+ const info = findGeneratorAndSchema(generators, generatorId);
112
+ if (!info) {
113
+ return match;
114
+ }
115
+ return renderGeneratorCommand(generatorId, info.schema, packageManager);
116
+ });
117
+ // Replace <GeneratorParameters /> with renderSchema
118
+ processedGuide = processedGuide.replace(/<GeneratorParameters\s+([^/>]+)\s*\/>/g, (match, attributes) => {
119
+ // Extract generator parameter
120
+ const generatorMatch = attributes.match(/generator=["']([^"']+)["']/);
121
+ if (!generatorMatch) {
122
+ return match; // If no generator parameter, leave as is
123
+ }
124
+ const generatorId = generatorMatch[1];
125
+ const info = findGeneratorAndSchema(generators, generatorId);
126
+ if (!info) {
127
+ return match;
128
+ }
129
+ return renderSchema(info.schema);
130
+ });
131
+ return processedGuide;
132
+ };
133
+ exports.postProcessGuide = postProcessGuide;
134
+ //# sourceMappingURL=generator-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator-info.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/mcp-server/generator-info.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,gFAAyC;AAEzC,oDAAoB;AAEpB;;GAEG;AACI,MAAM,cAAc,GAAG,CAAC,OAAe,EAAE,EAAW,EAAE,EAAE;;IAC7D,OAAA,GACE,EAAE;QACA,CAAC,CAAC,GACE,MAAA;YACE,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,MAAM;SACZ,CAAC,EAAE,CAAC,mCAAI,EACX,GAAG;QACL,CAAC,CAAC,EACN,MAAM,OAAO,EAAE,CAAA;CAAA,CAAC;AAVL,QAAA,cAAc,kBAUT;AAElB,MAAM,YAAY,GAAG,CAAC,MAAW,EAAE,EAAE,CACnC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;KAC9B,GAAG,CACF,CAAC,CAAC,SAAS,EAAE,eAAe,CAAgB,EAAE,EAAE,WAC9C,OAAA,KAAK,SAAS,WAAW,eAAe,CAAC,IAAI,IAAI,CAAC,MAAA,MAAM,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,eAAe,CAAC,WAAW,EAAE,CAAA,EAAA,CACrJ;KACA,IAAI,CAAC,IAAI,CAAC,CAAC;AAEhB,MAAM,sBAAsB,GAAG,CAC7B,WAAmB,EACnB,MAAW,EACX,cAAuB,EACvB,EAAE,CAAC;EACH,IAAA,sBAAc,EACd,oBAAoB,WAAW,qBAAqB,MAAM,CAAC,OAAO,CAChE,MAAM,CAAC,UAAU,CAClB;KACE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,WAAC,OAAA,CAAC,MAAA,MAAM,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA,EAAA,CAAC;KACpE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAgB,EAAE,EAAE,CAAC,KAAK,SAAS,KAAK,SAAS,GAAG,CAAC;KACpE,IAAI,CAAC,GAAG,CAAC,EAAE,EACd,cAAc,CACf;OACM,CAAC;AAER;;GAEG;AACI,MAAM,mBAAmB,GAAG,CACjC,cAAsB,EACtB,IAAqB,EACb,EAAE;IACV,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;IAE7E,OAAO,GAAG,IAAI,CAAC,EAAE;;eAEJ,IAAI,CAAC,WAAW;;;EAG7B,YAAY,CAAC,MAAM,CAAC;;;EAGpB,sBAAsB,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC;CACxD,CAAC;AACF,CAAC,CAAC;AAhBW,QAAA,mBAAmB,uBAgB9B;AAEF;;;;GAIG;AACI,MAAM,2BAA2B,GAAG,CACzC,IAAqB,EACrB,UAA6B,EAC7B,cAAuB,EACN,EAAE;;IACnB,OAAO,MAAM,IAAA,uBAAe,EAC1B,MAAA,IAAI,CAAC,UAAU,mCAAI,CAAC,IAAA,0BAAS,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EACvC,UAAU,EACV,cAAc,CACf,CAAC;AACJ,CAAC,CAAA,CAAC;AAVW,QAAA,2BAA2B,+BAUtC;AAEF;;GAEG;AACI,MAAM,eAAe,GAAG,CAC7B,UAAoB,EACpB,UAA6B,EAC7B,cAAuB,EACN,EAAE;IACnB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CACrC,UAAU,CAAC,GAAG,CACZ,CAAO,KAAK,EAAE,EAAE;QACd,OAAA,MAAM,CACJ,MAAM,KAAK,CACT,+GAA+G,KAAK,MAAM,CAC3H,CACF,CAAC,IAAI,EAAE,CAAA;MAAA,CACX,CACF,CAAC;IACF,OAAO,MAAM;SACV,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC;SACjD,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,wBAAgB,EAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;SAC3E,IAAI,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC,CAAA,CAAC;AAnBW,QAAA,eAAe,mBAmB1B;AAEF,MAAM,sBAAsB,GAAG,CAC7B,UAA6B,EAC7B,WAAmB,EACnB,EAAE;IACF,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;IACrE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CACvB,YAAE,CAAC,YAAY,CAAC,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAC,CACvD,CAAC;QACF,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAC/B,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEF;;GAEG;AACI,MAAM,gBAAgB,GAAG,CAC9B,KAAa,EACb,UAA6B,EAC7B,cAAuB,EACf,EAAE;IACV,mDAAmD;IACnD,IAAI,cAAc,GAAG,KAAK,CAAC,OAAO,CAChC,yCAAyC,EACzC,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE;QACvB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CACzB,aAAa;iBACV,UAAU,CAAC,KAAK,EAAE,0BAA0B,CAAC;iBAC7C,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;iBACpB,UAAU,CAAC,0BAA0B,EAAE,KAAK,CAAC,CACjD,CAAC;YACF,OAAO,eAAe,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,sBAAc,EAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;QAChH,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CACF,CAAC;IAEF,uDAAuD;IACvD,cAAc,GAAG,cAAc,CAAC,OAAO,CACrC,iCAAiC,EACjC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;QACpB,8BAA8B;QAC9B,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACtE,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC,CAAC,yCAAyC;QACzD,CAAC;QAED,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAEtC,MAAM,IAAI,GAAG,sBAAsB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAE7D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,sBAAsB,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC1E,CAAC,CACF,CAAC;IAEF,oDAAoD;IACpD,cAAc,GAAG,cAAc,CAAC,OAAO,CACrC,wCAAwC,EACxC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;QACpB,8BAA8B;QAC9B,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACtE,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC,CAAC,yCAAyC;QACzD,CAAC;QAED,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAEtC,MAAM,IAAI,GAAG,sBAAsB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAE7D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC,CACF,CAAC;IAEF,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AApEW,QAAA,gBAAgB,oBAoE3B"}
@@ -0,0 +1 @@
1
+ export declare const startMcpServer: () => Promise<void>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.startMcpServer = void 0;
4
+ const tslib_1 = require("tslib");
5
+ /**
6
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
7
+ * SPDX-License-Identifier: Apache-2.0
8
+ */
9
+ const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
10
+ const server_1 = require("./server");
11
+ const startMcpServer = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
12
+ const transport = new stdio_js_1.StdioServerTransport();
13
+ yield (0, server_1.createServer)().connect(transport);
14
+ console.error('Nx Plugin for AWS MCP Server listening on STDIO');
15
+ });
16
+ exports.startMcpServer = startMcpServer;
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/mcp-server/index.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,wEAAiF;AACjF,qCAAwC;AAEjC,MAAM,cAAc,GAAG,GAAS,EAAE;IACvC,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,IAAA,qBAAY,GAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACxC,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;AACnE,CAAC,CAAA,CAAC;AAJW,QAAA,cAAc,kBAIzB"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { z } from 'zod';
6
+ export declare const PACKAGE_MANAGERS: readonly ["pnpm", "yarn", "npm", "bun"];
7
+ export declare const PackageManagerSchema: z.ZodEnum<["pnpm", "yarn", "npm", "bun"]>;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PackageManagerSchema = exports.PACKAGE_MANAGERS = void 0;
4
+ /**
5
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
6
+ * SPDX-License-Identifier: Apache-2.0
7
+ */
8
+ const zod_1 = require("zod");
9
+ exports.PACKAGE_MANAGERS = ['pnpm', 'yarn', 'npm', 'bun'];
10
+ exports.PackageManagerSchema = zod_1.z.enum(exports.PACKAGE_MANAGERS);
11
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/mcp-server/schema.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,6BAAwB;AAEX,QAAA,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;AAC3D,QAAA,oBAAoB,GAAG,OAAC,CAAC,IAAI,CAAC,wBAAgB,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
6
+ /**
7
+ * Create the MCP Server
8
+ */
9
+ export declare const createServer: () => McpServer;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createServer = void 0;
4
+ /**
5
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
6
+ * SPDX-License-Identifier: Apache-2.0
7
+ */
8
+ const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
9
+ const nx_1 = require("../utils/nx");
10
+ const create_workspace_command_1 = require("./tools/create-workspace-command");
11
+ const list_generators_1 = require("./tools/list-generators");
12
+ const generator_guide_1 = require("./tools/generator-guide");
13
+ const general_guidance_1 = require("./tools/general-guidance");
14
+ /**
15
+ * Create the MCP Server
16
+ */
17
+ const createServer = () => {
18
+ const generators = (0, nx_1.listGenerators)();
19
+ const server = new mcp_js_1.McpServer({
20
+ name: 'nx-plugin-for-aws',
21
+ version: '1.0.0',
22
+ }, {
23
+ instructions: `# Nx Plugin for AWS MCP Server
24
+
25
+ This server provides resources and tools for quickly scaffolding AWS projects within an Nx workspace (monorepo), using the Nx Plugin for AWS (@aws/nx-plugin).
26
+
27
+ The Nx Plugin for AWS provides "generators" to add projects or functionality to your workspace. Use this to build the foundations of any project you are building
28
+ on AWS, if the generators apply to your use case.
29
+
30
+ ${general_guidance_1.TOOL_SELECTION_GUIDE}
31
+ `,
32
+ });
33
+ (0, general_guidance_1.addGeneralGuidanceTool)(server, generators);
34
+ (0, create_workspace_command_1.addCreateWorkspaceCommandTool)(server);
35
+ (0, list_generators_1.addListGeneratorsTool)(server, generators);
36
+ (0, generator_guide_1.addGeneratorGuideTool)(server, generators);
37
+ return server;
38
+ };
39
+ exports.createServer = createServer;
40
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/mcp-server/server.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,oEAAoE;AACpE,oCAA6C;AAC7C,+EAAiF;AACjF,6DAAgE;AAChE,6DAAgE;AAChE,+DAGkC;AAElC;;GAEG;AACI,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,UAAU,GAAG,IAAA,mBAAc,GAAE,CAAC;IAEpC,MAAM,MAAM,GAAG,IAAI,kBAAS,CAC1B;QACE,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,OAAO;KACjB,EACD;QACE,YAAY,EAAE;;;;;;;EAOlB,uCAAoB;CACrB;KACI,CACF,CAAC;IAEF,IAAA,yCAAsB,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC3C,IAAA,wDAA6B,EAAC,MAAM,CAAC,CAAC;IACtC,IAAA,uCAAqB,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC1C,IAAA,uCAAqB,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAE1C,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA3BW,QAAA,YAAY,gBA2BvB"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
6
+ /**
7
+ * Add a tool which tells a model how to create an Nx workspace
8
+ */
9
+ export declare const addCreateWorkspaceCommandTool: (server: McpServer) => void;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addCreateWorkspaceCommandTool = void 0;
4
+ const zod_1 = require("zod");
5
+ const schema_1 = require("../schema");
6
+ /**
7
+ * Add a tool which tells a model how to create an Nx workspace
8
+ */
9
+ const addCreateWorkspaceCommandTool = (server) => {
10
+ server.tool('create-workspace-command', { workspaceName: zod_1.z.string(), packageManager: schema_1.PackageManagerSchema }, ({ workspaceName, packageManager }) => ({
11
+ content: [
12
+ {
13
+ type: 'text',
14
+ text: `Run the following command to create a workspace:
15
+
16
+ \`\`\`bash
17
+ npx create-nx-workspace@~21.0.3 ${workspaceName} --pm=${packageManager} --preset=@aws/nx-plugin --ci=skip
18
+ \`\`\`
19
+
20
+ Note that this will create a workspace in a new directory named ${workspaceName}. If you are already working in the directory
21
+ you would like for your workspace, you can move all the files up one level and delete the empty directory afterwards, eg:
22
+
23
+ \`\`\`bash
24
+ mv ${workspaceName}/{*,.*} ./ && rm -rf ${workspaceName}
25
+ \`\`\`
26
+
27
+ (Note that the above command will complain about moving . and .. but that is expected and ok!)
28
+ `,
29
+ },
30
+ ],
31
+ }));
32
+ };
33
+ exports.addCreateWorkspaceCommandTool = addCreateWorkspaceCommandTool;
34
+ //# sourceMappingURL=create-workspace-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-workspace-command.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/mcp-server/tools/create-workspace-command.ts"],"names":[],"mappings":";;;AAKA,6BAAwB;AACxB,sCAAiD;AAEjD;;GAEG;AACI,MAAM,6BAA6B,GAAG,CAAC,MAAiB,EAAE,EAAE;IACjE,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,EAAE,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,6BAAoB,EAAE,EACnE,CAAC,EAAE,aAAa,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC;QACtC,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE;;;kCAGkB,aAAa,SAAS,cAAc;;;kEAGJ,aAAa;;;;KAI1E,aAAa,wBAAwB,aAAa;;;;GAIpD;aACM;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AA3BW,QAAA,6BAA6B,iCA2BxC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
6
+ import { NxGeneratorInfo } from '../../utils/nx';
7
+ export declare const TOOL_SELECTION_GUIDE = "## Tool Selection Guide\n\n- Use the `general-guidance` tool for guidance and best practices for working with Nx and the Nx Plugin for AWS.\n- Use the `create-workspace-command` tool to discover how to create a workspace to start a new project.\n- Use the `list-generators` tool to discover the available generators and how to run them.\n- Use the `generator-guide` tool to retrieve detailed information about a specific generator.";
8
+ /**
9
+ * Add a tool which provides general guidance for using Nx and the Nx Plugin for AWS
10
+ */
11
+ export declare const addGeneralGuidanceTool: (server: McpServer, generators: NxGeneratorInfo[]) => void;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addGeneralGuidanceTool = exports.TOOL_SELECTION_GUIDE = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const schema_1 = require("../schema");
6
+ const generator_info_1 = require("../generator-info");
7
+ exports.TOOL_SELECTION_GUIDE = `## Tool Selection Guide
8
+
9
+ - Use the \`general-guidance\` tool for guidance and best practices for working with Nx and the Nx Plugin for AWS.
10
+ - Use the \`create-workspace-command\` tool to discover how to create a workspace to start a new project.
11
+ - Use the \`list-generators\` tool to discover the available generators and how to run them.
12
+ - Use the \`generator-guide\` tool to retrieve detailed information about a specific generator.`;
13
+ /**
14
+ * Add a tool which provides general guidance for using Nx and the Nx Plugin for AWS
15
+ */
16
+ const addGeneralGuidanceTool = (server, generators) => {
17
+ server.tool('general-guidance', () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
18
+ return ({
19
+ content: [
20
+ {
21
+ type: 'text',
22
+ text: `# Nx Plugin for AWS Guidance
23
+
24
+ ${exports.TOOL_SELECTION_GUIDE}
25
+
26
+ ## Getting Started
27
+
28
+ - Choose a package manager first. You can choose between ${schema_1.PACKAGE_MANAGERS.join(' ,')}. It's recommended to use "pnpm" if the user has no preference
29
+ - Next, you must create an Nx workspace. Use the \`create-workspace-command\` tool for more details, and provide it with your chosen package manager
30
+ - After this, you can start scaffolding the main components of your application using generators. Use the \`list-generators\` tool to discover available generators, and the \`generator-guide\` tool for more detailed information about a specific generator
31
+
32
+ ## Nx Primer
33
+
34
+ - Prefix nx commands with the appropriate prefix for your package manager, for example:
35
+ ${schema_1.PACKAGE_MANAGERS.map((pm) => (0, generator_info_1.buildNxCommand)('<options>', pm)).join(' - \n')}
36
+ - Each project in your workspace has a file named \`project.json\` which contains important project information such as its name, and defines the "targets" which can be run for that project, for example building or testing the project
37
+ - Use the command \`nx reset\` to reset the Nx daemon when unexpected issues arise
38
+ - After adding dependencies between projects, use \`nx sync\` to ensure project references are set up correctly
39
+
40
+ ## General Instructions
41
+
42
+ - Workspaces contain a single \`package.json\` file at the root which defines the dependencies for all projects. Therefore when installing dependencies, you must add these to the root workspace using the appropriate command for your package manager:
43
+ - pnpm add -w -D <package>
44
+ - yarn add -D <package>
45
+ - npm install --legacy-peer-deps -D <package>
46
+ - bun install -D <package>
47
+ - (Omit -D for production dependencies)
48
+ - When specifying project names as arguments to generators, use the _fully qualified_ project name, for example \`@workspace-name/project-name\`. Check the \`project.json\` file for the specific package to find its fully qualified name
49
+ - When no generator exists for a specific framework required, use the base \`ts#project\` and \`py#project\` generators and build on top, unless building a React website in which case use the \`ts#cloudscape-website\` generator and replace CloudScape with your desired UI component library
50
+
51
+ ## Useful Commands
52
+
53
+ - Fix lint issues with \`nx run-many --target lint --configuration=fix --all --output-style=stream\`
54
+ - Build all projects with \`nx run-many --target build --all --output-style=stream\`
55
+
56
+ ## Best Practices
57
+
58
+ - Generate all projects into the \`packages/\` directory
59
+ - After making changes to your projects, fix linting issues, then run a full build
60
+
61
+ ## Language Specific Guidance
62
+
63
+ Please refer to the below documentation for important details regarding working with any TypeScript or Python projects.
64
+
65
+ ${yield (0, generator_info_1.fetchGuidePages)(['typescript-project', 'python-project'], generators)}
66
+
67
+ `,
68
+ },
69
+ ],
70
+ });
71
+ }));
72
+ };
73
+ exports.addGeneralGuidanceTool = addGeneralGuidanceTool;
74
+ //# sourceMappingURL=general-guidance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"general-guidance.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/mcp-server/tools/general-guidance.ts"],"names":[],"mappings":";;;;AAMA,sCAA6C;AAC7C,sDAAoE;AAEvD,QAAA,oBAAoB,GAAG;;;;;gGAK4D,CAAC;AAEjG;;GAEG;AACI,MAAM,sBAAsB,GAAG,CACpC,MAAiB,EACjB,UAA6B,EAC7B,EAAE;IACF,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAS,EAAE;QAAC,OAAA,CAAC;YAC3C,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;;EAEZ,4BAAoB;;;;2DAIqC,yBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;EAOpF,yBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,+BAAc,EAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8B3E,MAAM,IAAA,gCAAe,EAAC,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,EAAE,UAAU,CAAC;;KAExE;iBACE;aACF;SACF,CAAC,CAAA;MAAA,CAAC,CAAC;AACN,CAAC,CAAC;AAzDW,QAAA,sBAAsB,0BAyDjC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
6
+ import { NxGeneratorInfo } from '../../utils/nx';
7
+ /**
8
+ * Add a tool which provides a detailed guide for an individual generator
9
+ */
10
+ export declare const addGeneratorGuideTool: (server: McpServer, generators: NxGeneratorInfo[]) => void;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addGeneratorGuideTool = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const zod_1 = require("zod");
6
+ const generator_info_1 = require("../generator-info");
7
+ const schema_1 = require("../schema");
8
+ /**
9
+ * Add a tool which provides a detailed guide for an individual generator
10
+ */
11
+ const addGeneratorGuideTool = (server, generators) => {
12
+ server.tool('generator-guide', {
13
+ packageManager: schema_1.PackageManagerSchema,
14
+ generator: zod_1.z.custom((v) => generators.map((g) => g.id).includes(v)),
15
+ }, (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ packageManager, generator: generatorId }) {
16
+ const generator = generators.find((g) => g.id === generatorId);
17
+ if (!generator) {
18
+ throw new Error(`No generator found with id ${generatorId}. Available generators: ${generators.map((g) => g.id).join(' ,')}`);
19
+ }
20
+ return {
21
+ content: [
22
+ {
23
+ type: 'text',
24
+ text: `## ${(0, generator_info_1.renderGeneratorInfo)(packageManager, generator)}
25
+
26
+ # Guide
27
+
28
+ ${yield (0, generator_info_1.fetchGuidePagesForGenerator)(generator, generators, packageManager)}
29
+ `,
30
+ },
31
+ ],
32
+ };
33
+ }));
34
+ };
35
+ exports.addGeneratorGuideTool = addGeneratorGuideTool;
36
+ //# sourceMappingURL=generator-guide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator-guide.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/mcp-server/tools/generator-guide.ts"],"names":[],"mappings":";;;;AAMA,6BAAwB;AACxB,sDAG2B;AAC3B,sCAAiD;AAEjD;;GAEG;AACI,MAAM,qBAAqB,GAAG,CACnC,MAAiB,EACjB,UAA6B,EAC7B,EAAE;IACF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB;QACE,cAAc,EAAE,6BAAoB;QACpC,SAAS,EAAE,OAAC,CAAC,MAAM,CAAS,CAAC,CAAC,EAAE,EAAE,CAChC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CACxC;KACF,EACD,KAAmD,EAAE,oDAA9C,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE;QAC/C,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,8BAA8B,WAAW,2BAA2B,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7G,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM,IAAA,oCAAmB,EAAC,cAAc,EAAE,SAAS,CAAC;;;;EAIpE,MAAM,IAAA,4CAA2B,EAAC,SAAS,EAAE,UAAU,EAAE,cAAc,CAAC;CACzE;iBACU;aACF;SACF,CAAC;IACJ,CAAC,CAAA,CACF,CAAC;AACJ,CAAC,CAAC;AAnCW,QAAA,qBAAqB,yBAmChC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
6
+ import { NxGeneratorInfo } from '../../utils/nx';
7
+ /**
8
+ * Adds a tool which lists details about the available generators
9
+ */
10
+ export declare const addListGeneratorsTool: (server: McpServer, generators: NxGeneratorInfo[]) => void;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addListGeneratorsTool = void 0;
4
+ const schema_1 = require("../schema");
5
+ const generator_info_1 = require("../generator-info");
6
+ /**
7
+ * Adds a tool which lists details about the available generators
8
+ */
9
+ const addListGeneratorsTool = (server, generators) => {
10
+ server.tool('list-generators', { packageManager: schema_1.PackageManagerSchema }, ({ packageManager }) => ({
11
+ content: [
12
+ {
13
+ type: 'text',
14
+ text: `## Available Generators
15
+
16
+ ${generators.map((g) => `### ${(0, generator_info_1.renderGeneratorInfo)(packageManager, g)}`).join('\n\n')}
17
+ `,
18
+ },
19
+ ],
20
+ }));
21
+ };
22
+ exports.addListGeneratorsTool = addListGeneratorsTool;
23
+ //# sourceMappingURL=list-generators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-generators.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/mcp-server/tools/list-generators.ts"],"names":[],"mappings":";;;AAKA,sCAAiD;AACjD,sDAAwD;AAGxD;;GAEG;AACI,MAAM,qBAAqB,GAAG,CACnC,MAAiB,EACjB,UAA6B,EAC7B,EAAE;IACF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,EAAE,cAAc,EAAE,6BAAoB,EAAE,EACxC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC;QACvB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE;;IAEZ,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,IAAA,oCAAmB,EAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;GACpF;aACM;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAnBW,QAAA,qBAAqB,yBAmBhC"}
@@ -99,10 +99,14 @@ const pyProjectGenerator = (tree, schema) => tslib_1.__awaiter(void 0, void 0, v
99
99
  };
100
100
  projectConfiguration.targets = (0, object_1.sortObjectKeys)(projectConfiguration.targets);
101
101
  (0, devkit_1.updateProjectConfiguration)(tree, normalizedName, projectConfiguration);
102
- // Update root .gitignore to ignore reports directory
102
+ // Update root .gitignore
103
103
  (0, git_1.updateGitIgnore)(tree, '.', (patterns) => [...patterns, '/reports']);
104
- // Update project level .gitignore to ignore __pycache__ directories
105
- (0, git_1.updateGitIgnore)(tree, dir, (patterns) => [...patterns, '**/__pycache__']);
104
+ // Update project level .gitignore
105
+ (0, git_1.updateGitIgnore)(tree, dir, (patterns) => [
106
+ ...patterns,
107
+ '**/__pycache__',
108
+ '.coverage',
109
+ ]);
106
110
  yield (0, metrics_1.addGeneratorMetricsIfApplicable)(tree, [exports.PY_PROJECT_GENERATOR_INFO]);
107
111
  return () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
108
112
  yield new provider_1.UVProvider(tree.root, new logger_1.Logger(), tree).install();
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/project/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/project/generator.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,6 @@ description: Some description
9
9
  import { FileTree } from '@astrojs/starlight/components';
10
10
  import RunGenerator from '@components/run-generator.astro';
11
11
  import GeneratorParameters from '@components/generator-parameters.astro';
12
- import schema from '../../../../../../packages/nx-plugin/src/foo-bar/schema.json';
13
12
 
14
13
  TODO: Add an overview of your generator here.
15
14
 
@@ -23,7 +22,7 @@ You can generate a foo#bar in two ways:
23
22
 
24
23
  ### Options
25
24
 
26
- <GeneratorParameters schema={schema} />
25
+ <GeneratorParameters generator="foo#bar" />
27
26
 
28
27
  ## Generator Output
29
28
 
@@ -6,7 +6,6 @@ description: <%- description ?? 'TODO - A short description of your generator' %
6
6
  import { FileTree } from '@astrojs/starlight/components';
7
7
  import RunGenerator from '@components/run-generator.astro';
8
8
  import GeneratorParameters from '@components/generator-parameters.astro';
9
- import schema from '../../../../../../packages/nx-plugin/src/<%- generatorSubDir %>/schema.json';
10
9
 
11
10
  TODO: Add an overview of your generator here.
12
11
 
@@ -20,7 +19,7 @@ You can generate a <%- name %> in two ways:
20
19
 
21
20
  ### Options
22
21
 
23
- <GeneratorParameters schema={schema} />
22
+ <GeneratorParameters generator="<%- name %>" />
24
23
 
25
24
  ## Generator Output
26
25
 
package/src/utils/nx.d.ts CHANGED
@@ -2,7 +2,16 @@ export interface NxGeneratorInfo {
2
2
  readonly id: string;
3
3
  readonly metric: string;
4
4
  readonly resolvedFactoryPath: string;
5
+ readonly resolvedSchemaPath: string;
6
+ readonly hidden?: boolean;
7
+ readonly description: string;
8
+ readonly guidePages?: string[];
5
9
  }
10
+ /**
11
+ * List Nx Plugin for AWS generators
12
+ * @param includeHidden include hidden generators (default false)
13
+ */
14
+ export declare const listGenerators: (includeHidden?: boolean) => NxGeneratorInfo[];
6
15
  /**
7
16
  * Return generator information. Call this from a generator method with __filename
8
17
  */
package/src/utils/nx.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPackageVersion = exports.getGeneratorInfo = void 0;
3
+ exports.getPackageVersion = exports.getGeneratorInfo = exports.listGenerators = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  /**
6
6
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
@@ -9,11 +9,21 @@ const tslib_1 = require("tslib");
9
9
  const generators_json_1 = tslib_1.__importDefault(require("../../generators.json"));
10
10
  const package_json_1 = tslib_1.__importDefault(require("../../package.json"));
11
11
  const path = tslib_1.__importStar(require("path"));
12
- const GENERATORS = Object.entries(generators_json_1.default.generators).map(([id, { metric, factory }]) => ({
13
- id,
14
- metric,
15
- resolvedFactoryPath: path.resolve(__dirname, '..', '..', factory),
16
- }));
12
+ const GENERATORS = Object.entries(generators_json_1.default.generators).map(([id, info]) => (Object.assign(Object.assign({ id, metric: info.metric, resolvedFactoryPath: path.resolve(__dirname, '..', '..', info.factory), resolvedSchemaPath: path.resolve(__dirname, '..', '..', info.schema), description: info.description }, ('hidden' in info && info.hidden
13
+ ? {
14
+ hidden: info.hidden,
15
+ }
16
+ : {})), ('guidePages' in info && info.guidePages
17
+ ? {
18
+ guidePages: info.guidePages,
19
+ }
20
+ : {}))));
21
+ /**
22
+ * List Nx Plugin for AWS generators
23
+ * @param includeHidden include hidden generators (default false)
24
+ */
25
+ const listGenerators = (includeHidden = false) => GENERATORS.filter((g) => includeHidden || !g.hidden);
26
+ exports.listGenerators = listGenerators;
17
27
  /**
18
28
  * Return generator information. Call this from a generator method with __filename
19
29
  */
@@ -1 +1 @@
1
- {"version":3,"file":"nx.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/nx.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,oFAAmD;AACnD,8EAA6C;AAC7C,mDAA6B;AAQ7B,MAAM,UAAU,GAAsB,MAAM,CAAC,OAAO,CAClD,yBAAc,CAAC,UAAU,CAC1B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACpC,EAAE;IACF,MAAM;IACN,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC;CAClE,CAAC,CAAC,CAAC;AAEJ;;GAEG;AACI,MAAM,gBAAgB,GAAG,CAC9B,iBAAyB,EACR,EAAE;IACnB,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAClE,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACjD,OAAO,UAAU,CAAC,IAAI,CACpB,CAAC,aAAa,EAAE,EAAE,CAChB,aAAa,CAAC,mBAAmB,KAAK,mBAAmB,CAC5D,CAAC;AACJ,CAAC,CAAC;AATW,QAAA,gBAAgB,oBAS3B;AAEK,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,OAAO,sBAAW,CAAC,OAAO,CAAC;AAC7B,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B"}
1
+ {"version":3,"file":"nx.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/nx.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,oFAAmD;AACnD,8EAA6C;AAC7C,mDAA6B;AAY7B,MAAM,UAAU,GAAsB,MAAM,CAAC,OAAO,CAClD,yBAAc,CAAC,UAAU,CAC1B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,+BACpB,EAAE,EACF,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EACtE,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EACpE,WAAW,EAAE,IAAI,CAAC,WAAW,IAC1B,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM;IACjC,CAAC,CAAC;QACE,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB;IACH,CAAC,CAAC,EAAE,CAAC,GACJ,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU;IACzC,CAAC,CAAC;QACE,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B;IACH,CAAC,CAAC,EAAE,CAAC,EACP,CAAC,CAAC;AAEJ;;;GAGG;AACI,MAAM,cAAc,GAAG,CAAC,aAAa,GAAG,KAAK,EAAqB,EAAE,CACzE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAD1C,QAAA,cAAc,kBAC4B;AAEvD;;GAEG;AACI,MAAM,gBAAgB,GAAG,CAC9B,iBAAyB,EACR,EAAE;IACnB,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAClE,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACjD,OAAO,UAAU,CAAC,IAAI,CACpB,CAAC,aAAa,EAAE,EAAE,CAChB,aAAa,CAAC,mBAAmB,KAAK,mBAAmB,CAC5D,CAAC;AACJ,CAAC,CAAC;AATW,QAAA,gBAAgB,oBAS3B;AAEK,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,OAAO,sBAAW,CAAC,OAAO,CAAC;AAC7B,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B"}
@@ -13,7 +13,7 @@ export declare const VERSIONS: {
13
13
  readonly '@aws-lambda-powertools/tracer': "^2.17.0";
14
14
  readonly '@nxlv/python': "^21.0.0";
15
15
  readonly '@nx/devkit': "~21.0.3";
16
- readonly '@modelcontextprotocol/sdk': "^1.10.2";
16
+ readonly '@modelcontextprotocol/sdk': "^1.11.3";
17
17
  readonly '@tanstack/react-router': "^1.114.27";
18
18
  readonly '@tanstack/router-plugin': "^1.114.27";
19
19
  readonly '@cloudscape-design/board-components': "^3.0.94";
@@ -46,5 +46,5 @@ export declare const VERSIONS: {
46
46
  * Add versions to the given dependencies
47
47
  */
48
48
  export declare const withVersions: (deps: (keyof typeof VERSIONS)[]) => {
49
- [k: string]: "^0.0.60" | "^2.185.0-alpha.0" | "^3.775.0" | "^2.17.0" | "^21.0.0" | "~21.0.3" | "^1.10.2" | "^1.114.27" | "^3.0.94" | "^3.0.928" | "^1.0.38" | "^5.74.3" | "11.0.0" | "^22.13.13" | "^8.10.148" | "^4.2.0" | "^1.0.20" | "^2.1006.0" | "^2.185.0" | "^3.10.3" | "^10.4.2" | "^0.25.1" | "^5.2.5" | "^2.4.0" | "^3.2.0" | "^3.5.3" | "^0.5.21" | "^4.19.3" | "^5.1.4" | "^3.24.2";
49
+ [k: string]: "^0.0.60" | "^2.185.0-alpha.0" | "^3.775.0" | "^2.17.0" | "^21.0.0" | "~21.0.3" | "^1.11.3" | "^1.114.27" | "^3.0.94" | "^3.0.928" | "^1.0.38" | "^5.74.3" | "11.0.0" | "^22.13.13" | "^8.10.148" | "^4.2.0" | "^1.0.20" | "^2.1006.0" | "^2.185.0" | "^3.10.3" | "^10.4.2" | "^0.25.1" | "^5.2.5" | "^2.4.0" | "^3.2.0" | "^3.5.3" | "^0.5.21" | "^4.19.3" | "^5.1.4" | "^3.24.2";
50
50
  };
@@ -16,7 +16,7 @@ exports.VERSIONS = {
16
16
  '@aws-lambda-powertools/tracer': '^2.17.0',
17
17
  '@nxlv/python': '^21.0.0',
18
18
  '@nx/devkit': '~21.0.3',
19
- '@modelcontextprotocol/sdk': '^1.10.2',
19
+ '@modelcontextprotocol/sdk': '^1.11.3',
20
20
  '@tanstack/react-router': '^1.114.27',
21
21
  '@tanstack/router-plugin': '^1.114.27',
22
22
  '@cloudscape-design/board-components': '^3.0.94',