- plugin-template — un punto di partenza per creare un singolo plugin (o un paio di plugin).
- team-marketplace-template — il modello completo dell’ecosistema: un monorepo di plugin più un meta-plugin il cui manifest definisce la tua base e la tua policy.
- Crea i tuoi plugin
Un plugin è una directory con un file manifest .devin-plugin/plugin.json; tutto il resto è facoltativo:
AGENTS.md conciso — consuma contesto in ogni sessione per tutti coloro che usano il plugin.
- Verifica e testa in locale
Entrambi i template includono un validatore (node scripts/validate-template.mjs) e un flusso di lavoro CI che lo esegue a ogni PR. Per una prova reale, installa da una cartella locale con Devin CLI:
.zip nel tuo ambito personale da Customize → Plugins e provarlo in una sessione cloud.
- Ospitali in un’unica repo
Inserisci tutti i plugin della tua org in un’unica repo come sottocartelle (plugins/<name>/), ciascuno con la propria sorgente git-subdir. La repo può rimanere privata: le sessioni cloud la recuperano tramite la tua integrazione Git, mentre gli utenti della CLI la recuperano con le proprie credenziali git (quindi devono avere accesso anche alla repo).
Fai un fork di team-marketplace-template per usare questa struttura e aggiorna gli URL git-subdir del suo meta-plugin in modo che puntino al tuo fork. Nel template il meta-plugin si trova nella radice della repo, quindi la repo stessa è l’unità installabile: richiedere your-org/your-marketplace installa l’intera base.
- Definisci la base con un meta-plugin
Il pattern meta-plugin trasforma l’intero ecosistema in un’unica unità installabile. È un plugin con contenuti propri minimi o assenti — è il suo manifest a fare il lavoro. Posizionalo nella radice del repo in modo che il repo stesso sia il meta-plugin:
- Distribuzione da Customize
Un admin installa la repo del marketplace da Customize → Plugins → Add plugin → From repository nell’ambito dell’organizzazione o dell’enterprise — consulta la guida ai Plugins. In questo modo viene aggiunta una entry al managed manifest dell’ambito:
- Il manifest enterprise raggiunge tutte le organizzazioni dell’enterprise.
- Un manifest a livello di organizzazione raggiunge le sessioni cloud di quell’organizzazione e la CLI/Desktop dei membri per i quali è l’organizzazione principale.
- Governare
I tre elenchi costituiscono il linguaggio delle policy a tutti i livelli (manifest gestiti, configurazione della repo, manifest dei plugin). Prevale il livello con autorità superiore — enterprise/account su org su repo su utente — e un livello inferiore non può mai tornare a consentire ciò che un livello superiore vieta, né vietare ciò che quest’ultimo richiede.
Per limitare un account esclusivamente a un insieme approvato:
"*"; nessun’altra lo è e nessun livello inferiore può ampliare questa eccezione. L’esenzione copre solo le voci elencate direttamente — le dipendenze transitive di un plugin obbligatorio non sono esenti — quindi, in caso di lockdown, elenca esplicitamente tutto ciò che il meta-plugin include (qui engineering-baseline e security-guardrails). Consulta dipendenze e governance per la semantica completa.
- Evoluzione
- Il merge nel branch predefinito del repo del tuo plugin è il rilascio: le nuove sessioni lo recepiscono automaticamente — vedi come vengono distribuiti gli aggiornamenti.
- I team aggiungono plugin tramite PR al repo del marketplace; la CI del template convalida la struttura a ogni PR.
- I plugin Claude esistenti si installano così come sono (Devin usa
.claude-plugin/plugin.jsoncome fallback), quindi puoi includere plugin della community inoptionalPluginssenza doverli incorporare nella repo.
Limitazioni attuali
- I plugin vengono caricati nelle sessioni cloud, nel Devin CLI e in Devin Desktop (quando si usa Devin Local); non si applicano però all’agente Cascade classico.
- I Subagents (
agents/<name>.mdoagents/<name>/AGENT.md) vengono caricati solo negli agenti Devin locali (CLI e Devin Desktop), non nelle sessioni cloud. - Gli Hooks operano attualmente al meglio e senza bloccare in caso di errore: un hook che non riesce a caricarsi o a essere eseguito non interrompe la sessione; pertanto, non fare ancora affidamento su di essi per barriere di sicurezza cruciali. Consulta il riferimento agli hook della CLI per la configurazione locale.
- La governance non blocca in caso di errore: se non è possibile recuperare un manifest gestito all’avvio della sessione, i plugin di quel livello non vengono installati e i relativi divieti non vengono applicati per quella sessione.
- Il contenuto dei plugin proveniente da un repo privato compare in Customize solo per le organizzazioni la cui integrazione Git è in grado di raggiungere il repo; altrimenti viene nascosto fino a quando il repo non viene autorizzato in Settings → Repositories.
Per saperne di più
- Guida ai plugin — il lato app web: Customize, ambiti, indicizzazione, MCP
- Riferimento sui plugin CLI — formato dei file, creazione, installazioni per utente
- Skills — le procedure
SKILL.mdincluse nei bundle dei plugin

