Files
agent-wiki-ui/docs/ROADMAP.md
T
davideandClaude Sonnet 5.5 1eb92c4aaf Aggiorna documentazione: roadmap con supporto a Codex e Antigravity
Aggiunge la Fase 4 alla roadmap (più motori, selezione dalle Impostazioni)
e un rimando nel fuori scope di MVP.md.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-08 13:52:22 +02:00

58 lines
3.9 KiB
Markdown

# Roadmap
Dettagli dell'MVP in [MVP.md](MVP.md).
## Fase 0 — Doc-first
- [x] Scrivere MVP.md e ROADMAP.md
- [ ] Chiudere le domande aperte in MVP.md
## Fase 1 — MVP
- [x] `dotnet new console`, `Program.cs` unico
- [x] Lancio di `claude -p` nella cartella dell'exe, streaming, exit code
- [ ] Publish single-file win-x64 e verifica dei criteri di accettazione
- [x] GUI a chat: conversazione markdown in alto, input in basso, sessione con `--session-id`/`--resume`
## Fase 2 — Robustezza
- [ ] Input del prompt da stdin e da file
- [ ] Timeout e cancellazione (Ctrl+C propagato al figlio)
- [x] GUI: scelta di modello (`--model`) ed effort (`--effort`)
- [ ] CLI: stesse opzioni; inoltre `--allowedTools`, `--output-format`
## Fase 3 — Oltre
- [x] GUI: cronologia chat (salvataggio JSON, barra laterale, riapertura con `--resume`, eliminazione)
- [ ] GUI: streaming della risposta (`--output-format stream-json`), stop, rinomina/ricerca chat
- [ ] Config file accanto all'exe
- [ ] Test automatici e CI
## Fase 4 — Più motori (Claude Code, Codex, Antigravity)
Obiettivo: oltre a Claude Code, usare **OpenAI Codex CLI** e **Antigravity CLI** (`agy`) dalla stessa chat, scegliendo il motore da una nuova schermata **Impostazioni** della GUI.
Flag delle tre CLI (da verificare con `--help` delle versioni installate: derivano da documentazione e ricerche, non da prove su questo PC, dove `codex` e `agy` non sono ancora installati):
| | Claude Code | Codex CLI | Antigravity CLI |
|---|---|---|---|
| Comando | `claude -p <prompt>` | `codex exec <prompt>` | `agy -p <prompt>` |
| Continuare | `--session-id <guid>` poi `--resume <guid>` | `codex exec resume <id> <prompt>` | da verificare |
| Modello | `--model` | `-m` / `--model` | da verificare |
| Effort | `--effort` | via `--config` (da verificare) | non noto |
**Architettura**
- [ ] Un'astrazione "motore" in C#: per ogni motore, eseguibile, argomenti per primo messaggio e per ripresa, elenco modelli, supporto effort, lettura dell'id di sessione. `RunClaude` diventa `RunEngine(engine, ...)`; la logica di avvio (cartella dell'exe, stdin chiuso) resta in un solo punto, eliminando la duplicazione CLI/GUI.
- [ ] Rilevamento dei motori installati (PATH) e messaggio chiaro se mancano; i motori assenti sono disabilitati nelle Impostazioni.
- [ ] Il file JSON di ogni chat memorizza il **motore**; riaprendo una chat si usa il suo motore. Il contesto di sessione non passa da un motore all'altro: cambiare motore apre una nuova chat.
**GUI: Impostazioni**
- [ ] Schermata/pannello Impostazioni (icona nella barra laterale) con selettore del **motore** attivo.
- [ ] Il selettore Modello mostra solo i modelli del motore scelto; Effort compare solo se il motore lo supporta.
- [ ] Impostazioni persistite su disco (motore, modello, effort), così si ritrovano alla riapertura. Si lega al "config file" della Fase 3.
- [ ] Il motore della chat aperta è indicato nell'interfaccia (etichetta sull'intestazione o sulla voce in elenco).
**Rischi e punti da verificare**
- [ ] **Codex**: l'id di sessione non lo sceglie l'app (lo genera Codex): va letto dall'output (probabilmente con l'output JSON) per poter riprendere la chat.
- [ ] **Antigravity**: segnalato un blocco di `agy -p` quando lanciato da sottoprocesso con output rediretto su Windows ([issue #318](https://github.com/google-antigravity/antigravity-cli/issues/318)); provare con un timeout (`--print-timeout`) e prevedere un messaggio d'errore. I flag vanno messi prima di `-p`.
- [ ] **Permessi**: Codex e Antigravity chiedono conferma per le azioni; in modalità non interattiva serve decidere una politica (sola lettura di default, opzione esplicita per concedere di più) invece di usare flag che saltano ogni controllo.
- [ ] Formato dell'output di ciascun motore (testo semplice o JSON) e normalizzazione prima del rendering markdown.
- [ ] Autenticazione: ogni CLI deve essere già autenticata; l'app non gestisce login.
- [ ] CLI (`LlmRun "prompt"`): opzione `--engine`, coerente con la GUI.