Skip to content

feat: reshape init's wizard flags (7 -> 6)#15

Merged
REPPL merged 1 commit into
mainfrom
feat/v0.8.0-init-reshape
Jul 8, 2026
Merged

feat: reshape init's wizard flags (7 -> 6)#15
REPPL merged 1 commit into
mainfrom
feat/v0.8.0-init-reshape

Conversation

@REPPL

@REPPL REPPL commented Jul 8, 2026

Copy link
Copy Markdown
Owner

BREAKING (pre-1.0, no alias): reshapes ferry init's wizard flags 7 -> 6.

  • --no-wizard and --wizard-answers <file> fold into one --wizard=off|interactive|answers:<file> mode flag (off = skip the wizard; interactive = force the TUI, needs a tty pair; answers: = drive from a TOML file). Default (unset): interactive on a real tty pair, else off.
  • --yes narrows to confirmation-assent only — it assents to the --github repo-create confirm and the closing --apply, and no longer skips the wizard (use --wizard=off).
  • --repair unchanged in intent but now conflicts with --wizard=off rather than --yes, so --repair --yes on a terminal is valid and --repair --wizard=answers:<file> keeps the scripted-repair path.

Final init surface: --fresh, --apply, --github, --wizard, --yes, --repair.

Verified: gofmt/vet/go test ./.../full evals green; CLI reference regenerated; removed flags error as unknown; --wizard=bogus and --repair --wizard=off give clear errors; non-interactive init --github ... --yes intact. Reviewed for security (the --github repo-creation consent gate still requires --yes non-interactively — unchanged) and correctness (default path behaviour-preserving, --yes decoupled from the wizard, --repair validation across the full matrix).

BREAKING (pre-1.0, no alias): fold init's --no-wizard and --wizard-answers <file> into one --wizard=off|interactive|answers:<file> mode flag, and narrow --yes to confirmation-assent only. --wizard=off skips the wizard (was --no-wizard); --wizard=interactive forces the TUI; --wizard=answers:<file> drives it from a TOML file (was --wizard-answers); default (unset) is interactive on a real tty pair, else off. --yes no longer skips the wizard — it assents only to init's confirmations (the --github repo-create confirm and the closing --apply). --repair is unchanged but now conflicts with --wizard=off rather than --yes, so --repair --yes on a terminal is valid and --repair --wizard=answers:<file> keeps the scripted-repair path. Final init surface: --fresh, --apply, --github, --wizard, --yes, --repair; CLI reference regenerated.
@REPPL REPPL merged commit 9568bac into main Jul 8, 2026
12 checks passed
@REPPL REPPL deleted the feat/v0.8.0-init-reshape branch July 8, 2026 19:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant