Saltearse al contenido

Complemento de TypeScript para Nx

Genera un complemento completo de TypeScript Nx Plugin con un servidor integrado del Model Context Protocol (MCP). Este generador crea una base para construir generadores personalizados que pueden ser utilizados de forma transparente por asistentes de IA para generación automatizada de código y scaffolding de proyectos.

Puedes generar un complemento de Nx en TypeScript de dos formas:

  1. Instale el Nx Console VSCode Plugin si aún no lo ha hecho
  2. Abra la consola Nx en VSCode
  3. Haga clic en Generate (UI) en la sección "Common Nx Commands"
  4. Busque @aws/nx-plugin - ts#nx-plugin
  5. Complete los parámetros requeridos
    • Haga clic en Generate
    Parámetro Tipo Predeterminado Descripción
    name Requerido 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.

    El generador creará la siguiente estructura de proyecto:

    • Directoryyour-plugin/
      • Directorysrc/
        • index.ts Punto de entrada vacío para tu complemento
        • Directorymcp-server/
          • index.ts Exporta tu servidor
          • server.ts Configuración principal del servidor MCP
          • stdio.ts Punto de entrada para el servidor MCP con transporte STDIO
          • http.ts Punto de entrada para el servidor MCP con transporte HTTP streamable
          • Directorytools/
            • create-workspace-command.ts Herramienta para guía de creación de workspaces
            • general-guidance.ts Herramienta para orientación general sobre Nx y complementos
            • list-generators.ts Herramienta para listar generadores disponibles
            • generator-guide.ts Herramienta para información detallada de generadores
          • utils.ts Funciones utilitarias para el servidor MCP
      • generators.json Configuración de generadores Nx (inicialmente vacía)
      • package.json Configuración del paquete del complemento con binario del servidor MCP
      • tsconfig.json Configuración de TypeScript (CommonJS para compatibilidad con Nx)
      • project.json Configuración de proyecto Nx con objetivos de build y package

    Una vez tengas tu proyecto de complemento, puedes añadir generadores usando el generador ts#nx-generator:

    1. Instale el Nx Console VSCode Plugin si aún no lo ha hecho
    2. Abra la consola Nx en VSCode
    3. Haga clic en Generate (UI) en la sección "Common Nx Commands"
    4. Busque @aws/nx-plugin - ts#nx-generator
    5. Complete los parámetros requeridos
      • pluginProject: your-plugin
    6. Haga clic en Generate

    Esto añadirá un nuevo generador a tu complemento.

    Asegúrate de escribir un README.md detallado para tu generador, ya que este es utilizado por la herramienta generator-guide del servidor MCP.

    El complemento generado incluye varios objetivos importantes:

    Compila tu código TypeScript y prepara el complemento para su uso:

    Terminal window
    pnpm nx build your-plugin

    Crea un paquete distribuible listo para publicación en NPM:

    Terminal window
    pnpm nx package your-plugin

    El objetivo de empaquetado incluye todos los recursos necesarios:

    • Archivos JavaScript compilados
    • Archivos de declaración de TypeScript
    • Archivos de configuración de generadores y ejecutores
    • Documentación y archivos de licencia

    El complemento configura un servidor MCP usando el generador ts#mcp-server.

    El complemento incluye un servidor MCP completo que provee a los asistentes de IA las siguientes herramientas:

    • general-guidance: Obtén mejores prácticas para trabajar con Nx y tu complemento
    • create-workspace-command: Aprende a crear nuevos workspaces que puedan usar tu complemento
    • list-generators: Lista todos los generadores disponibles en tu complemento
    • generator-guide: Obtén información detallada sobre generadores específicos incluyendo esquemas y uso

    La mayoría de los asistentes de IA que admiten MCP utilizan un enfoque de configuración similar. Deberás crear o actualizar un archivo de configuración con los detalles de tu servidor MCP:

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

    Durante el desarrollo de tu servidor MCP, puedes configurar el flag --watch para que el asistente de IA siempre vea las versiones más recientes de las herramientas/recursos:

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

    Consulta la siguiente documentación para configurar MCP con asistentes de IA específicos:

    Puedes extender el servidor MCP modificando server.ts para añadir herramientas adicionales o recursos específicos al dominio de tu complemento.

    Para más detalles sobre cómo escribir servidores MCP, consulta la guía de ts#mcp-server.

    1. Actualiza la información del paquete: Edita el package.json de tu complemento con nombre, versión, descripción e información del repositorio adecuados.

    2. Empaqueta el complemento:

      Terminal window
      pnpm nx package your-plugin
    3. Prueba localmente: Puedes probar tu complemento localmente instalándolo en otro workspace:

      Ventana de terminal
      npm install /path/to/your/workspace/dist/your-plugin/package

    Cuando tu complemento esté listo:

    Ventana de terminal
    cd dist/your-plugin/package
    npm publish

    Después de publicar, otros pueden instalar y usar tu complemento:

    Terminal window
    pnpm add -w your-plugin-name

    Luego usa tus generadores:

    1. Instale el Nx Console VSCode Plugin si aún no lo ha hecho
    2. Abra la consola Nx en VSCode
    3. Haga clic en Generate (UI) en la sección "Common Nx Commands"
    4. Busque your-plugin-name - your-generator-name
    5. Complete los parámetros requeridos
      • Haga clic en Generate

      Configurar asistentes de IA con tu complemento publicado

      Sección titulada «Configurar asistentes de IA con tu complemento publicado»

      El servidor MCP de tu complemento publicado puede configurarse así:

      {
      "mcpServers": {
      "aws-nx-mcp": {
      "command": "npx",
      "args": ["-y", "-p", "your-plugin-name", "your-plugin-name-mcp-server"]
      }
      }
      }