@frontmcp/nx 0.0.1

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 (252) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +135 -0
  3. package/executors/build/build.impl.d.ts +5 -0
  4. package/executors/build/build.impl.js +27 -0
  5. package/executors/build/build.impl.js.map +1 -0
  6. package/executors/build/schema.d.ts +5 -0
  7. package/executors/build/schema.js +3 -0
  8. package/executors/build/schema.js.map +1 -0
  9. package/executors/build/schema.json +22 -0
  10. package/executors/build-exec/build-exec.impl.d.ts +5 -0
  11. package/executors/build-exec/build-exec.impl.js +25 -0
  12. package/executors/build-exec/build-exec.impl.js.map +1 -0
  13. package/executors/build-exec/schema.d.ts +4 -0
  14. package/executors/build-exec/schema.js +3 -0
  15. package/executors/build-exec/schema.js.map +1 -0
  16. package/executors/build-exec/schema.json +11 -0
  17. package/executors/deploy/deploy.impl.d.ts +5 -0
  18. package/executors/deploy/deploy.impl.js +33 -0
  19. package/executors/deploy/deploy.impl.js.map +1 -0
  20. package/executors/deploy/schema.d.ts +3 -0
  21. package/executors/deploy/schema.js +3 -0
  22. package/executors/deploy/schema.js.map +1 -0
  23. package/executors/deploy/schema.json +14 -0
  24. package/executors/dev/dev.impl.d.ts +6 -0
  25. package/executors/dev/dev.impl.js +30 -0
  26. package/executors/dev/dev.impl.js.map +1 -0
  27. package/executors/dev/schema.d.ts +4 -0
  28. package/executors/dev/schema.js +3 -0
  29. package/executors/dev/schema.js.map +1 -0
  30. package/executors/dev/schema.json +11 -0
  31. package/executors/executor-context.d.ts +19 -0
  32. package/executors/executor-context.js +3 -0
  33. package/executors/executor-context.js.map +1 -0
  34. package/executors/inspector/inspector.impl.d.ts +5 -0
  35. package/executors/inspector/inspector.impl.js +28 -0
  36. package/executors/inspector/inspector.impl.js.map +1 -0
  37. package/executors/inspector/schema.d.ts +3 -0
  38. package/executors/inspector/schema.js +3 -0
  39. package/executors/inspector/schema.js.map +1 -0
  40. package/executors/inspector/schema.json +10 -0
  41. package/executors/serve/schema.d.ts +5 -0
  42. package/executors/serve/schema.js +3 -0
  43. package/executors/serve/schema.js.map +1 -0
  44. package/executors/serve/schema.json +12 -0
  45. package/executors/serve/serve.impl.d.ts +5 -0
  46. package/executors/serve/serve.impl.js +34 -0
  47. package/executors/serve/serve.impl.js.map +1 -0
  48. package/executors/test/schema.d.ts +7 -0
  49. package/executors/test/schema.js +3 -0
  50. package/executors/test/schema.js.map +1 -0
  51. package/executors/test/schema.json +14 -0
  52. package/executors/test/test.impl.d.ts +5 -0
  53. package/executors/test/test.impl.js +31 -0
  54. package/executors/test/test.impl.js.map +1 -0
  55. package/executors.json +39 -0
  56. package/generators/adapter/adapter.d.ts +4 -0
  57. package/generators/adapter/adapter.js +18 -0
  58. package/generators/adapter/adapter.js.map +1 -0
  59. package/generators/adapter/files/__fileName__.adapter.ts__tmpl__ +20 -0
  60. package/generators/adapter/schema.d.ts +6 -0
  61. package/generators/adapter/schema.js +3 -0
  62. package/generators/adapter/schema.js.map +1 -0
  63. package/generators/adapter/schema.json +32 -0
  64. package/generators/agent/agent.d.ts +4 -0
  65. package/generators/agent/agent.js +27 -0
  66. package/generators/agent/agent.js.map +1 -0
  67. package/generators/agent/files/__fileName__.agent.ts__tmpl__ +17 -0
  68. package/generators/agent/schema.d.ts +8 -0
  69. package/generators/agent/schema.js +3 -0
  70. package/generators/agent/schema.js.map +1 -0
  71. package/generators/agent/schema.json +41 -0
  72. package/generators/app/app.d.ts +4 -0
  73. package/generators/app/app.js +21 -0
  74. package/generators/app/app.js.map +1 -0
  75. package/generators/app/files/jest.config.ts__tmpl__ +21 -0
  76. package/generators/app/files/project.json__tmpl__ +37 -0
  77. package/generators/app/files/src/__fileName__.app.ts__tmpl__ +9 -0
  78. package/generators/app/files/src/main.ts__tmpl__ +9 -0
  79. package/generators/app/files/src/tools/hello.tool.ts__tmpl__ +14 -0
  80. package/generators/app/files/tsconfig.json__tmpl__ +17 -0
  81. package/generators/app/files/tsconfig.lib.json__tmpl__ +11 -0
  82. package/generators/app/files/tsconfig.spec.json__tmpl__ +10 -0
  83. package/generators/app/lib/index.d.ts +2 -0
  84. package/generators/app/lib/index.js +6 -0
  85. package/generators/app/lib/index.js.map +1 -0
  86. package/generators/app/lib/normalize-options.d.ts +12 -0
  87. package/generators/app/lib/normalize-options.js +20 -0
  88. package/generators/app/lib/normalize-options.js.map +1 -0
  89. package/generators/app/schema.d.ts +6 -0
  90. package/generators/app/schema.js +3 -0
  91. package/generators/app/schema.js.map +1 -0
  92. package/generators/app/schema.json +33 -0
  93. package/generators/auth-provider/auth-provider.d.ts +4 -0
  94. package/generators/auth-provider/auth-provider.js +22 -0
  95. package/generators/auth-provider/auth-provider.js.map +1 -0
  96. package/generators/auth-provider/files/__fileName__.auth-provider.ts__tmpl__ +27 -0
  97. package/generators/auth-provider/schema.d.ts +7 -0
  98. package/generators/auth-provider/schema.js +3 -0
  99. package/generators/auth-provider/schema.js.map +1 -0
  100. package/generators/auth-provider/schema.json +50 -0
  101. package/generators/flow/files/__fileName__.flow.ts__tmpl__ +31 -0
  102. package/generators/flow/flow.d.ts +4 -0
  103. package/generators/flow/flow.js +18 -0
  104. package/generators/flow/flow.js.map +1 -0
  105. package/generators/flow/schema.d.ts +6 -0
  106. package/generators/flow/schema.js +3 -0
  107. package/generators/flow/schema.js.map +1 -0
  108. package/generators/flow/schema.json +32 -0
  109. package/generators/job/files/__fileName__.job.ts__tmpl__ +19 -0
  110. package/generators/job/job.d.ts +4 -0
  111. package/generators/job/job.js +18 -0
  112. package/generators/job/job.js.map +1 -0
  113. package/generators/job/schema.d.ts +6 -0
  114. package/generators/job/schema.js +3 -0
  115. package/generators/job/schema.js.map +1 -0
  116. package/generators/job/schema.json +32 -0
  117. package/generators/lib/files/adapter/src/__fileName__.adapter.ts__tmpl__ +19 -0
  118. package/generators/lib/files/adapter/src/index.ts__tmpl__ +1 -0
  119. package/generators/lib/files/generic/src/__fileName__.ts__tmpl__ +5 -0
  120. package/generators/lib/files/generic/src/index.ts__tmpl__ +1 -0
  121. package/generators/lib/files/plugin/src/__fileName__.plugin.ts__tmpl__ +19 -0
  122. package/generators/lib/files/plugin/src/index.ts__tmpl__ +1 -0
  123. package/generators/lib/files/tool-register/src/__fileName__.tools.ts__tmpl__ +20 -0
  124. package/generators/lib/files/tool-register/src/index.ts__tmpl__ +1 -0
  125. package/generators/lib/lib/index.d.ts +2 -0
  126. package/generators/lib/lib/index.js +6 -0
  127. package/generators/lib/lib/index.js.map +1 -0
  128. package/generators/lib/lib/normalize-options.d.ts +15 -0
  129. package/generators/lib/lib/normalize-options.js +31 -0
  130. package/generators/lib/lib/normalize-options.js.map +1 -0
  131. package/generators/lib/lib.d.ts +4 -0
  132. package/generators/lib/lib.js +37 -0
  133. package/generators/lib/lib.js.map +1 -0
  134. package/generators/lib/schema.d.ts +9 -0
  135. package/generators/lib/schema.js +3 -0
  136. package/generators/lib/schema.js.map +1 -0
  137. package/generators/lib/schema.json +59 -0
  138. package/generators/plugin/files/__fileName__.context-extension.ts__tmpl__ +33 -0
  139. package/generators/plugin/files/__fileName__.plugin.ts__tmpl__ +19 -0
  140. package/generators/plugin/plugin.d.ts +4 -0
  141. package/generators/plugin/plugin.js +29 -0
  142. package/generators/plugin/plugin.js.map +1 -0
  143. package/generators/plugin/schema.d.ts +7 -0
  144. package/generators/plugin/schema.js +3 -0
  145. package/generators/plugin/schema.js.map +1 -0
  146. package/generators/plugin/schema.json +37 -0
  147. package/generators/prompt/files/__fileName__.prompt.ts__tmpl__ +25 -0
  148. package/generators/prompt/prompt.d.ts +4 -0
  149. package/generators/prompt/prompt.js +25 -0
  150. package/generators/prompt/prompt.js.map +1 -0
  151. package/generators/prompt/schema.d.ts +7 -0
  152. package/generators/prompt/schema.js +3 -0
  153. package/generators/prompt/schema.js.map +1 -0
  154. package/generators/prompt/schema.json +36 -0
  155. package/generators/provider/files/__fileName__.provider.ts__tmpl__ +15 -0
  156. package/generators/provider/provider.d.ts +4 -0
  157. package/generators/provider/provider.js +22 -0
  158. package/generators/provider/provider.js.map +1 -0
  159. package/generators/provider/schema.d.ts +7 -0
  160. package/generators/provider/schema.js +3 -0
  161. package/generators/provider/schema.js.map +1 -0
  162. package/generators/provider/schema.json +38 -0
  163. package/generators/resource/files/__fileName__.resource.ts__tmpl__ +43 -0
  164. package/generators/resource/resource.d.ts +4 -0
  165. package/generators/resource/resource.js +20 -0
  166. package/generators/resource/resource.js.map +1 -0
  167. package/generators/resource/schema.d.ts +7 -0
  168. package/generators/resource/schema.js +3 -0
  169. package/generators/resource/schema.js.map +1 -0
  170. package/generators/resource/schema.json +37 -0
  171. package/generators/server/files/cloudflare/wrangler.toml__tmpl__ +6 -0
  172. package/generators/server/files/common/project.json__tmpl__ +25 -0
  173. package/generators/server/files/common/src/main.ts__tmpl__ +9 -0
  174. package/generators/server/files/common/tsconfig.json__tmpl__ +14 -0
  175. package/generators/server/files/common/tsconfig.lib.json__tmpl__ +11 -0
  176. package/generators/server/files/lambda/template.yaml__tmpl__ +27 -0
  177. package/generators/server/files/node/Dockerfile__tmpl__ +17 -0
  178. package/generators/server/files/node/__dot__dockerignore__tmpl__ +8 -0
  179. package/generators/server/files/node/docker-compose.yml__tmpl__ +28 -0
  180. package/generators/server/files/vercel/vercel.json__tmpl__ +15 -0
  181. package/generators/server/lib/index.d.ts +2 -0
  182. package/generators/server/lib/index.js +6 -0
  183. package/generators/server/lib/index.js.map +1 -0
  184. package/generators/server/lib/normalize-options.d.ts +14 -0
  185. package/generators/server/lib/normalize-options.js +25 -0
  186. package/generators/server/lib/normalize-options.js.map +1 -0
  187. package/generators/server/schema.d.ts +9 -0
  188. package/generators/server/schema.js +3 -0
  189. package/generators/server/schema.js.map +1 -0
  190. package/generators/server/schema.json +62 -0
  191. package/generators/server/server.d.ts +4 -0
  192. package/generators/server/server.js +28 -0
  193. package/generators/server/server.js.map +1 -0
  194. package/generators/skill/files/__fileName__.skill.ts__tmpl__ +16 -0
  195. package/generators/skill/schema.d.ts +7 -0
  196. package/generators/skill/schema.js +3 -0
  197. package/generators/skill/schema.js.map +1 -0
  198. package/generators/skill/schema.json +36 -0
  199. package/generators/skill/skill.d.ts +4 -0
  200. package/generators/skill/skill.js +25 -0
  201. package/generators/skill/skill.js.map +1 -0
  202. package/generators/tool/files/__fileName__.tool.ts__tmpl__ +19 -0
  203. package/generators/tool/schema.d.ts +6 -0
  204. package/generators/tool/schema.js +3 -0
  205. package/generators/tool/schema.js.map +1 -0
  206. package/generators/tool/schema.json +32 -0
  207. package/generators/tool/tool.d.ts +4 -0
  208. package/generators/tool/tool.js +18 -0
  209. package/generators/tool/tool.js.map +1 -0
  210. package/generators/workflow/files/__fileName__.workflow.ts__tmpl__ +23 -0
  211. package/generators/workflow/schema.d.ts +6 -0
  212. package/generators/workflow/schema.js +3 -0
  213. package/generators/workflow/schema.js.map +1 -0
  214. package/generators/workflow/schema.json +32 -0
  215. package/generators/workflow/workflow.d.ts +4 -0
  216. package/generators/workflow/workflow.js +18 -0
  217. package/generators/workflow/workflow.js.map +1 -0
  218. package/generators/workspace/files/__dot__gitignore__tmpl__ +28 -0
  219. package/generators/workspace/files/__dot__prettierrc__tmpl__ +6 -0
  220. package/generators/workspace/files/nx.json__tmpl__ +52 -0
  221. package/generators/workspace/files/package.json__tmpl__ +46 -0
  222. package/generators/workspace/files/tsconfig.base.json__tmpl__ +24 -0
  223. package/generators/workspace/lib/index.d.ts +2 -0
  224. package/generators/workspace/lib/index.js +6 -0
  225. package/generators/workspace/lib/index.js.map +1 -0
  226. package/generators/workspace/lib/normalize-options.d.ts +5 -0
  227. package/generators/workspace/lib/normalize-options.js +14 -0
  228. package/generators/workspace/lib/normalize-options.js.map +1 -0
  229. package/generators/workspace/schema.d.ts +7 -0
  230. package/generators/workspace/schema.js +3 -0
  231. package/generators/workspace/schema.js.map +1 -0
  232. package/generators/workspace/schema.json +42 -0
  233. package/generators/workspace/workspace.d.ts +4 -0
  234. package/generators/workspace/workspace.js +47 -0
  235. package/generators/workspace/workspace.js.map +1 -0
  236. package/generators.json +84 -0
  237. package/index.d.ts +16 -0
  238. package/index.js +44 -0
  239. package/index.js.map +1 -0
  240. package/package.json +24 -0
  241. package/utils/add-dependencies.d.ts +2 -0
  242. package/utils/add-dependencies.js +8 -0
  243. package/utils/add-dependencies.js.map +1 -0
  244. package/utils/names.d.ts +5 -0
  245. package/utils/names.js +27 -0
  246. package/utils/names.js.map +1 -0
  247. package/utils/normalize-options.d.ts +16 -0
  248. package/utils/normalize-options.js +30 -0
  249. package/utils/normalize-options.js.map +1 -0
  250. package/utils/versions.d.ts +5 -0
  251. package/utils/versions.js +65 -0
  252. package/utils/versions.js.map +1 -0
