Salta ai contenuti

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.

Puoi generare un Plugin Nx in 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 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

    Dopo aver creato il progetto del plugin, puoi aggiungere generatori usando il generatore 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 usare 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 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"]
    }
    }
    }

    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"]
    }
    }
    }

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

    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.

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

    2. Build del 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 usa 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

      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"]
      }
      }
      }