Files
agent-wiki-ui/docs/MVP.md
T
2026-10-08 11:29:42 +02:00

1.5 KiB

MVP (doc-first)

Obiettivo

Eseguibile C# a riga di comando che inoltra un prompt a Claude Code (claude) lanciandolo nella directory dell'eseguibile, e ne mostra l'output.

Uso

llmrun.exe "spiega questo progetto"

Tutti gli argomenti sono uniti in un unico prompt.

Comportamento

  1. Se non ci sono argomenti: stampa l'uso ed esce con codice 2.
  2. Avvia claude -p <prompt> (modalità non interattiva) con WorkingDirectory = AppContext.BaseDirectory.
  3. Ritrasmette stdout e stderr del processo figlio in tempo reale.
  4. Esce con lo stesso exit code di claude.
  5. Se claude non è trovato: messaggio chiaro ed exit code 127.

Scelte tecniche

  • .NET 8+, un solo Program.cs, nessuna dipendenza esterna.
  • ProcessStartInfo.ArgumentList per passare il prompt (niente problemi di quoting).
  • Windows: claude è claude.cmd, quindi si avvia cmd.exe /c claude ....
  • Working dir: AppContext.BaseDirectory, non la cwd del chiamante.

Fuori scope (MVP)

Modalità interattiva, sessioni/--resume, config file, logging su file, test automatici, supporto Linux/macOS.

Criteri di accettazione

  • Eseguito da un'altra cartella, claude parte nella cartella dell'exe (verificabile chiedendo "pwd").
  • L'output appare in streaming, non solo alla fine.
  • L'exit code è propagato.
  • Un prompt con virgolette e spazi arriva intatto.

Domande aperte

  • Permessi: serve --allowedTools o --permission-mode per l'uso non interattivo?
  • Formato output: testo semplice o --output-format stream-json?