Nuovo ADR-0004: dalle Impostazioni l'app controlla se Claude Code e Codex
hanno una versione più recente (sorgenti ufficiali, cache di 5 minuti),
evidenzia il pulsante Aggiorna solo se serve e lo esegue con il comando
ufficiale, mostrando l'esito e il comando manuale adatto al metodo di
installazione. MVP, ROADMAP, INSTALL, README, CLAUDE.md e la matrice di
TESTING.md (righe UP) sono allineati; rimossi riferimenti obsoleti a
WinForms e RunClaude.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Introduce l'astrazione Engine (Claude Code, Codex) con argomenti e parser
propri e EngineRunner come unico punto di avvio, al posto di Claude.cs. Il
JSON delle chat salva motore e id di sessione (i file vecchi restano chat di
Claude Code). Cambiare CLI apre una nuova chat; modelli ed effort seguono il
motore; un motore non installato non è selezionabile. La CLI accetta
--engine <id>. Codex gira in sola lettura e la sessione si legge da
thread.started.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
ADR-0002 passa ad Accettata per Claude Code e Codex con l'esito delle prove
reali: id di sessione da thread.started, output JSONL, risposta = ultimo
agent_message, ripresa senza -s e sola lettura via sandbox_mode, -- prima del
prompt. MVP, ROADMAP, INSTALL e README descrivono l'interruttore CLI, la
nuova opzione --engine e il problema del modello predefinito che richiede un
Codex più recente. TESTING.md aggiunge le righe CX, EN e ST-12.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Aggiunge docs/INSTALL.md con requisiti, comandi per Linux, WSL e Windows,
accesso, verifica e risoluzione dei problemi di PATH. Insiste sul fatto che
il motore va installato nello stesso ambiente dell'app. Collegata da indice
dei doc, README e ADR-0002.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Modello ed effort lasciano il composer e passano in un riquadro a comparsa
aperto dal pulsante in alto a destra, simmetrico a quello della barra
laterale. Il composer resta con campo di testo e pulsante Invia sulla
stessa riga. Eliminati i suggerimenti della schermata iniziale. MVP.md e la
matrice di TESTING.md sono aggiornati di conseguenza.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Aggiunge ADR-0003 (xUnit, Avalonia.Headless, coverlet, FakeClaude come
doppio di claude, struttura src/tests) e docs/TESTING.md con la regola, le
soglie di copertura e la matrice requisito-test. Ogni criterio di
accettazione dell'MVP è collegato alle righe della matrice. La roadmap ha
la Fase 6 e CLAUDE.md rende obbligatori i test nello stesso commit.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Sostituisce WinForms, WebView2 e ui.html con una GUI Avalonia (XAML,
ViewModel, tema chiaro/scuro) e un renderer markdown che trasforma l'albero
di Markdig in controlli. Un solo progetto net10.0 per Windows e Linux, con
publish single-file compresso. L'avvio di claude è in un solo punto
(Core/Claude.cs) condiviso da CLI e GUI. Il nome dell'app viene
dall'AssemblyName; ChatStore migra la cartella dati LlmRun alla nuova.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
MVP.md descrive ora la GUI Avalonia al posto di WinForms/WebView2 e il
protocollo pagina-C# sparisce. ADR-0001 passa ad Accettata con l'esito delle
verifiche (renderer markdown proprio, perché Markdown.Avalonia è per Avalonia
11). Il nome ha un'unica sorgente in docs/README.md, con la checklist di
rinomina e la migrazione della cartella dati. README e CLAUDE.md seguono la
nuova struttura Core/Gui e i due publish single-file.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Introduce docs/adr con ADR-0001 (GUI in solo C# con Avalonia per Windows e
Linux) e ADR-0002 (Codex e Antigravity oltre a Claude Code), entrambi in
stato Proposta. Aggiunge docs/README.md come indice unico con regole SSOT e
checklist di rinomina, perché il nome del progetto non è ancora deciso.
La roadmap ha la nuova Fase 5 e la Fase 4 ora contiene solo i passi, con le
motivazioni spostate negli ADR.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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>
Ogni chat è salvata come JSON in %LOCALAPPDATA%\LlmRun\chats (nome file =
id di sessione di claude). La barra laterale elenca le chat, permette di
riaprirle con --resume e di eliminarle. Il messaggio dell'utente è
salvato subito, prima della risposta, e all'avvio si riapre l'ultima
conversazione. Documentazione e roadmap aggiornate.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Tutta la UI passa in ui.html (WebView2): header, schermata iniziale con
suggerimenti, composer a scheda con selettori modello/effort, messaggi
aggiunti al DOM senza ricaricare la pagina, pulsanti Copia, attesa
animata, tema chiaro/scuro di Windows. Gui.cs diventa un host sottile
che dialoga con la pagina via WebMessage. La finestra ha proporzioni
16:10 calcolate sull'area utile dello schermo. Documentazione aggiornata.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Sostituisce la GUI a singola richiesta con una chat in stile claude.ai:
conversazione in markdown (Markdig + WebView2) in alto, input in basso,
contesto mantenuto con --session-id / --resume. La GUI ora gira su un
thread STA, necessario a WebView2. Documentazione aggiornata.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>