TypeScript Nx Plugin
Gere um Nx Plugin TypeScript completo com um servidor Model Context Protocol (MCP) integrado. Este gerador cria uma base para construir geradores personalizados que podem ser usados perfeitamente por assistentes de IA para geração automatizada de código e scaffolding de projetos.
Gerar um Nx Plugin
Seção intitulada “Gerar um Nx Plugin”Você pode gerar um TypeScript Nx Plugin de duas maneiras:
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-pluginVocê também pode realizar uma execução simulada para ver quais arquivos seriam alterados
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- Instale o Nx Console VSCode Plugin se ainda não o fez
- Abra o console Nx no VSCode
- Clique em
Generate (UI)na seção "Common Nx Commands" - Procure por
@aws/nx-plugin - ts#nx-plugin - Preencha os parâmetros obrigatórios
- Clique em
Generate
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
| name Obrigatório | string | - | Nome do projeto TypeScript |
| directory | string | packages | Diretório pai onde a biblioteca é colocada. |
| subDirectory | string | - | O subdiretório onde a biblioteca é colocada. Por padrão, este é o nome da biblioteca. |
| preferInstallDependencies | boolean | true | Se deve preferir instalar dependências após a execução do gerador. Defina como false para adiar a instalação ao executar múltiplos geradores em lote (uma instalação ainda é executada se necessário para que geradores subsequentes possam calcular o grafo de projetos do Nx); instale uma vez no final. |
Saída do Gerador
Seção intitulada “Saída do Gerador”O gerador criará a seguinte estrutura de projeto:
Directoryyour-plugin/
Directorysrc/
- index.ts Empty entry point for your plugin
Directorymcp-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
Directorytools/
- 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
Trabalhando com Seu Nx Plugin
Seção intitulada “Trabalhando com Seu Nx Plugin”Adicionando Geradores
Seção intitulada “Adicionando Geradores”Depois de ter seu projeto de plugin, você pode adicionar geradores usando o gerador 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-pluginVocê também pode realizar uma execução simulada para ver quais arquivos seriam alterados
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- Instale o Nx Console VSCode Plugin se ainda não o fez
- Abra o console Nx no VSCode
- Clique em
Generate (UI)na seção "Common Nx Commands" - Procure por
@aws/nx-plugin - ts#nx-generator - Preencha os parâmetros obrigatórios
- project: your-plugin
- Clique em
Generate
Isso adicionará um novo gerador ao seu plugin.
Certifique-se de escrever um README.md detalhado para seu gerador, pois ele é usado pela ferramenta generator-guide do MCP Server.
Targets do Projeto
Seção intitulada “Targets do Projeto”O plugin gerado inclui vários targets importantes:
Target Build
Seção intitulada “Target Build”Compila seu código TypeScript e prepara o plugin para uso:
pnpm nx build your-pluginyarn nx build your-pluginnpx nx build your-pluginbunx nx build your-pluginTarget Package
Seção intitulada “Target Package”Cria um pacote distribuível pronto para publicação no NPM:
pnpm nx package your-pluginyarn nx package your-pluginnpx nx package your-pluginbunx nx package your-pluginO target package inclui todos os recursos necessários:
- Arquivos JavaScript compilados
- Arquivos de declaração TypeScript
- Arquivos de configuração de geradores e executores
- Arquivos de documentação e licença
Integração com MCP Server
Seção intitulada “Integração com MCP Server”O plugin configura um servidor MCP usando o gerador ts#mcp-server.
Ferramentas
Seção intitulada “Ferramentas”O plugin inclui um servidor MCP completo que fornece aos assistentes de IA as seguintes ferramentas:
general-guidance: Obtenha as melhores práticas para trabalhar com Nx e seu plugincreate-workspace-command: Aprenda como criar novos workspaces que podem usar seu pluginlist-generators: Liste todos os geradores disponíveis em seu plugingenerator-guide: Obtenha informações detalhadas sobre geradores específicos, incluindo schemas e uso
Configurando com Assistentes de IA
Seção intitulada “Configurando com Assistentes de IA”Arquivos de Configuração
Seção intitulada “Arquivos de Configuração”A maioria dos assistentes de IA que suportam MCP usa uma abordagem de configuração similar. Você precisará criar ou atualizar um arquivo de configuração com os detalhes do seu servidor MCP:
{ "mcpServers": { "your-mcp-server": { "command": "npx", "args": ["tsx", "/path/to/your-mcp-server/stdio.ts"] } }}Hot Reload
Seção intitulada “Hot Reload”Ao desenvolver seu servidor MCP, você pode desejar configurar a flag --watch para que o assistente de IA sempre veja as versões mais recentes das ferramentas/recursos:
{ "mcpServers": { "your-mcp-server": { "command": "npx", "args": ["tsx", "--watch", "/path/to/your-mcp-server/stdio.ts"] } }}Configuração Específica do Assistente
Seção intitulada “Configuração Específica do Assistente”Por favor, consulte a seguinte documentação para configurar MCP com Assistentes de IA específicos:
Personalizando o MCP Server
Seção intitulada “Personalizando o MCP Server”Você pode estender o servidor MCP modificando server.ts para adicionar ferramentas ou recursos adicionais específicos ao domínio do seu plugin.
Para mais detalhes sobre como escrever MCP Servers, consulte o guia ts#mcp-server.
Publicando Seu Plugin
Seção intitulada “Publicando Seu Plugin”Preparando para Publicação
Seção intitulada “Preparando para Publicação”-
Atualize as Informações do Pacote: Edite o
package.jsondo seu plugin com nome, versão, descrição e informações de repositório adequados. -
Construa o Pacote:
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 -
Teste Localmente: Você pode testar seu plugin localmente instalando-o em outro workspace:
Terminal window npm install /path/to/your/workspace/dist/your-plugin/package
Publicando no NPM
Seção intitulada “Publicando no NPM”Quando seu plugin estiver pronto:
cd dist/your-plugin/packagenpm publishUsando Plugins Publicados
Seção intitulada “Usando Plugins Publicados”Após a publicação, outros podem instalar e usar seu plugin:
pnpm add -w your-plugin-nameyarn add your-plugin-namenpm install --legacy-peer-deps your-plugin-namebun add your-plugin-nameEm seguida, use seus geradores:
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-nameVocê também pode realizar uma execução simulada para ver quais arquivos seriam alterados
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- Instale o Nx Console VSCode Plugin se ainda não o fez
- Abra o console Nx no VSCode
- Clique em
Generate (UI)na seção "Common Nx Commands" - Procure por
your-plugin-name - your-generator-name - Preencha os parâmetros obrigatórios
- Clique em
Generate
Configure Assistentes de IA com seu Plugin Publicado
Seção intitulada “Configure Assistentes de IA com seu Plugin Publicado”O servidor MCP do seu plugin publicado pode ser configurado da seguinte forma:
{ "mcpServers": { "aws-nx-mcp": { "command": "npx", "args": ["-y", "-p", "your-plugin-name", "your-plugin-name-mcp-server"] } }}