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.
Generar un complemento de Nx
Sección titulada «Generar un complemento de Nx»Puedes generar un complemento de Nx en TypeScript de dos formas:
- Instale el Nx Console VSCode Plugin si aún no lo ha hecho
- Abra la consola Nx en VSCode
- Haga clic en
Generate (UI)en la sección "Common Nx Commands" - Busque
@aws/nx-plugin - ts#nx-plugin - Complete los parámetros requeridos
- Haga clic en
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-pluginTambién puede realizar una ejecución en seco para ver qué archivos se cambiarían
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-runOpciones
Sección titulada «Opciones»| 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. |
Resultado del generador
Sección titulada «Resultado del generador»El generador creará la siguiente estructura de proyecto:
Directorioyour-plugin/
Directoriosrc/
- index.ts Punto de entrada vacío para tu complemento
Directoriomcp-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
Directoriotools/
- 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
Trabajando con tu complemento Nx
Sección titulada «Trabajando con tu complemento Nx»Añadir generadores
Sección titulada «Añadir generadores»Una vez tengas tu proyecto de complemento, puedes añadir generadores usando el generador ts#nx-generator:
- Instale el Nx Console VSCode Plugin si aún no lo ha hecho
- Abra la consola Nx en VSCode
- Haga clic en
Generate (UI)en la sección "Common Nx Commands" - Busque
@aws/nx-plugin - ts#nx-generator - Complete los parámetros requeridos
- pluginProject: your-plugin
- Haga clic en
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-pluginTambién puede realizar una ejecución en seco para ver qué archivos se cambiarían
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-runEsto 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.
Objetivos del proyecto
Sección titulada «Objetivos del proyecto»El complemento generado incluye varios objetivos importantes:
Objetivo de compilación
Sección titulada «Objetivo de compilación»Compila tu código TypeScript y prepara el complemento para su uso:
pnpm nx build your-pluginyarn nx build your-pluginnpx nx build your-pluginbunx nx build your-pluginObjetivo de empaquetado
Sección titulada «Objetivo de empaquetado»Crea un paquete distribuible listo para publicación en NPM:
pnpm nx package your-pluginyarn nx package your-pluginnpx nx package your-pluginbunx nx package your-pluginEl 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
Integración del servidor MCP
Sección titulada «Integración del servidor MCP»El complemento configura un servidor MCP usando el generador ts#mcp-server.
Herramientas
Sección titulada «Herramientas»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 complementocreate-workspace-command: Aprende a crear nuevos workspaces que puedan usar tu complementolist-generators: Lista todos los generadores disponibles en tu complementogenerator-guide: Obtén información detallada sobre generadores específicos incluyendo esquemas y uso
Configuración con asistentes de IA
Sección titulada «Configuración con asistentes de IA»Archivos de configuración
Sección titulada «Archivos de configuración»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"] } }}Recarga en caliente
Sección titulada «Recarga en caliente»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"] } }}Configuración específica del asistente
Sección titulada «Configuración específica del asistente»Consulta la siguiente documentación para configurar MCP con asistentes de IA específicos:
Personalización del servidor MCP
Sección titulada «Personalización del servidor MCP»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.
Publicación de tu complemento
Sección titulada «Publicación de tu complemento»Preparación para publicación
Sección titulada «Preparación para publicación»-
Actualiza la información del paquete: Edita el
package.jsonde tu complemento con nombre, versión, descripción e información del repositorio adecuados. -
Empaqueta el complemento:
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 -
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
Publicación en NPM
Sección titulada «Publicación en NPM»Cuando tu complemento esté listo:
cd dist/your-plugin/packagenpm publishUso de complementos publicados
Sección titulada «Uso de complementos publicados»Después de publicar, otros pueden instalar y usar tu complemento:
pnpm add -w your-plugin-nameyarn add your-plugin-namenpm install --legacy-peer-deps your-plugin-namebun install your-plugin-nameLuego usa tus generadores:
- Instale el Nx Console VSCode Plugin si aún no lo ha hecho
- Abra la consola Nx en VSCode
- Haga clic en
Generate (UI)en la sección "Common Nx Commands" - Busque
your-plugin-name - your-generator-name - Complete los parámetros requeridos
- Haga clic en
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-nameTambién puede realizar una ejecución en seco para ver qué archivos se cambiarían
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-runConfigurar 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"] } }}