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.
Cách sử dụng
Phần tiêu đề “Cách sử dụng”Tạo một Nx Plugin
Phần tiêu đề “Tạo một Nx Plugin”Bạn có thể tạo một TypeScript Nx Plugin theo hai cách:
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-pluginBạn cũng có thể thực hiện chạy thử để xem những tệp nào sẽ bị thay đổi
pnpm nx g @aws/nx-plugin:ts#nx-plugin --dry-runyarn nx g @aws/nx-plugin:ts#nx-plugin --dry-runnpx nx g @aws/nx-plugin:ts#nx-plugin --dry-runbunx nx g @aws/nx-plugin:ts#nx-plugin --dry-run- Cài đặt Nx Console VSCode Plugin nếu bạn chưa cài đặt
- Mở Nx Console trong VSCode
- Nhấp
Generate (UI)trong phần "Common Nx Commands" - Tìm kiếm
@aws/nx-plugin - ts#nx-plugin - Điền các tham số bắt buộc
- Nhấp
Generate
Tùy chọn
Phần tiêu đề “Tùy chọn”| Tham số | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
| name Bắt buộc | string | - | Tên dự án TypeScript |
| directory | string | packages | Thư 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 | boolean | true | Có 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. |
Kết quả của Generator
Phần tiêu đề “Kết quả của Generator”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
Làm việc với Nx Plugin của bạn
Phần tiêu đề “Làm việc với Nx Plugin của bạn”Thêm Generators
Phần tiêu đề “Thêm Generators”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:
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-pluginBạn cũng có thể thực hiện chạy thử để xem những tệp nào sẽ bị thay đổi
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- Cài đặt Nx Console VSCode Plugin nếu bạn chưa cài đặt
- Mở Nx Console trong VSCode
- Nhấp
Generate (UI)trong phần "Common Nx Commands" - Tìm kiếm
@aws/nx-plugin - ts#nx-generator - Điền các tham số bắt buộc
- project: your-plugin
- Nhấp
Generate
Đ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.
Các Target của Dự án
Phần tiêu đề “Các Target của Dự án”Plugin được tạo bao gồm một số target quan trọng:
Build Target
Phần tiêu đề “Build Target”Biên dịch mã TypeScript của bạn và chuẩn bị plugin để sử dụng:
pnpm nx build your-pluginyarn nx build your-pluginnpx nx build your-pluginbunx nx build your-pluginPackage Target
Phần tiêu đề “Package Target”Tạo một package có thể phân phối sẵn sàng để xuất bản lên NPM:
pnpm nx package your-pluginyarn nx package your-pluginnpx nx package your-pluginbunx nx package your-pluginPackage 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
Tích hợp MCP Server
Phần tiêu đề “Tích hợp MCP Server”Plugin cấu hình một MCP server bằng cách sử dụng generator ts#mcp-server.
Công cụ
Phần tiêu đề “Công cụ”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ạncreate-workspace-command: Tìm hiểu cách tạo workspace mới có thể sử dụng plugin của bạnlist-generators: Liệt kê tất cả các generator có sẵn trong plugin của bạngenerator-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
Cấu hình với các Trợ lý AI
Phần tiêu đề “Cấu hình với các Trợ lý AI”Tệp Cấu hình
Phần tiêu đề “Tệp Cấu hình”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"] } }}Hot Reload
Phần tiêu đề “Hot Reload”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"] } }}Cấu hình Dành riêng cho Trợ lý
Phần tiêu đề “Cấu hình Dành riêng cho Trợ lý”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ể:
Tùy chỉnh MCP Server
Phần tiêu đề “Tùy chỉnh MCP Server”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.
Xuất bản Plugin của bạn
Phần tiêu đề “Xuất bản Plugin của bạn”Chuẩn bị để Xuất bản
Phần tiêu đề “Chuẩn bị để Xuất bản”-
Cập nhật Thông tin Package: Chỉnh sửa
package.jsoncủa plugin với tên, phiên bản, mô tả và thông tin repository phù hợp. -
Build Package:
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 -
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
Xuất bản lên NPM
Phần tiêu đề “Xuất bản lên NPM”Khi plugin của bạn đã sẵn sàng:
cd dist/your-plugin/packagenpm publishSử dụng Plugins đã Xuất bản
Phần tiêu đề “Sử dụng Plugins đã Xuất bản”Sau khi xuất bản, người khác có thể cài đặt và sử dụng plugin của bạn:
pnpm add -w your-plugin-nameyarn add your-plugin-namenpm install --legacy-peer-deps your-plugin-namebun add your-plugin-nameSau đó sử dụng các generator của bạn:
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-nameBạn cũng có thể thực hiện chạy thử để xem những tệp nào sẽ bị thay đổi
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- Cài đặt Nx Console VSCode Plugin nếu bạn chưa cài đặt
- Mở Nx Console trong VSCode
- Nhấp
Generate (UI)trong phần "Common Nx Commands" - Tìm kiếm
your-plugin-name - your-generator-name - Điền các tham số bắt buộc
- Nhấp
Generate
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"] } }}