Skip to content

v0.8.67 Setup: implement the setup wizard shell, navigation, resume, and /setup entry point #3404

Description

@Hmbown

Product shape

The wizard shell is the spine of setup: one overlay/controller that holds the step list, current step, per-step status (from the #3403 state model), and summary. To the user it should feel like a single guided flow with consistent back/next/skip/retry affordances and a live progress indicator — whether they hit it on first run or reopen it with /setup six months later. To implementers it is the contract that lets a new step plug in without reinventing navigation, persistence, or status rendering.

Concrete implementation surface

Non-goals

Safe fallback

  • Cancel / exit-without-saving leaves all config untouched (no partial writes; enforced via v0.8.67 Setup: config persistence, migration, secret handling, and rollback #3410).
  • Resume must not re-ask already-verified steps unless the underlying config changed since they were written.
  • If a step errors or panics, the shell returns to the step list with that step marked failed/needs_action — never a dead-end.

Problem

A full CodeWhale setup flow needs a reusable wizard shell before individual setup steps can be implemented cleanly. The shell should work for first-run onboarding and for existing users who run /setup later.

Scope

  • Add a setup wizard overlay/controller with step list, current step, completed/skipped/failed status, and summary state.
  • Add a /setup slash command or equivalent TUI entry point that opens the wizard without requiring a restart.
  • Decide CLI relationship with codewhale setup: reuse the same state model where practical, or document why CLI and TUI differ.
  • Support navigation: next, back, skip, retry, save/apply, cancel, and exit-without-saving where relevant.
  • Support resume of partial setup without re-asking completed steps unless config has changed.
  • Add tests for navigation state, skip/resume, cancellation, and status summarization.

Definition of done

  • Fresh install and existing-user setup both enter the same setup state model.
  • /setup opens the wizard from a normal TUI session.
  • Steps can be added without each one inventing navigation and persistence behavior.
  • Wizard shell tests cover step transitions, skip, retry, resume, cancel, and summary states.

Localization / UX

Doctor / docs expectations

Acceptance criteria

  • Fresh install and existing users enter the same state model and wizard.
  • /setup opens the wizard from a normal TUI session without a restart.
  • Navigation supports next, back, skip, retry, apply, and cancel; cancel changes nothing.
  • Partial setup can be interrupted and resumed with step state preserved; verified steps are not re-asked.
  • A new step can be added by implementing the step trait, without touching navigation or persistence.
  • Tests cover step transitions, skip, retry, resume, cancel, and summary states.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingenhancementNew feature or requestreliabilityReliability, flaky behavior, retries, fallbacks, and robustnesstuiTerminal UI behavior, rendering, or interactionuxUser experience, interaction, or presentation polishv0.8.67Targeting v0.8.67

    Projects

    Status
    Done

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions