Skip to content

Remove the conflicting -l shorthand from project new - #74561

Merged
pelikhan merged 2 commits into
mainfrom
copilot/cli-consistency-fix-flag-naming
Nov 3, 2026
Merged

pelikhan merged 2 commits into
mainfrom
copilot/cli-consistency-fix-flag-naming

Conversation

Copilot AI commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

-l was used for both --logical-repo and project new --link, making the shorthand inconsistent across the CLI.

  • Change: Keep --link as a long option and remove its -l shorthand.
  • Example:
    gh aw project new "Bugs" --owner myorg --link myorg/myrepo

Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix CLI consistency issues with flag naming Remove the conflicting -l shorthand from project new Nov 3, 2026
Copilot AI requested a review from gh-aw-bot November 3, 2026 16:33
@pelikhan
pelikhan marked this pull request as ready for review November 3, 2026 22:03
Copilot AI auto review requested due to automatic review settings November 3, 2026 22:03
@github-actions

github-actions Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

✅ PR Code Quality Reviewer completed the code quality review.

🔎 Code quality review by PR Code Quality Reviewer

@github-actions

github-actions Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

✅ Ponytail Reviewer completed successfully!

Ponytail Reviewer

Outcome: reported_no_action

The agent completed and reported no action. A no-op output alone does not verify that all required work was completed or that publication was possible.

Agent messages are omitted from this comment. The category uses structured run status, not interpretation of agent prose.

Generated from Ponytail Reviewer · routed: gpt56 max · ~2 AIC · ⌖ ~1 AIC · ⊞ 118 · ◷

Generated by Ponytail Reviewer for #74561

@github-actions

github-actions Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

✅ Design Decision Gate 🏗️ completed the design decision gate check. See the comment below for the result and any generated ADR draft.

Design Decision Gate 🏗️

Outcome: reported_no_action

The agent completed and reported no action. A no-op output alone does not verify that all required work was completed or that publication was possible.

Agent messages are omitted from this comment. The category uses structured run status, not interpretation of agent prose.

Generated from Design Decision Gate 🏗️ · routed: gpt56 max · ~1 AIC · ⌖ ~2 AIC · ⊞ 7.7K · ◷

🏗️ ADR gate enforced by Design Decision Gate 🏗️

@github-actions

github-actions Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

✅ Test Quality Sentinel completed test quality analysis.

Test Quality Sentinel

Outcome: reported_no_action

The agent completed and reported no action. A no-op output alone does not verify that all required work was completed or that publication was possible.

Agent messages are omitted from this comment. The category uses structured run status, not interpretation of agent prose.

Generated from Test Quality Sentinel · haiku45 · ~6 AIC · ⌖ ~13 AIC · ⊞ 9.4K · ◷

🧪 Test quality analysis by Test Quality Sentinel

@github-actions

github-actions Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

🧠 Matt Pocock Skills Reviewer has completed the skills-based review. ✅

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer

@github-actions

github-actions Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

Comment Memory

Peek at saved memory (pr-code-quality-reviewer)
reviewed_at: 2026-11-03T22:08:01Z
review_event: COMMENT
top_themes: [CLI compatibility, inaccurate flag-conflict rationale]
files_reviewed: [pkg/cli/project_command.go, pkg/cli/project_command_test.go]
comment_count: 1

Note

This comment is managed by comment memory.

Expand the saved memory block to view or edit the persistent context for this thread.
Edit only the text inside the backtick fences; workflow metadata and the footer are regenerated automatically.

Learn more about comment memory

🔎 Code quality review by PR Code Quality Reviewer · copilot · gpt50 · ~2 AIC · ⌖ ~1 AIC · ⊞ 1.6K · ◷
Comment /review to run again

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review complete: the flag removal introduces a compatibility break without resolving an intra-command collision.

Highlights
  • --logical-repo and --link are on different commands, so the claimed collision does not occur within project new.
  • Existing project new -l ... invocations now fail; retain the shorthand or document a deliberate breaking change and migration path.

🔎 Code quality review by PR Code Quality Reviewer · copilot · gpt50 · ~2 AIC · ⌖ ~1 AIC · ⊞ 1.6K
Comment /review to run again


cmd.Flags().String("owner", "", "Project owner: '@me' for current user or organization name (required)")
cmd.Flags().StringP("link", "l", "", "Repository to link project to (format: owner/repo)")
cmd.Flags().String("link", "", "Repository to link project to (format: owner/repo)")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Removing -l breaks existing scripts without resolving an actual flag collision: --logical-repo belongs to the separate trial command, so users of gh aw project new ... -l owner/repo now get an unknown-flag error for no intra-command conflict.

