-
Notifications
You must be signed in to change notification settings - Fork 46
Closed as not planned
Closed as not planned
Copy link
Labels
automationcode-qualitycookieIssue Monster Loves Cookies!Issue Monster Loves Cookies!enhancementNew feature or requestNew feature or requesttask-mininguser-experience
Description
Description
The console package currently uses Huh only for simple yes/no confirmations. Expanding to multi-field forms with validation would create a more cohesive, user-friendly workflow creation experience.
Current Limitation
// Current: Simple yes/no only
func ConfirmAction(title, affirmative, negative string) (bool, error) {
var confirmed bool
confirmForm := huh.NewForm(
huh.NewGroup(
huh.NewConfirm().
Title(title).
Affirmative(affirmative).
Negative(negative).
Value(&confirmed),
),
).WithAccessible(console.IsAccessibleMode())
return confirmForm.Run(), nil
}Suggested Changes
Create comprehensive form patterns for workflow configuration:
// Recommended pattern for complex inputs
func promptWorkflowConfig() (*WorkflowConfig, error) {
var cfg WorkflowConfig
form := huh.NewForm(
huh.NewGroup(
huh.NewInput().
Title("Workflow Name").
Value(&cfg.Name).
Validate(validateWorkflowName),
huh.NewSelect[string]().
Title("Trigger").
Options(
huh.NewOption("Manual (workflow_dispatch)", "workflow_dispatch"),
huh.NewOption("Issue opened", "issues"),
huh.NewOption("Pull request", "pull_request"),
).
Value(&cfg.Trigger),
huh.NewMultiSelect[string]().
Title("Required Tools").
Options(
huh.NewOption("GitHub API", "github"),
huh.NewOption("File editing", "edit"),
huh.NewOption("Shell commands", "bash"),
).
Value(&cfg.Tools),
huh.NewConfirm().
Title("Enable safe outputs?").
Value(&cfg.SafeOutputs),
),
).WithAccessible(console.IsAccessibleMode())
if err := form.Run(); err != nil {
return nil, err
}
return &cfg, nil
}Benefits
- Single coherent form flow (better than multiple prompts)
- Built-in validation
- Better keyboard navigation
- Consistent accessibility support
- Reduced user errors through validation
Files Affected
pkg/cli/add_interactive_*.gofiles (primary candidates for conversion)pkg/console/forms.go(new file for form helpers)pkg/console/forms_test.go(tests for form patterns)
Success Criteria
- Multi-field form helper functions implemented
- Validation helpers created for common patterns
- At least 2 interactive CLI commands converted to use new forms
- Accessibility mode support maintained
- Comprehensive tests for form validation
- All tests pass (
make test-unit) - User experience improved (single form vs multiple prompts)
Source
Extracted from Terminal Stylist Analysis discussion #13054 - High Priority Recommendation #1
Priority
High - Improves interactive workflow creation UX, leverages existing Charmbracelet infrastructure
AI generated by Discussion Task Miner - Code Quality Improvement Agent
- expires on Feb 15, 2026, 9:08 AM UTC
Metadata
Metadata
Assignees
Labels
automationcode-qualitycookieIssue Monster Loves Cookies!Issue Monster Loves Cookies!enhancementNew feature or requestNew feature or requesttask-mininguser-experience