Fallout-build / Fallout-build/Fallout
Replace ConsoleUtility prompts with Spectre.Console (already a dependency)
- Dominant language
- C#
- Stars
- 154
- Forks
- 19
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 15
Description
**Tier 1 — Replace.** `src/Fallout.Build/Utilities/ConsoleUtility.cs` (~143 LOC) hand-reimplements interactive prompts — `PromptForInput()`, `PromptForChoice()` (arrow-key selection), `ReadSecret()` — with raw console state management.
### Replace with
[**Spectre.Console**](https://www.nuget.org/packages/Spectre.Console) — **already referenced** in `Directory.Packages.props` (v0.49.1). Use `TextPrompt`, `SelectionPrompt`, and secret-masked prompts.
### Why this is the easiest win
Dependency already present, the code is internal, and ~80 LOC of manual console handling simply disappears with better cross-platform behaviour.
### Non-breaking
Internal utility — swap implementation, keep callers working. Target 2026 directly.
### Acceptance
- [ ] `PromptForInput` / `PromptForChoice` / `ReadSecret` backed by Spectre.Console
- [ ] Manual `Console` cursor/key handling removed
- [ ] Setup/secrets CLI flows (`Program.Setup.cs`, `Program.Secrets.cs`) behave identically
_From dependency-consolidation audit, 2026-06-02._
Contributor guide
Assessment
This issue has not been assessed yet.