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

3.9 KiB

Roadmap

Dettagli dell'MVP in MVP.md.

Fase 0 — Doc-first

  • Scrivere MVP.md e ROADMAP.md
  • Chiudere le domande aperte in MVP.md

Fase 1 — MVP

  • dotnet new console, Program.cs unico

  • Lancio di claude -p nella cartella dell'exe, streaming, exit code

  • Publish single-file win-x64 e verifica dei criteri di accettazione

  • 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)
  • GUI: scelta di modello (--model) ed effort (--effort)
  • CLI: stesse opzioni; inoltre --allowedTools, --output-format

Fase 3 — Oltre

  • 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); 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.