Phase 8 (Optional): Migrate to huh Forms for multi-field prompts
Overview
OPTIONAL: Enhance multi-field prompt experiences using huh.Form.
Why Optional?
After completing Phases 1-7, survey/v2 will be removed. This phase improves UX but isn't required for dependency removal.
Current Multi-Field Prompts
Files using survey.Question arrays:
internal/commands/mr/create/mr_create.go:416internal/commands/issue/create/issue_create.go:227internal/commands/release/create/create.go:391
Huh Forms Benefits
// BEFORE: Sequential questions
questions := []*survey.Question{
{Name: "title", Prompt: &survey.Input{...}},
{Name: "description", Prompt: &survey.Text{...}},
}
// AFTER: Grouped form
form := huh.NewForm(
huh.NewGroup(
huh.NewInput().Key("title").Title("Title:").Value(&title),
huh.NewText().Key("description").Title("Description:").Value(&desc),
),
)
form.Run()
Features:
- Field grouping and pages
- Conditional fields (skip based on previous answers)
- Better layout control
- Cross-field validation
- Progress indicators
Success Criteria
- Multi-field forms feel more cohesive
- Conditional logic works smoothly
- Validation across fields works
Effort: 3-4 days