Skip to content

Remove shortcut commands that shadow group nouns#416

Merged
robzolkos merged 4 commits into
mainfrom
remove-shortcut-commands
Jun 29, 2026
Merged

Remove shortcut commands that shadow group nouns#416
robzolkos merged 4 commits into
mainfrom
remove-shortcut-commands

Conversation

@robzolkos

@robzolkos robzolkos commented Apr 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Removes 7 top-level shortcut commands — card, todo, done, reopen, message, comment, react — that either shadowed a plural group noun or duplicated an existing subcommand. Every one has a canonical equivalent (cards create, todos create, todos complete, todos uncomplete, messages create, comments create, boost create; boosts create also works as an alias), so the supported paths remain available.
  • Current diff after rebasing on main: 46 files changed, +555/−1,631 lines (net −1,076). The changes remove shortcut command code and update breadcrumbs, help text, skills/basecamp/SKILL.md examples, STYLE.md, e2e bats, and the .surface / .surface-skill-drift snapshots.
  • STYLE.md now forbids new top-level verbs that shadow a group noun; scripts/check-bare-groups.sh no longer allowlists NewCardCmd.

Why

basecamp card show 9760604112 looked like a read but actually ran card <title> [body] and silently created a malformed card with title show and body 9760604112. Two such cards showed up in BC5 on 2026-04-07 — investigation on card 9768602954 traced the root cause to the singular-noun create shortcuts colliding with the plural-noun read commands. Agents were the most likely mistaken caller, but any user could hit it the same way.

The canonical <group> <verb> paths are what SKILL.md, breadcrumbs, and help output now point at.

Verification


Summary by cubic

Removed 7 top-level shortcut commands that shadowed plural group nouns to eliminate collisions and accidental writes. Breaking removals (including --version flags on those shortcuts) are acknowledged in .surface-breaking, the surface diff check uses locale-stable sorting, and docs/help/TUI/hooks now point to the plural command groups.

  • Bug Fixes

    • Prevents collisions where singular shortcuts performed creates instead of reads (e.g., basecamp card show ... creating a card).
    • .surface-breaking tracks all removals (including --version on deleted shortcuts); scripts/check-cli-surface-diff.sh sorts with LC_ALL=C for consistent results.
  • Migration

    • card → cards create
    • todo → todos create
    • done → todos complete
    • reopen → todos uncomplete
    • message → messages create
    • comment → comments create
    • react → boost create
    • .surface-skill-drift updated for cards create, todos create, and messages create flags; README, help examples, breadcrumbs, TUI hints, and post-commit hook guidance now use plural commands.
    • STYLE.md now forbids adding new top-level verbs that shadow group nouns.

Written for commit ec5c051. Summary will update on new commits.

Review in cubic

Copilot AI review requested due to automatic review settings April 9, 2026 22:20
@github-actions github-actions Bot added commands CLI command implementations tui Terminal UI tests Tests (unit and e2e) skills Agent skills plugin Claude Code plugin output Output formatting and presentation docs bug Something isn't working labels Apr 9, 2026

@cubic-dev-ai cubic-dev-ai 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.

No issues found across 45 files

@github-actions github-actions Bot added the breaking Breaking change label Apr 9, 2026
@github-actions

github-actions Bot commented Apr 9, 2026

Copy link
Copy Markdown

⚠️ Potential breaking changes detected:

  • Removed shortcut commands: todo, done, reopen, message, card, comment, and react. Users must now use full commands like todos create, todos complete, todos uncomplete, messages create, cards create, and comments create. This changes the CLI API and may break scripts or workflows relying on these shortcuts.
  • Changed breadcrumb commands from shortcuts to longer forms (e.g., basecamp comment to basecamp comments create). Scripts or automation parsing command examples might fail if they rely on the previous format.

Review carefully before merging. Consider a major version bump.

@robzolkos robzolkos requested a review from jeremy April 9, 2026 22:53
@robzolkos robzolkos force-pushed the remove-shortcut-commands branch from f0e1cd7 to ec5c051 Compare June 29, 2026 16:28
@robzolkos robzolkos merged commit b05e73d into main Jun 29, 2026
25 checks passed
@robzolkos robzolkos deleted the remove-shortcut-commands branch June 29, 2026 16:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking Breaking change bug Something isn't working commands CLI command implementations docs output Output formatting and presentation plugin Claude Code plugin skills Agent skills tests Tests (unit and e2e) tui Terminal UI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant