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
References
packages/gittensory-mcp/bin/gittensory-mcp.js — doctor/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."
Build out the miner CLI's first real commands:
gittensory-miner status(prints package version, resolved@jsonbored/gittensory-engineversion via the earlierENGINE_VERSIONexport, config-file discovery state, and local run-state DB path) andgittensory-miner doctor(checks Node version againstengines.node, checks the engine package resolves, checks a writable local-state directory exists/can be created — mirrorsgittensory-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--jsonfor machine consumption (mirrorgittensory-mcp version --json/config --jsonflag convention).gittensory-miner doctor— checks: Node major version >=engines.nodefloor,@jsonbored/gittensory-engineresolves and itsENGINE_VERSIONis readable, local-state directory is writable (create if absent). Exits non-zero with a clear message on any failure (mirrorgittensory-mcp doctor --exit-code).gittensory-miner --helplists both commands with one-line descriptions.doctorreporting an unwritable directory).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.js—doctor/status/version --jsoncommand precedents (see theCLI_COMMAND_SPECtable, line 27-46, listingstatus,doctor,versionas existing top-level commands with no subcommands).packages/gittensory-miner/— created by the package-skeleton issue (must land first).