TypeScript Nx Plugin
生成一个完整的 TypeScript Nx Plugin,并集成 Model Context Protocol (MCP) 服务器。此生成器创建了一个基础框架,用于构建可被 AI 助手无缝使用的自定义生成器,以实现自动化代码生成和项目脚手架。
生成 Nx 插件
Section titled “生成 Nx 插件”您可以通过两种方式生成 TypeScript Nx Plugin:
pnpm nx g @aws/nx-plugin:ts#nx-pluginyarn nx g @aws/nx-plugin:ts#nx-pluginnpx nx g @aws/nx-plugin:ts#nx-pluginbunx nx g @aws/nx-plugin:ts#nx-plugin- 安装 Nx Console VSCode Plugin 如果您尚未安装
- 在VSCode中打开Nx控制台
- 点击
Generate (UI)在"Common Nx Commands"部分 - 搜索
@aws/nx-plugin - ts#nx-plugin - 填写必需参数
- 点击
Generate
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| name 必需 | string | - | TypeScript 项目名称 |
| directory | string | packages | 库所放置的父目录。 |
| subDirectory | string | - | 库所放置的子目录。默认情况下,这是库的名称。 |
| preferInstallDependencies | boolean | true | 是否在生成器运行后优先安装依赖项。设置为 false 可在批量运行多个生成器时延迟安装(如果后续生成器需要计算 Nx 项目图,仍会运行安装);在最后统一安装一次。 |
生成器将创建以下项目结构:
文件夹your-plugin/
文件夹src/
- index.ts Empty entry point for your plugin
文件夹mcp-server/
- index.ts Exports your server
- server.ts Main MCP server configuration
- stdio.ts Entry point for your MCP server with STDIO transport
- http.ts Entry point for your MCP server with Streamable HTTP transport
文件夹tools/
- create-workspace-command.ts Tool for workspace creation guidance
- general-guidance.ts Tool for general Nx and plugin guidance
- list-generators.ts Tool to list available generators
- generator-guide.ts Tool for detailed generator information
- utils.ts Utility functions for the MCP server
- generators.json Nx generator configuration (initially empty)
- package.json Plugin package configuration
- tsconfig.json TypeScript configuration (CommonJS for Nx compatibility)
- project.json Nx project configuration with build and package targets
使用您的 Nx 插件
Section titled “使用您的 Nx 插件”一旦您有了插件项目,就可以使用 ts#nx-generator 生成器来添加生成器:
pnpm nx g @aws/nx-plugin:ts#nx-generator --project=your-pluginyarn nx g @aws/nx-plugin:ts#nx-generator --project=your-pluginnpx nx g @aws/nx-plugin:ts#nx-generator --project=your-pluginbunx nx g @aws/nx-plugin:ts#nx-generator --project=your-plugin您还可以执行试运行以查看哪些文件会被更改
pnpm nx g @aws/nx-plugin:ts#nx-generator --project=your-plugin --dry-runyarn nx g @aws/nx-plugin:ts#nx-generator --project=your-plugin --dry-runnpx nx g @aws/nx-plugin:ts#nx-generator --project=your-plugin --dry-runbunx nx g @aws/nx-plugin:ts#nx-generator --project=your-plugin --dry-run- 安装 Nx Console VSCode Plugin 如果您尚未安装
- 在VSCode中打开Nx控制台
- 点击
Generate (UI)在"Common Nx Commands"部分 - 搜索
@aws/nx-plugin - ts#nx-generator - 填写必需参数
- project: your-plugin
- 点击
Generate
这将向您的插件添加一个新的生成器。
确保为您的生成器编写详细的 README.md,因为 MCP 服务器的 generator-guide 工具会使用它。
生成的插件包含几个重要的目标:
编译您的 TypeScript 代码并准备插件以供使用:
pnpm nx build your-pluginyarn nx build your-pluginnpx nx build your-pluginbunx nx build your-plugin创建一个可分发的包,准备发布到 NPM:
pnpm nx package your-pluginyarn nx package your-pluginnpx nx package your-pluginbunx nx package your-plugin打包目标包含所有必要的资源:
- 编译后的 JavaScript 文件
- TypeScript 声明文件
- 生成器和执行器配置文件
- 文档和许可证文件
MCP 服务器集成
Section titled “MCP 服务器集成”该插件使用 ts#mcp-server 生成器配置 MCP 服务器。
该插件包含一个完整的 MCP 服务器,为 AI 助手提供以下工具:
general-guidance:获取使用 Nx 和您的插件的最佳实践create-workspace-command:了解如何创建可以使用您的插件的新工作区list-generators:列出您的插件中所有可用的生成器generator-guide:获取有关特定生成器的详细信息,包括模式和用法
配置 AI 助手
Section titled “配置 AI 助手”大多数支持 MCP 的 AI 助手使用类似的配置方法。您需要创建或更新配置文件,其中包含您的 MCP 服务器详细信息:
{ "mcpServers": { "your-mcp-server": { "command": "npx", "args": ["tsx", "/path/to/your-mcp-server/stdio.ts"] } }}在开发 MCP 服务器时,您可能希望配置 --watch 标志,以便 AI 助手始终看到工具/资源的最新版本:
{ "mcpServers": { "your-mcp-server": { "command": "npx", "args": ["tsx", "--watch", "/path/to/your-mcp-server/stdio.ts"] } }}特定助手配置
Section titled “特定助手配置”请参阅以下文档以了解如何为特定 AI 助手配置 MCP:
自定义 MCP 服务器
Section titled “自定义 MCP 服务器”您可以通过修改 server.ts 来扩展 MCP 服务器,以添加特定于您的插件领域的其他工具或资源。
有关编写 MCP 服务器的更多详细信息,请参阅 ts#mcp-server 指南。
发布您的插件
Section titled “发布您的插件”-
更新包信息:编辑您的插件的
package.json,填写正确的名称、版本、描述和仓库信息。 -
构建包:
Terminal window pnpm nx package your-pluginTerminal window yarn nx package your-pluginTerminal window npx nx package your-pluginTerminal window bunx nx package your-plugin -
本地测试:您可以通过在另一个工作区中安装来本地测试您的插件:
Terminal window npm install /path/to/your/workspace/dist/your-plugin/package
发布到 NPM
Section titled “发布到 NPM”一旦您的插件准备就绪:
cd dist/your-plugin/packagenpm publish使用已发布的插件
Section titled “使用已发布的插件”发布后,其他人可以安装和使用您的插件:
pnpm add -w your-plugin-nameyarn add your-plugin-namenpm install --legacy-peer-deps your-plugin-namebun add your-plugin-name然后使用您的生成器:
pnpm nx g your-plugin-name:your-generator-nameyarn nx g your-plugin-name:your-generator-namenpx nx g your-plugin-name:your-generator-namebunx nx g your-plugin-name:your-generator-name您还可以执行试运行以查看哪些文件会被更改
pnpm nx g your-plugin-name:your-generator-name --dry-runyarn nx g your-plugin-name:your-generator-name --dry-runnpx nx g your-plugin-name:your-generator-name --dry-runbunx nx g your-plugin-name:your-generator-name --dry-run- 安装 Nx Console VSCode Plugin 如果您尚未安装
- 在VSCode中打开Nx控制台
- 点击
Generate (UI)在"Common Nx Commands"部分 - 搜索
your-plugin-name - your-generator-name - 填写必需参数
- 点击
Generate
使用已发布的插件配置 AI 助手
Section titled “使用已发布的插件配置 AI 助手”您已发布的插件的 MCP 服务器可以按如下方式配置:
{ "mcpServers": { "aws-nx-mcp": { "command": "npx", "args": ["-y", "-p", "your-plugin-name", "your-plugin-name-mcp-server"] } }}