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-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 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
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-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 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-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 publicación en NPM:
pnpm nx package your-plugin
yarn nx package your-plugin
npx nx package your-plugin
bunx 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
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.json
de 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 publish
Uso 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-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 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"] } }}