TypeScript Nx Plugin
Genera un Nx Plugin completo en TypeScript con un servidor Model Context Protocol (MCP) integrado. Este generador crea una base para construir generadores personalizados que pueden ser utilizados sin problemas por asistentes de IA para la generación automatizada de código y el andamiaje de proyectos.
Generar un Nx Plugin
Sección titulada «Generar un Nx Plugin»Puedes generar un TypeScript Nx Plugin de dos maneras:
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-run- 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
Opciones
Sección titulada «Opciones»| Parámetro | Tipo | Predeterminado | Descripción |
|---|---|---|---|
| name Requerido | string | - | Nombre del proyecto TypeScript |
| directory | string | packages | Directorio padre donde se coloca la biblioteca. |
| subDirectory | string | - | El subdirectorio donde se coloca la biblioteca. Por defecto es el nombre de la biblioteca. |
| preferInstallDependencies | boolean | true | Si se prefiere instalar las dependencias después de que se ejecute el generador. Establecer en false para diferir la instalación al ejecutar múltiples generadores en lote (la instalación aún se ejecuta si es necesaria para que los generadores subsecuentes puedan calcular el grafo de proyectos de Nx); instalar una vez al final. |
Salida del Generador
Sección titulada «Salida del Generador»El generador creará la siguiente estructura de proyecto:
Directorioyour-plugin/
Directoriosrc/
- index.ts Empty entry point for your plugin
Directoriomcp-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
Directoriotools/
- 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
Trabajar con tu Nx Plugin
Sección titulada «Trabajar con tu Nx Plugin»Agregar Generadores
Sección titulada «Agregar Generadores»Una vez que tengas tu proyecto de plugin, puedes agregar generadores usando el generador 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-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 --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 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
- project: your-plugin
- Haga clic en
Generate
Esto agregará un nuevo generador a tu plugin.
Asegúrate de escribir un README.md detallado para tu generador, ya que esto es utilizado por la herramienta generator-guide del servidor MCP.
Targets del Proyecto
Sección titulada «Targets del Proyecto»El plugin generado incluye varios targets importantes:
Target Build
Sección titulada «Target Build»Compila tu código TypeScript y prepara el plugin para su uso:
pnpm nx build your-pluginyarn nx build your-pluginnpx nx build your-pluginbunx nx build your-pluginTarget Package
Sección titulada «Target Package»Crea un paquete distribuible listo para publicar en NPM:
pnpm nx package your-pluginyarn nx package your-pluginnpx nx package your-pluginbunx nx package your-pluginEl target package incluye todos los activos necesarios:
- Archivos JavaScript compilados
- Archivos de declaración TypeScript
- Archivos de configuración de generadores y ejecutores
- Archivos de documentación y licencia
Integración del Servidor MCP
Sección titulada «Integración del Servidor MCP»El plugin configura un servidor MCP usando el generador ts#mcp-server.
Herramientas
Sección titulada «Herramientas»El plugin incluye un servidor MCP completo que proporciona a los asistentes de IA las siguientes herramientas:
general-guidance: Obtén mejores prácticas para trabajar con Nx y tu plugincreate-workspace-command: Aprende cómo crear nuevos workspaces que puedan usar tu pluginlist-generators: Lista todos los generadores disponibles en tu plugingenerator-guide: Obtén información detallada sobre generadores específicos, incluyendo esquemas y uso
Configurar con Asistentes de IA
Sección titulada «Configurar con Asistentes de IA»Archivos de Configuración
Sección titulada «Archivos de Configuración»La mayoría de los asistentes de IA que soportan MCP utilizan un enfoque de configuración similar. Necesitará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»Mientras desarrollas tu servidor MCP, es posible que desees configurar la bandera --watch para que el asistente de IA siempre vea las últimas versiones de 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»Por favor, consulta la siguiente documentación para configurar MCP con Asistentes de IA específicos:
Personalizar el Servidor MCP
Sección titulada «Personalizar el Servidor MCP»Puedes extender el servidor MCP modificando server.ts para agregar herramientas o recursos adicionales específicos del dominio de tu plugin.
Para más detalles sobre cómo escribir servidores MCP, consulta la guía de ts#mcp-server.
Publicar tu Plugin
Sección titulada «Publicar tu Plugin»Preparar para la Publicación
Sección titulada «Preparar para la Publicación»-
Actualizar Información del Paquete: Edita el
package.jsonde tu plugin con el nombre, versión, descripción e información del repositorio adecuados. -
Construir el Paquete:
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 -
Probar Localmente: Puedes probar tu plugin localmente instalándolo en otro workspace:
Ventana de terminal npm install /path/to/your/workspace/dist/your-plugin/package
Publicar en NPM
Sección titulada «Publicar en NPM»Una vez que tu plugin esté listo:
cd dist/your-plugin/packagenpm publishUsar Plugins Publicados
Sección titulada «Usar Plugins Publicados»Después de publicar, otros pueden instalar y usar tu plugin:
pnpm add -w your-plugin-nameyarn add your-plugin-namenpm install --legacy-peer-deps your-plugin-namebun add your-plugin-nameLuego usar tus generadores:
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-run- 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
Configurar Asistentes de IA con tu Plugin Publicado
Sección titulada «Configurar Asistentes de IA con tu Plugin Publicado»El servidor MCP de tu plugin publicado se puede configurar de la siguiente manera:
{ "mcpServers": { "aws-nx-mcp": { "command": "npx", "args": ["-y", "-p", "your-plugin-name", "your-plugin-name-mcp-server"] } }}