Files
agent-wiki-ui/docs/ROADMAP.md
T

54 lines
3.4 KiB
Markdown
Raw Normal View History

2026-10-08 11:29:42 +02:00
# 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
2026-10-08 11:29:42 +02:00
- [ ] 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`
2026-10-08 11:29:42 +02:00
## 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`
2026-10-08 11:29:42 +02:00
## 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
2026-10-08 11:29:42 +02:00
- [ ] Config file accanto all'exe
- [ ] Test automatici e CI
## Fase 4 — Più motori (Claude Code, Codex, Antigravity)
Decisione, tabella dei comandi e rischi: [ADR-0002](adr/0002-motori-cli-claude-codex-antigravity.md). Qui solo i passi. Va fatta dopo (o insieme a) la Fase 5, che estrae il punto unico di avvio processo.
- [ ] Verificare con `--help` i flag reali di `codex` e `agy` su Windows e Linux (ADR-0002) e portare l'ADR a "Accettata"
- [ ] Astrazione "motore" in C#: `RunClaude` diventa `RunEngine(engine, ...)`
- [ ] Rilevamento dei motori nel PATH; motori assenti disabilitati, messaggio chiaro
- [ ] Il JSON di ogni chat memorizza il motore; cambiare motore apre una nuova chat
- [ ] GUI: schermata Impostazioni (motore, modello, effort) persistita su disco; modelli ed effort in base al motore; motore della chat indicato nell'interfaccia
- [ ] Motore Codex: lettura dell'id di sessione dall'output per la ripresa
- [ ] Motore Antigravity: gestione del blocco con output rediretto (timeout, errore chiaro)
- [ ] Politica dei permessi: sola lettura di default, opzione esplicita per concedere di più
- [ ] CLI: opzione `--engine`, coerente con la GUI
## Fase 5 — Multipiattaforma (Windows + Linux), GUI in solo C#
Decisione e motivazioni: [ADR-0001](adr/0001-gui-multipiattaforma-avalonia.md). Qui solo i passi.
- [ ] Chiudere le verifiche dell'ADR-0001 con un prototipo e portarlo a "Accettata"
- [ ] Nome dell'app in un solo punto del codice (costante usata per titolo finestra, cartella dati; `AssemblyName` nel csproj), così la rinomina segue la checklist di docs/README.md
- [ ] Target `net10.0` (non più `net10.0-windows`); rimuovere WinForms e WebView2
- [ ] Estrarre in un solo punto la logica di avvio di `claude` (cartella dell'exe, stdin chiuso), oggi duplicata tra `Program.cs` e `Gui.cs`
- [ ] Cronologia in `Environment.SpecialFolder.LocalApplicationData` (stesso formato JSON, chat esistenti ancora leggibili)
- [ ] GUI Avalonia: finestra, barra laterale delle chat, conversazione, composer con modello ed effort
- [ ] Rendering markdown in Avalonia (titoli, liste, tabelle, citazioni, codice), pulsante Copia, link nel browser di sistema
- [ ] Tema chiaro/scuro che segue il sistema, con i token di MVP.md → "Design (UI/UX)"
- [ ] Eliminare `ui.html` e il protocollo `WebMessage`
- [ ] Publish single-file self-contained `win-x64` e `linux-x64`, provati su entrambi i sistemi
- [ ] Aggiornare README.md e CLAUDE.md (comandi, architettura, vincoli) a migrazione conclusa