TypeScript Nx Plugin
Genera un Nx Plugin TypeScript completo con un server Model Context Protocol (MCP) integrato. Questo generatore crea una base per costruire generatori personalizzati che possono essere utilizzati senza problemi dagli assistenti AI per la generazione automatica di codice e lo scaffolding di progetti.
Utilizzo
Sezione intitolata “Utilizzo”Generare un Nx Plugin
Sezione intitolata “Generare un Nx Plugin”Puoi generare un TypeScript Nx Plugin in due modi:
Esegui questo generatore@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- Installa il Nx Console VSCode Plugin se non l'hai già fatto
- Apri la console Nx in VSCode
- Clicca su
Generate (UI)nella sezione "Common Nx Commands" - Cerca
@aws/nx-plugin - ts#nx-plugin - Compila i parametri richiesti
- Clicca su
Generate
Componi il tuo comando4
Obbligatorio
Opzioni
Sezione intitolata “Opzioni”nameObbligatoriostringNome del progetto TypeScript
directorystringPredefinito:packagesDirectory principale dove viene posizionata la libreria.
subDirectorystringLa sotto-directory in cui viene posizionata la libreria. Per impostazione predefinita corrisponde al nome della libreria.
preferInstallDependenciesbooleanPredefinito:trueSe preferire l'installazione delle dipendenze dopo l'esecuzione del generatore. Impostare su false per rimandare l'installazione quando si eseguono più generatori in batch (l'installazione viene comunque eseguita se necessaria affinché i generatori successivi possano calcolare il grafo dei progetti Nx); installare una volta alla fine.
Output del Generatore
Sezione intitolata “Output del Generatore”Il generatore creerà la seguente struttura di progetto:
Directoryyour-plugin/
Directorysrc/
- index.ts Entry point for your plugin
Directorymcp-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
Directoryresources/
- GENERAL_GUIDANCE.md Guidance served by the
general-guidancetool
- GENERAL_GUIDANCE.md Guidance served by the
Directorytools/
- 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
Lavorare con il Tuo Nx Plugin
Sezione intitolata “Lavorare con il Tuo Nx Plugin”Aggiungere Generatori
Sezione intitolata “Aggiungere Generatori”Una volta che hai il tuo progetto plugin, puoi aggiungere generatori utilizzando il generatore ts#nx-generator:
Esegui questo generatore@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- Installa il Nx Console VSCode Plugin se non l'hai già fatto
- Apri la console Nx in VSCode
- Clicca su
Generate (UI)nella sezione "Common Nx Commands" - Cerca
@aws/nx-plugin - ts#nx-generator - Compila i parametri richiesti
- Clicca su
Generate
Componi il tuo comando5
Obbligatorio
Obbligatorio
Questo aggiungerà un nuovo generatore al tuo plugin.
Assicurati di scrivere un README.md dettagliato per il tuo generatore, poiché questo viene utilizzato dallo strumento generator-guide del MCP Server.
Target del Progetto
Sezione intitolata “Target del Progetto”Il plugin generato include diversi target importanti:
Target Build
Sezione intitolata “Target Build”Compila il tuo codice TypeScript e prepara il plugin per l’uso:
pnpm nx build your-pluginyarn nx build your-pluginnpx nx build your-pluginbunx nx build your-pluginTarget Package
Sezione intitolata “Target Package”Crea un package distribuibile pronto per la pubblicazione su NPM:
pnpm nx package your-pluginyarn nx package your-pluginnpx nx package your-pluginbunx nx package your-pluginIl target package include tutte le risorse necessarie:
- File JavaScript compilati
- File di dichiarazione TypeScript
- I manifest
generators.json,executors.jsonemigrations.jsonche Nx legge da un plugin pubblicato - Documentazione e file di licenza
Integrazione MCP Server
Sezione intitolata “Integrazione MCP Server”Il plugin configura un server MCP utilizzando il generatore ts#mcp-server.
Strumenti
Sezione intitolata “Strumenti”Il plugin include un server MCP completo che fornisce agli assistenti AI i seguenti strumenti:
general-guidance: Ottieni le best practice per lavorare con Nx e il tuo plugincreate-workspace-command: Scopri come creare nuovi workspace che possono utilizzare il tuo pluginlist-generators: Elenca tutti i generatori disponibili nel tuo plugingenerator-guide: Ottieni informazioni dettagliate su generatori specifici inclusi schemi e utilizzo
Configurazione con Assistanti AI
Sezione intitolata “Configurazione con Assistanti AI”File di Configurazione
Sezione intitolata “File di Configurazione”La maggior parte degli assistenti AI che supportano MCP utilizza un approccio di configurazione simile. Dovrai creare o aggiornare un file di configurazione con i dettagli del tuo server MCP:
{ "mcpServers": { "your-mcp-server": { "command": "npx", "args": ["tsx", "/path/to/your-mcp-server/stdio.ts"] } }}Hot Reload
Sezione intitolata “Hot Reload”Durante lo sviluppo del tuo server MCP, potresti voler configurare il flag --watch in modo che l’assistente AI veda sempre le versioni più recenti di strumenti/risorse:
{ "mcpServers": { "your-mcp-server": { "command": "npx", "args": ["tsx", "--watch", "/path/to/your-mcp-server/stdio.ts"] } }}Configurazione Specifica per Assistente
Sezione intitolata “Configurazione Specifica per Assistente”Si prega di fare riferimento alla seguente documentazione per configurare MCP con specifici Assistenti AI:
Personalizzare il MCP Server
Sezione intitolata “Personalizzare il MCP Server”Puoi estendere il server MCP modificando server.ts per aggiungere strumenti o risorse aggiuntive specifiche per il dominio del tuo plugin.
Per maggiori dettagli sulla scrittura di MCP Server, consulta la guida ts#mcp-server.
Pubblicare il Tuo Plugin
Sezione intitolata “Pubblicare il Tuo Plugin”Preparazione per la Pubblicazione
Sezione intitolata “Preparazione per la Pubblicazione”-
Aggiorna le Informazioni del Pacchetto: Modifica il
package.jsondel tuo plugin con nome, versione, descrizione e informazioni sul repository appropriati. Rimuovi anche"private": true. -
Costruisci il Pacchetto:
Terminal window pnpm nx package your-pluginTerminal window yarn nx package your-pluginTerminal window npx nx package your-pluginTerminal window bunx nx package your-pluginIl pacchetto viene posizionato in
dist/<your-plugin's project root>/package— per un plugin generato con--name=nx-plugin --directory=tools, èdist/tools/nx-plugin/package. -
Testa Localmente: Puoi testare il tuo plugin localmente installandolo in un altro workspace:
Finestra del terminale npm install /path/to/your/workspace/dist/tools/nx-plugin/package
Pubblicazione su NPM
Sezione intitolata “Pubblicazione su NPM”Una volta che il tuo plugin è pronto:
cd dist/tools/nx-plugin/packagenpm publishUtilizzare Plugin Pubblicati
Sezione intitolata “Utilizzare Plugin Pubblicati”Dopo la pubblicazione, altri possono installare e utilizzare il tuo plugin:
pnpm add -w your-plugin-nameyarn add your-plugin-namenpm install --legacy-peer-deps your-plugin-namebun add your-plugin-nameQuindi utilizzare i tuoi generatori:
Esegui questo generatoreyour-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- Installa il Nx Console VSCode Plugin se non l'hai già fatto
- Apri la console Nx in VSCode
- Clicca su
Generate (UI)nella sezione "Common Nx Commands" - Cerca
your-plugin-name - your-generator-name - Compila i parametri richiesti
- Clicca su
Generate
Configurare Assistenti AI con il Tuo Plugin Pubblicato
Sezione intitolata “Configurare Assistenti AI con il Tuo Plugin Pubblicato”Il server MCP del tuo plugin pubblicato può essere configurato come segue:
{ "mcpServers": { "aws-nx-mcp": { "command": "npx", "args": ["-y", "-p", "your-plugin-name", "your-plugin-name-mcp-server"] } }}