Skip to content

[FEATURE] Hint at 'bm cloud workspace' when user runs 'bm workspace' #821

@groksrc

Description

@groksrc

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    cloudBasic Memory CloudenhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions