A rigorous multi-agent coding framework and visual Control Room for Claude Code, OpenAI Codex, and Google Antigravity (AGY)
JavaScript
2
34 commits
updated Oct 3, 2026
Framework e Skill per l'avvio, coordinamento e orchestrazione di progetti di sviluppo multi-agente con Claude Code, Antigravity (AGY) e Codex CLI.
vibe_multiagent è una skill universale per lo sviluppo software assistito da AI, progettata per orchestrare team di agenti di codifica locali in abbonamento (senza costi API a consumo per token). Fornisce una rigida separazione dei ruoli, presidi meccanici di sicurezza (hook), Control Room visiva (dashboard.html) e una completa tracciabilità su disco tramite filesystem e Git.
💡 Dogfooding & Trasparenza: Questo intero framework, la suite di test e i presidi meccanici sono stati ideati, ingegnerizzati e collaudati in modalità multi-agente autonoma dagli stessi agenti AI (Google Antigravity AGY, Claude Code e OpenAI Codex CLI) sotto la costante supervisione e direzione architetturale umana di Alessandro Carducci (in pieno rispetto del principio Human-in-the-Loop / Direttore).
English Documentation (Documentazione in Inglese)
⭐ Ti piace questo framework? Lascia una stella (star) in alto a destra su GitHub: aiuta altri sviluppatori e team a scoprire il progetto!
Clona o copia la cartella della skill nel percorso delle skill del tuo ambiente:
# Linux/macOS
git clone https://github.com/acarducci65-svg/vibe-multiagent-public.git ~/.claude/skills/vibe_multiagent
# Windows (PowerShell)
git clone https://github.com/acarducci65-svg/vibe-multiagent-public.git "$HOME\.claude\skills\vibe_multiagent"
/vibe-multiagent)In Antigravity la skill può essere installata come Plugin globale (per averla sempre disponibile in tutti i progetti con il comando slash /vibe-multiagent) o direttamente nel singolo workspace:
# Opzione 1 (Consigliata) - Plugin Globale di Antigravity:
New-Item -ItemType Directory -Path "$HOME\.gemini\config\plugins\vibe-multiagent\skills" -Force
git clone https://github.com/acarducci65-svg/vibe-multiagent-public.git "$HOME\.gemini\config\plugins\vibe-multiagent\skills\vibe-multiagent"
Copy-Item "$HOME\.gemini\config\plugins\vibe-multiagent\skills\vibe-multiagent\plugin.json" "$HOME\.gemini\config\plugins\vibe-multiagent\plugin.json"
# Opzione 2 - Nel singolo Workspace di progetto:
git clone https://github.com/acarducci65-svg/vibe-multiagent-public.git .agents/skills/vibe-multiagent
(Dopo l'installazione globale, riavvia Antigravity o ricarica la finestra per indicizzare il comando)
INTEGRATO dopo aver rieseguito personalmente i test e le verifiche.git push, deploy, migrazioni), checkpoint automatici su disco ad ogni modifica e semaforo di quota preventivo.dashboard.html), telemetria di stato (state.json) e runner universale (runner.mjs) per eliminare l'effetto "scatola nera", monitorando la flotta, i log e l'avanzamento dei task in tempo reale.Durante la fase di setup iniziale, scegli l'ambiente operativo del progetto:
| # | Ambiente | Sede Operativa | Orchestratore & Integratore | Agenti Collaborativi | Caratteristiche & Presidi |
|---|---|---|---|---|---|
| A | VS Code + Claude Extension | VS Code | Claude Code (Capocantiere & Integratore) | Codex CLI, AGY CLI | Ideale se il flusso primario vive nell'estensione Claude di VS Code. |
| B | Antigravity IDE | Antigravity IDE | AGY (Dispatcher & Integratore) | Claude CLI, Codex CLI | AGY lancia gli esecutori in background, verifica e integra; presidi attivi via .agents/hooks.json. |
| C | Terminali Separati | Shell indipendenti | Claude Code (Capocantiere & Integratore) | Codex CLI, AGY CLI | Massimo isolamento visivo, coordinamento rigorosamente asincrono via file. |
Puoi avviare la procedura di setup in qualsiasi nuovo progetto o repository esistente:
Digita nel terminale o nella chat dell'estensione:
avvia progetto con vibe_multiagent
(o trigger equivalenti: "nuovo progetto multi-agente", "setup multiagente", "configura repo multi-agente")
Nella chat agentica di Antigravity, usa il comando slash nativo:
/vibe-multiagent
(oppure in linguaggio naturale: avvia setup progetto con vibe-multiagent)
L'agente caricherà il protocollo setup_skill.md e avvierà immediatamente l'intervista guidata.
L'intervista è il cuore della configurazione: raccoglie le decisioni architetturali, stabilisce i confini di sicurezza e mappa i ruoli e le limitazioni di ogni agente prima di creare qualsiasi file.
AskUserQuestion / ask_question).┌──────────────────────────────────────────────────────────────────────────────────┐
│ LE 12 DOMANDE DI SETUP │
├──────┬──────────────────────┬────────────────────────────────────────────────────┤
│ 0 │ Cartella e Git │ Dove risiede il progetto e se è già inizializzato │
│0-bis │ Ambiente di Lavoro │ Scelta tra Ambiente A, Ambiente B o Ambiente C │
│ 1 │ Problema e Valore │ Problema da risolvere e criterio di successo V1 │
│ 2 │ Utenti e Piattaforme │ Target (web, desktop, mobile, CLI) ed esperienza UX│
│ 3 │ Dati e Privacy │ Dati personali/sensibili, confini e GDPR │
│ 4 │ Stack Tecnologico │ Linguaggi, framework, database, librerie ammesse │
│ 5 │ Entità e Flussi │ Da 3 a 5 entità cardine e relazioni principali │
│ 6 │ Integrazioni │ API terze, device, servizi inclusi ed esclusi │
│ 7 │ Architettura e Test │ Pattern architetturali e strategia di test │
│ 8 │ Rilascio e CI/CD │ Branching, hosting, deploy e autorizzazioni utente │
│ 9 │ Agenti & Fornitori │ CLI disponibili, quote, fornitore e sostituzioni │
│ 10 │ Prima Milestone │ Primo sprint, task iniziali e decisioni riservate │
└──────┴──────────────────────┴────────────────────────────────────────────────────┘
.coord/). Se Git non è presente, chiede se inizializzarlo.Ambiente A: VS Code con Claude Code capocantiere e integratore.Ambiente B: Antigravity IDE con AGY dispatcher e integratore (con presidi hook).Ambiente C: Terminali separati con Claude Code capocantiere e integratore.claude, agy, codex).Prima di confermare l'intervista, la skill esegue verifiche diagnostiche sull'ambiente locale:
[Preflight Check]
├── 1. Risoluzione eseguibili CLI (path fisso vs PATH d'ambiente)
├── 2. Rilevamento sessioni terminali contaminate (ELECTRON_RUN_AS_NODE)
├── 3. Verifica configurazione .gitattributes (normalizzazione LF su Windows)
└── 4. (Ambiente B) Verifica integrità hook globali e cartelle .agents/
%LOCALAPPDATA%\agy\bin, %USERPROFILE%\.claude\..., npm global) evitando falsi allarmi di assenza..gitattributes contenga * text=auto eol=lf per evitare fallimenti di test dovuti a conversioni CRLF involontarie.Al termine dell'intervista, l'agente presenta un documento di sintesi contenente:
Regola Aurea: Nessun file viene scritto su disco finché l'utente non fornisce approvazione esplicita ("Sì" o modifiche).
mio-progetto/
├── AGENTS.md # Protocollo operativo e vincoli non negoziabili
├── .agents/ # (Solo Ambiente B - Antigravity IDE)
│ ├── hooks.json # Configurazione hook PreToolUse, PostToolUse, PreInvocation
│ └── rules/
│ └── multiagent-coordinator.md # Regola permanente di workspace per il Dispatcher/Integratore
└── .coord/ # Cartella di coordinamento del progetto
├── PROJECT.md # Fonte unica del contesto di business e architettura
├── CURRENT_SPRINT.md # Milestone attiva, criteri di completamento e rischi
├── DECISIONS.md # Registro decisionale progressivo (D-001, D-002, ...)
├── DISPATCH.md # (Solo Ambiente B) Manuale per il dispatcher AGY
├── agents/
│ ├── verifica-tecnica/agent.md # Ruolo Codex (se abilitato)
│ └── verifica-ui/agent.md # Ruolo AGY (se abilitato)
├── tasks/
│ └── T-001.md # Specifica del primo task con proprietario e punto di ripresa
└── handover/ # Cartella di consegna report di fine task
I divieti e le regole non sono mai affidati alla semplice "memoria" del modello, ma presidiati da script Node.js eseguiti nel ciclo di vita degli agenti:
.agents/hooks.json)agy-gate.mjs (PreToolUse): Intercetta ed esegue un deny immediato per comandi di pubblicazione (git push, npm publish), deploy cloud (Vercel, AWS, GCP), migrazioni database e flag che bypassano i permessi (--dangerously-skip-permissions). Chiede conferma (ask) per cancellazioni fuori dal workspace.agy-checkpoint.mjs (PostToolUse): Ad ogni scrittura o modifica di file, scrive automaticamente la riga - Fatti: <data> — modificati: <file> — ultimo commit: <hash> nel Punto di ripresa del task IN CORSO.agy-quota-banner.mjs (PreInvocation): Inietta ad ogni singolo turno il promemoria di ruolo perentorio (Coordinatore/Dispatcher & Integratore) per impedire all'agente di agire da programmatore singolo "a mano libera" su nuove richieste/bug, oltre al semaforo di quota Anthropic quando rilevante..agents/rules/multiagent-coordinator.md (Workspace Rule): Regola gerarchica permanente caricata nel system prompt di Antigravity che vieta la modifica diretta del codice applicativo e impone la canalizzazione via task.tools/claude-mod/ — Claude Code v2.1.287+)Con l'introduzione dei Claude Mods in-process e del supporto nativo per AGENTS.md (v2.1.277+), Claude Code ottiene la medesima parità meccanica di Antigravity:
tool.call Gate Interceptor: Blocca direttamente in-process l'esecuzione di comandi rischiosi su shell Bash (git push, publish, cloud deploy, cancellazioni distruttive o bypass dei permessi), permettendo solo comandi autorizzati o esplicitamente approvati dal Direttore.Edit e Write: All'atto della modifica di qualsiasi file applicativo o sorgente, aggiorna in tempo reale la sezione ## Punto di ripresa nel task IN CORSO con timestamp e percorso del file.ui.render Status Banner: Inietta un banner visuale nel terminale con lo Sprint corrente e il task attivo, ricordando a Claude il suo ruolo operativo.PARZIALE con salvataggio dello stato anziché interrompere bruscamente il codice.Per abilitare il Claude Mod nel tuo workspace Claude Code:
# Aggiungi il mod locale al repository
claude mod add ./tools/claude-mod
┌──────────┐
│ PRONTO │
└────┬─────┘
│ (Assegna proprietario + compila Punto di Ripresa)
▼
┌──────────┐ (Errore / Quota esaurita) ┌──────────┐
│ IN CORSO ├────────────────────────────────────►│ SOSPESO │
└────┬─────┘ └────┬─────┘
│ │ (Sostituzione o reset)
│ (Lavoro ultimato + Handover scritto) │
▼ │
┌────────────┐ │
│ CONSEGNATO │◄───────────────────────────────────────┘
└────┬───────┘
│ (SOLO l'Orchestratore dell'ambiente riesegue verifiche e test)
▼
┌───────────┐
│ INTEGRATO │
└───────────┘
Nei file task (TASK.md), il costo di sostituzione è suddiviso in due dimensioni distinte:
Agente di ripiego: nessuna sostituzione, attendere il reset
Il protocollo recepisce direttamente le evidenze empiriche maturate sul campo (in progetti complessi e applicazioni reali in produzione):
git status e i file modificati prima di considerare interrotto un task.-m) e Aggiornamenti: Specificare -m <modello> (es. -m gpt-6-astra o -m gpt-5.6-terra) e riverificare periodicamente con codex --version: i ripieghi temporanei vanno rimossi non appena il CLI si aggiorna.npm install) e blocca i sottoprocessi; per eseguire Vitest senza spawn EPERM, usare il comando npx vitest run --configLoader runner <file>.command(...) rende quasi impossibile pre-autorizzare comandi shell che dipendono da come l'agente li formatta (slash vs backslash, stdout vs file). Usare AGY CLI headless prioritariamente per task con file di input statici già su disco (read_file) o verifiche fisse e pre-approvate.agy models): Verificare sempre i modelli supportati con agy models (es. gemini-3.1-pro-high, gemini-3.8-flash-*) prima di forzare --model.settings.json."jetski: no output produced"), la lettura di transcript.jsonl nel blocco PLANNER_RESPONSE individua il comando negato in 1 minuto.commit, add, switch, merge), neppure su altri file (previene conflitti su index.lock).DECISIONS.md che introduce un ripiego temporaneo deve recare una data o condizione di riverifica per non trascinare workaround superati..git/ con retry automatico..coord/dashboard.html)Nelle sessioni con molteplici agenti esecutori (Codex, AGY CLI, Claude Code), l'attività in background può apparire come una "scatola nera". vibe_multiagent risolve alla radice il problema fornendo una Control Room interattiva locale:
{{DIR_COORD}}/dashboard.html, funziona interamente offline senza dipendenze npm esterne né CDN.Claude Code, Codex CLI, Antigravity AGY) e su quale task.tools/runner.mjs, permette di selezionare le schede dei task per leggere lo streaming in tempo reale di stdout/stderr con opzione di auto-scrolling.PRONTO, IN CORSO, CONSEGNATO, INTEGRATO, SOSPESO), i file riservati toccati e l'ultimo passo completato..coord/dashboard.html -> Open with Live Server, oppure Ctrl+Shift+P -> Simple Browser: Show.npx serve .coord o doppio clic sul file (supporta Drag & Drop di state.json in caso di policy restrittive file://).vibe_multiagent non raccoglie dati, non invia log o codice a server terzi proprietari. L'intero framework vive ed è eseguito sul filesystem locale. Lo script opzionale tools/quota-anthropic.mjs è disabilitato di default; solo se attivato esplicitamente con VIBE_ANTHROPIC_QUOTA=1, interroga l'endpoint api.anthropic.com con il token locale per verificare la quota token residua. Nessun codice, conversazione o dato di progetto viene mai trasmesso. Per maggiori dettagli, consulta SECURITY.md.vibe_multiagent è un progetto open-source indipendente sviluppato dalla community e non è affiliato, approvato, sponsorizzato o supportato ufficialmente da Anthropic, Google, OpenAI o Microsoft.
Il software viene fornito "così com'è" (AS IS), senza garanzie di alcun tipo, espresse o implicite. L'utente finale mantiene il pieno controllo e la responsabilità delle azioni, dei comandi shell eseguiti dalle CLI orchestrate e delle modifiche apportate ai propri repository.
Per verificare l'intera suite di strumenti meccanici e telemetrici multipiattaforma in un solo comando:
npm test
Oppure per eseguire i singoli moduli di test:
node tools/test/agy-gate.test.mjs
node tools/test/agy-checkpoint.test.mjs
node tools/test/quota-anthropic.test.mjs
node tools/test/agy-quota-banner.test.mjs
node tools/test/telemetry.test.mjs
node tools/test/runner.test.mjs
vibe-multiagent/
├── .github/
│ └── workflows/
│ └── ci.yml # CI multipiattaforma (Ubuntu, Windows, macOS)
├── .gitattributes # Normalizzazione LF cross-platform
├── .gitignore # Esclusioni per file volatili e telemetria
├── package.json # Definizione pacchetto e script npm test
├── LICENSE # Licenza MIT (Alessandro Carducci)
├── SECURITY.md # Policy di sicurezza e trasparenza quote
├── CONTRIBUTING.md # Guida per contributori esterni
├── CODE_OF_CONDUCT.md # Codice di condotta Contributor Covenant
├── README.md # Documentazione principale in italiano
├── README.en.md # Documentazione internazionale in inglese
├── SKILL.md # Entry point principale per Claude Code
├── setup_skill.md # Protocollo completo di intervista e setup
├── templates/ # Template per i file di progetto
│ ├── AGENTS.md.template
│ ├── AGENT_ROLE.md.template
│ ├── CURRENT_SPRINT.md.template
│ ├── dashboard.html.template # Control Room visiva interattiva (dark mode)
│ ├── DECISIONS.md.template
│ ├── DISPATCH.md.template # Guida operativa Dispatcher AGY (Ambiente B)
│ ├── HANDOVER.md.template
│ ├── hooks.json.template # Configurazione hook Antigravity (Ambiente B)
│ ├── multiagent-rule.md.template # Regola permanente di workspace Antigravity (Ambiente B)
│ ├── PROJECT.md.template
│ └── TASK.md.template
└── tools/ # Script per hook Antigravity, Claude Mod, runner & telemetria
├── claude-mod/ # In-process Claude Mod (Claude Code v2.1.287+)
│ ├── .claude-plugin/plugin.json
│ └── hooks/
│ ├── hooks.json
│ └── register.js # tool.call interceptor, checkpointing & status bar
├── agy-gate.mjs # Guardrail PreToolUse anti-distrazione
├── agy-checkpoint.mjs # Checkpoint PostToolUse dei fatti su disco
├── agy-quota-banner.mjs # Banner PreInvocation e semaforo quote
├── quota-anthropic.mjs # Sensore quota Claude (opt-in VIBE_ANTHROPIC_QUOTA=1)
├── runner.mjs # Runner universale con multiplexing streaming log
├── telemetry.mjs # Motore di telemetria e generazione state.json
└── test/ # Suite di test automatizzati per i tool
├── claude-mod.test.mjs
├── agy-gate.test.mjs
├── agy-checkpoint.test.mjs
├── agy-quota-banner.test.mjs
├── quota-anthropic.test.mjs
├── runner.test.mjs
└── telemetry.test.mjs
Accogliamo con favore contributi, issue e idee da parte della community:
Distribuito sotto licenza MIT © 2026 Alessandro Carducci. Consulta il file LICENSE per maggiori dettagli.
JavaScript
95.5%
PowerShell
4.5%
A rigorous multi-agent coding framework and visual Control Room for Claude Code, OpenAI Codex, and Google Antigravity (AGY)
JavaScript
2
34 commits
updated Oct 3, 2026
Framework e Skill per l'avvio, coordinamento e orchestrazione di progetti di sviluppo multi-agente con Claude Code, Antigravity (AGY) e Codex CLI.
vibe_multiagent è una skill universale per lo sviluppo software assistito da AI, progettata per orchestrare team di agenti di codifica locali in abbonamento (senza costi API a consumo per token). Fornisce una rigida separazione dei ruoli, presidi meccanici di sicurezza (hook), Control Room visiva (dashboard.html) e una completa tracciabilità su disco tramite filesystem e Git.
💡 Dogfooding & Trasparenza: Questo intero framework, la suite di test e i presidi meccanici sono stati ideati, ingegnerizzati e collaudati in modalità multi-agente autonoma dagli stessi agenti AI (Google Antigravity AGY, Claude Code e OpenAI Codex CLI) sotto la costante supervisione e direzione architetturale umana di Alessandro Carducci (in pieno rispetto del principio Human-in-the-Loop / Direttore).
English Documentation (Documentazione in Inglese)
⭐ Ti piace questo framework? Lascia una stella (star) in alto a destra su GitHub: aiuta altri sviluppatori e team a scoprire il progetto!
Clona o copia la cartella della skill nel percorso delle skill del tuo ambiente:
# Linux/macOS
git clone https://github.com/acarducci65-svg/vibe-multiagent-public.git ~/.claude/skills/vibe_multiagent
# Windows (PowerShell)
git clone https://github.com/acarducci65-svg/vibe-multiagent-public.git "$HOME\.claude\skills\vibe_multiagent"
/vibe-multiagent)In Antigravity la skill può essere installata come Plugin globale (per averla sempre disponibile in tutti i progetti con il comando slash /vibe-multiagent) o direttamente nel singolo workspace:
# Opzione 1 (Consigliata) - Plugin Globale di Antigravity:
New-Item -ItemType Directory -Path "$HOME\.gemini\config\plugins\vibe-multiagent\skills" -Force
git clone https://github.com/acarducci65-svg/vibe-multiagent-public.git "$HOME\.gemini\config\plugins\vibe-multiagent\skills\vibe-multiagent"
Copy-Item "$HOME\.gemini\config\plugins\vibe-multiagent\skills\vibe-multiagent\plugin.json" "$HOME\.gemini\config\plugins\vibe-multiagent\plugin.json"
# Opzione 2 - Nel singolo Workspace di progetto:
git clone https://github.com/acarducci65-svg/vibe-multiagent-public.git .agents/skills/vibe-multiagent
(Dopo l'installazione globale, riavvia Antigravity o ricarica la finestra per indicizzare il comando)
INTEGRATO dopo aver rieseguito personalmente i test e le verifiche.git push, deploy, migrazioni), checkpoint automatici su disco ad ogni modifica e semaforo di quota preventivo.dashboard.html), telemetria di stato (state.json) e runner universale (runner.mjs) per eliminare l'effetto "scatola nera", monitorando la flotta, i log e l'avanzamento dei task in tempo reale.Durante la fase di setup iniziale, scegli l'ambiente operativo del progetto:
| # | Ambiente | Sede Operativa | Orchestratore & Integratore | Agenti Collaborativi | Caratteristiche & Presidi |
|---|---|---|---|---|---|
| A | VS Code + Claude Extension | VS Code | Claude Code (Capocantiere & Integratore) | Codex CLI, AGY CLI | Ideale se il flusso primario vive nell'estensione Claude di VS Code. |
| B | Antigravity IDE | Antigravity IDE | AGY (Dispatcher & Integratore) | Claude CLI, Codex CLI | AGY lancia gli esecutori in background, verifica e integra; presidi attivi via .agents/hooks.json. |
| C | Terminali Separati | Shell indipendenti | Claude Code (Capocantiere & Integratore) | Codex CLI, AGY CLI | Massimo isolamento visivo, coordinamento rigorosamente asincrono via file. |
Puoi avviare la procedura di setup in qualsiasi nuovo progetto o repository esistente:
Digita nel terminale o nella chat dell'estensione:
avvia progetto con vibe_multiagent
(o trigger equivalenti: "nuovo progetto multi-agente", "setup multiagente", "configura repo multi-agente")
Nella chat agentica di Antigravity, usa il comando slash nativo:
/vibe-multiagent
(oppure in linguaggio naturale: avvia setup progetto con vibe-multiagent)
L'agente caricherà il protocollo setup_skill.md e avvierà immediatamente l'intervista guidata.
L'intervista è il cuore della configurazione: raccoglie le decisioni architetturali, stabilisce i confini di sicurezza e mappa i ruoli e le limitazioni di ogni agente prima di creare qualsiasi file.
AskUserQuestion / ask_question).┌──────────────────────────────────────────────────────────────────────────────────┐
│ LE 12 DOMANDE DI SETUP │
├──────┬──────────────────────┬────────────────────────────────────────────────────┤
│ 0 │ Cartella e Git │ Dove risiede il progetto e se è già inizializzato │
│0-bis │ Ambiente di Lavoro │ Scelta tra Ambiente A, Ambiente B o Ambiente C │
│ 1 │ Problema e Valore │ Problema da risolvere e criterio di successo V1 │
│ 2 │ Utenti e Piattaforme │ Target (web, desktop, mobile, CLI) ed esperienza UX│
│ 3 │ Dati e Privacy │ Dati personali/sensibili, confini e GDPR │
│ 4 │ Stack Tecnologico │ Linguaggi, framework, database, librerie ammesse │
│ 5 │ Entità e Flussi │ Da 3 a 5 entità cardine e relazioni principali │
│ 6 │ Integrazioni │ API terze, device, servizi inclusi ed esclusi │
│ 7 │ Architettura e Test │ Pattern architetturali e strategia di test │
│ 8 │ Rilascio e CI/CD │ Branching, hosting, deploy e autorizzazioni utente │
│ 9 │ Agenti & Fornitori │ CLI disponibili, quote, fornitore e sostituzioni │
│ 10 │ Prima Milestone │ Primo sprint, task iniziali e decisioni riservate │
└──────┴──────────────────────┴────────────────────────────────────────────────────┘
.coord/). Se Git non è presente, chiede se inizializzarlo.Ambiente A: VS Code con Claude Code capocantiere e integratore.Ambiente B: Antigravity IDE con AGY dispatcher e integratore (con presidi hook).Ambiente C: Terminali separati con Claude Code capocantiere e integratore.claude, agy, codex).Prima di confermare l'intervista, la skill esegue verifiche diagnostiche sull'ambiente locale:
[Preflight Check]
├── 1. Risoluzione eseguibili CLI (path fisso vs PATH d'ambiente)
├── 2. Rilevamento sessioni terminali contaminate (ELECTRON_RUN_AS_NODE)
├── 3. Verifica configurazione .gitattributes (normalizzazione LF su Windows)
└── 4. (Ambiente B) Verifica integrità hook globali e cartelle .agents/
%LOCALAPPDATA%\agy\bin, %USERPROFILE%\.claude\..., npm global) evitando falsi allarmi di assenza..gitattributes contenga * text=auto eol=lf per evitare fallimenti di test dovuti a conversioni CRLF involontarie.Al termine dell'intervista, l'agente presenta un documento di sintesi contenente:
Regola Aurea: Nessun file viene scritto su disco finché l'utente non fornisce approvazione esplicita ("Sì" o modifiche).
mio-progetto/
├── AGENTS.md # Protocollo operativo e vincoli non negoziabili
├── .agents/ # (Solo Ambiente B - Antigravity IDE)
│ ├── hooks.json # Configurazione hook PreToolUse, PostToolUse, PreInvocation
│ └── rules/
│ └── multiagent-coordinator.md # Regola permanente di workspace per il Dispatcher/Integratore
└── .coord/ # Cartella di coordinamento del progetto
├── PROJECT.md # Fonte unica del contesto di business e architettura
├── CURRENT_SPRINT.md # Milestone attiva, criteri di completamento e rischi
├── DECISIONS.md # Registro decisionale progressivo (D-001, D-002, ...)
├── DISPATCH.md # (Solo Ambiente B) Manuale per il dispatcher AGY
├── agents/
│ ├── verifica-tecnica/agent.md # Ruolo Codex (se abilitato)
│ └── verifica-ui/agent.md # Ruolo AGY (se abilitato)
├── tasks/
│ └── T-001.md # Specifica del primo task con proprietario e punto di ripresa
└── handover/ # Cartella di consegna report di fine task
I divieti e le regole non sono mai affidati alla semplice "memoria" del modello, ma presidiati da script Node.js eseguiti nel ciclo di vita degli agenti:
.agents/hooks.json)agy-gate.mjs (PreToolUse): Intercetta ed esegue un deny immediato per comandi di pubblicazione (git push, npm publish), deploy cloud (Vercel, AWS, GCP), migrazioni database e flag che bypassano i permessi (--dangerously-skip-permissions). Chiede conferma (ask) per cancellazioni fuori dal workspace.agy-checkpoint.mjs (PostToolUse): Ad ogni scrittura o modifica di file, scrive automaticamente la riga - Fatti: <data> — modificati: <file> — ultimo commit: <hash> nel Punto di ripresa del task IN CORSO.agy-quota-banner.mjs (PreInvocation): Inietta ad ogni singolo turno il promemoria di ruolo perentorio (Coordinatore/Dispatcher & Integratore) per impedire all'agente di agire da programmatore singolo "a mano libera" su nuove richieste/bug, oltre al semaforo di quota Anthropic quando rilevante..agents/rules/multiagent-coordinator.md (Workspace Rule): Regola gerarchica permanente caricata nel system prompt di Antigravity che vieta la modifica diretta del codice applicativo e impone la canalizzazione via task.tools/claude-mod/ — Claude Code v2.1.287+)Con l'introduzione dei Claude Mods in-process e del supporto nativo per AGENTS.md (v2.1.277+), Claude Code ottiene la medesima parità meccanica di Antigravity:
tool.call Gate Interceptor: Blocca direttamente in-process l'esecuzione di comandi rischiosi su shell Bash (git push, publish, cloud deploy, cancellazioni distruttive o bypass dei permessi), permettendo solo comandi autorizzati o esplicitamente approvati dal Direttore.Edit e Write: All'atto della modifica di qualsiasi file applicativo o sorgente, aggiorna in tempo reale la sezione ## Punto di ripresa nel task IN CORSO con timestamp e percorso del file.ui.render Status Banner: Inietta un banner visuale nel terminale con lo Sprint corrente e il task attivo, ricordando a Claude il suo ruolo operativo.PARZIALE con salvataggio dello stato anziché interrompere bruscamente il codice.Per abilitare il Claude Mod nel tuo workspace Claude Code:
# Aggiungi il mod locale al repository
claude mod add ./tools/claude-mod
┌──────────┐
│ PRONTO │
└────┬─────┘
│ (Assegna proprietario + compila Punto di Ripresa)
▼
┌──────────┐ (Errore / Quota esaurita) ┌──────────┐
│ IN CORSO ├────────────────────────────────────►│ SOSPESO │
└────┬─────┘ └────┬─────┘
│ │ (Sostituzione o reset)
│ (Lavoro ultimato + Handover scritto) │
▼ │
┌────────────┐ │
│ CONSEGNATO │◄───────────────────────────────────────┘
└────┬───────┘
│ (SOLO l'Orchestratore dell'ambiente riesegue verifiche e test)
▼
┌───────────┐
│ INTEGRATO │
└───────────┘
Nei file task (TASK.md), il costo di sostituzione è suddiviso in due dimensioni distinte:
Agente di ripiego: nessuna sostituzione, attendere il reset
Il protocollo recepisce direttamente le evidenze empiriche maturate sul campo (in progetti complessi e applicazioni reali in produzione):
git status e i file modificati prima di considerare interrotto un task.-m) e Aggiornamenti: Specificare -m <modello> (es. -m gpt-6-astra o -m gpt-5.6-terra) e riverificare periodicamente con codex --version: i ripieghi temporanei vanno rimossi non appena il CLI si aggiorna.npm install) e blocca i sottoprocessi; per eseguire Vitest senza spawn EPERM, usare il comando npx vitest run --configLoader runner <file>.command(...) rende quasi impossibile pre-autorizzare comandi shell che dipendono da come l'agente li formatta (slash vs backslash, stdout vs file). Usare AGY CLI headless prioritariamente per task con file di input statici già su disco (read_file) o verifiche fisse e pre-approvate.agy models): Verificare sempre i modelli supportati con agy models (es. gemini-3.1-pro-high, gemini-3.8-flash-*) prima di forzare --model.settings.json."jetski: no output produced"), la lettura di transcript.jsonl nel blocco PLANNER_RESPONSE individua il comando negato in 1 minuto.commit, add, switch, merge), neppure su altri file (previene conflitti su index.lock).DECISIONS.md che introduce un ripiego temporaneo deve recare una data o condizione di riverifica per non trascinare workaround superati..git/ con retry automatico..coord/dashboard.html)Nelle sessioni con molteplici agenti esecutori (Codex, AGY CLI, Claude Code), l'attività in background può apparire come una "scatola nera". vibe_multiagent risolve alla radice il problema fornendo una Control Room interattiva locale:
{{DIR_COORD}}/dashboard.html, funziona interamente offline senza dipendenze npm esterne né CDN.Claude Code, Codex CLI, Antigravity AGY) e su quale task.tools/runner.mjs, permette di selezionare le schede dei task per leggere lo streaming in tempo reale di stdout/stderr con opzione di auto-scrolling.PRONTO, IN CORSO, CONSEGNATO, INTEGRATO, SOSPESO), i file riservati toccati e l'ultimo passo completato..coord/dashboard.html -> Open with Live Server, oppure Ctrl+Shift+P -> Simple Browser: Show.npx serve .coord o doppio clic sul file (supporta Drag & Drop di state.json in caso di policy restrittive file://).vibe_multiagent non raccoglie dati, non invia log o codice a server terzi proprietari. L'intero framework vive ed è eseguito sul filesystem locale. Lo script opzionale tools/quota-anthropic.mjs è disabilitato di default; solo se attivato esplicitamente con VIBE_ANTHROPIC_QUOTA=1, interroga l'endpoint api.anthropic.com con il token locale per verificare la quota token residua. Nessun codice, conversazione o dato di progetto viene mai trasmesso. Per maggiori dettagli, consulta SECURITY.md.vibe_multiagent è un progetto open-source indipendente sviluppato dalla community e non è affiliato, approvato, sponsorizzato o supportato ufficialmente da Anthropic, Google, OpenAI o Microsoft.
Il software viene fornito "così com'è" (AS IS), senza garanzie di alcun tipo, espresse o implicite. L'utente finale mantiene il pieno controllo e la responsabilità delle azioni, dei comandi shell eseguiti dalle CLI orchestrate e delle modifiche apportate ai propri repository.
Per verificare l'intera suite di strumenti meccanici e telemetrici multipiattaforma in un solo comando:
npm test
Oppure per eseguire i singoli moduli di test:
node tools/test/agy-gate.test.mjs
node tools/test/agy-checkpoint.test.mjs
node tools/test/quota-anthropic.test.mjs
node tools/test/agy-quota-banner.test.mjs
node tools/test/telemetry.test.mjs
node tools/test/runner.test.mjs
vibe-multiagent/
├── .github/
│ └── workflows/
│ └── ci.yml # CI multipiattaforma (Ubuntu, Windows, macOS)
├── .gitattributes # Normalizzazione LF cross-platform
├── .gitignore # Esclusioni per file volatili e telemetria
├── package.json # Definizione pacchetto e script npm test
├── LICENSE # Licenza MIT (Alessandro Carducci)
├── SECURITY.md # Policy di sicurezza e trasparenza quote
├── CONTRIBUTING.md # Guida per contributori esterni
├── CODE_OF_CONDUCT.md # Codice di condotta Contributor Covenant
├── README.md # Documentazione principale in italiano
├── README.en.md # Documentazione internazionale in inglese
├── SKILL.md # Entry point principale per Claude Code
├── setup_skill.md # Protocollo completo di intervista e setup
├── templates/ # Template per i file di progetto
│ ├── AGENTS.md.template
│ ├── AGENT_ROLE.md.template
│ ├── CURRENT_SPRINT.md.template
│ ├── dashboard.html.template # Control Room visiva interattiva (dark mode)
│ ├── DECISIONS.md.template
│ ├── DISPATCH.md.template # Guida operativa Dispatcher AGY (Ambiente B)
│ ├── HANDOVER.md.template
│ ├── hooks.json.template # Configurazione hook Antigravity (Ambiente B)
│ ├── multiagent-rule.md.template # Regola permanente di workspace Antigravity (Ambiente B)
│ ├── PROJECT.md.template
│ └── TASK.md.template
└── tools/ # Script per hook Antigravity, Claude Mod, runner & telemetria
├── claude-mod/ # In-process Claude Mod (Claude Code v2.1.287+)
│ ├── .claude-plugin/plugin.json
│ └── hooks/
│ ├── hooks.json
│ └── register.js # tool.call interceptor, checkpointing & status bar
├── agy-gate.mjs # Guardrail PreToolUse anti-distrazione
├── agy-checkpoint.mjs # Checkpoint PostToolUse dei fatti su disco
├── agy-quota-banner.mjs # Banner PreInvocation e semaforo quote
├── quota-anthropic.mjs # Sensore quota Claude (opt-in VIBE_ANTHROPIC_QUOTA=1)
├── runner.mjs # Runner universale con multiplexing streaming log
├── telemetry.mjs # Motore di telemetria e generazione state.json
└── test/ # Suite di test automatizzati per i tool
├── claude-mod.test.mjs
├── agy-gate.test.mjs
├── agy-checkpoint.test.mjs
├── agy-quota-banner.test.mjs
├── quota-anthropic.test.mjs
├── runner.test.mjs
└── telemetry.test.mjs
Accogliamo con favore contributi, issue e idee da parte della community:
Distribuito sotto licenza MIT © 2026 Alessandro Carducci. Consulta il file LICENSE per maggiori dettagli.
JavaScript
95.5%
PowerShell
4.5%