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:
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-pluginPuoi anche eseguire una prova per vedere quali file verrebbero modificati
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- 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
Opzioni
Sezione intitolata “Opzioni”| Parametro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
| name Obbligatorio | string | - | Nome del progetto TypeScript |
| directory | string | packages | Directory principale dove viene posizionata la libreria. |
| subDirectory | string | - | La sotto-directory in cui viene posizionata la libreria. Per impostazione predefinita corrisponde al nome della libreria. |
| preferInstallDependencies | boolean | true | Se 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 Empty 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
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
- 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
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:
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-pluginPuoi anche eseguire una prova per vedere quali file verrebbero modificati
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- 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
- project: your-plugin
- Clicca su
Generate
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
- File di configurazione per generatori ed executor
- 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. -
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-plugin -
Testa Localmente: Puoi testare il tuo plugin localmente installandolo in un altro workspace:
Terminal window npm install /path/to/your/workspace/dist/your-plugin/package
Pubblicazione su NPM
Sezione intitolata “Pubblicazione su NPM”Una volta che il tuo plugin è pronto:
cd dist/your-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:
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-namePuoi anche eseguire una prova per vedere quali file verrebbero modificati
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- 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"] } }}