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 :
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-pluginVous pouvez également effectuer une simulation pour voir quels fichiers seraient modifiés
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- 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
| Paramètre | Type | Par défaut | Description |
|---|---|---|---|
| name Requis | string | - | Nom du projet TypeScript |
| directory | string | packages | Répertoire parent où la bibliothèque est placée. |
| subDirectory | string | - | Le sous-répertoire dans lequel la bibliothèque est placée. Par défaut, il s'agit du nom de la bibliothèque. |
| preferInstallDependencies | boolean | true | Indique 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 Empty 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
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
- 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
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 :
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-pluginVous pouvez également effectuer une simulation pour voir quels fichiers seraient modifiés
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- 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
- project: your-plugin
- Cliquez sur
Generate
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
- Fichiers de configuration des générateurs et exécuteurs
- 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. -
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-plugin -
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/your-plugin/package
Publication sur NPM
Section intitulée « Publication sur NPM »Une fois que votre plugin est prêt :
cd dist/your-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 :
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-nameVous pouvez également effectuer une simulation pour voir quels fichiers seraient modifiés
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- 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"] } }}