Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 17, 2025

CLI commands used inconsistent terminology for workflow identifiers: new used [workflow-base-name], remove used [pattern], while others used [workflow-id]. This created confusion about what argument format to provide.

Changes

  • Standardized parameter naming: All commands now use workflow-id terminology

    • new: [workflow-base-name][workflow-id]
    • remove: [pattern][workflow-id-pattern]
  • Added dual format support: Commands accept both basename and full filename

    • my-workflow (basename without extension)
    • my-workflow.md (full filename)
  • Normalized input handling: NewWorkflow() strips .md extension to prevent double extensions

  • Enhanced documentation: Help text now explains both accepted formats with examples

Example

# Both formats now work identically across all commands
gh aw new my-workflow
gh aw new my-workflow.md      # Normalized to my-workflow.md (not .md.md)

gh aw run test-workflow
gh aw run test-workflow.md

gh aw logs weekly-research
gh aw logs weekly-research.md

All changes are backward compatible.

Original prompt

This section details on the original issue you should resolve

<issue_title>[cli-consistency] Inconsistent terminology: "workflow-id" vs "workflow-name" vs "workflow-base-name"</issue_title>
<issue_description>## Issue Description

Type: Inconsistent terminology in CLI command help text
Priority: Medium
Commands Affected: logs, enable, disable, run, remove, new, update

Current Behavior

The CLI uses inconsistent terminology when referring to workflows in command arguments:

Commands using "workflow-id":

  • logs [workflow-id]
  • enable [workflow-id]...
  • disable [workflow-id]...
  • run (workflow-id)...
  • update [workflow-id]...

Commands using other terms:

  • remove [pattern] - uses "pattern"
  • new [workflow-base-name] - uses "workflow-base-name"

Explanation in help text:

The logs command Long description explains: "The workflow-id is the basename of the markdown file without the .md extension."

Expected Behavior

Consistent terminology across all CLI commands. Choose one term and use it everywhere:

  • Option 1: "workflow-id" (currently most common)
  • Option 2: "workflow-name" (more intuitive)
  • Option 3: "workflow" (shortest)

Suggested Fix

Recommended approach: Standardize on "workflow-id" since it's already used in most commands.

Changes needed:

  1. new command: Change [workflow-base-name] to [workflow-id]
  2. remove command: Consider changing [pattern] to [workflow-id-pattern] or keep as-is if it accepts regex patterns
  3. Documentation: Add a global note explaining that "workflow-id" is the basename of the .md file without extension

Alternative approach:

If "workflow-name" is preferred, update all commands to use this term instead.

Additional Context

This inconsistency may cause confusion for users trying to understand what argument to provide to different commands. Standardizing the terminology will improve the user experience and make the CLI more intuitive.

Source Code References:

  • cmd/gh-aw/main.go - lines 52, 107, 123, 142, 254, etc.
  • pkg/cli/logs.go - line 298
  • pkg/cli/update_command.go - line 24

AI generated by CLI Consistency Checker</issue_description>

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

@pelikhan @copilot review the code of each command to validate the parameter name should be. Commands should super both workflow-id and workflow-file-name.

💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix inconsistent terminology for workflow commands Standardize CLI workflow identifier terminology to workflow-id Nov 17, 2025
Copilot AI requested a review from pelikhan November 17, 2025 16:11
Copilot finished work on behalf of pelikhan November 17, 2025 16:11
@pelikhan pelikhan marked this pull request as ready for review November 17, 2025 16:54
Copilot AI review requested due to automatic review settings November 17, 2025 16:54
@pelikhan pelikhan merged commit 7747f91 into main Nov 17, 2025
148 checks passed
@pelikhan pelikhan deleted the copilot/fix-inconsistent-workflow-terms branch November 17, 2025 16:57
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR standardizes CLI terminology across all commands to consistently use workflow-id as the parameter name, replacing inconsistent terms like workflow-base-name and pattern. The changes improve usability by accepting both workflow basename (e.g., my-workflow) and full filename (e.g., my-workflow.md) formats, with normalization logic preventing double extensions.

Key Changes:

  • Unified parameter terminology to workflow-id across new, remove, enable, disable, run, logs, and update commands
  • Added dual format support accepting both basename and full filename formats
  • Implemented normalization in NewWorkflow() to strip .md extension

Reviewed Changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
cmd/gh-aw/main.go Updated command parameter names and help text to use workflow-id terminology consistently; added dual format support examples
pkg/cli/commands.go Added normalization logic in NewWorkflow() to strip .md extension from input
pkg/cli/commands_test.go Added test case for .md extension normalization and updated test assertions
pkg/cli/logs.go Updated help text to explain dual format support with examples
pkg/cli/update_command.go Updated help text to explain dual format support with examples

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

- aw.patch: Git patch of changes made during execution
- workflow-logs/: GitHub Actions workflow run logs (job logs organized in subdirectory)
The workflow-id is the basename of the markdown file without the .md extension.
Copy link

Copilot AI Nov 17, 2025

Choose a reason for hiding this comment

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

The removed line 'For example, for 'weekly-research.md', use 'weekly-research' as the workflow ID.' provided valuable clarification that's now missing. Consider preserving this explanatory example alongside the new dual-format information to maintain clarity about the relationship between filenames and workflow IDs.

Suggested change
The workflow-id is the basename of the markdown file without the .md extension.
The workflow-id is the basename of the markdown file without the .md extension.
For example, for 'weekly-research.md', use 'weekly-research' as the workflow ID.

Copilot uses AI. Check for mistakes.
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.

[cli-consistency] Inconsistent terminology: "workflow-id" vs "workflow-name" vs "workflow-base-name"

2 participants