Redesign wizard UI with gum (charmbracelet)

- Bootstrap gum automatically on first run (Arch/Debian/RHEL/Fedora/SUSE)
- utils.sh: replace all bash color helpers with gum equivalents
  - gum input for text prompts (with value pre-fill for defaults)
  - gum choose for selection menus
  - gum confirm for yes/no
  - gum spin for long-running operations
  - gum style/log for output (catppuccin mocha palette)
  - gum style for banners and summary box
- core.sh: spinner on git clone/pull
- workflow.sh: spinner on git clone
- prereqs.sh: spinner on package installs
- wizard.sh: double-border welcome banner, rounded summary box,
  success banner with next-steps panel

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Eli 2026-03-09 13:02:42 +01:00
commit 699087f08c
6 changed files with 267 additions and 243 deletions

View file

@ -12,7 +12,7 @@ generate_workflow() {
local preset="$5"
local workflow_dir="$project_dir/workflow"
info "Generating workflow config ($preset preset)..."
info "Generating workflow ($preset preset)..."
mkdir -p "$workflow_dir/agents"
mkdir -p "$workflow_dir/roles"
@ -111,7 +111,7 @@ Read \`project-docs/project-vision.md\` for project goals.
Use \`/sm <agent> "message"\` to send messages between agents.
EOF
success "Workflow generated at $workflow_dir"
success "Workflow generated"
}
_create_agent_dir() {
@ -159,8 +159,8 @@ clone_workflow() {
local repo_url="$2"
local workflow_dir="$project_dir/workflow"
info "Cloning workflow from $repo_url..."
git clone "$repo_url" "$workflow_dir" \
spin "Cloning workflow..." \
git clone "$repo_url" "$workflow_dir" \
|| die "Failed to clone workflow repo: $repo_url"
success "Workflow cloned to $workflow_dir"
success "Workflow cloned"
}