Plugin TypeScript Nx
Genera un completo Plugin Nx in TypeScript con un server integrato Model Context Protocol (MCP). Questo generatore crea una base per costruire generatori personalizzati che possono essere utilizzati in modo seamless dagli assistenti AI per la generazione automatica di codice e l’impalcatura di progetti.
Utilizzo
Sezione intitolata “Utilizzo”Genera un Plugin Nx
Sezione intitolata “Genera un Plugin Nx”Puoi generare un Plugin Nx in TypeScript in due modi:
- 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
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
Puoi anche eseguire una prova per vedere quali file verrebbero modificati
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
Opzioni
Sezione intitolata “Opzioni”Parametro | Tipo | Predefinito | Descrizione |
---|---|---|---|
name Obbligatorio | 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. |
Output del Generatore
Sezione intitolata “Output del Generatore”Il generatore creerà la seguente struttura del progetto:
Directoryyour-plugin/
Directorysrc/
- index.ts Punto di ingresso vuoto per il tuo plugin
Directorymcp-server/
- index.ts Punto di ingresso del server MCP
- server.ts Configurazione principale del server MCP
Directorytools/
- create-workspace-command.ts Strumento per la guida alla creazione di workspace
- general-guidance.ts Strumento per linee guida generali su Nx e plugin
- list-generators.ts Strumento per listare i generatori disponibili
- generator-guide.ts Strumento per informazioni dettagliate sui generatori
- utils.ts Funzioni di utilità per il server MCP
- generators.json Configurazione del generatore Nx (inizialmente vuota)
- package.json Configurazione del package del plugin con binary del server MCP
- tsconfig.json Configurazione TypeScript (CommonJS per compatibilità Nx)
- project.json Configurazione del progetto Nx con target build e package
Lavorare con il Tuo Plugin Nx
Sezione intitolata “Lavorare con il Tuo Plugin Nx”Aggiungere Generatori
Sezione intitolata “Aggiungere Generatori”Dopo aver creato il progetto del plugin, puoi aggiungere generatori usando il generatore 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
- pluginProject: your-plugin
- Clicca su
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
Puoi anche eseguire una prova per vedere quali file verrebbero modificati
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
Questo aggiungerà un nuovo generatore al tuo plugin.
Assicurati di scrivere un dettagliato README.md
per il tuo generatore, poiché viene utilizzato dallo strumento generator-guide
del Server MCP.
Target del Progetto
Sezione intitolata “Target del Progetto”Il plugin generato include diversi target importanti:
Target Build
Sezione intitolata “Target Build”Compila il codice TypeScript e prepara il plugin per l’uso:
pnpm nx build your-plugin
yarn nx build your-plugin
npx nx build your-plugin
bunx nx build your-plugin
Target Package
Sezione intitolata “Target Package”Crea un package distribuibile pronto per la pubblicazione su NPM:
pnpm nx package your-plugin
yarn nx package your-plugin
npx nx package your-plugin
bunx nx package your-plugin
Il 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 Server MCP
Sezione intitolata “Integrazione Server MCP”Il plugin configura un server MCP usando il generatore ts#mcp-server
.
Strumenti
Sezione intitolata “Strumenti”Il plugin include un server MCP completo che fornisce ai assistenti AI i seguenti strumenti:
general-guidance
: Ottieni best practice per lavorare con Nx e il tuo plugincreate-workspace-command
: Impara a creare nuovi workspace che possono usare 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 Assistenti AI
Sezione intitolata “Configurazione con Assistenti AI”File di configurazione
Sezione intitolata “File di configurazione”La maggior parte degli assistenti AI che supportano MCP utilizza un approccio di configurazione simile. È necessario creare o aggiornare un file di configurazione con i dettagli del server MCP:
{ "mcpServers": { "your-mcp-server": { "command": "npx", "args": ["tsx", "/path/to/your-mcp-server/index.ts"] } }}
Ricarica a caldo
Sezione intitolata “Ricarica a caldo”Durante lo sviluppo del server MCP, puoi configurare il flag --watch
affinché l’assistente AI visualizzi sempre le versioni più recenti di strumenti/risorse:
{ "mcpServers": { "your-mcp-server": { "command": "npx", "args": ["tsx", "--watch", "/path/to/your-mcp-server/index.ts"] } }}
Configurazione specifica dell’assistente
Sezione intitolata “Configurazione specifica dell’assistente”Consulta la seguente documentazione per configurare MCP con assistenti AI specifici:
Personalizzazione del Server MCP
Sezione intitolata “Personalizzazione del Server MCP”Puoi estendere il server MCP modificando server.ts
per aggiungere strumenti o risorse specifiche del dominio del tuo plugin.
Per maggiori dettagli sulla scrittura di Server MCP, consulta la guida ts#mcp-server
.
Pubblicare il Tuo Plugin
Sezione intitolata “Pubblicare il Tuo Plugin”Preparazione alla Pubblicazione
Sezione intitolata “Preparazione alla Pubblicazione”-
Aggiorna Informazioni del Package: Modifica il
package.json
del tuo plugin con nome, versione, descrizione e informazioni del repository corrette. -
Build del 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 Locale: Puoi testare il 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”Quando il tuo plugin è pronto:
cd dist/your-plugin/packagenpm publish
Utilizzare Plugin Pubblicati
Sezione intitolata “Utilizzare Plugin Pubblicati”Dopo la pubblicazione, altri possono installare e usare il tuo 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
Poi usa i tuoi generatori:
- 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
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
Puoi anche eseguire una prova per vedere quali file verrebbero modificati
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
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"] } }}