Skip to main content

Pattern · Applications

Setup Wizard

Application recipe composed from public TermRock building blocks; domain state and effects remain host-owned.

Kind
pattern
Input
interactive
Canvas
120×40

Live preview

Loading terminal preview.

Static terminal poster. Choose Run live to start the Rust demo.

Ghosttysetup-wizard/welcome
Loading terminal poster…
○ loading posterNo input — rendered state only
Setup Wizard · exact mounted Rust story

01 · Purpose

What it is for

Application recipe composed from public TermRock building blocks; domain state and effects remain host-owned.

Best fit: Applications · application · Form · FormWizard · PermissionPrompt

02 · Behavior

What the mounted story proves

  1. 01

    SetupWizard

    Representative 120×40 terminal state.

  2. 02

    Passive paint

    No keyboard or pointer action is claimed by this representative story.

  3. 03

    Evidence stays explicit

    0 covered · 10 partial · 4 missing axes.

03 · Implement

Install, then start from exact code

Install

cargo add termrock --git https://github.com/tailrocks/termrock.git --rev 5283c2acf9154d0cfcd37b1ffe821c00faf90ea2

Add TermRock once. Keep domain effects in the host application.

Minimal implementation

Exact Rust setup used by setup-wizard/welcome.

Open to load code.

04 · Adapt

Variants and composition

Public building blocks

Form · FormWizard · PermissionPrompt · ThemePicker

Supporting types

Field · Fieldset · StatefulWidget · StepChangeReason · ThemePreset · Widget · WizardGate · WizardPhase · WizardProgress · WizardStep

05 · Reference

API, tokens, accessibility

API

SetupWizardOpen source ↗

Tokens

DesignSystemInspect exact story code for roles and capability projection.

Accessibility

Input contract mountedNo input claim in the representative story.

Contract

Evidence in progress0/23 axes covered

06 · Go deeper

Advanced guidance

Authored implementation guidance

Source-owned onboarding block (migration 0238). Composes FormWizard + Stepper with step-kind body paint. Domain values and auth stay host-owned.

When to use

Use SetupWizardPrefer
First-run product setupSingle-step Form / Dialog
Multi-phase onboarding with resumeFormWizard alone for generic multi-step
Inline setup in a paneFullscreen app root mode

Step kinds

Welcome · Capability · Account · Connection · Choices · Validation · Permission · Theme · Summary · Recovery · Custom

Modes

  • Fullscreen — root first-run with small safe margin
  • Inline — fill host pane

Laws

LawDetail
Safe cancelEsc → confirm strip; never one-shot leave
ResumeWizardProgress chrome only
Keyboard-onlyEnter/n next · p back · s skip · Ctrl+S save progress
No marketing splashOne-line welcome detail
Ownership boundary

TermRock owns reusable terminal rendering and interaction state. The host owns domain data, policy, persistence, authorization, and side effects.

Evidence status

0 covered, 10 partial, and 4 missing contract axes. Missing evidence is not a behavior claim.