Bỏ qua để đến nội dung

TypeScript Nx Plugin

Tạo một Nx Plugin TypeScript hoàn chỉnh với máy chủ Model Context Protocol (MCP) tích hợp. Generator này tạo nền tảng để xây dựng các generator tùy chỉnh có thể được sử dụng liền mạch bởi các trợ lý AI để tự động tạo mã và scaffolding dự án.

Bạn có thể tạo một TypeScript Nx Plugin theo hai cách:

Terminal window
pnpm nx g @aws/nx-plugin:ts#nx-plugin
Bạn cũng có thể thực hiện chạy thử để xem những tệp nào sẽ bị thay đổi
Terminal window
pnpm nx g @aws/nx-plugin:ts#nx-plugin --dry-run
Tham sốKiểuMặc địnhMô tả
name Bắt buộcstring-Tên dự án TypeScript
directory stringpackagesThư mục cha nơi thư viện được đặt.
subDirectory string-Thư mục con nơi thư viện được đặt. Mặc định đây là tên thư viện.
preferInstallDependencies booleantrueCó nên cài đặt các dependencies sau khi generator chạy hay không. Đặt thành false để hoãn việc cài đặt khi chạy nhiều generator cùng lúc (việc cài đặt vẫn sẽ chạy nếu cần thiết để các generator tiếp theo có thể tính toán Nx project graph); cài đặt một lần vào cuối.

Generator sẽ tạo cấu trúc dự án sau:

  • Thư mụcyour-plugin/
    • Thư mụcsrc/
      • index.ts Empty entry point for your plugin
      • Thư mụcmcp-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
        • Thư mụctools/
          • 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

Sau khi có dự án plugin, bạn có thể thêm các generator bằng cách sử dụng generator ts#nx-generator:

Terminal window
pnpm nx g @aws/nx-plugin:ts#nx-generator --project=your-plugin
Bạn cũng có thể thực hiện chạy thử để xem những tệp nào sẽ bị thay đổi
Terminal window
pnpm nx g @aws/nx-plugin:ts#nx-generator --project=your-plugin --dry-run

Điều này sẽ thêm một generator mới vào plugin của bạn.

Hãy đảm bảo viết một README.md chi tiết cho generator của bạn, vì nó được sử dụng bởi công cụ generator-guide của MCP Server.

Plugin được tạo bao gồm một số target quan trọng:

Biên dịch mã TypeScript của bạn và chuẩn bị plugin để sử dụng:

Terminal window
pnpm nx build your-plugin

Tạo một package có thể phân phối sẵn sàng để xuất bản lên NPM:

Terminal window
pnpm nx package your-plugin

Package target bao gồm tất cả các tài nguyên cần thiết:

  • Các file JavaScript đã biên dịch
  • Các file khai báo TypeScript
  • Các file cấu hình generator và executor
  • Các file tài liệu và giấy phép

Plugin cấu hình một MCP server bằng cách sử dụng generator ts#mcp-server.

Plugin bao gồm một MCP server hoàn chỉnh cung cấp cho các trợ lý AI các công cụ sau:

  • general-guidance: Nhận các phương pháp hay nhất để làm việc với Nx và plugin của bạn
  • create-workspace-command: Tìm hiểu cách tạo workspace mới có thể sử dụng plugin của bạn
  • list-generators: Liệt kê tất cả các generator có sẵn trong plugin của bạn
  • generator-guide: Nhận thông tin chi tiết về các generator cụ thể bao gồm schema và cách sử dụng

Hầu hết các trợ lý AI hỗ trợ MCP đều sử dụng cách tiếp cận cấu hình tương tự. Bạn sẽ cần tạo hoặc cập nhật tệp cấu hình với thông tin chi tiết về MCP server của mình:

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

Trong khi phát triển MCP server của bạn, bạn có thể muốn cấu hình cờ --watch để trợ lý AI luôn thấy các phiên bản mới nhất của tools/resources:

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

Vui lòng tham khảo tài liệu sau để cấu hình MCP với các Trợ lý AI cụ thể:

Bạn có thể mở rộng MCP server bằng cách sửa đổi server.ts để thêm các công cụ hoặc tài nguyên bổ sung cụ thể cho lĩnh vực của plugin của bạn.

Để biết thêm chi tiết về việc viết MCP Servers, hãy tham khảo hướng dẫn ts#mcp-server.

  1. Cập nhật Thông tin Package: Chỉnh sửa package.json của plugin với tên, phiên bản, mô tả và thông tin repository phù hợp.

  2. Build Package:

    Terminal window
    pnpm nx package your-plugin
  3. Kiểm tra Cục bộ: Bạn có thể kiểm tra plugin của mình cục bộ bằng cách cài đặt nó trong một workspace khác:

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

Khi plugin của bạn đã sẵn sàng:

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

Sau khi xuất bản, người khác có thể cài đặt và sử dụng plugin của bạn:

Terminal window
pnpm add -w your-plugin-name

Sau đó sử dụng các generator của bạn:

Terminal window
pnpm nx g your-plugin-name:your-generator-name
Bạn cũng có thể thực hiện chạy thử để xem những tệp nào sẽ bị thay đổi
Terminal window
pnpm nx g your-plugin-name:your-generator-name --dry-run

Cấu hình các Trợ lý AI với Plugin đã Xuất bản của bạn

Phần tiêu đề “Cấu hình các Trợ lý AI với Plugin đã Xuất bản của bạn”

MCP server của plugin đã xuất bản của bạn có thể được cấu hình như sau:

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