Costruisci per l'ecosistema con il tuo agente

Costruisci estensioni SOIS con l'agente AI che usi già (Claude, ChatGPT, Cursor, Gemini, o qualsiasi tool compatibile con MCP). Connetti il tuo agente al server MCP di SOIS, crea l'estensione sul tuo computer, poi caricala per la revisione e la pubblicazione. Usi il tuo AI; SOIS non fa pagare nulla per costruire.

Questo è il percorso ecosistema. Chiunque può costruire per il marketplace e guadagnare dalle proprie app. Non hai bisogno del portale developer per creare un'estensione personalizzata; connettere il tuo agente è sufficiente. Il portale è dove pubblichi sul marketplace e gestisci i tuoi pagamenti. Vedi Monetizza le tue app per il modello di ricavo.

Come funziona

  1. Connetti il tuo agente al server MCP del tuo workspace (OAuth, o un token).
  2. Crea in locale rispetto alla specifica SOIS che il tuo agente legge via MCP.
  3. Valida con un controllo statico gratuito finché non è pulito.
  4. Carica il bundle. Viene protetto, controllato e messo in coda per la revisione.
  5. Revisiona e pubblica. Una volta approvato, la tua estensione è live nel marketplace.

Connetti il tuo agente

Gli strumenti di build si trovano sul MCP server del tuo workspace, lo stesso endpoint descritto in MCP Server. Non c'è un server di build separato da configurare: ti connetti una volta e, poiché il tuo account può costruire, gli strumenti di build appaiono automaticamente nella lista dei tool del tuo agente. Sono protetti da admin, quindi si mostrano solo per gli account abilitati a costruire.

Server:     https://<your-workspace-host>/api/mcp
Discovery:  https://<your-workspace-host>/.well-known/mcp.json

Connessione: il percorso consigliato è OAuth. Aggiungi l'URL MCP al tuo client (Claude, ChatGPT, Cursor e altri); scopre il sign-in e si connette senza nulla da incollare. Funziona anche un token Bearer più un header X-Api-Key per i client che non fanno OAuth. Vedi MCP Server per il flusso completo di connessione e i dettagli di discovery.

Il tuo agente ha quindi a disposizione gli strumenti di build. Inizia ogni build chiedendogli di leggere le regole.

Gli strumenti di build

Tool Cosa fa
getExtensionRules Il manifest canonico, le regole di migrazione, permessi, toolkit, i18n, UI e sicurezza. Chiamalo per primo.
getExtensionFrameSpec Il contratto del frame host per l'anteprima locale: la firma di mount, i token del tema, la forma delle REST api e il formato del bundle.
createExtensionProject Crea un nuovo progetto app. Restituisce un project_id.
validateExtensionBundle Esegue il gate statico gratuito sui tuoi file e restituisce i problemi da risolvere. Lancialo tutte le volte che vuoi.
uploadExtensionBundle Invia il tuo bundle. Viene protetto, controllato e, se passa, messo in coda per la revisione.
getExtensionStatus Lo stato del ciclo di vita e l'ultimo report di validazione per un progetto.
listExtensionProjects I tuoi progetti e il loro stato.

Formato del bundle

Un'estensione è un piccolo bundle di file:

File Scopo
manifest.json L'unica fonte di verità: id, entità, modello dati, permessi, file.
index.js La UI, scritta come IIFE JavaScript vanilla che si monta via window.AppExtension.mount. Nessun framework nel bundle.
toolkit.js Tool opzionali per l'agente, seguendo il pattern examiner.
permissions.json Chiavi di permesso che corrispondono ai nomi delle tue route.
migrations/ Tabelle database chiamate ext_{name}_{table} con una colonna id e una colonna JSON data.
lang/ File di localizzazione, ogni chiave con prefisso ext_{name}.

Regole chiave che il tuo agente fa rispettare da getExtensionRules:

  • I campi business vivono dentro la colonna JSON data, non come colonne separate.
  • Nessuna foreign key tra estensioni, nessun DROP, TRUNCATE o dropColumn in una migrazione up(), nessun SQL grezzo, nessun accesso a shell o filesystem.
  • Stile la UI con i token tema --ext-* in modo che corrisponda a SOIS. Non codificare mai colori o testo visibile all'utente.

Valida prima di caricare

validateExtensionBundle esegue lo stesso gate statico gratuito che il server esegue al caricamento, così puoi risolvere i problemi in locale prima. Controlla tipi di file, sicurezza delle migrazioni, struttura del manifest, naming e i18n. Il gate lato server è sempre autorevole: passare in locale è una comodità, non una garanzia.

Carica, revisiona, pubblica

Quando uploadExtensionBundle riporta un pass, il tuo bundle viene salvato in un'area di revisione privata e il tuo progetto passa in revisione. Un revisore lo controlla e lo approva, pubblicandolo sul marketplace, oppure lo restituisce con feedback per correggerlo e caricarlo di nuovo.

Prossimi passi