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>
43 lines
3.2 KiB
Markdown
43 lines
3.2 KiB
Markdown
# Documentazione
|
|
|
|
Indice e regole. Ogni informazione vive in **un solo documento**; gli altri la richiamano con un link.
|
|
|
|
| Documento | Contenuto (sorgente di verità per…) |
|
|
|---|---|
|
|
| [../README.md](../README.md) | Uso, requisiti, build e publish |
|
|
| [MVP.md](MVP.md) | Specifica funzionale, design UI/UX, criteri di accettazione |
|
|
| [INSTALL.md](INSTALL.md) | Come installare e autenticare i motori (Claude Code, Codex), verifica e problemi comuni |
|
|
| [TESTING.md](TESTING.md) | Piano dei test: regola "nuova funzione = nuovi test", soglie di copertura, matrice requisito → test |
|
|
| [ROADMAP.md](ROADMAP.md) | Fasi e stato (spunte); solo passi, mai motivazioni |
|
|
| `adr/NNNN-*.md` | Decisioni architetturali e loro motivazioni (indice sotto) |
|
|
| [../CLAUDE.md](../CLAUDE.md) | Guida per Claude Code: comandi, architettura del codice, vincoli |
|
|
|
|
## Nome del progetto
|
|
Il nome è **`agent-wiki-ui`** (prima `LlmRun`). Questa sezione è l'unica sorgente: gli altri doc scrivono "l'app" o `<nome-app>`.
|
|
|
|
Se il nome cambia di nuovo, aggiornare solo questi punti:
|
|
- [ ] `AssemblyName` in [../agent-wiki-ui.csproj](../agent-wiki-ui.csproj) (e il nome del file csproj): da lì il codice legge il nome (`Core/AppInfo.cs`) per titolo finestra, intestazione della barra laterale e cartella dati; l'eseguibile diventa `<nome-app>.exe` / `<nome-app>`
|
|
- [ ] `RootNamespace` e namespace C# (`AgentWikiUi.*`, anche in `x:Class` e `xmlns` dei file `.axaml`): il nome del namespace non può avere trattini
|
|
- [ ] **Cartella dati** `<LocalApplicationData>/<nome-app>/chats`: cambiando nome le chat salvate non si trovano più. `ChatStore` sposta una vecchia cartella (`LlmRun`) in quella nuova al primo avvio; per un nuovo cambio aggiungere il nome precedente all'elenco `LegacyNames`
|
|
- [ ] Titolo di [../README.md](../README.md) e riga iniziale di [../CLAUDE.md](../CLAUDE.md) (nome del csproj nei comandi)
|
|
|
|
## Flusso (doc-first, doc-as-code)
|
|
1. Prima i doc, poi i test, poi il codice: ADR (se c'è una scelta architetturale) → MVP → matrice in [TESTING.md](TESTING.md) → test → codice → ROADMAP → README → CLAUDE.md.
|
|
Nessuna funzione è finita senza test che la coprono, nello stesso commit.
|
|
2. I doc stanno nel repo e cambiano con lo stesso commit del codice a cui si riferiscono.
|
|
3. Una modifica non deve lasciare i doc disallineati.
|
|
|
|
## Regole degli ADR
|
|
- Un file per decisione, `adr/NNNN-titolo-breve.md`, numerazione progressiva.
|
|
- Stati: `Proposta` → `Accettata` → eventualmente `Sostituita da ADR-NNNN` o `Rifiutata`.
|
|
- Un ADR accettato non si riscrive: se la decisione cambia se ne scrive uno nuovo che lo sostituisce e si aggiorna lo stato del vecchio.
|
|
- Sezioni: Contesto, Criteri, Opzioni, Decisione, Conseguenze, Da verificare, Riferimenti.
|
|
|
|
## Indice ADR
|
|
| ADR | Titolo | Stato |
|
|
|---|---|---|
|
|
| [0001](adr/0001-gui-multipiattaforma-avalonia.md) | GUI multipiattaforma in solo C# con Avalonia | Accettata |
|
|
| [0002](adr/0002-motori-cli-claude-codex-antigravity.md) | Più motori CLI (Claude Code, Codex, Antigravity) su Windows e Linux | Accettata (Claude Code, Codex) |
|
|
| [0003](adr/0003-strategia-di-test.md) | Strategia di test e regola "nuova funzione = nuovi test" | Proposta |
|
|
| [0004](adr/0004-aggiornamento-dei-cli.md) | Aggiornamento dei CLI dalle Impostazioni | Proposta |
|