Compatibilità con Antigravity CLI (agy) #1

Open
opened 2026-10-15 12:30:02 +02:00 by davide · 0 comments
Owner

Obiettivo

Usare Antigravity dalla stessa chat, scegliendolo con l'interruttore CLI nelle Impostazioni e da riga di comando con --engine agy, con le stesse regole degli altri motori: una chat = un motore, sola lettura di default, rilevamento nel PATH, aggiornamento dalle Impostazioni.

Da verificare prima di scrivere codice

Serve agy installato e autenticato, nello stesso ambiente dell'app (Windows e Linux).

  • Comando non interattivo: agy -p <prompt> (i flag vanno prima di -p).
  • Ripresa della sessione: flag e formato dell'id (scelto dall'app o generato da agy?).
  • Scelta del modello e dell'effort: flag disponibili, elenco dei modelli, modello più piccolo.
  • Formato dell'output: testo o JSON/JSONL, dove sta la risposta e come si riconosce un errore.
  • Permessi: come ottenere la sola lettura senza flag che saltano i controlli.
  • Forma dell'eseguibile su Windows: .exe nativo o script .cmd (l'app avvia direttamente, senza cmd /c).
  • Comando di aggiornamento e sorgente dell'ultima versione, per la sezione Aggiornamenti (ADR-0004).
  • Blocco noto: agy -p si blocca da sottoprocesso con output rediretto su Windows (issue #318). Provare con --print-timeout, anche su Linux, e decidere timeout ed errore chiaro.
  • Stdin: se serve chiuderlo subito, come per gli altri motori.

Compiti (nell'ordine doc-first)

  1. Aggiornare ADR-0002 con l'esito delle prove (tabella dei comandi e rischi) e portarlo ad "Accettata" anche per Antigravity.
  2. Aggiornare docs/MVP.md, docs/ROADMAP.md, docs/INSTALL.md (installazione e accesso di agy) e docs/PROJECT_STATE.md.
  3. Aggiungere le righe alla matrice di docs/TESTING.md (famiglia EN, più righe specifiche come per Codex).
  4. Scrivere i test (argomenti, parser dell'output con esempi reali, gestione del blocco/timeout) prima del codice.
  5. Implementare AntigravityEngine in Core/Engine.cs (argomenti, parser, modelli, effort, DefaultModelId, versione più recente) e registrarlo in Engines.
  6. Aggiornare AGENT.md (architettura e vincoli) e il README.

Criteri di accettazione

  • Dalle Impostazioni si seleziona "Antigravity"; se agy manca è "non installato" e non selezionabile.
  • Primo messaggio e ripresa funzionano con un agy reale, su Linux e su Windows.
  • --engine agy "prompt" funziona da CLI; exit code 127 se agy manca.
  • Un blocco di agy non congela l'interfaccia: dopo il timeout compare un errore chiaro nella chat.
  • Il JSON della chat salva Engine = "agy" e l'id di sessione; le chat esistenti restano leggibili.
  • Sezione Aggiornamenti: versione, controllo e pulsante Aggiorna anche per agy.
  • Test automatici scritti e verdi su Windows e Linux; doc allineati nello stesso commit.

Rischi

  • Flag e formati di agy possono cambiare o essere poco documentati: serve il parser prudente (righe sconosciute ignorate), come per Codex.
  • L'issue #318 potrebbe renderlo inutilizzabile con output catturato su Windows: in quel caso va documentato come limite e deciso un aggiornamento dell'ADR.
  • La mappatura dell'effort potrebbe non esistere: in tal caso il controllo si nasconde per questo motore.

Fuori ambito

Permessi di scrittura, streaming della risposta, impostazioni salvate su disco (voci separate della ROADMAP).

## Obiettivo Usare Antigravity dalla stessa chat, scegliendolo con l'interruttore **CLI** nelle Impostazioni e da riga di comando con `--engine agy`, con le stesse regole degli altri motori: una chat = un motore, sola lettura di default, rilevamento nel PATH, aggiornamento dalle Impostazioni. ## Da verificare prima di scrivere codice Serve `agy` installato e autenticato, nello stesso ambiente dell'app (Windows e Linux). - [ ] Comando non interattivo: `agy -p <prompt>` (i flag vanno **prima** di `-p`). - [ ] Ripresa della sessione: flag e formato dell'id (scelto dall'app o generato da `agy`?). - [ ] Scelta del modello e dell'effort: flag disponibili, elenco dei modelli, modello più piccolo. - [ ] Formato dell'output: testo o JSON/JSONL, dove sta la risposta e come si riconosce un errore. - [ ] Permessi: come ottenere la sola lettura senza flag che saltano i controlli. - [ ] Forma dell'eseguibile su Windows: `.exe` nativo o script `.cmd` (l'app avvia direttamente, senza `cmd /c`). - [ ] Comando di aggiornamento e sorgente dell'ultima versione, per la sezione Aggiornamenti ([ADR-0004](docs/adr/0004-aggiornamento-dei-cli.md)). - [ ] **Blocco noto**: `agy -p` si blocca da sottoprocesso con output rediretto su Windows ([issue #318](https://github.com/google-antigravity/antigravity-cli/issues/318)). Provare con `--print-timeout`, anche su Linux, e decidere timeout ed errore chiaro. - [ ] Stdin: se serve chiuderlo subito, come per gli altri motori. ## Compiti (nell'ordine doc-first) 1. [ ] Aggiornare [ADR-0002](docs/adr/0002-motori-cli-claude-codex-antigravity.md) con l'esito delle prove (tabella dei comandi e rischi) e portarlo ad "Accettata" anche per Antigravity. 2. [ ] Aggiornare `docs/MVP.md`, `docs/ROADMAP.md`, `docs/INSTALL.md` (installazione e accesso di `agy`) e `docs/PROJECT_STATE.md`. 3. [ ] Aggiungere le righe alla matrice di `docs/TESTING.md` (famiglia EN, più righe specifiche come per Codex). 4. [ ] Scrivere i test (argomenti, parser dell'output con esempi reali, gestione del blocco/timeout) prima del codice. 5. [ ] Implementare `AntigravityEngine` in `Core/Engine.cs` (argomenti, parser, modelli, effort, `DefaultModelId`, versione più recente) e registrarlo in `Engines`. 6. [ ] Aggiornare `AGENT.md` (architettura e vincoli) e il README. ## Criteri di accettazione - [ ] Dalle Impostazioni si seleziona "Antigravity"; se `agy` manca è "non installato" e non selezionabile. - [ ] Primo messaggio e ripresa funzionano con un `agy` reale, su Linux e su Windows. - [ ] `--engine agy "prompt"` funziona da CLI; exit code 127 se `agy` manca. - [ ] Un blocco di `agy` non congela l'interfaccia: dopo il timeout compare un errore chiaro nella chat. - [ ] Il JSON della chat salva `Engine = "agy"` e l'id di sessione; le chat esistenti restano leggibili. - [ ] Sezione Aggiornamenti: versione, controllo e pulsante Aggiorna anche per `agy`. - [ ] Test automatici scritti e verdi su Windows e Linux; doc allineati nello stesso commit. ## Rischi - Flag e formati di `agy` possono cambiare o essere poco documentati: serve il parser prudente (righe sconosciute ignorate), come per Codex. - L'issue #318 potrebbe renderlo inutilizzabile con output catturato su Windows: in quel caso va documentato come limite e deciso un aggiornamento dell'ADR. - La mappatura dell'effort potrebbe non esistere: in tal caso il controllo si nasconde per questo motore. ## Fuori ambito Permessi di scrittura, streaming della risposta, impostazioni salvate su disco (voci separate della ROADMAP).
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: davide/agent-wiki-ui#1