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à khởi tạo 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 Nx Plugin TypeScript theo hai cách:
- Install the Nx Console VSCode Plugin if you haven't already
- Open the Nx Console in VSCode
- Click
Generate (UI)in the "Common Nx Commands" section - Search for
@aws/nx-plugin - ts#nx-plugin - Fill in the required parameters
- Click
Generate
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-pluginYou can also perform a dry-run to see what files would be changed
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-runTùy chọn
Phần tiêu đề “Tùy chọn”| Parameter | Type | Default | Description |
|---|---|---|---|
| name Required | 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. |
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 như sau:
Thư mụcyour-plugin/
Thư mụcsrc/
- index.ts Điểm vào rỗng cho plugin của bạn
Thư mụcmcp-server/
- index.ts Xuất máy chủ của bạn
- server.ts Cấu hình máy chủ MCP chính
- stdio.ts Điểm vào cho máy chủ MCP của bạn với giao thức STDIO
- http.ts Điểm vào cho máy chủ MCP của bạn với giao thức Streamable HTTP
Thư mụctools/
- create-workspace-command.ts Công cụ hướng dẫn tạo workspace
- general-guidance.ts Công cụ hướng dẫn chung về Nx và plugin
- list-generators.ts Công cụ liệt kê các generator có sẵn
- generator-guide.ts Công cụ cung cấp thông tin chi tiết về generator
- utils.ts Các hàm tiện ích cho máy chủ MCP
- generators.json Cấu hình generator Nx (ban đầu trống)
- package.json Cấu hình package plugin với binary máy chủ MCP
- tsconfig.json Cấu hình TypeScript (CommonJS để tương thích với Nx)
- project.json Cấu hình dự án Nx với các target build và package
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 Generator
Phần tiêu đề “Thêm Generator”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:
- Install the Nx Console VSCode Plugin if you haven't already
- Open the Nx Console in VSCode
- Click
Generate (UI)in the "Common Nx Commands" section - Search for
@aws/nx-plugin - ts#nx-generator - Fill in the required parameters
- pluginProject: your-plugin
- Click
Generate
pnpm nx g @aws/nx-plugin:ts#nx-generator --pluginProject=your-pluginyarn nx g @aws/nx-plugin:ts#nx-generator --pluginProject=your-pluginnpx nx g @aws/nx-plugin:ts#nx-generator --pluginProject=your-pluginbunx nx g @aws/nx-plugin:ts#nx-generator --pluginProject=your-pluginYou can also perform a dry-run to see what files would be changed
pnpm nx g @aws/nx-plugin:ts#nx-generator --pluginProject=your-plugin --dry-runyarn nx g @aws/nx-plugin:ts#nx-generator --pluginProject=your-plugin --dry-runnpx nx g @aws/nx-plugin:ts#nx-generator --pluginProject=your-plugin --dry-runbunx nx g @aws/nx-plugin:ts#nx-generator --pluginProject=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 file 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:
Target Build
Phần tiêu đề “Target Build”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-pluginTarget Package
Phần tiêu đề “Target Package”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-pluginTarget package 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 máy chủ MCP 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 máy chủ MCP 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 tốt 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 Trợ lý AI
Phần tiêu đề “Cấu hình với 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 phương pháp 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 bạn:
{ "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 Theo Trợ Lý Cụ Thể
Phần tiêu đề “Cấu Hình Theo Trợ Lý Cụ Thể”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 máy chủ MCP 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 bạn.
Để biết thêm chi tiết về việc viết MCP Server, 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 Plugin đã Xuất bản
Phần tiêu đề “Sử dụng Plugin đã 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 install your-plugin-nameSau đó sử dụng các generator của bạn:
- Install the Nx Console VSCode Plugin if you haven't already
- Open the Nx Console in VSCode
- Click
Generate (UI)in the "Common Nx Commands" section - Search for
your-plugin-name - your-generator-name - Fill in the required parameters
- Click
Generate
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-nameYou can also perform a dry-run to see what files would be changed
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-runCấu hình Trợ lý AI với Plugin đã Xuất bản của bạn
Phần tiêu đề “Cấu hình Trợ lý AI với Plugin đã Xuất bản của bạn”Máy chủ MCP của plugin đã xuất 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"] } }}