Skip to content

fatterdev/ibis

v0.1.0Apache-2.0

Ibis agent plugin: living project memory skills, session hooks, forensic agents and automations over the Ibis MCP runtime.

ibis — agent plugin

Agent Plugins 1.0 per Ibis: skill, hook di sessione, agenti specializzati e automation templates sopra il runtime MCP Ibis.

Installazione

Da marketplace (una volta pubblicato fatterdev/ibis-marketplace):

vscode://chat-plugin/install?source=fatterdev/ibis-marketplace&plugin=ibis

Da sorgente: Chat: Install Plugin from Source → URL del repo o cartella locale plugin/. Test locale senza installare: setting chat.pluginLocations con { "<path>/plugin": true }.

Raccomandazione per team (nel repo del progetto):

{
  "extraKnownMarketplaces": {
    "ibis": { "source": { "source": "github", "repo": "fatterdev/ibis-marketplace" } }
  },
  "enabledPlugins": { "ibis@ibis": true }
}

Runtime: spawn vs attach

  • plugin/mcp.json (default): spawn di ibis -mode stdio -runtime-mode plugin (binario ibis sul PATH, plugin data dir isolata).
  • Attach a un runtime personale condiviso: sostituire con { "type": "http", "url": "http://127.0.0.1:3030/mcp" } — equivalente a esportare IBIS_MCP_URL. Consigliato quando Cursor/CLI puntano allo stesso daemon.

Componenti

PercorsoRuolo
skills/usageContratto di sessione: quando e come usare Ibis (1× load_session_context, mappa tool, igiene memoria)
skills/readinessChecklist primo uso / finestra vuota con tabella di readiness
skills/statusStato backend/AI/ticketing via settings_get (+ ticket_get_capabilities solo in diagnosi)
skills/rememberCattura memoria tipizzata con memory_add (7 kind, visibilità team/personal)
skills/set-working-stateStato di lavoro corrente via set_working_state
com.github.copilot/hooks/hooks.jsonsessionStart → contratto; agentStop → promemoria capture_observation condizionale
com.github.copilot/agents/ibis-forensics (read-only: why_changed/blast radius/ask), ibis-curator (curation memoria)
automations/nightly-ingest (cron 03:00), weekly-consolidate (cron ven 10:30)

Verifica post-installazione

  1. Customizations → Plugins: ibis abilitato per l'harness target.
  2. MCP server ibis avviato (MCP: List Servers) — i server di plugin partono implicitamente fidati.
  3. Nuova sessione: /ibis status risponde; le skill compaiono in / come /ibis <nome>; l'hook sessionStart inietta il contratto (verificare nei log/debug della sessione).

Nota hooks (verificata contro la Copilot hooks reference, docs.github.com/copilot/reference/hooks-reference): sessionStart consuma solo additionalContext (contratto iniettato ad avvio/ripresa sessione); agentStop consuma solo la stop decision (decision: "block" + reason) — lo script agent-stop.mjs forza una sola continuazione (stop_hook_active guard) solo quando il turn ha prodotto lavoro di editing senza alcuna cattura (capture_observation/memory_add nel transcript); in tutti gli altri casi emette {} (stop consentito).