@@ -0,0 +1,23 @@
1
+ import { Workflow } from '@frontmcp/sdk';
2
+
3
+ @Workflow({
4
+ name: '<%= name %>',
5
+ description: 'TODO: describe what this workflow does',
6
+ trigger: 'manual',
7
+ steps: [
8
+ {
9
+ id: 'step1',
10
+ jobName: 'TODO-first-job',
11
+ input: { value: 'hello' },
12
+ },
13
+ {
14
+ id: 'step2',
15
+ jobName: 'TODO-second-job',
16
+ dependsOn: ['step1'],
17
+ input: (steps) => ({
18
+ value: steps.get('step1').outputs.result,
19
+ }),
20
+ },
21
+ ],
22
+ })
23
+ export default class <%= className %>Workflow {}
@@ -0,0 +1,6 @@
1
+ export interface WorkflowGeneratorSchema {
2
+ name: string;
3
+ project: string;
4
+ directory?: string;
5
+ skipFormat?: boolean;
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/generators/workflow/schema.ts"],"names":[],"mappings":"","sourcesContent":["export interface WorkflowGeneratorSchema {\n name: string;\n project: string;\n directory?: string;\n skipFormat?: boolean;\n}\n"]}
@@ -0,0 +1,32 @@
1
+ {
2
+ "$schema": "https://json-schema.org/schema",
3
+ "$id": "FrontMcpWorkflow",
4
+ "title": "FrontMCP Workflow Generator",
5
+ "description": "Generate a @Workflow class",
6
+ "type": "object",
7
+ "properties": {
8
+ "name": {
9
+ "type": "string",
10
+ "description": "The name of the workflow",
11
+ "$default": { "$source": "argv", "index": 0 },
12
+ "x-prompt": "What name would you like for the workflow?",
13
+ "x-priority": "important"
14
+ },
15
+ "project": {
16
+ "type": "string",
17
+ "description": "The project to add the workflow to",
18
+ "x-dropdown": "projects",
19
+ "x-priority": "important"
20
+ },
21
+ "directory": {
22
+ "type": "string",
23
+ "description": "Subdirectory within src/workflows/"
24
+ },
25
+ "skipFormat": {
26
+ "type": "boolean",
27
+ "default": false,
28
+ "x-priority": "internal"
29
+ }
30
+ },
31
+ "required": ["name", "project"]
32
+ }
@@ -0,0 +1,4 @@
1
+ import { type Tree, type GeneratorCallback } from '@nx/devkit';
2
+ import type { WorkflowGeneratorSchema } from './schema.js';
3
+ export declare function workflowGenerator(tree: Tree, schema: WorkflowGeneratorSchema): Promise<GeneratorCallback | void>;
4
+ export default workflowGenerator;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.workflowGenerator = workflowGenerator;
4
+ const devkit_1 = require("@nx/devkit");
5
+ const path_1 = require("path");
6
+ const normalize_options_js_1 = require("../../utils/normalize-options.js");
7
+ async function workflowGenerator(tree, schema) {
8
+ const options = (0, normalize_options_js_1.normalizePrimitiveOptions)(tree, schema, 'workflows');
9
+ (0, devkit_1.generateFiles)(tree, (0, path_1.join)(__dirname, 'files'), options.directory, {
10
+ ...options,
11
+ tmpl: '',
12
+ });
13
+ if (!schema.skipFormat) {
14
+ await (0, devkit_1.formatFiles)(tree);
15
+ }
16
+ }
17
+ exports.default = workflowGenerator;
18
+ //# sourceMappingURL=workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../../src/generators/workflow/workflow.ts"],"names":[],"mappings":";;AAKA,8CAWC;AAhBD,uCAA2F;AAC3F,+BAA4B;AAE5B,2EAA6E;AAEtE,KAAK,UAAU,iBAAiB,CAAC,IAAU,EAAE,MAA+B;IACjF,MAAM,OAAO,GAAG,IAAA,gDAAyB,EAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAErE,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE;QAC/D,GAAG,OAAO;QACV,IAAI,EAAE,EAAE;KACT,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,kBAAe,iBAAiB,CAAC","sourcesContent":["import { type Tree, formatFiles, generateFiles, type GeneratorCallback } from '@nx/devkit';\nimport { join } from 'path';\nimport type { WorkflowGeneratorSchema } from './schema.js';\nimport { normalizePrimitiveOptions } from '../../utils/normalize-options.js';\n\nexport async function workflowGenerator(tree: Tree, schema: WorkflowGeneratorSchema): Promise<GeneratorCallback | void> {\n const options = normalizePrimitiveOptions(tree, schema, 'workflows');\n\n generateFiles(tree, join(__dirname, 'files'), options.directory, {\n ...options,\n tmpl: '',\n });\n\n if (!schema.skipFormat) {\n await formatFiles(tree);\n }\n}\n\nexport default workflowGenerator;\n"]}
@@ -0,0 +1,28 @@
1
+ # Dependencies
2
+ node_modules/
3
+
4
+ # Build
5
+ dist/
6
+ tmp/
7
+
8
+ # IDE
9
+ .idea/
10
+ .vscode/
11
+ *.swp
12
+ *.swo
13
+
14
+ # OS
15
+ .DS_Store
16
+ Thumbs.db
17
+
18
+ # Nx
19
+ .nx/cache
20
+ .nx/workspace-data
21
+
22
+ # Coverage
23
+ coverage/
24
+
25
+ # Environment
26
+ .env
27
+ .env.local
28
+ .env.*.local
@@ -0,0 +1,6 @@
1
+ {
2
+ "singleQuote": true,
3
+ "trailingComma": "all",
4
+ "printWidth": 120,
5
+ "tabWidth": 2
6
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "$schema": "./node_modules/nx/schemas/nx-schema.json",
3
+ "neverConnectToCloud": true,
4
+ "cli": {
5
+ "packageManager": "<%= packageManager %>"
6
+ },
7
+ "namedInputs": {
8
+ "default": ["{projectRoot}/**/*", "sharedGlobals"],
9
+ "production": [
10
+ "default",
11
+ "!{projectRoot}/.eslintrc.json",
12
+ "!{projectRoot}/eslint.config.mjs",
13
+ "!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)",
14
+ "!{projectRoot}/tsconfig.spec.json",
15
+ "!{projectRoot}/jest.config.[jt]s"
16
+ ],
17
+ "sharedGlobals": []
18
+ },
19
+ "plugins": [
20
+ {
21
+ "plugin": "@nx/js/typescript",
22
+ "options": {
23
+ "typecheck": { "targetName": "typecheck" },
24
+ "build": {
25
+ "targetName": "build",
26
+ "configName": "tsconfig.lib.json"
27
+ }
28
+ }
29
+ },
30
+ {
31
+ "plugin": "@nx/eslint/plugin",
32
+ "options": { "targetName": "lint" }
33
+ },
34
+ {
35
+ "plugin": "@nx/jest/plugin",
36
+ "options": { "targetName": "test" }
37
+ }
38
+ ],
39
+ "targetDefaults": {
40
+ "build": {
41
+ "cache": true,
42
+ "dependsOn": ["^build"],
43
+ "inputs": ["production", "^production"]
44
+ },
45
+ "test": {
46
+ "dependsOn": ["^build"]
47
+ }
48
+ },
49
+ "release": {
50
+ "projects": ["libs/*"]
51
+ }
52
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "<%= name %>",
3
+ "version": "0.0.1",
4
+ "private": true,
5
+ "license": "MIT",
6
+ "engines": {
7
+ "node": ">=22.0.0"
8
+ },
9
+ "workspaces": [
10
+ "apps/*",
11
+ "libs/*",
12
+ "servers/*"
13
+ ],
14
+ "scripts": {
15
+ "build": "nx run-many -t build",
16
+ "test": "nx run-many -t test",
17
+ "lint": "nx run-many -t lint"
18
+ },
19
+ "dependencies": {
20
+ "@frontmcp/sdk": "<%= frontmcpVersion %>",
21
+ "@frontmcp/cli": "<%= frontmcpVersion %>",
22
+ "reflect-metadata": "^0.2.2",
23
+ "zod": "^4.0.0",
24
+ "tslib": "^2.3.0"
25
+ },
26
+ "devDependencies": {
27
+ "@frontmcp/nx": "<%= frontmcpVersion %>",
28
+ "@frontmcp/testing": "<%= frontmcpVersion %>",
29
+ "nx": "<%= nxVersion %>",
30
+ "@nx/devkit": "<%= nxVersion %>",
31
+ "@nx/js": "<%= nxVersion %>",
32
+ "@nx/eslint": "<%= nxVersion %>",
33
+ "@nx/jest": "<%= nxVersion %>",
34
+ "@nx/esbuild": "<%= nxVersion %>",
35
+ "@nx/workspace": "<%= nxVersion %>",
36
+ "@swc-node/register": "~1.9.1",
37
+ "@swc/core": "~1.5.7",
38
+ "@swc/helpers": "~0.5.11",
39
+ "@swc/jest": "~0.2.38",
40
+ "@types/jest": "^30.0.0",
41
+ "@types/node": "^24.0.0",
42
+ "jest": "^30.0.2",
43
+ "typescript": "~5.9.2",
44
+ "prettier": "~3.6.2"
45
+ }
46
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "compileOnSave": false,
3
+ "compilerOptions": {
4
+ "baseUrl": ".",
5
+ "rootDir": ".",
6
+ "strict": true,
7
+ "sourceMap": true,
8
+ "declaration": false,
9
+ "moduleResolution": "node",
10
+ "emitDecoratorMetadata": true,
11
+ "experimentalDecorators": true,
12
+ "resolveJsonModule": true,
13
+ "strictPropertyInitialization": false,
14
+ "esModuleInterop": true,
15
+ "importHelpers": true,
16
+ "target": "es2022",
17
+ "module": "esnext",
18
+ "lib": ["es2022", "dom"],
19
+ "skipLibCheck": true,
20
+ "skipDefaultLibCheck": true,
21
+ "paths": {}
22
+ },
23
+ "exclude": ["node_modules", "tmp"]
24
+ }
@@ -0,0 +1,2 @@
1
+ export { normalizeOptions } from './normalize-options.js';
2
+ export type { NormalizedWorkspaceOptions } from './normalize-options.js';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeOptions = void 0;
4
+ var normalize_options_js_1 = require("./normalize-options.js");
5
+ Object.defineProperty(exports, "normalizeOptions", { enumerable: true, get: function () { return normalize_options_js_1.normalizeOptions; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/generators/workspace/lib/index.ts"],"names":[],"mappings":";;;AAAA,+DAA0D;AAAjD,wHAAA,gBAAgB,OAAA","sourcesContent":["export { normalizeOptions } from './normalize-options.js';\nexport type { NormalizedWorkspaceOptions } from './normalize-options.js';\n"]}
@@ -0,0 +1,5 @@
1
+ import type { WorkspaceGeneratorSchema } from '../schema.js';
2
+ export interface NormalizedWorkspaceOptions extends Required<WorkspaceGeneratorSchema> {
3
+ workspaceRoot: string;
4
+ }
5
+ export declare function normalizeOptions(schema: WorkspaceGeneratorSchema): NormalizedWorkspaceOptions;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeOptions = normalizeOptions;
4
+ function normalizeOptions(schema) {
5
+ return {
6
+ name: schema.name,
7
+ packageManager: schema.packageManager ?? 'npm',
8
+ skipInstall: schema.skipInstall ?? false,
9
+ skipGit: schema.skipGit ?? false,
10
+ createSampleApp: schema.createSampleApp ?? true,
11
+ workspaceRoot: schema.name,
12
+ };
13
+ }
14
+ //# sourceMappingURL=normalize-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../../../../../src/generators/workspace/lib/normalize-options.ts"],"names":[],"mappings":";;AAMA,4CASC;AATD,SAAgB,gBAAgB,CAAC,MAAgC;IAC/D,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,KAAK;QAC9C,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,KAAK;QACxC,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,KAAK;QAChC,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,IAAI;QAC/C,aAAa,EAAE,MAAM,CAAC,IAAI;KAC3B,CAAC;AACJ,CAAC","sourcesContent":["import type { WorkspaceGeneratorSchema } from '../schema.js';\n\nexport interface NormalizedWorkspaceOptions extends Required<WorkspaceGeneratorSchema> {\n workspaceRoot: string;\n}\n\nexport function normalizeOptions(schema: WorkspaceGeneratorSchema): NormalizedWorkspaceOptions {\n return {\n name: schema.name,\n packageManager: schema.packageManager ?? 'npm',\n skipInstall: schema.skipInstall ?? false,\n skipGit: schema.skipGit ?? false,\n createSampleApp: schema.createSampleApp ?? true,\n workspaceRoot: schema.name,\n };\n}\n"]}
@@ -0,0 +1,7 @@
1
+ export interface WorkspaceGeneratorSchema {
2
+ name: string;
3
+ packageManager?: 'npm' | 'yarn' | 'pnpm' | 'bun';
4
+ skipInstall?: boolean;
5
+ skipGit?: boolean;
6
+ createSampleApp?: boolean;
7
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/generators/workspace/schema.ts"],"names":[],"mappings":"","sourcesContent":["export interface WorkspaceGeneratorSchema {\n name: string;\n packageManager?: 'npm' | 'yarn' | 'pnpm' | 'bun';\n skipInstall?: boolean;\n skipGit?: boolean;\n createSampleApp?: boolean;\n}\n"]}
@@ -0,0 +1,42 @@
1
+ {
2
+ "$schema": "https://json-schema.org/schema",
3
+ "$id": "FrontMcpWorkspace",
4
+ "title": "FrontMCP Workspace Generator",
5
+ "description": "Scaffold a full FrontMCP Nx monorepo",
6
+ "type": "object",
7
+ "properties": {
8
+ "name": {
9
+ "type": "string",
10
+ "description": "The name of the workspace",
11
+ "$default": { "$source": "argv", "index": 0 },
12
+ "x-prompt": "What name would you like for the workspace?",
13
+ "x-priority": "important"
14
+ },
15
+ "packageManager": {
16
+ "type": "string",
17
+ "description": "Package manager to use",
18
+ "enum": ["npm", "yarn", "pnpm", "bun"],
19
+ "default": "npm",
20
+ "x-priority": "important"
21
+ },
22
+ "skipInstall": {
23
+ "type": "boolean",
24
+ "description": "Skip package installation",
25
+ "default": false,
26
+ "x-priority": "internal"
27
+ },
28
+ "skipGit": {
29
+ "type": "boolean",
30
+ "description": "Skip git initialization",
31
+ "default": false,
32
+ "x-priority": "internal"
33
+ },
34
+ "createSampleApp": {
35
+ "type": "boolean",
36
+ "description": "Create a sample demo application",
37
+ "default": true,
38
+ "x-priority": "important"
39
+ }
40
+ },
41
+ "required": ["name"]
42
+ }
@@ -0,0 +1,4 @@
1
+ import { type Tree, type GeneratorCallback } from '@nx/devkit';
2
+ import type { WorkspaceGeneratorSchema } from './schema.js';
3
+ export declare function workspaceGenerator(tree: Tree, schema: WorkspaceGeneratorSchema): Promise<GeneratorCallback>;
4
+ export default workspaceGenerator;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.workspaceGenerator = workspaceGenerator;
4
+ const devkit_1 = require("@nx/devkit");
5
+ const path_1 = require("path");
6
+ const index_js_1 = require("./lib/index.js");
7
+ const versions_js_1 = require("../../utils/versions.js");
8
+ async function workspaceGenerator(tree, schema) {
9
+ return workspaceGeneratorInternal(tree, schema);
10
+ }
11
+ async function workspaceGeneratorInternal(tree, schema) {
12
+ const options = (0, index_js_1.normalizeOptions)(schema);
13
+ const frontmcpVersion = `~${(0, versions_js_1.getFrontmcpVersion)()}`;
14
+ const nxVersion = '22.3.3';
15
+ (0, devkit_1.generateFiles)(tree, (0, path_1.join)(__dirname, 'files'), options.workspaceRoot, {
16
+ ...options,
17
+ frontmcpVersion,
18
+ nxVersion,
19
+ tmpl: '',
20
+ dot: '.',
21
+ });
22
+ // Create empty directories
23
+ tree.write((0, path_1.join)(options.workspaceRoot, 'apps', '.gitkeep'), '');
24
+ tree.write((0, path_1.join)(options.workspaceRoot, 'libs', '.gitkeep'), '');
25
+ tree.write((0, path_1.join)(options.workspaceRoot, 'servers', '.gitkeep'), '');
26
+ // Compose with app generator when createSampleApp is true
27
+ if (options.createSampleApp) {
28
+ const { appGenerator } = await import('../app/app.js');
29
+ await appGenerator(tree, {
30
+ name: 'demo',
31
+ directory: (0, path_1.join)(options.workspaceRoot, 'apps', 'demo'),
32
+ tags: 'scope:apps',
33
+ skipFormat: true,
34
+ });
35
+ }
36
+ await (0, devkit_1.formatFiles)(tree);
37
+ if (options.skipInstall) {
38
+ return () => {
39
+ /* noop */
40
+ };
41
+ }
42
+ return () => {
43
+ (0, devkit_1.installPackagesTask)(tree);
44
+ };
45
+ }
46
+ exports.default = workspaceGenerator;
47
+ //# sourceMappingURL=workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../../src/generators/workspace/workspace.ts"],"names":[],"mappings":";;AAMA,gDAEC;AARD,uCAAgH;AAChH,+BAA4B;AAE5B,6CAAkD;AAClD,yDAA6D;AAEtD,KAAK,UAAU,kBAAkB,CAAC,IAAU,EAAE,MAAgC;IACnF,OAAO,0BAA0B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,KAAK,UAAU,0BAA0B,CAAC,IAAU,EAAE,MAAgC;IACpF,MAAM,OAAO,GAAG,IAAA,2BAAgB,EAAC,MAAM,CAAC,CAAC;IACzC,MAAM,eAAe,GAAG,IAAI,IAAA,gCAAkB,GAAE,EAAE,CAAC;IACnD,MAAM,SAAS,GAAG,QAAQ,CAAC;IAE3B,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,EAAE;QACnE,GAAG,OAAO;QACV,eAAe;QACf,SAAS;QACT,IAAI,EAAE,EAAE;QACR,GAAG,EAAE,GAAG;KACT,CAAC,CAAC;IAEH,2BAA2B;IAC3B,IAAI,CAAC,KAAK,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;IAChE,IAAI,CAAC,KAAK,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;IAChE,IAAI,CAAC,KAAK,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;IAEnE,0DAA0D;IAC1D,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;QACvD,MAAM,YAAY,CAAC,IAAI,EAAE;YACvB,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,IAAA,WAAI,EAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC;YACtD,IAAI,EAAE,YAAY;YAClB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAExB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,OAAO,GAAG,EAAE;YACV,UAAU;QACZ,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,GAAG,EAAE;QACV,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC;AACJ,CAAC;AAED,kBAAe,kBAAkB,CAAC","sourcesContent":["import { type Tree, formatFiles, generateFiles, installPackagesTask, type GeneratorCallback } from '@nx/devkit';\nimport { join } from 'path';\nimport type { WorkspaceGeneratorSchema } from './schema.js';\nimport { normalizeOptions } from './lib/index.js';\nimport { getFrontmcpVersion } from '../../utils/versions.js';\n\nexport async function workspaceGenerator(tree: Tree, schema: WorkspaceGeneratorSchema): Promise<GeneratorCallback> {\n return workspaceGeneratorInternal(tree, schema);\n}\n\nasync function workspaceGeneratorInternal(tree: Tree, schema: WorkspaceGeneratorSchema): Promise<GeneratorCallback> {\n const options = normalizeOptions(schema);\n const frontmcpVersion = `~${getFrontmcpVersion()}`;\n const nxVersion = '22.3.3';\n\n generateFiles(tree, join(__dirname, 'files'), options.workspaceRoot, {\n ...options,\n frontmcpVersion,\n nxVersion,\n tmpl: '',\n dot: '.',\n });\n\n // Create empty directories\n tree.write(join(options.workspaceRoot, 'apps', '.gitkeep'), '');\n tree.write(join(options.workspaceRoot, 'libs', '.gitkeep'), '');\n tree.write(join(options.workspaceRoot, 'servers', '.gitkeep'), '');\n\n // Compose with app generator when createSampleApp is true\n if (options.createSampleApp) {\n const { appGenerator } = await import('../app/app.js');\n await appGenerator(tree, {\n name: 'demo',\n directory: join(options.workspaceRoot, 'apps', 'demo'),\n tags: 'scope:apps',\n skipFormat: true,\n });\n }\n\n await formatFiles(tree);\n\n if (options.skipInstall) {\n return () => {\n /* noop */\n };\n }\n\n return () => {\n installPackagesTask(tree);\n };\n}\n\nexport default workspaceGenerator;\n"]}
@@ -0,0 +1,84 @@
1
+ {
2
+ "generators": {
3
+ "workspace": {
4
+ "factory": "./generators/workspace/workspace",
5
+ "schema": "./generators/workspace/schema.json",
6
+ "description": "Scaffold a full FrontMCP Nx monorepo with apps/, libs/, and servers/ directories"
7
+ },
8
+ "app": {
9
+ "factory": "./generators/app/app",
10
+ "schema": "./generators/app/schema.json",
11
+ "description": "Generate a FrontMCP application in apps/"
12
+ },
13
+ "lib": {
14
+ "factory": "./generators/lib/lib",
15
+ "schema": "./generators/lib/schema.json",
16
+ "description": "Generate a shared library in libs/"
17
+ },
18
+ "server": {
19
+ "factory": "./generators/server/server",
20
+ "schema": "./generators/server/schema.json",
21
+ "description": "Generate a deployment shell in servers/"
22
+ },
23
+ "tool": {
24
+ "factory": "./generators/tool/tool",
25
+ "schema": "./generators/tool/schema.json",
26
+ "description": "Generate a @Tool class"
27
+ },
28
+ "resource": {
29
+ "factory": "./generators/resource/resource",
30
+ "schema": "./generators/resource/schema.json",
31
+ "description": "Generate a @Resource or @ResourceTemplate class"
32
+ },
33
+ "prompt": {
34
+ "factory": "./generators/prompt/prompt",
35
+ "schema": "./generators/prompt/schema.json",
36
+ "description": "Generate a @Prompt class"
37
+ },
38
+ "skill": {
39
+ "factory": "./generators/skill/skill",
40
+ "schema": "./generators/skill/schema.json",
41
+ "description": "Generate a @Skill class"
42
+ },
43
+ "agent": {
44
+ "factory": "./generators/agent/agent",
45
+ "schema": "./generators/agent/schema.json",
46
+ "description": "Generate an @Agent class"
47
+ },
48
+ "provider": {
49
+ "factory": "./generators/provider/provider",
50
+ "schema": "./generators/provider/schema.json",
51
+ "description": "Generate a @Provider class for dependency injection"
52
+ },
53
+ "plugin": {
54
+ "factory": "./generators/plugin/plugin",
55
+ "schema": "./generators/plugin/schema.json",
56
+ "description": "Generate a @Plugin class extending DynamicPlugin"
57
+ },
58
+ "adapter": {
59
+ "factory": "./generators/adapter/adapter",
60
+ "schema": "./generators/adapter/schema.json",
61
+ "description": "Generate an @Adapter class extending DynamicAdapter"
62
+ },
63
+ "auth-provider": {
64
+ "factory": "./generators/auth-provider/auth-provider",
65
+ "schema": "./generators/auth-provider/schema.json",
66
+ "description": "Generate an @AuthProvider class"
67
+ },
68
+ "flow": {
69
+ "factory": "./generators/flow/flow",
70
+ "schema": "./generators/flow/schema.json",
71
+ "description": "Generate a @Flow class extending FlowBase"
72
+ },
73
+ "job": {
74
+ "factory": "./generators/job/job",
75
+ "schema": "./generators/job/schema.json",
76
+ "description": "Generate a @Job class"
77
+ },
78
+ "workflow": {
79
+ "factory": "./generators/workflow/workflow",
80
+ "schema": "./generators/workflow/schema.json",
81
+ "description": "Generate a @Workflow class"
82
+ }
83
+ }
84
+ }
package/index.d.ts ADDED
@@ -0,0 +1,16 @@
1
+ export { workspaceGenerator } from './generators/workspace/workspace.js';
2
+ export { appGenerator } from './generators/app/app.js';
3
+ export { libGenerator } from './generators/lib/lib.js';
4
+ export { serverGenerator } from './generators/server/server.js';
5
+ export { toolGenerator } from './generators/tool/tool.js';
6
+ export { resourceGenerator } from './generators/resource/resource.js';
7
+ export { promptGenerator } from './generators/prompt/prompt.js';
8
+ export { skillGenerator } from './generators/skill/skill.js';
9
+ export { agentGenerator } from './generators/agent/agent.js';
10
+ export { providerGenerator } from './generators/provider/provider.js';
11
+ export { pluginGenerator } from './generators/plugin/plugin.js';
12
+ export { adapterGenerator } from './generators/adapter/adapter.js';
13
+ export { authProviderGenerator } from './generators/auth-provider/auth-provider.js';
14
+ export { flowGenerator } from './generators/flow/flow.js';
15
+ export { getFrontmcpVersion, getFrontmcpDependencies, getFrontmcpDevDependencies, getNxDependencies, } from './utils/versions.js';
16
+ export { toClassName, toPropertyName, toFileName, toConstantName } from './utils/names.js';
package/index.js ADDED
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toConstantName = exports.toFileName = exports.toPropertyName = exports.toClassName = exports.getNxDependencies = exports.getFrontmcpDevDependencies = exports.getFrontmcpDependencies = exports.getFrontmcpVersion = exports.flowGenerator = exports.authProviderGenerator = exports.adapterGenerator = exports.pluginGenerator = exports.providerGenerator = exports.agentGenerator = exports.skillGenerator = exports.promptGenerator = exports.resourceGenerator = exports.toolGenerator = exports.serverGenerator = exports.libGenerator = exports.appGenerator = exports.workspaceGenerator = void 0;
4
+ // Generators
5
+ var workspace_js_1 = require("./generators/workspace/workspace.js");
6
+ Object.defineProperty(exports, "workspaceGenerator", { enumerable: true, get: function () { return workspace_js_1.workspaceGenerator; } });
7
+ var app_js_1 = require("./generators/app/app.js");
8
+ Object.defineProperty(exports, "appGenerator", { enumerable: true, get: function () { return app_js_1.appGenerator; } });
9
+ var lib_js_1 = require("./generators/lib/lib.js");
10
+ Object.defineProperty(exports, "libGenerator", { enumerable: true, get: function () { return lib_js_1.libGenerator; } });
11
+ var server_js_1 = require("./generators/server/server.js");
12
+ Object.defineProperty(exports, "serverGenerator", { enumerable: true, get: function () { return server_js_1.serverGenerator; } });
13
+ var tool_js_1 = require("./generators/tool/tool.js");
14
+ Object.defineProperty(exports, "toolGenerator", { enumerable: true, get: function () { return tool_js_1.toolGenerator; } });
15
+ var resource_js_1 = require("./generators/resource/resource.js");
16
+ Object.defineProperty(exports, "resourceGenerator", { enumerable: true, get: function () { return resource_js_1.resourceGenerator; } });
17
+ var prompt_js_1 = require("./generators/prompt/prompt.js");
18
+ Object.defineProperty(exports, "promptGenerator", { enumerable: true, get: function () { return prompt_js_1.promptGenerator; } });
19
+ var skill_js_1 = require("./generators/skill/skill.js");
20
+ Object.defineProperty(exports, "skillGenerator", { enumerable: true, get: function () { return skill_js_1.skillGenerator; } });
21
+ var agent_js_1 = require("./generators/agent/agent.js");
22
+ Object.defineProperty(exports, "agentGenerator", { enumerable: true, get: function () { return agent_js_1.agentGenerator; } });
23
+ var provider_js_1 = require("./generators/provider/provider.js");
24
+ Object.defineProperty(exports, "providerGenerator", { enumerable: true, get: function () { return provider_js_1.providerGenerator; } });
25
+ var plugin_js_1 = require("./generators/plugin/plugin.js");
26
+ Object.defineProperty(exports, "pluginGenerator", { enumerable: true, get: function () { return plugin_js_1.pluginGenerator; } });
27
+ var adapter_js_1 = require("./generators/adapter/adapter.js");
28
+ Object.defineProperty(exports, "adapterGenerator", { enumerable: true, get: function () { return adapter_js_1.adapterGenerator; } });
29
+ var auth_provider_js_1 = require("./generators/auth-provider/auth-provider.js");
30
+ Object.defineProperty(exports, "authProviderGenerator", { enumerable: true, get: function () { return auth_provider_js_1.authProviderGenerator; } });
31
+ var flow_js_1 = require("./generators/flow/flow.js");
32
+ Object.defineProperty(exports, "flowGenerator", { enumerable: true, get: function () { return flow_js_1.flowGenerator; } });
33
+ // Utilities
34
+ var versions_js_1 = require("./utils/versions.js");
35
+ Object.defineProperty(exports, "getFrontmcpVersion", { enumerable: true, get: function () { return versions_js_1.getFrontmcpVersion; } });
36
+ Object.defineProperty(exports, "getFrontmcpDependencies", { enumerable: true, get: function () { return versions_js_1.getFrontmcpDependencies; } });
37
+ Object.defineProperty(exports, "getFrontmcpDevDependencies", { enumerable: true, get: function () { return versions_js_1.getFrontmcpDevDependencies; } });
38
+ Object.defineProperty(exports, "getNxDependencies", { enumerable: true, get: function () { return versions_js_1.getNxDependencies; } });
39
+ var names_js_1 = require("./utils/names.js");
40
+ Object.defineProperty(exports, "toClassName", { enumerable: true, get: function () { return names_js_1.toClassName; } });
41
+ Object.defineProperty(exports, "toPropertyName", { enumerable: true, get: function () { return names_js_1.toPropertyName; } });
42
+ Object.defineProperty(exports, "toFileName", { enumerable: true, get: function () { return names_js_1.toFileName; } });
43
+ Object.defineProperty(exports, "toConstantName", { enumerable: true, get: function () { return names_js_1.toConstantName; } });
44
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,aAAa;AACb,oEAAyE;AAAhE,kHAAA,kBAAkB,OAAA;AAC3B,kDAAuD;AAA9C,sGAAA,YAAY,OAAA;AACrB,kDAAuD;AAA9C,sGAAA,YAAY,OAAA;AACrB,2DAAgE;AAAvD,4GAAA,eAAe,OAAA;AACxB,qDAA0D;AAAjD,wGAAA,aAAa,OAAA;AACtB,iEAAsE;AAA7D,gHAAA,iBAAiB,OAAA;AAC1B,2DAAgE;AAAvD,4GAAA,eAAe,OAAA;AACxB,wDAA6D;AAApD,0GAAA,cAAc,OAAA;AACvB,wDAA6D;AAApD,0GAAA,cAAc,OAAA;AACvB,iEAAsE;AAA7D,gHAAA,iBAAiB,OAAA;AAC1B,2DAAgE;AAAvD,4GAAA,eAAe,OAAA;AACxB,8DAAmE;AAA1D,8GAAA,gBAAgB,OAAA;AACzB,gFAAoF;AAA3E,yHAAA,qBAAqB,OAAA;AAC9B,qDAA0D;AAAjD,wGAAA,aAAa,OAAA;AAEtB,YAAY;AACZ,mDAK6B;AAJ3B,iHAAA,kBAAkB,OAAA;AAClB,sHAAA,uBAAuB,OAAA;AACvB,yHAAA,0BAA0B,OAAA;AAC1B,gHAAA,iBAAiB,OAAA;AAEnB,6CAA2F;AAAlF,uGAAA,WAAW,OAAA;AAAE,0GAAA,cAAc,OAAA;AAAE,sGAAA,UAAU,OAAA;AAAE,0GAAA,cAAc,OAAA","sourcesContent":["// Generators\nexport { workspaceGenerator } from './generators/workspace/workspace.js';\nexport { appGenerator } from './generators/app/app.js';\nexport { libGenerator } from './generators/lib/lib.js';\nexport { serverGenerator } from './generators/server/server.js';\nexport { toolGenerator } from './generators/tool/tool.js';\nexport { resourceGenerator } from './generators/resource/resource.js';\nexport { promptGenerator } from './generators/prompt/prompt.js';\nexport { skillGenerator } from './generators/skill/skill.js';\nexport { agentGenerator } from './generators/agent/agent.js';\nexport { providerGenerator } from './generators/provider/provider.js';\nexport { pluginGenerator } from './generators/plugin/plugin.js';\nexport { adapterGenerator } from './generators/adapter/adapter.js';\nexport { authProviderGenerator } from './generators/auth-provider/auth-provider.js';\nexport { flowGenerator } from './generators/flow/flow.js';\n\n// Utilities\nexport {\n getFrontmcpVersion,\n getFrontmcpDependencies,\n getFrontmcpDevDependencies,\n getNxDependencies,\n} from './utils/versions.js';\nexport { toClassName, toPropertyName, toFileName, toConstantName } from './utils/names.js';\n"]}
package/package.json ADDED
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "@frontmcp/nx",
3
+ "version": "0.0.1",
4
+ "description": "Nx plugin for FrontMCP — generators and executors for building MCP servers",
5
+ "license": "Apache-2.0",
6
+ "type": "commonjs",
7
+ "main": "./index.js",
8
+ "types": "./index.d.ts",
9
+ "generators": "./generators.json",
10
+ "executors": "./executors.json",
11
+ "engines": {
12
+ "node": ">=22.0.0"
13
+ },
14
+ "dependencies": {
15
+ "@nx/devkit": "22.3.3",
16
+ "tslib": "^2.3.0"
17
+ },
18
+ "peerDependencies": {
19
+ "nx": ">=22.0.0"
20
+ },
21
+ "publishConfig": {
22
+ "access": "public"
23
+ }
24
+ }
@@ -0,0 +1,2 @@
1
+ import { type Tree, type GeneratorCallback } from '@nx/devkit';
2
+ export declare function addFrontmcpDependencies(tree: Tree, dependencies: Record<string, string>, devDependencies?: Record<string, string>): GeneratorCallback;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addFrontmcpDependencies = addFrontmcpDependencies;
4
+ const devkit_1 = require("@nx/devkit");
5
+ function addFrontmcpDependencies(tree, dependencies, devDependencies = {}) {
6
+ return (0, devkit_1.addDependenciesToPackageJson)(tree, dependencies, devDependencies);
7
+ }
8
+ //# sourceMappingURL=add-dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-dependencies.js","sourceRoot":"","sources":["../../../src/utils/add-dependencies.ts"],"names":[],"mappings":";;AAEA,0DAMC;AARD,uCAA6F;AAE7F,SAAgB,uBAAuB,CACrC,IAAU,EACV,YAAoC,EACpC,kBAA0C,EAAE;IAE5C,OAAO,IAAA,qCAA4B,EAAC,IAAI,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;AAC3E,CAAC","sourcesContent":["import { type Tree, addDependenciesToPackageJson, type GeneratorCallback } from '@nx/devkit';\n\nexport function addFrontmcpDependencies(\n tree: Tree,\n dependencies: Record<string, string>,\n devDependencies: Record<string, string> = {},\n): GeneratorCallback {\n return addDependenciesToPackageJson(tree, dependencies, devDependencies);\n}\n"]}