Objective
Replace multi-value collection flows in the interactive add wizard with huh.NewMultiSelect fields for better UX, instead of multiple sequential Select fields or CLI flag accumulation.
Context
From discussion #41645 (Terminal Stylist analysis): The add_interactive_workflow.go flow that collects tool selections would benefit from MultiSelect fields. The existing HuhTheme in pkg/styles/huh_theme.go already covers MultiSelectSelector, SelectedPrefix, and UnselectedPrefix styles — the plumbing is ready.
Approach
- Identify all places in
pkg/cli/add_interactive_workflow.go and pkg/cli/interactive.go where multiple sequential Select fields or CLI flag accumulation is used to collect a list of tool/option choices
- Replace each such pattern with
huh.NewMultiSelect[T]():
- Set
.Title(), .Description(), .Options() (using huh.NewOption(label, value) for each choice)
- Set
.Value(&selectedSlice) where selectedSlice is []T
- Apply
.WithTheme(styles.HuhTheme) and .WithAccessible(console.IsAccessibleMode()) consistent with the rest of the codebase
- Update any downstream code that consumed the old single-value selection to work with the new slice result
- Run
make fmt and make agent-report-progress to validate
Files to Modify
pkg/cli/add_interactive_workflow.go
pkg/cli/interactive.go (if applicable)
- Any other
pkg/cli/add_interactive_*.go files that have similar multi-value collection flows
Acceptance Criteria
Generated by 📋 Plan Command · 27.8 AIC · ⌖ 10.1 AIC · ⊞ 4.6K · ◷
Comment /plan to run again
Objective
Replace multi-value collection flows in the interactive add wizard with
huh.NewMultiSelectfields for better UX, instead of multiple sequentialSelectfields or CLI flag accumulation.Context
From discussion #41645 (Terminal Stylist analysis): The
add_interactive_workflow.goflow that collects tool selections would benefit fromMultiSelectfields. The existingHuhThemeinpkg/styles/huh_theme.goalready coversMultiSelectSelector,SelectedPrefix, andUnselectedPrefixstyles — the plumbing is ready.Approach
pkg/cli/add_interactive_workflow.goandpkg/cli/interactive.gowhere multiple sequentialSelectfields or CLI flag accumulation is used to collect a list of tool/option choiceshuh.NewMultiSelect[T]():.Title(),.Description(),.Options()(usinghuh.NewOption(label, value)for each choice).Value(&selectedSlice)whereselectedSliceis[]T.WithTheme(styles.HuhTheme)and.WithAccessible(console.IsAccessibleMode())consistent with the rest of the codebasemake fmtandmake agent-report-progressto validateFiles to Modify
pkg/cli/add_interactive_workflow.gopkg/cli/interactive.go(if applicable)pkg/cli/add_interactive_*.gofiles that have similar multi-value collection flowsAcceptance Criteria
huh.NewMultiSelectinstead of sequentialSelectfieldsWithThemeandWithAccessibleare applied consistentlymake agent-report-progresspasses