跳转到内容

TypeScript Nx 插件

生成一个完整的 TypeScript Nx 插件,并集成模型上下文协议(MCP)服务器。该生成器为构建自定义生成器提供了基础,可被 AI 助手无缝用于自动化代码生成和项目脚手架。

您可以通过两种方式生成 TypeScript Nx 插件:

  1. 安装 Nx Console VSCode Plugin 如果您尚未安装
  2. 在VSCode中打开Nx控制台
  3. 点击 Generate (UI) 在"Common Nx Commands"部分
  4. 搜索 @aws/nx-plugin - ts#nx-plugin
  5. 填写必需参数
    • 点击 Generate
    参数 类型 默认值 描述
    name 必需 string - TypeScript project name
    directory string packages Parent directory where the library is placed.
    subDirectory string - The sub directory the lib is placed in. By default this is the library name.

    生成器将创建以下项目结构:

    • 文件夹your-plugin/
      • 文件夹src/
        • index.ts 插件入口文件
        • 文件夹mcp-server/
          • index.ts MCP 服务器入口文件
          • server.ts MCP 服务器主配置
          • 文件夹tools/
            • create-workspace-command.ts 工作区创建指导工具
            • general-guidance.ts Nx 和插件通用指导工具
            • list-generators.ts 生成器列表工具
            • generator-guide.ts 生成器详细信息工具
          • utils.ts MCP 服务器工具函数
      • generators.json Nx 生成器配置(初始为空)
      • package.json 插件包配置(含 MCP 服务器二进制)
      • tsconfig.json TypeScript 配置(兼容 Nx 的 CommonJS 模式)
      • project.json Nx 项目配置(含构建和打包目标)

    创建插件项目后,可以使用 ts#nx-generator 生成器添加新生成器:

    1. 安装 Nx Console VSCode Plugin 如果您尚未安装
    2. 在VSCode中打开Nx控制台
    3. 点击 Generate (UI) 在"Common Nx Commands"部分
    4. 搜索 @aws/nx-plugin - ts#nx-generator
    5. 填写必需参数
      • pluginProject: your-plugin
    6. 点击 Generate

    这将为您的插件添加新生成器。

    请确保为生成器编写详细的 README.md 文件,该文件将被 MCP 服务器的 generator-guide 工具使用。

    生成的插件包含几个重要构建目标:

    编译 TypeScript 代码并准备插件使用:

    Terminal window
    pnpm nx build your-plugin

    创建可发布的 NPM 包:

    Terminal window
    pnpm nx package your-plugin

    打包目标包含所有必要资源:

    • 编译后的 JavaScript 文件
    • TypeScript 声明文件
    • 生成器和执行器配置文件
    • 文档和许可证文件

    插件使用 ts#mcp-server 生成器配置 MCP 服务器。

    插件包含完整的 MCP 服务器,为 AI 助手提供以下工具:

    • general-guidance: 获取使用 Nx 和插件的最佳实践
    • create-workspace-command: 学习如何创建可使用插件的新工作区
    • list-generators: 列出插件中所有可用生成器
    • generator-guide: 获取生成器详细信息(含模式定义和使用说明)

    大多数支持 MCP 的 AI 助手都采用相似的配置方式。您需要创建或更新包含 MCP 服务器详细信息的配置文件:

    {
    "mcpServers": {
    "your-mcp-server": {
    "command": "npx",
    "args": ["tsx", "/path/to/your-mcp-server/index.ts"]
    }
    }
    }

    在开发 MCP 服务器时,可配置 --watch 参数使 AI 助手始终获取工具/资源的最新版本:

    {
    "mcpServers": {
    "your-mcp-server": {
    "command": "npx",
    "args": ["tsx", "--watch", "/path/to/your-mcp-server/index.ts"]
    }
    }
    }

    请参考以下文档配置特定 AI 助手的 MCP 功能:

    可通过修改 server.ts 来扩展 MCP 服务器,添加特定于插件领域的工具或资源。

    有关编写 MCP 服务器的详细信息,请参考 ts#mcp-server 指南

    1. 更新包信息: 在 package.json 中更新正确的名称、版本、描述和仓库信息

    2. 构建包:

      Terminal window
      pnpm nx package your-plugin
    3. 本地测试: 可通过在其他工作区安装进行本地测试:

      Terminal window
      npm install /path/to/your/workspace/dist/your-plugin/package

    准备就绪后执行:

    Terminal window
    cd dist/your-plugin/package
    npm publish

    发布后其他用户可安装使用:

    Terminal window
    pnpm add -w your-plugin-name

    然后使用您的生成器:

    1. 安装 Nx Console VSCode Plugin 如果您尚未安装
    2. 在VSCode中打开Nx控制台
    3. 点击 Generate (UI) 在"Common Nx Commands"部分
    4. 搜索 your-plugin-name - your-generator-name
    5. 填写必需参数
      • 点击 Generate

      已发布插件的 MCP 服务器可按如下方式配置:

      {
      "mcpServers": {
      "aws-nx-mcp": {
      "command": "npx",
      "args": ["-y", "-p", "your-plugin-name", "your-plugin-name-mcp-server"]
      }
      }
      }