Feature Description
When a user types bm workspace (or bm workspace list, etc.), Typer emits a generic No such command 'workspace'. error with no hint that the workspace verbs actually live under bm cloud workspace. Improve this so users get pointed at the right command.
Problem This Feature Solves
bm project is a top-level command, so users reasonably expect bm workspace to be one too — especially since default_workspace in config and bm cloud workspace set-default both refer to workspaces as a first-class concept. Hitting the bare No such command error gives no path forward; users have to read bm --help and notice that workspace is nested under bm cloud.
Current behavior:
$ bm workspace list
Usage: bm [OPTIONS] COMMAND [ARGS]...
Try 'bm --help' for help.
╭─ Error ──────────────────────────────────────────────────────────────────────╮
│ No such command 'workspace'. │
╰──────────────────────────────────────────────────────────────────────────────╯
Proposed Solution
Simplest implementation: add a top-level workspace Typer command that's just a redirect stub — when invoked (with or without subcommands/args), it prints something like:
'bm workspace' isn't a command. Workspace verbs live under 'bm cloud workspace':
bm cloud workspace list
bm cloud workspace set-default <name>
and exits non-zero. This keeps the actual implementation under bm cloud workspace (consistent with other cloud-only verbs like snapshot, api-key) while giving users who guess bm workspace a clear next step.
Alternative Solutions
- Promote
bm cloud workspace to top-level bm workspace as a true alias. More invasive and creates inconsistency with other cloud-only verbs — out of scope for this issue.
- Override Typer/Click's
no such command handler with fuzzy-match suggestions. More general but a bigger change.
Additional Context
Spun off from #820 — a related discussion noted that the absence of bm workspace is a discoverability gap, but full promotion to top-level is bigger design territory. This issue scopes the fix to the error message only.
Impact
Smaller papercut, but matters for new users / anyone who's spent time in bm project and assumes bm workspace exists.
Feature Description
When a user types
bm workspace(orbm workspace list, etc.), Typer emits a genericNo such command 'workspace'.error with no hint that the workspace verbs actually live underbm cloud workspace. Improve this so users get pointed at the right command.Problem This Feature Solves
bm projectis a top-level command, so users reasonably expectbm workspaceto be one too — especially sincedefault_workspacein config andbm cloud workspace set-defaultboth refer to workspaces as a first-class concept. Hitting the bareNo such commanderror gives no path forward; users have to readbm --helpand notice that workspace is nested underbm cloud.Current behavior:
Proposed Solution
Simplest implementation: add a top-level
workspaceTyper command that's just a redirect stub — when invoked (with or without subcommands/args), it prints something like:and exits non-zero. This keeps the actual implementation under
bm cloud workspace(consistent with other cloud-only verbs likesnapshot,api-key) while giving users who guessbm workspacea clear next step.Alternative Solutions
bm cloud workspaceto top-levelbm workspaceas a true alias. More invasive and creates inconsistency with other cloud-only verbs — out of scope for this issue.no such commandhandler with fuzzy-match suggestions. More general but a bigger change.Additional Context
Spun off from #820 — a related discussion noted that the absence of
bm workspaceis a discoverability gap, but full promotion to top-level is bigger design territory. This issue scopes the fix to the error message only.Impact
Smaller papercut, but matters for new users / anyone who's spent time in
bm projectand assumesbm workspaceexists.