Skip to content

Add project Git remote health diagnostics #395

@codeforester

Description

@codeforester

Summary

Teach basectl check <project> and basectl doctor <project> to diagnose project Git remote health without replacing Git or GitHub CLI.

The product vision draft identified Git remote and authentication problems as important doctor coverage. Base currently has developer-prerequisite GitHub CLI checks and workspace Git status reporting, but project doctor does not have a focused Git remote health contract.

Scope

  • Detect whether a project repository has an origin remote.
  • Report malformed or unreachable remotes when the check can do so safely.
  • Report whether GitHub CLI authentication is ready when the remote is GitHub-hosted.
  • Keep all checks read-only and non-mutating.
  • Prefer Git and GitHub CLI as delegated tools; Base should not own credentials.

Design Questions

  1. Should remote reachability be checked by default or only under an explicit flag to avoid network surprises?
  2. How should SSH vs HTTPS remotes be reported?
  3. Should Base check upstream branch configuration, ahead/behind state, or only remote presence/auth?
  4. Which findings belong in project doctor versus workspace status?

Acceptance Criteria

  • Project check/doctor reports Git remote state with stable finding IDs.
  • JSON output includes enough detail for automation without exposing credentials.
  • Network-dependent checks are clearly bounded or explicitly opted in.
  • Tests cover no remote, GitHub remote with unavailable auth, and non-GitHub remote behavior using stubs/mocks.
  • Docs clarify that Base delegates auth and remote operations to Git/GitHub CLI.

Source Design Intent

Curated from the local product vision draft during #392.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions