Skip to main content

Plugin Directories

Una Plugin Directory è un meccanismo che raccoglie in una singola directory skill, hook, server MCP, agenti personalizzati, configurazioni LSP e altro, caricandoli insieme. Usalo quando vuoi distribuire un insieme di funzionalità riutilizzabili all’interno dell’app o del repository. Nella versione Laravel puoi specificarli tramite pluginDirectories di SessionConfig o ResumeSessionConfig.

Casi d’uso

  • Distribuire più estensioni come un unico pacchetto di capacità
  • Includere plugin nel repository per far usare a tutti la stessa configurazione
  • Sviluppare e testare in locale plugin non ancora pubblicati sul Marketplace
  • Sovrascrivere temporaneamente plugin già installati con un checkout locale
Se hai un solo server MCP, un hook singolo o un solo agente personalizzato, è più semplice specificarli direttamente in mcpServers, hooks, customAgents. La Plugin Directory è più indicata quando vuoi distribuire insieme più funzionalità correlate.

Struttura della directory

Copilot CLI cerca in ciascuna plugin directory plugin.json oppure SKILL.md nella radice.
plugin.json può anche essere posto in .github/plugin.json o .github/plugin/plugin.json. Skill, hook, MCP, agenti ecc. hanno ciascuno loader indipendenti, quindi è sufficiente includere solo ciò che serve.

Caricamento da Laravel

Puoi specificarli anche come array.

Differenza rispetto a cli_args

Nell’SDK ufficiale sono a volte descritti come argomento --plugin-dir all’avvio del runtime. Nella versione Laravel, la scelta di base è usare pluginDirectories di SessionConfig. D’altra parte, se vuoi passare argomenti all’avvio del processo CLI stesso, puoi usare cli_args di config/copilot.php o di Copilot::useStdio(). Attenzione però: cli_args è efficace solo quando è l’SDK ad avviare il CLI in stdio e viene ignorato al collegamento a runtime esterni come useTcp().
Di norma, preferisci pluginDirectories: puoi renderlo esplicito a livello di sessione e gestirlo nello stesso posto delle altre impostazioni di SessionConfig.

Buone pratiche per la riproducibilità

  • Usa percorsi assoluti con base_path() piuttosto che percorsi relativi
  • Metti sotto versione i plugin distribuiti col repository
  • Se usi plugin del Marketplace o distribuiti esternamente, documenta la versione utilizzata
  • In produzione, non lasciare specificare percorsi arbitrari di plugin direttamente dall’input utente

Riferimenti

Per le informazioni più recenti fai riferimento al repository GitHub.
Ultima modifica il 13 luglio 2026