TypeScript Nx Plugin
Générez un Nx Plugin TypeScript complet avec un serveur Model Context Protocol (MCP) intégré. Ce générateur crée une fondation pour construire des générateurs personnalisés qui peuvent être utilisés de manière transparente par les assistants IA pour la génération automatique de code et l’échafaudage de projets.
Utilisation
Section intitulée « Utilisation »Générer un Nx Plugin
Section intitulée « Générer un Nx Plugin »Vous pouvez générer un TypeScript Nx Plugin de deux manières :
Exécuter ce générateur@aws/nx-plugin:ts#nx-plugin
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- Installez le Nx Console VSCode Plugin si ce n'est pas déjà fait
- Ouvrez la console Nx dans VSCode
- Cliquez sur
Generate (UI)dans la section "Common Nx Commands" - Recherchez
@aws/nx-plugin - ts#nx-plugin - Remplissez les paramètres requis
- Cliquez sur
Generate
Composez votre commande4
Requis
nameRequisstringNom du projet TypeScript
directorystringPar défaut:packagesRépertoire parent où la bibliothèque est placée.
subDirectorystringLe sous-répertoire dans lequel la bibliothèque est placée. Par défaut, il s'agit du nom de la bibliothèque.
preferInstallDependenciesbooleanPar défaut:trueIndique s'il faut privilégier l'installation des dépendances après l'exécution du générateur. Définir sur false pour différer l'installation lors de l'exécution de plusieurs générateurs en lot (une installation s'exécute quand même si nécessaire pour que les générateurs suivants puissent calculer le graphe de projet Nx) ; installer une seule fois à la fin.
Sortie du générateur
Section intitulée « Sortie du générateur »Le générateur créera la structure de projet suivante :
Répertoireyour-plugin/
Répertoiresrc/
- index.ts Entry point for your plugin
Répertoiremcp-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
- schema.ts Shared schemas for the MCP server’s tools
- utils.ts Utility functions for the MCP server
Répertoireresources/
- GENERAL_GUIDANCE.md Guidance served by the
general-guidancetool
- GENERAL_GUIDANCE.md Guidance served by the
Répertoiretools/
- 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
- generators.json Nx generator configuration (initially empty)
- package.json Plugin package configuration
- project.json Nx project configuration with build and package targets
- tsconfig.json TypeScript configuration, referencing the two below
- tsconfig.lib.json TypeScript configuration for your plugin’s source
- tsconfig.spec.json TypeScript configuration for your plugin’s tests
- vitest.config.mts Vitest configuration for your plugin’s tests
- README.md Documentation for your plugin, served by the
generator-guidetool - LICENSE Written by the
licensegenerator’s sync, when configured
Travailler avec votre Nx Plugin
Section intitulée « Travailler avec votre Nx Plugin »Ajouter des générateurs
Section intitulée « Ajouter des générateurs »Une fois que vous avez votre projet de plugin, vous pouvez ajouter des générateurs en utilisant le générateur ts#nx-generator :
Exécuter ce générateur@aws/nx-plugin:ts#nx-generator
pnpm nx g @aws/nx-plugin:ts#nx-generator yarn nx g @aws/nx-plugin:ts#nx-generator npx nx g @aws/nx-plugin:ts#nx-generator bunx nx g @aws/nx-plugin:ts#nx-generator- Installez le Nx Console VSCode Plugin si ce n'est pas déjà fait
- Ouvrez la console Nx dans VSCode
- Cliquez sur
Generate (UI)dans la section "Common Nx Commands" - Recherchez
@aws/nx-plugin - ts#nx-generator - Remplissez les paramètres requis
- Cliquez sur
Generate
Composez votre commande5
Requis
Requis
Cela ajoutera un nouveau générateur à votre plugin.
Assurez-vous d’écrire un README.md détaillé pour votre générateur, car celui-ci est utilisé par l’outil generator-guide du serveur MCP.
Cibles du projet
Section intitulée « Cibles du projet »Le plugin généré inclut plusieurs cibles importantes :
Cible Build
Section intitulée « Cible Build »Compile votre code TypeScript et prépare le plugin pour utilisation :
pnpm nx build your-pluginyarn nx build your-pluginnpx nx build your-pluginbunx nx build your-pluginCible Package
Section intitulée « Cible Package »Crée un package distribuable prêt pour la publication NPM :
pnpm nx package your-pluginyarn nx package your-pluginnpx nx package your-pluginbunx nx package your-pluginLa cible package inclut tous les actifs nécessaires :
- Fichiers JavaScript compilés
- Fichiers de déclaration TypeScript
- Les manifestes
generators.json,executors.jsonetmigrations.jsonque Nx lit depuis un plugin publié - Fichiers de documentation et de licence
Intégration du serveur MCP
Section intitulée « Intégration du serveur MCP »Le plugin configure un serveur MCP en utilisant le générateur ts#mcp-server.
Le plugin inclut un serveur MCP complet qui fournit aux assistants IA les outils suivants :
general-guidance: Obtenez les meilleures pratiques pour travailler avec Nx et votre plugincreate-workspace-command: Apprenez comment créer de nouveaux espaces de travail pouvant utiliser votre pluginlist-generators: Listez tous les générateurs disponibles dans votre plugingenerator-guide: Obtenez des informations détaillées sur des générateurs spécifiques, y compris les schémas et l’utilisation
Configuration avec les assistants IA
Section intitulée « Configuration avec les assistants IA »Fichiers de configuration
Section intitulée « Fichiers de configuration »La plupart des assistants IA qui prennent en charge MCP utilisent une approche de configuration similaire. Vous devrez créer ou mettre à jour un fichier de configuration avec les détails de votre serveur MCP :
{ "mcpServers": { "your-mcp-server": { "command": "npx", "args": ["tsx", "/path/to/your-mcp-server/stdio.ts"] } }}Rechargement à chaud
Section intitulée « Rechargement à chaud »Lors du développement de votre serveur MCP, vous pouvez souhaiter configurer le flag --watch afin que l’assistant IA voie toujours les dernières versions des outils/ressources :
{ "mcpServers": { "your-mcp-server": { "command": "npx", "args": ["tsx", "--watch", "/path/to/your-mcp-server/stdio.ts"] } }}Configuration spécifique à l’assistant
Section intitulée « Configuration spécifique à l’assistant »Veuillez vous référer à la documentation suivante pour configurer MCP avec des assistants IA spécifiques :
Personnaliser le serveur MCP
Section intitulée « Personnaliser le serveur MCP »Vous pouvez étendre le serveur MCP en modifiant server.ts pour ajouter des outils ou des ressources supplémentaires spécifiques au domaine de votre plugin.
Pour plus de détails sur l’écriture de serveurs MCP, consultez le guide ts#mcp-server.
Publier votre plugin
Section intitulée « Publier votre plugin »Préparation pour la publication
Section intitulée « Préparation pour la publication »-
Mettre à jour les informations du package : Modifiez le
package.jsonde votre plugin avec un nom, une version, une description et des informations de dépôt appropriés. Supprimez également"private": true. -
Construire le package :
Terminal window pnpm nx package your-pluginTerminal window yarn nx package your-pluginTerminal window npx nx package your-pluginTerminal window bunx nx package your-pluginLe package se trouve dans
dist/<your-plugin's project root>/package— pour un plugin généré avec--name=nx-plugin --directory=tools, c’estdist/tools/nx-plugin/package. -
Tester localement : Vous pouvez tester votre plugin localement en l’installant dans un autre espace de travail :
Fenêtre de terminal npm install /path/to/your/workspace/dist/tools/nx-plugin/package
Publication sur NPM
Section intitulée « Publication sur NPM »Une fois que votre plugin est prêt :
cd dist/tools/nx-plugin/packagenpm publishUtiliser les plugins publiés
Section intitulée « Utiliser les plugins publiés »Après publication, d’autres peuvent installer et utiliser votre plugin :
pnpm add -w your-plugin-nameyarn add your-plugin-namenpm install --legacy-peer-deps your-plugin-namebun add your-plugin-namePuis utilisez vos générateurs :
Exécuter ce générateuryour-plugin-name:your-generator-name
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- Installez le Nx Console VSCode Plugin si ce n'est pas déjà fait
- Ouvrez la console Nx dans VSCode
- Cliquez sur
Generate (UI)dans la section "Common Nx Commands" - Recherchez
your-plugin-name - your-generator-name - Remplissez les paramètres requis
- Cliquez sur
Generate
Configurer les assistants IA avec votre plugin publié
Section intitulée « Configurer les assistants IA avec votre plugin publié »Le serveur MCP de votre plugin publié peut être configuré comme suit :
{ "mcpServers": { "aws-nx-mcp": { "command": "npx", "args": ["-y", "-p", "your-plugin-name", "your-plugin-name-mcp-server"] } }}