Pular para o conteúdo

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 desenvolver geradores personalizados que podem ser usados diretamente por assistentes de IA para geração automatizada de código e scaffolding de projetos.

Você pode gerar um plugin Nx em TypeScript de duas formas:

  1. Instale o Nx Console VSCode Plugin se ainda não o fez
  2. Abra o console Nx no VSCode
  3. Clique em Generate (UI) na seção "Common Nx Commands"
  4. Procure por @aws/nx-plugin - ts#nx-plugin
  5. Preencha os parâmetros obrigatórios
    • Clique em Generate
    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.

    O gerador criará a seguinte estrutura de projeto:

    • Directoryyour-plugin/
      • Directorysrc/
        • index.ts Ponto de entrada vazio do seu plugin
        • Directorymcp-server/
          • index.ts Ponto de entrada do servidor MCP
          • server.ts Configuração principal do servidor MCP
          • Directorytools/
            • create-workspace-command.ts Ferramenta para orientação de criação de workspaces
            • 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 vazia)
      • 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 do projeto Nx com targets de build e package

    Após criar seu projeto de plugin, você pode adicionar geradores usando o ts#nx-generator:

    1. Instale o Nx Console VSCode Plugin se ainda não o fez
    2. Abra o console Nx no VSCode
    3. Clique em Generate (UI) na seção "Common Nx Commands"
    4. Procure por @aws/nx-plugin - ts#nx-generator
    5. Preencha os parâmetros obrigatórios
      • pluginProject: your-plugin
    6. 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 Servidor MCP.

    O plugin gerado inclui vários targets importantes:

    Compila seu código TypeScript e prepara o plugin para uso:

    Terminal window
    pnpm nx build your-plugin

    Cria um pacote distribuível pronto para publicação no NPM:

    Terminal window
    pnpm nx package your-plugin

    O target package inclui todos os assets necessários:

    • Arquivos JavaScript compilados
    • Arquivos de declaração TypeScript
    • Arquivos de configuração de geradores e executores
    • Documentação e arquivos de licença

    O plugin configura um servidor MCP usando o gerador ts#mcp-server.

    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 plugin
    • create-workspace-command: Aprenda a criar novos workspaces que podem usar seu plugin
    • list-generators: Liste todos os geradores disponíveis em seu plugin
    • generator-guide: Obtenha informações detalhadas sobre geradores específicos incluindo schemas e uso

    A maioria dos assistentes de IA que suportam MCP utiliza 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/index.ts"]
    }
    }
    }

    Durante o desenvolvimento do seu servidor MCP, você pode configurar a flag --watch para que o assistente de IA sempre visualize as versões mais recentes de ferramentas/recursos:

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

    Consulte a documentação abaixo para configurar o MCP com assistentes de IA específicos:

    Você pode estender o servidor MCP modificando o server.ts para adicionar ferramentas ou recursos específicos do domínio do seu plugin.

    Para mais detalhes sobre como escrever Servidores MCP, consulte o guia ts#mcp-server.

    1. Atualize as Informações do Pacote: Edite o package.json do seu plugin com nome, versão, descrição e informações de repositório corretas.

    2. Construa o Pacote:

      Terminal window
      pnpm nx package your-plugin
    3. 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

    Quando seu plugin estiver pronto:

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

    Após a publicação, outros podem instalar e usar seu plugin:

    Terminal window
    pnpm add -w your-plugin-name

    Então use seus geradores:

    1. Instale o Nx Console VSCode Plugin se ainda não o fez
    2. Abra o console Nx no VSCode
    3. Clique em Generate (UI) na seção "Common Nx Commands"
    4. Procure por your-plugin-name - your-generator-name
    5. Preencha os parâmetros obrigatórios
      • Clique em Generate

      Configurando Assistentes de IA com Seu Plugin Publicado

      Seção intitulada “Configurando 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"]
      }
      }
      }