Plugin TypeScript Nx
Générez un plugin Nx TypeScript complet avec un serveur Model Context Protocol (MCP) intégré. Ce générateur crée une base pour développer des générateurs personnalisés qui peuvent être utilisés de manière transparente par des assistants IA pour la génération automatisée de code et l’échafaudage de projets.
Utilisation
Section intitulée « Utilisation »Générer un plugin Nx
Section intitulée « Générer un plugin Nx »Vous pouvez générer un plugin Nx TypeScript de deux manières :
- 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
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
Vous pouvez également effectuer une simulation pour voir quels fichiers seraient modifiés
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
Paramètre | Type | Par défaut | Description |
---|---|---|---|
name Requis | 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. |
Résultat du générateur
Section intitulée « Résultat du générateur »Le générateur créera la structure de projet suivante :
Répertoireyour-plugin/
Répertoiresrc/
- index.ts Point d’entrée vide pour votre plugin
Répertoiremcp-server/
- index.ts Point d’entrée du serveur MCP
- server.ts Configuration principale du serveur MCP
Répertoiretools/
- create-workspace-command.ts Outil de guidage pour la création d’espace de travail
- general-guidance.ts Outil de conseils généraux sur Nx et le plugin
- list-generators.ts Outil pour lister les générateurs disponibles
- generator-guide.ts Outil d’information détaillée sur les générateurs
- utils.ts Fonctions utilitaires pour le serveur MCP
- generators.json Configuration des générateurs Nx (vide initialement)
- package.json Configuration du package du plugin avec le binaire du serveur MCP
- tsconfig.json Configuration TypeScript (CommonJS pour compatibilité Nx)
- project.json Configuration du projet Nx avec les cibles de build et de packaging
Utilisation de votre plugin Nx
Section intitulée « Utilisation de votre plugin Nx »Ajout de générateurs
Section intitulée « Ajout de générateurs »Une fois votre projet de plugin créé, vous pouvez ajouter des générateurs en utilisant le générateur 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
- pluginProject: your-plugin
- Cliquez sur
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
Vous pouvez également effectuer une simulation pour voir quels fichiers seraient modifiés
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
Ceci ajoutera un nouveau générateur à votre plugin.
Assurez-vous de rédiger un README.md
détaillé pour votre générateur, car il 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 à l’utilisation :
pnpm nx build your-plugin
yarn nx build your-plugin
npx nx build your-plugin
bunx nx build your-plugin
Cible Package
Section intitulée « Cible Package »Crée un package distribuable prêt pour la publication sur NPM :
pnpm nx package your-plugin
yarn nx package your-plugin
npx nx package your-plugin
bunx nx package your-plugin
Le package inclut toutes les ressources nécessaires :
- Fichiers JavaScript compilés
- Fichiers de déclaration TypeScript
- Fichiers de configuration des générateurs et exécuteurs
- Documentation et fichiers 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 utiliser Nx et votre plugincreate-workspace-command
: Apprenez à créer de nouveaux espaces de travail compatibles avec 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 (schémas et 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 compatibles avec 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/index.ts"] } }}
Rechargement à chaud
Section intitulée « Rechargement à chaud »Pendant le développement de votre serveur MCP, vous pouvez configurer le flag --watch
pour que l’assistant IA voit toujours les dernières versions des outils/ressources :
{ "mcpServers": { "your-mcp-server": { "command": "npx", "args": ["tsx", "--watch", "/path/to/your-mcp-server/index.ts"] } }}
Configuration spécifique à l’assistant
Section intitulée « Configuration spécifique à l’assistant »Consultez la documentation suivante pour configurer MCP avec des assistants IA spécifiques :
Personnalisation du serveur MCP
Section intitulée « Personnalisation du serveur MCP »Vous pouvez étendre le serveur MCP en modifiant server.ts
pour ajouter des outils ou ressources spécifiques à votre domaine.
Pour plus de détails sur l’écriture de serveurs MCP, consultez le guide ts#mcp-server
.
Publication de votre plugin
Section intitulée « Publication de votre plugin »Préparation à la publication
Section intitulée « Préparation à la publication »-
Mettez à jour les informations du package : Modifiez le
package.json
de votre plugin avec le nom, la version, la description et les informations du dépôt. -
Build du 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 -
Test local : 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 votre plugin prêt :
cd dist/your-plugin/packagenpm publish
Utilisation des plugins publiés
Section intitulée « Utilisation des plugins publiés »Après publication, les utilisateurs peuvent installer et utiliser votre 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
Puis utilisez vos générateurs :
- 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
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
Vous pouvez également effectuer une simulation pour voir quels fichiers seraient modifiés
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
Configuration des assistants IA avec votre plugin publié
Section intitulée « Configuration des assistants IA avec votre plugin publié »Le serveur MCP de votre plugin publié peut être configuré ainsi :
{ "mcpServers": { "aws-nx-mcp": { "command": "npx", "args": ["-y", "-p", "your-plugin-name", "your-plugin-name-mcp-server"] } }}