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 — already referenced in Directory.Packages.props (v0.49.1). Use TextPrompt, SelectionPrompt<T>, 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
From dependency-consolidation audit, 2026-06-02.
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 — already referenced in
Directory.Packages.props(v0.49.1). UseTextPrompt,SelectionPrompt<T>, 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/ReadSecretbacked by Spectre.ConsoleConsolecursor/key handling removedProgram.Setup.cs,Program.Secrets.cs) behave identicallyFrom dependency-consolidation audit, 2026-06-02.