32 lines
1.6 KiB
Markdown
32 lines
1.6 KiB
Markdown
# 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](docs/MVP.md). Fasi e stato: [docs/ROADMAP.md](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.
|