💡 Preserve compatibility or document the intentional breaking change

Either retain the existing shorthand for project new, or provide a clear deprecation/migration path and release documentation if removing it is required. The current test only codifies removal and does not protect the user-facing compatibility decision.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Skills-Based Review 🧠

Applied /tdd and /codebase-design. The change is correct and tight: it matches the existing --owner precedent (no shorthand), the test now asserts the new behaviour, and go test -run TestNewProjectNewCommand|TestProjectConfig passes. No stale -l references remain in code or docs.

One open question, left as an inline comment: whether the removed short form is a breaking change requiring a changeset depends on whether project new has already shipped, which I could not verify from this checkout.

📋 Review notes
  • pr-triage was not invoked. The diff is 2 files and 4 changed lines, so skill selection used the fallback heuristic.
  • Inline comments: 1.

@copilot please address the review comment above.

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer · copilot · routed: haiku55 xhigh · ~2 AIC · ⌖ ~1 AIC · ⊞ 5.4K
Comment /matt to run again


cmd.Flags().String("owner", "", "Project owner: '@me' for current user or organization name (required)")
cmd.Flags().StringP("link", "l", "", "Repository to link project to (format: owner/repo)")
cmd.Flags().String("link", "", "Repository to link project to (format: owner/repo)")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

[breaking-change policy] Removing the -l short form is a flag short-form change, which .github/skills/developer-release/SKILL.md (Breaking CLI Rules) classifies as breaking and says needs a changeset. I could not confirm whether project new has shipped: it has no CHANGELOG entry, and no pending .changeset/*.md covers it. If the command has been released, add a changeset with the bump the rules require. If it has not, no changeset is needed, and the PR description should say the command is unreleased. @copilot please address this.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

The CLI shorthand removal leaves the generated CLI documentation stale, still advertising the invalid -l option and requiring documentation updates.

1 open issue
What changed in this PR

This pull request removes the conflicting -l shorthand from gh aw project new --link, keeping -l available for --logical-repo.

Changes:

  • Registers --link as a long-form-only option.
  • Updates tests to verify that --link has no shorthand.
  • The CLI documentation still references --link/-l and should be updated.

This pull request is ready to be approved.

File Description
pkg/​cli/​project_command.go Removes the conflicting -l shorthand from --link.
pkg/​cli/​project_command_test.go Verifies that --link does not define a shorthand.

Review effort: Lite (auto)


cmd.Flags().String("owner", "", "Project owner: '@me' for current user or organization name (required)")
cmd.Flags().StringP("link", "l", "", "Repository to link project to (format: owner/repo)")
cmd.Flags().String("link", "", "Repository to link project to (format: owner/repo)")
@github-actions

github-actions Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

Note

The pull request was not created — a fallback review issue was created instead due to protected file changes: #74656

PR Finisher

Submitted for publication (staged, not confirmed pushed): merge of main and a docs fix in docs/src/content/docs/setup/cli.md (--link/-l → --link). Review threads on -l removal are left open, with no replies staged until the fix is published.

Hand-off:

  • Maintainer decision: -l removal is breaking per the CLI rules if project new has shipped. I found no CHANGELOG entry or changeset for it, so it looks unreleased; please confirm. If it has shipped, a changeset is needed. The PR description is empty and should say it is unreleased.
  • Local validation: go test ./pkg/cli -run Project passed. agent-report-progress failed because golangci-lint is not installed and the custom linters flagged pre-existing issues in project_command.go. The unrelated sampled tests passed.
  • CI is stale after publication and needs a maintainer re-trigger.

PR finisher dispatch requested for the following outstanding work: items 1-4 (merge main, -l review threads, changeset question, CLI docs).

Sous-chef head: 9615709
Sous-chef work: 305d19448f5b850e394ea465cbe0fa3323a410faf13fa74d5c96ee048402652a 97c53cd8ed0c38e17302501ee3a78d3bc3d6da4f33155d5c40edfbea4a5e7458 e8197ec27da874cdc2fb41863a4193140afc5729a
Sous-chef state: 5428dd9d871388f1589b7c8f1a56d3eb7bbd79afda25575f8b5f56407ef4252a

Generated by 🏁 PR Finisher · copilot · auto · ~23 AIC · ⌖ ~1 AIC · ⊞ 10.7K · ◷

@pelikhan
pelikhan merged commit f837ed0 into main Nov 3, 2026
120 checks passed
@pelikhan
pelikhan deleted the copilot/cli-consistency-fix-flag-naming branch November 3, 2026 23:21
@github-actions

github-actions Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

🎉 This pull request is included in a new release.

Release: v1.2.0

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] CLI Consistency Issues - 2026-11-03

4 participants