Skip to content

feat(miner-foundation): slim laptop-mode CLI entry point (status/doctor commands) #2288

Description

@JSONbored

Build out the miner CLI's first real commands: gittensory-miner status (prints package version, resolved @jsonbored/gittensory-engine version via the earlier ENGINE_VERSION export, config-file discovery state, and local run-state DB path) and gittensory-miner doctor (checks Node version against engines.node, checks the engine package resolves, checks a writable local-state directory exists/can be created — mirrors gittensory-mcp doctor's spirit of "is this laptop set up correctly" without any network calls). This is explicitly the "slim laptop-mode CLI entry point" the phase brief calls for — no repo-scanning, no coding-agent invocation, no GitHub writes; those are later phases.

Deliverables

  • gittensory-miner status — prints package + engine version, config path, local-state directory, as human-readable text by default and --json for machine consumption (mirror gittensory-mcp version --json / config --json flag convention).
  • gittensory-miner doctor — checks: Node major version >= engines.node floor, @jsonbored/gittensory-engine resolves and its ENGINE_VERSION is readable, local-state directory is writable (create if absent). Exits non-zero with a clear message on any failure (mirror gittensory-mcp doctor --exit-code).
  • gittensory-miner --help lists both commands with one-line descriptions.
  • Unit tests for both commands' happy-path and at least one failure path each (e.g. doctor reporting an unwritable directory).
  • No network calls anywhere in this issue's code — assert this with a vi.stubGlobal("fetch", ...) throw-on-call test the way the phase's "never phone home for core operation" requirement demands.

References

  • packages/gittensory-mcp/bin/gittensory-mcp.jsdoctor/status/version --json command precedents (see the CLI_COMMAND_SPEC table, line 27-46, listing status, doctor, version as existing top-level commands with no subcommands).
  • packages/gittensory-miner/ — created by the package-skeleton issue (must land first).
  • Phase brief: "build the slim laptop-mode CLI entry point."

Metadata

Metadata

Assignees

No one assigned

    Labels

    gittensor:featureGittensor-scored feature linked to a feature issue — scores a 0.25x multiplier.help wantedExtra attention is needed

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions