Plugin TypeScript do Nx
Gere um Plugin Nx completo em TypeScript com um servidor integrado do Model Context Protocol (MCP). Este gerador cria uma base para construir geradores personalizados que podem ser usados de forma transparente por assistentes de IA para geração automatizada de código e scaffolding de projetos.
Utilização
Seção intitulada “Utilização”Gerar um Plugin Nx
Seção intitulada “Gerar um Plugin Nx”Você pode gerar um Plugin Nx em TypeScript de duas formas:
- 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
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| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
| name Obrigatório | 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. |
Saída do Gerador
Seção intitulada “Saída do Gerador”O gerador criará a seguinte estrutura de projeto:
Directoryyour-plugin/
Directorysrc/
- index.ts Ponto de entrada vazio para seu plugin
Directorymcp-server/
- index.ts Exporta seu servidor
- server.ts Configuração principal do servidor MCP
- stdio.ts Ponto de entrada para servidor MCP com transporte STDIO
- http.ts Ponto de entrada para servidor MCP com transporte HTTP streamable
Directorytools/
- create-workspace-command.ts Ferramenta para orientação de criação de workspace
- general-guidance.ts Ferramenta para orientações gerais sobre Nx e plugins
- list-generators.ts Ferramenta para listar geradores disponíveis
- generator-guide.ts Ferramenta para informações detalhadas sobre geradores
- utils.ts Funções utilitárias para o servidor MCP
- generators.json Configuração de geradores Nx (inicialmente vazio)
- package.json Configuração do pacote do plugin com binário do servidor MCP
- tsconfig.json Configuração TypeScript (CommonJS para compatibilidade com Nx)
- project.json Configuração de projeto Nx com targets de build e package
Trabalhando com Seu Plugin Nx
Seção intitulada “Trabalhando com Seu Plugin Nx”Adicionando Geradores
Seção intitulada “Adicionando Geradores”Após criar seu projeto de plugin, você pode adicionar geradores usando o ts#nx-generator:
- 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
- pluginProject: your-plugin
- Clique em
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-pluginVocê também pode realizar uma execução simulada para ver quais arquivos seriam alterados
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-runIsso 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 Servidor MCP.
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 assets necessários:
- Arquivos JavaScript compilados
- Arquivos de declaração TypeScript
- Arquivos de configuração de geradores e executors
- Documentação e arquivos de licença
Integração com Servidor MCP
Seção intitulada “Integração com Servidor MCP”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 melhores práticas para trabalhar com Nx e seu plugincreate-workspace-command: Aprenda a 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 Assistantes de IA
Seção intitulada “Configurando com Assistantes de IA”Arquivos de Configuração
Seção intitulada “Arquivos de Configuração”A maioria dos assistentes de IA que suportam MCP usam uma abordagem de configuração semelhante. 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"] } }}Recarregamento a Quente
Seção intitulada “Recarregamento a Quente”Durante o desenvolvimento do seu servidor MCP, você pode querer configurar a flag --watch para que o assistente de IA sempre veja as versões mais recentes de 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”Consulte a documentação a seguir para configurar o MCP com assistentes de IA específicos:
Personalizando o Servidor MCP
Seção intitulada “Personalizando o Servidor MCP”Você pode estender o servidor MCP modificando server.ts para adicionar ferramentas ou recursos específicos ao domínio do seu plugin.
Para mais detalhes sobre como escrever Servidores MCP, 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 adequadas. -
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 /caminho/para/seu/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 install your-plugin-nameEm seguida use seus geradores:
- 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
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-runConfigure Assistantes de IA com Seu Plugin Publicado
Seção intitulada “Configure Assistantes 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"] } }}