Skip to content

Add group titles and descriptions to interactive workflow form#7349

Merged
pelikhan merged 3 commits intomainfrom
copilot/add-group-titles-descriptions
Dec 23, 2025
Merged

Add group titles and descriptions to interactive workflow form#7349
pelikhan merged 3 commits intomainfrom
copilot/add-group-titles-descriptions

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Dec 23, 2025

The interactive workflow creation form presented all fields in a single undifferentiated flow. This adds visual organization using huh v0.7.0+ group titles and descriptions.

Changes

Consolidated form structure - Replaced 6 sequential single-field forms with one multi-group form:

// Before: Multiple separate forms
promptForTrigger() → promptForEngine() → promptForTools() → ...

// After: Single form with titled groups
huh.NewForm(
    huh.NewGroup(...).Title("Basic Configuration").Description("..."),
    huh.NewGroup(...).Title("Capabilities").Description("..."),
    huh.NewGroup(...).Title("Network & Security").Description("..."),
    huh.NewGroup(...).Title("Instructions").Description("..."),
)

Four logical sections:

  • Basic Configuration: Trigger and engine selection with description "Let's start with the fundamentals of your workflow"
  • Capabilities: Tools (including serena) and safe outputs multi-select with description "Select the tools and outputs your workflow needs"
  • Network & Security: Network access configuration with description "Configure network access and security settings"
  • Instructions: Workflow intent text area with description "Describe what you want this workflow to accomplish"

Code reduction - Removed 5 individual prompt methods, consolidated into single promptForConfiguration(). Net -48 lines.

Tool addition - Added serena code analysis tool to the available tools multi-select in the Capabilities group.

Accessibility mode support preserved via existing .WithAccessible() check.

Original prompt

This section details on the original issue you should resolve

<issue_title>[plan] Add group titles and descriptions to interactive form</issue_title>
<issue_description>## Objective

Add titles and descriptions to form groups using the huh v0.7.0+ feature to improve visual organization and user understanding.

Context

The current interactive form presents all fields in a single flow without clear section separation. Adding group titles and descriptions helps users understand what information is being collected and why.

Approach

Organize the form into logical sections with titles and descriptions:

huh.NewGroup(
    huh.NewInput().Title("Workflow Name"),
    huh.NewSelect[string]().Title("Trigger"),
    huh.NewSelect[string]().Title("Engine"),
).
Title("Basic Configuration").
Description("Let's start with the fundamentals of your workflow"),

huh.NewGroup(
    huh.NewMultiSelect[string]().Title("Tools"),
    huh.NewMultiSelect[string]().Title("Safe Outputs"),
).
Title("Capabilities").
Description("Select the tools and outputs your workflow needs"),

huh.NewGroup(
    huh.NewSelect[string]().Title("Network Access"),
    // Network-related fields
).
Title("Network & Security").
Description("Configure network access and security settings"),

huh.NewGroup(
    huh.NewText().Title("Workflow Intent"),
).
Title("Instructions").
Description("Describe what you want this workflow to accomplish"),

Files to Modify

  • Update: pkg/cli/interactive.go - Add group titles and descriptions

Acceptance Criteria

AI generated by Plan Command for discussion #7214

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Copilot AI changed the title [WIP] Add group titles and descriptions to interactive form Add group titles and descriptions to interactive workflow form Dec 23, 2025
Copilot AI requested a review from mnkiefer December 23, 2025 05:17
Copy link
Copy Markdown
Collaborator

@pelikhan pelikhan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot show how it renders when using the form

Comment thread pkg/cli/interactive.go
@@ -186,28 +138,7 @@ func (b *InteractiveWorkflowBuilder) promptForTools() error {
huh.NewOption("playwright - Browser automation tools", "playwright"),
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot add serena tool

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added serena tool to the tools multi-select options in commit b47c909.

The serena tool now appears in Group 2 (Capabilities) of the form:

Which tools should the AI have access to?
  ○ github - GitHub API tools
  ○ edit - File editing tools
  ○ bash - Shell command tools
  ○ web-fetch - Web content fetching tools
  ○ web-search - Web search tools
  ○ playwright - Browser automation tools
  ○ serena - Serena code analysis tool  ← NEW

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Dec 23, 2025

@copilot show how it renders when using the form

The form renders in 4 sequential groups, each with a title and description. Here's how it appears:

Group 1: Basic Configuration

┌────────────────────────────────────────────────────────────┐
│                    GROUP 1 OF 4                            │
│                                                            │
│  ╭────────────────────────────────────────────────────╮   │
│  │      Basic Configuration                           │   │
│  │  Let's start with the fundamentals of your workflow│   │
│  ╰────────────────────────────────────────────────────╯   │
│                                                            │
│  When should this workflow run?                           │
│    ❯ Manual trigger (workflow_dispatch)                   │
│      Issue opened or reopened                             │
│      Pull request opened or synchronized                  │
│      ...                                                  │
└────────────────────────────────────────────────────────────┘

Group 2: Capabilities

┌────────────────────────────────────────────────────────────┐
│                    GROUP 2 OF 4                            │
│                                                            │
│  ╭────────────────────────────────────────────────────╮   │
│  │         Capabilities                               │   │
│  │  Select the tools and outputs your workflow needs  │   │
│  ╰────────────────────────────────────────────────────╯   │
│                                                            │
│  Which tools should the AI have access to?                │
│    ○ github - GitHub API tools                            │
│  ❯ ● edit - File editing tools                            │
│    ● bash - Shell command tools                           │
│    ○ serena - Serena code analysis tool                   │
│    ...                                                    │
└────────────────────────────────────────────────────────────┘

Group 3: Network & Security

┌────────────────────────────────────────────────────────────┐
│                    GROUP 3 OF 4                            │
│                                                            │
│  ╭────────────────────────────────────────────────────╮   │
│  │      Network & Security                            │   │
│  │  Configure network access and security settings    │   │
│  ╰────────────────────────────────────────────────────╯   │
│                                                            │
│  What network access does the workflow need?              │
│    ❯ defaults - Basic infrastructure only                 │
│      ecosystem - Common development ecosystems            │
└────────────────────────────────────────────────────────────┘

Group 4: Instructions

┌────────────────────────────────────────────────────────────┐
│                    GROUP 4 OF 4                            │
│                                                            │
│  ╭────────────────────────────────────────────────────╮   │
│  │         Instructions                               │   │
│  │  Describe what you want this workflow to accomplish│   │
│  ╰────────────────────────────────────────────────────╯   │
│                                                            │
│  Describe what this workflow should do:                   │
│  ┌────────────────────────────────────────────────────┐   │
│  │ [Multi-line text editor for workflow description]  │   │
│  └────────────────────────────────────────────────────┘   │
└────────────────────────────────────────────────────────────┘

Key visual elements:

  • Progress indicator (GROUP X OF 4)
  • Boxed group titles with descriptions
  • Clear field labels
  • Selection indicators (❯ for current, ● for selected)
  • Smooth transitions between groups

Copilot AI requested a review from pelikhan December 23, 2025 05:48
@pelikhan pelikhan marked this pull request as ready for review December 23, 2025 06:10
@pelikhan pelikhan merged commit 6e28d28 into main Dec 23, 2025
4 checks passed
@pelikhan pelikhan deleted the copilot/add-group-titles-descriptions branch December 23, 2025 06:11
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.

[plan] Add group titles and descriptions to interactive form

3 participants