Complemento de TypeScript para Nx
Genera un plugin completo de TypeScript para Nx con un servidor integrado del Model Context Protocol (MCP). Este generador crea una base para construir generadores personalizados que pueden ser usados directamente por asistentes de IA para generación automática de código y scaffolding de proyectos.
Generar un plugin de Nx
Sección titulada «Generar un plugin de Nx»Puedes generar un plugin 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-plugin
yarn nx g @aws/nx-plugin:ts#nx-plugin
npx nx g @aws/nx-plugin:ts#nx-plugin
bunx nx g @aws/nx-plugin:ts#nx-plugin
Tambié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-run
yarn nx g @aws/nx-plugin:ts#nx-plugin --dry-run
npx nx g @aws/nx-plugin:ts#nx-plugin --dry-run
bunx nx g @aws/nx-plugin:ts#nx-plugin --dry-run
Opciones
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:
Directoryyour-plugin/
Directorysrc/
- index.ts Punto de entrada vacío para tu plugin
Directorymcp-server/
- index.ts Punto de entrada del servidor MCP
- server.ts Configuración principal del servidor MCP
Directorytools/
- create-workspace-command.ts Herramienta para guiar la creación de workspaces
- general-guidance.ts Herramienta con mejores prácticas para Nx y el plugin
- list-generators.ts Herramienta para listar generadores disponibles
- generator-guide.ts Herramienta con información detallada de generadores
- utils.ts Funciones utilitarias para el servidor MCP
- generators.json Configuración de generadores de Nx (inicialmente vacío)
- package.json Configuración del paquete del plugin con binario del servidor MCP
- tsconfig.json Configuración de TypeScript (CommonJS para compatibilidad con Nx)
- project.json Configuración de proyecto Nx con targets de build y package
Trabajar con tu plugin de Nx
Sección titulada «Trabajar con tu plugin de Nx»Añadir generadores
Sección titulada «Añadir generadores»Una vez creado tu proyecto de plugin, 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-plugin
yarn nx g @aws/nx-plugin:ts#nx-generator --pluginProject=your-plugin
npx nx g @aws/nx-plugin:ts#nx-generator --pluginProject=your-plugin
bunx nx g @aws/nx-plugin:ts#nx-generator --pluginProject=your-plugin
Tambié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-run
yarn nx g @aws/nx-plugin:ts#nx-generator --pluginProject=your-plugin --dry-run
npx nx g @aws/nx-plugin:ts#nx-generator --pluginProject=your-plugin --dry-run
bunx nx g @aws/nx-plugin:ts#nx-generator --pluginProject=your-plugin --dry-run
Esto añadirá un nuevo generador a tu plugin.
Asegúrate de escribir un README.md
detallado para tu generador, ya que es usado por la herramienta generator-guide
del Servidor MCP.
Targets del proyecto
Sección titulada «Targets del proyecto»El plugin generado incluye varios targets importantes:
Objetivo de compilación
Sección titulada «Objetivo de compilación»Compila tu código TypeScript y prepara el plugin para su uso:
pnpm nx build your-plugin
yarn nx build your-plugin
npx nx build your-plugin
bunx nx build your-plugin
Objetivo de empaquetado
Sección titulada «Objetivo de empaquetado»Crea un paquete distribuible listo para publicar en NPM:
pnpm nx package your-plugin
yarn nx package your-plugin
npx nx package your-plugin
bunx nx package your-plugin
El target de empaquetado incluye todos los assets necesarios:
- Archivos JavaScript compilados
- Archivos de declaración 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 plugin configura un servidor MCP usando el generador ts#mcp-server
.
Herramientas
Sección titulada «Herramientas»El plugin 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 plugincreate-workspace-command
: Aprende a 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
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/index.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/index.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:
Personalizar el servidor MCP
Sección titulada «Personalizar el servidor MCP»Puedes extender el servidor MCP modificando server.ts
para añadir herramientas adicionales o recursos específicos al 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»Preparación para publicación
Sección titulada «Preparación para publicación»-
Actualiza la información del paquete: Edita el
package.json
de tu plugin con nombre, versión, descripción e información del repositorio correctos. -
Empaqueta el plugin:
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 plugin localmente instalándolo en otro workspace:
Ventana de terminal npm install /ruta/a/tu/workspace/dist/your-plugin/package
Publicar en NPM
Sección titulada «Publicar en NPM»Cuando tu plugin esté listo:
cd dist/your-plugin/packagenpm publish
Usar plugins publicados
Sección titulada «Usar plugins publicados»Después de publicar, otros pueden instalar y usar tu plugin:
pnpm add -w your-plugin-name
yarn add your-plugin-name
npm install --legacy-peer-deps your-plugin-name
bun install your-plugin-name
Luego 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-name
yarn nx g your-plugin-name:your-generator-name
npx nx g your-plugin-name:your-generator-name
bunx nx g your-plugin-name:your-generator-name
Tambié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-run
yarn nx g your-plugin-name:your-generator-name --dry-run
npx nx g your-plugin-name:your-generator-name --dry-run
bunx nx g your-plugin-name:your-generator-name --dry-run
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 puede configurarse así:
{ "mcpServers": { "aws-nx-mcp": { "command": "npx", "args": ["-y", "-p", "your-plugin-name", "your-plugin-name-mcp-server"] } }}