@frontmcp/nx 1.9.5 → 1.9.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -1,83 +1,97 @@
|
|
|
1
1
|
# @frontmcp/nx
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
[](https://github.com/agentfront/frontmcp/blob/main/LICENSE)
|
|
3
|
+
The Nx plugin for FrontMCP. It adds generators that write FrontMCP apps, libraries, deployment shells and component classes, and executors that run the [`frontmcp`](https://www.npmjs.com/package/frontmcp) CLI as Nx targets. Use it when several servers share code and you want Nx's project graph, caching and `affected` commands; for a single server, `frontmcp create` without `--nx` is simpler.
|
|
5
4
|
|
|
6
|
-
|
|
5
|
+
[](https://www.npmjs.com/package/@frontmcp/nx) [](https://github.com/agentfront/frontmcp/blob/main/LICENSE)
|
|
7
6
|
|
|
8
|
-
##
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
Start a new workspace with the plugin:
|
|
9
10
|
|
|
10
11
|
```bash
|
|
11
|
-
|
|
12
|
+
npx frontmcp create help-desk-platform --nx
|
|
12
13
|
```
|
|
13
14
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
| Generator | Command | Description |
|
|
17
|
-
| --------------- | --------------------------------- | -------------------------------------------------------------------------------- |
|
|
18
|
-
| `workspace` | `nx g @frontmcp/nx:workspace` | Scaffold a full FrontMCP Nx monorepo with apps/, libs/, and servers/ directories |
|
|
19
|
-
| `app` | `nx g @frontmcp/nx:app` | Generate a FrontMCP application in apps/ |
|
|
20
|
-
| `lib` | `nx g @frontmcp/nx:lib` | Generate a shared library in libs/ |
|
|
21
|
-
| `server` | `nx g @frontmcp/nx:server` | Generate a deployment shell in servers/ |
|
|
22
|
-
| `tool` | `nx g @frontmcp/nx:tool` | Generate a @Tool class |
|
|
23
|
-
| `resource` | `nx g @frontmcp/nx:resource` | Generate a @Resource or @ResourceTemplate class |
|
|
24
|
-
| `prompt` | `nx g @frontmcp/nx:prompt` | Generate a @Prompt class |
|
|
25
|
-
| `skill` | `nx g @frontmcp/nx:skill` | Generate a @Skill class |
|
|
26
|
-
| `agent` | `nx g @frontmcp/nx:agent` | Generate an @Agent class |
|
|
27
|
-
| `provider` | `nx g @frontmcp/nx:provider` | Generate a @Provider class for dependency injection |
|
|
28
|
-
| `plugin` | `nx g @frontmcp/nx:plugin` | Generate a @Plugin class extending DynamicPlugin |
|
|
29
|
-
| `adapter` | `nx g @frontmcp/nx:adapter` | Generate an @Adapter class extending DynamicAdapter |
|
|
30
|
-
| `auth-provider` | `nx g @frontmcp/nx:auth-provider` | Generate an @AuthProvider class |
|
|
31
|
-
| `flow` | `nx g @frontmcp/nx:flow` | Generate a @Flow class extending FlowBase |
|
|
32
|
-
| `job` | `nx g @frontmcp/nx:job` | Generate a @Job class |
|
|
33
|
-
| `workflow` | `nx g @frontmcp/nx:workflow` | Generate a @Workflow class |
|
|
34
|
-
|
|
35
|
-
## Executors
|
|
15
|
+
Or add it to a workspace you have:
|
|
36
16
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
| `build-exec` | Build a distributable bundle using `frontmcp build --exec` |
|
|
41
|
-
| `dev` | Start a development server using `frontmcp dev` |
|
|
42
|
-
| `serve` | Start a supervised production server using `frontmcp start` |
|
|
43
|
-
| `test` | Run E2E tests using `frontmcp test` |
|
|
44
|
-
| `inspector` | Launch MCP Inspector using `frontmcp inspector` |
|
|
45
|
-
| `deploy` | Deploy to a target platform (node/vercel/lambda/cloudflare) |
|
|
17
|
+
```bash
|
|
18
|
+
npx nx add @frontmcp/nx
|
|
19
|
+
```
|
|
46
20
|
|
|
47
|
-
|
|
21
|
+
`nx` 22 or later is a peer dependency. `nx add` runs the plugin's `init` generator, which adds `@frontmcp/sdk`, `frontmcp`, `reflect-metadata`, `zod` and `tslib` to `dependencies` and `@frontmcp/testing`, Jest and SWC (the compiler `frontmcp test` uses) to `devDependencies`, and makes the `build`, `build-exec` and `test` executors cacheable in `nx.json`. If you installed the package with `npm install -D @frontmcp/nx` instead, run `npx nx g @frontmcp/nx:init`. Every executor runs the `frontmcp` CLI in the workspace's `node_modules`, never `npx`, so the workspace needs the `frontmcp` package. Node.js 24 or later.
|
|
48
22
|
|
|
49
|
-
|
|
23
|
+
## Usage
|
|
50
24
|
|
|
51
25
|
```bash
|
|
52
|
-
nx g @frontmcp/nx:app
|
|
26
|
+
npx nx g @frontmcp/nx:app tickets
|
|
27
|
+
npx nx g @frontmcp/nx:tool search --project=tickets
|
|
28
|
+
npx nx g @frontmcp/nx:resource config --project=tickets
|
|
29
|
+
npx nx dev tickets
|
|
30
|
+
npx nx build tickets
|
|
31
|
+
npx nx serve tickets
|
|
53
32
|
```
|
|
54
33
|
|
|
55
|
-
|
|
34
|
+
The `app` generator writes a project with `build`, `dev`, `serve`, `test`, `typecheck` and `inspector` targets. No generator adds a class to its app: after `nx g @frontmcp/nx:tool`, list the tool in the app's `@App({ tools })` yourself.
|
|
56
35
|
|
|
57
|
-
|
|
58
|
-
nx g @frontmcp/nx:tool search --project=my-server
|
|
59
|
-
```
|
|
36
|
+
## Generators
|
|
60
37
|
|
|
61
|
-
|
|
38
|
+
| Generator | Description |
|
|
39
|
+
| --------------- | ------------------------------------------------------------------------------------ |
|
|
40
|
+
| `init` | Prepare an existing Nx workspace for FrontMCP (dependencies and cacheable executors) |
|
|
41
|
+
| `workspace` | Scaffold a FrontMCP Nx monorepo with `apps/`, `libs/` and `servers/` directories |
|
|
42
|
+
| `app` | Generate a FrontMCP application in `apps/` |
|
|
43
|
+
| `lib` | Generate a shared library in `libs/` |
|
|
44
|
+
| `server` | Generate a deployment shell in `servers/` |
|
|
45
|
+
| `tool` | Generate a `@Tool` class |
|
|
46
|
+
| `resource` | Generate a `@Resource` or `@ResourceTemplate` class |
|
|
47
|
+
| `prompt` | Generate a `@Prompt` class |
|
|
48
|
+
| `skill` | Generate a `@Skill` class |
|
|
49
|
+
| `skill-dir` | Generate a skill directory based on a `SKILL.md` file |
|
|
50
|
+
| `agent` | Generate an `@Agent` class |
|
|
51
|
+
| `provider` | Generate a `@Provider` class for dependency injection |
|
|
52
|
+
| `plugin` | Generate a `@Plugin` class extending `DynamicPlugin` |
|
|
53
|
+
| `adapter` | Generate an `@Adapter` class extending `DynamicAdapter` |
|
|
54
|
+
| `auth-provider` | Generate an `@AuthProvider` class |
|
|
55
|
+
| `flow` | Generate a `@Flow` class extending `FlowBase` |
|
|
56
|
+
| `job` | Generate a `@Job` class |
|
|
57
|
+
| `workflow` | Generate a `@Workflow` class |
|
|
58
|
+
| `ui-component` | Add a component to the UI package in `ui/components` |
|
|
59
|
+
| `ui-page` | Add a page to the UI package in `ui/pages` |
|
|
60
|
+
| `ui-shell` | Add a shell template to the UI package in `ui/shells` |
|
|
61
|
+
|
|
62
|
+
Run one with `npx nx g @frontmcp/nx:<generator>`.
|
|
62
63
|
|
|
63
|
-
|
|
64
|
-
nx g @frontmcp/nx:resource config --project=my-server
|
|
65
|
-
```
|
|
64
|
+
## Executors
|
|
66
65
|
|
|
67
|
-
|
|
66
|
+
| Executor | Runs |
|
|
67
|
+
| ------------ | ------------------------------------------------------------------------- |
|
|
68
|
+
| `build` | `frontmcp build`, for the `target` you set (`node` by default) |
|
|
69
|
+
| `build-exec` | `frontmcp build --target node` |
|
|
70
|
+
| `dev` | `frontmcp dev`, a development server |
|
|
71
|
+
| `serve` | `frontmcp start`, a supervised production server |
|
|
72
|
+
| `test` | `frontmcp test`, the end-to-end tests |
|
|
73
|
+
| `inspector` | `frontmcp inspector`, the MCP Inspector |
|
|
74
|
+
| `deploy` | The target platform's CLI, for `node`, `vercel`, `lambda` or `cloudflare` |
|
|
68
75
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
76
|
+
Use one in `project.json` as `"executor": "@frontmcp/nx:<executor>"`.
|
|
77
|
+
|
|
78
|
+
## Docs
|
|
79
|
+
|
|
80
|
+
- [Nx plugin](https://frontmcp.dev/reference/nx): what it adds, installing it, and the workspace layout
|
|
81
|
+
- [Nx generators](https://frontmcp.dev/reference/nx/generators): every generator and its options
|
|
82
|
+
- [Nx executors](https://frontmcp.dev/reference/nx/executors): every executor, its options and caching
|
|
83
|
+
- [Monorepo patterns](https://frontmcp.dev/reference/nx/monorepo): composing apps into servers and sharing code in libraries
|
|
84
|
+
|
|
85
|
+
## Related packages
|
|
86
|
+
|
|
87
|
+
- [`frontmcp`](https://www.npmjs.com/package/frontmcp): the CLI the executors run
|
|
88
|
+
- [`@frontmcp/sdk`](https://www.npmjs.com/package/@frontmcp/sdk): the framework the generated code uses
|
|
89
|
+
- [`@frontmcp/testing`](https://www.npmjs.com/package/@frontmcp/testing): the end-to-end tests the `test` executor runs
|
|
73
90
|
|
|
74
|
-
##
|
|
91
|
+
## Contributing
|
|
75
92
|
|
|
76
|
-
|
|
77
|
-
- [`frontmcp`](https://www.npmjs.com/package/frontmcp) — FrontMCP CLI
|
|
78
|
-
- [`@frontmcp/adapters`](https://www.npmjs.com/package/@frontmcp/adapters) — Framework adapters
|
|
79
|
-
- [`@frontmcp/plugins`](https://www.npmjs.com/package/@frontmcp/plugins) — Plugin system
|
|
93
|
+
Source: [`libs/nx-plugin`](https://github.com/agentfront/frontmcp/tree/main/libs/nx-plugin). Issues and pull requests are welcome; see [CONTRIBUTING.md](https://github.com/agentfront/frontmcp/blob/main/CONTRIBUTING.md).
|
|
80
94
|
|
|
81
95
|
## License
|
|
82
96
|
|
|
83
|
-
Apache-2.0
|
|
97
|
+
Apache-2.0. See [LICENSE](https://github.com/agentfront/frontmcp/blob/main/LICENSE).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@frontmcp/nx",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.7",
|
|
4
4
|
"description": "Nx plugin for FrontMCP — generators and executors for building MCP servers",
|
|
5
5
|
"author": "AgentFront <info@agentfront.dev>",
|
|
6
6
|
"homepage": "https://frontmcp.dev/reference/nx",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"node": ">=24.0.0"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@frontmcp/skills": "1.9.
|
|
36
|
+
"@frontmcp/skills": "1.9.7",
|
|
37
37
|
"@nx/devkit": "22.6.4",
|
|
38
38
|
"tslib": "^2.3.0"
|
|
39
39
|
},
|