Salta ai contenuti

Plugin TypeScript Nx

Genera un completo Nx Plugin TypeScript con un server integrato Model Context Protocol (MCP). Questo generatore crea una base per sviluppare generatori personalizzati che possono essere utilizzati in modo fluido da assistenti AI per la generazione automatica di codice e l’impalcatura di progetti.

Puoi generare un Nx Plugin TypeScript in due modi:

  1. Installa il Nx Console VSCode Plugin se non l'hai già fatto
  2. Apri la console Nx in VSCode
  3. Clicca su Generate (UI) nella sezione "Common Nx Commands"
  4. Cerca @aws/nx-plugin - ts#nx-plugin
  5. Compila i parametri richiesti
    • Clicca su Generate
    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.

    Il generatore creerà la seguente struttura del progetto:

    • Directoryyour-plugin/
      • Directorysrc/
        • index.ts Punto d’ingresso vuoto per il tuo plugin
        • Directorymcp-server/
          • index.ts Esporta il tuo server
          • server.ts Configurazione principale del server MCP
          • stdio.ts Punto d’ingresso per il server MCP con trasporto STDIO
          • http.ts Punto d’ingresso per il server MCP con trasporto HTTP streamable
          • Directorytools/
            • create-workspace-command.ts Strumento per la creazione guidata di workspace
            • general-guidance.ts Strumento per linee guida generali su Nx e plugin
            • list-generators.ts Strumento per elencare 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 di build e package

    Dopo aver creato il progetto del plugin, puoi aggiungere generatori usando ts#nx-generator:

    1. Installa il Nx Console VSCode Plugin se non l'hai già fatto
    2. Apri la console Nx in VSCode
    3. Clicca su Generate (UI) nella sezione "Common Nx Commands"
    4. Cerca @aws/nx-plugin - ts#nx-generator
    5. Compila i parametri richiesti
      • pluginProject: your-plugin
    6. Clicca su Generate

    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.

    Il plugin generato include diversi target importanti:

    Compila il codice TypeScript e prepara il plugin per l’uso:

    Terminal window
    pnpm nx build your-plugin

    Crea un package distribuibile pronto per la pubblicazione su NPM:

    Terminal window
    pnpm 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

    Il plugin configura un server MCP usando il generatore ts#mcp-server.

    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 plugin
    • create-workspace-command: Impara a creare nuovi workspace che possono utilizzare il tuo plugin
    • list-generators: Elenca tutti i generatori disponibili nel tuo plugin
    • generator-guide: Ottieni informazioni dettagliate su generatori specifici inclusi schemi e utilizzo

    La maggior parte degli assistenti AI che supportano MCP utilizza un approccio simile per la configurazione. È 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/stdio.ts"]
    }
    }
    }

    Se ricevi un errore come ENOENT npx durante la connessione al server, potrebbe essere necessario specificare il percorso completo di npx, ottenibile eseguendo which npx nel terminale.

    Durante lo sviluppo del server MCP, puoi configurare il flag --watch per far sì che l’assistente AI rilevi sempre le versioni più recenti di strumenti/risorse:

    {
    "mcpServers": {
    "your-mcp-server": {
    "command": "npx",
    "args": ["tsx", "--watch", "/path/to/your-mcp-server/stdio.ts"]
    }
    }
    }

    Se aggiungi nuovi strumenti o risorse, potrebbe essere necessario aggiornare il server MCP nell’assistente AI.

    Consulta la seguente documentazione per configurare MCP con assistenti AI specifici:

    Alcuni assistenti AI, come Amazon Q Developer, permettono di specificare configurazioni MCP a livello di workspace, particolarmente utili per definire i server MCP rilevanti per un progetto specifico.

    Puoi estendere il server MCP modificando server.ts per aggiungere strumenti o risorse specifiche per il dominio del tuo plugin.

    Per maggiori dettagli sulla scrittura di server MCP, consulta la guida ts#mcp-server.

    1. Aggiorna Informazioni del Package: Modifica il package.json del tuo plugin con nome, versione, descrizione e informazioni del repository corrette.

    2. Costruisci il Package:

      Terminal window
      pnpm nx package your-plugin
    3. Test Locale: Puoi testare il plugin localmente installandolo in un altro workspace:

      Terminal window
      npm install /path/to/your/workspace/dist/your-plugin/package

    Quando il tuo plugin è pronto:

    Terminal window
    cd dist/your-plugin/package
    npm publish

    Dopo la pubblicazione, altri possono installare e usare il tuo plugin:

    Terminal window
    pnpm add -w your-plugin-name

    Poi utilizza i tuoi generatori:

    1. Installa il Nx Console VSCode Plugin se non l'hai già fatto
    2. Apri la console Nx in VSCode
    3. Clicca su Generate (UI) nella sezione "Common Nx Commands"
    4. Cerca your-plugin-name - your-generator-name
    5. Compila i parametri richiesti
      • Clicca su Generate

      Configura Assistanti AI con il Tuo Plugin Pubblicato

      Sezione intitolata “Configura Assistanti AI con il Tuo Plugin Pubblicato”

      Il server MCP del tuo plugin pubblicato può essere configurato così:

      {
      "mcpServers": {
      "aws-nx-mcp": {
      "command": "npx",
      "args": ["-y", "-p", "your-plugin-name", "your-plugin-name-mcp-server"]
      }
      }
      }