Files
agent-wiki-ui/CLAUDE.md
T
2026-10-08 12:17:57 +02:00

2.3 KiB

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Progetto

LlmRun: eseguibile C# (.NET 10, Windows) che invoca Claude Code (claude -p) da terminale. Senza argomenti apre una GUI WinForms, con argomenti funziona da CLI. Non è un repo git.

Workflow doc-first (obbligatorio)

  • Specifica e criteri di accettazione: docs/MVP.md. Fasi e stato: docs/ROADMAP.md. Uso: README.md.
  • Ad ogni richiesta di modifica: aggiornare prima i doc interessati (MVP.md, ROADMAP.md con le spunte, README.md se cambia l'uso), poi il codice, poi questo file se cambiano comandi, design o vincoli. Nessuna modifica deve lasciare i doc disallineati.

Comandi

  • Build: dotnet build (LlmRun.csproj, net10.0-windows, WinForms)
  • GUI: dotnet run; CLI: dotnet run -- "prompt"
  • Publish single-file: dotnet publish -c Release -r win-x64 --self-contained -p:PublishSingleFile=true
  • Test: non esistono ancora.

Architettura

Tutto in Program.cs: top-level statements per la CLI e la classe Gui (Form) per la GUI. Entrambe costruiscono un ProcessStartInfo per claude -p <prompt> con ArgumentList (niente quoting manuale). Nessuna dipendenza esterna.

  • CLI: stdout/stderr ereditati (streaming), exit code propagato, 127 se claude non è nel PATH.
  • GUI: output rediretto e mostrato riga per riga. Barra impostazioni con ComboBox modello (editabile, voci "Nome versione (id)"; lista hardcoded in Gui.Models, da aggiornare quando escono nuovi modelli) ed effort → --model / --effort, omessi se "predefinito".

Vincoli non ovvi

  • La working directory di claude deve essere la cartella dell'exe: usare AppContext.BaseDirectory, mai Environment.CurrentDirectory né Assembly.Location (vuoto in single-file).
  • Lo stdin di claude va redirezionato e chiuso subito, altrimenti aspetta 3s.
  • claude è un .exe nativo (~/.local/bin), avviabile direttamente. Se fosse claude.cmd serve cmd.exe /c.
  • La logica di avvio processo è duplicata tra CLI e GUI (volutamente, per restare in un file solo): se cambia, modificarla in entrambi i punti.

Skill del repo

.claude/settings.json abilita il plugin ui-ux-pro-max (marketplace nextlevelbuilder/ui-ux-pro-max-skill). Usarlo per le modifiche alla GUI WinForms (layout, usabilità, accessibilità).