Skip to content

Replace matkoch.spectre.console with the upstream Spectre.Console package #78

Closed

Description

@ChrisonSimtian

Priority: high. Same concern as the SolutionPersistence fork — Fallout.GlobalTool's interactive surface depends on Matt's fork of Spectre.Console.

Current state

```xml

```

Used by `Fallout.GlobalTool` for `PromptForChoice`/`PromptForConfirmation`/`AnsiConsole.MarkupLine` in the interactive `:setup` and `:secrets` commands.

Upstream: `Spectre.Console` (https://www.nuget.org/packages/Spectre.Console/) — at v0.49+ as of this filing.

Investigation

  1. Check PromptForChoice / similar wrappers in src/Fallout.GlobalTool/ and what API surface they consume.
  2. Try a drop-in: swap the package, drop matkoch. prefix, restore.
  3. Diff what Matt's fork patches. The most likely reasons for a fork are either: a behavioural quirk Matt wanted, an API surface that didn't yet exist upstream, or a bug fix waiting to merge.
  4. If upstream API differs, refactor the small consumer surface in Fallout.GlobalTool rather than re-forking.

Done when

  • matkoch.spectre.console removed from Directory.Packages.props
  • Spectre.Console (upstream) added
  • Fallout.GlobalTool builds and dotnet fallout :setup runs interactively
  • No behavioural regressions in the prompts

Activity

  1. ChrisonSimtian commented on May 22, 2026

    @ChrisonSimtian
    CollaboratorAuthor

    Closed in 97ea857 — matkoch.spectre.console 0.46.0 → upstream Spectre.Console 0.49.1. API was drop-in identical for our AnsiConsole usage, no GlobalTool code changes needed. License URL repointed at spectreconsole/spectre.console.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions