Skip to content

Add basectl workspace status — first workspace-level read-only command #322

@codeforester

Description

@codeforester

Problem

basectl projects list shows which projects Base can discover, but gives no signal about their health. A developer working across five repositories has no single command that answers "which of my projects are in a good state right now?"

Proposed Command

basectl workspace status
basectl workspace status --format json

This is a read-only aggregate view across all discovered projects in the workspace.

Proposed Output (Text)

Workspace: ~/work  (5 projects)

PROJECT     STATUS   VENV      MANIFEST   LAST CHECK
base        ok       ready     valid      2m ago
bankbuddy   warn     missing   valid      —
banyanlabs  ok       ready     valid      —
blend       error    ready     invalid    —
brew        ok       ready     valid      —

2 projects need attention. Run 'basectl doctor <project>' for details.

Status values:

  • ok — venv present, manifest valid, no known issues
  • warn — non-blocking issues (e.g., venv missing but no manifest artifacts)
  • error — blocking issue (e.g., invalid manifest, missing required toolchain)
  • ? — not checked yet (no recent check record)

Proposed JSON Output

{
  "workspace": "/Users/user/work",
  "project_count": 5,
  "projects": [
    {"name": "base", "status": "ok", "path": "..."},
    {"name": "bankbuddy", "status": "warn", "path": "...", "issues": ["venv missing"]},
    ...
  ]
}

Design Constraints

  • Read-only: never mutates anything
  • Partial failures are normal: one broken project must not prevent reporting on others
  • Fast: should not re-run full check — use cached check results from basectl check when available, and a lightweight venv+manifest existence test otherwise
  • Composable: JSON output should be stable enough for scripts and CI smoke checks
  • Prerequisite: basectl projects list (already implemented) provides the discovery layer

Why This Is The Right First Workspace Command

The workspace commands should build from least-disruptive to most-disruptive. workspace status is fully read-only, builds directly on the discovery infrastructure that already exists, and answers the most common daily question. workspace check and workspace doctor follow from the same pattern.

Related

  • Product vision §2 (workspace commands)
  • basectl projects list (existing foundation)

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions