1.6 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Stato del progetto
Repository vuoto (nessun codice, nessun git). Obiettivo: MVP di un eseguibile C# che, "sotto il cofano", invoca Claude Code (CLI claude) da terminale.
Approccio doc-first
Prima si aggiorna la documentazione, poi il codice. Specifica e criteri di accettazione: docs/MVP.md. Fasi e stato: docs/ROADMAP.md. Se il codice diverge dall'MVP, aggiornare prima i doc.
Design deciso: un solo Program.cs, nessuna dipendenza, lancio di claude -p <prompt> con ProcessStartInfo.ArgumentList, output in streaming, exit code propagato.
Requisito chiave
Claude Code deve essere lanciato con working directory = la directory in cui risiede l'eseguibile, non la current directory del chiamante. In C# usare AppContext.BaseDirectory (non Environment.CurrentDirectory) come ProcessStartInfo.WorkingDirectory.
Nota: con single-file publish Assembly.Location è vuoto, quindi AppContext.BaseDirectory è la scelta corretta.
Comandi (da .NET SDK, una volta creato il progetto)
- Build:
dotnet build - Run:
dotnet run - Publish single-file:
dotnet publish -c Release -r win-x64 --self-contained -p:PublishSingleFile=true
Aggiornare questa sezione quando esisteranno il .csproj e i test.
Ambiente
Windows. claude è installato come script npm (claude.cmd): con Process.Start e UseShellExecute=false può servire lanciare via cmd.exe /c claude ... oppure risolvere il percorso completo, altrimenti il processo non viene trovato.