Skip to content

feat(miner-packaging): add laptop-mode CLI entry (SQLite, no Docker, npm install-and-run) #2329

Description

@JSONbored

Wire the slim "laptop mode" form factor into the gittensory-miner CLI scaffolded in the prior packaging issue: a zero-infra path where npm install -g @jsonbored/gittensory-miner && gittensory-miner init sets up a local SQLite state file and config directory with no Docker/Redis/Postgres dependency, mirroring how packages/gittensory-mcp/bin/gittensory-mcp.js resolves its config path (GITTENSORY_CONFIG_DIR/XDG_CONFIG_HOME fallback chain) and cache directory. This issue is packaging/CLI plumbing only — it does not implement discovery/planning/create logic (those are separate, earlier-phase concerns); it just proves the laptop-mode install-and-run loop boots, creates its state dir, and exits cleanly.

Deliverables

  • gittensory-miner init command: creates ~/.config/gittensory-miner/ (respecting GITTENSORY_MINER_CONFIG_DIR/XDG_CONFIG_HOME, same fallback chain as the mcp package's configPath resolution) and an empty SQLite state file inside it.
  • gittensory-miner doctor command: reports Node version, config dir path, SQLite file existence/writability, and whether Docker is present (informational only — never required).
  • No Docker, Redis, or Postgres import anywhere in this code path — laptop mode must run with zero external services.
  • Unit tests covering: fresh init creates the dir/file; re-running init is idempotent (does not clobber existing state); doctor reports absent-Docker gracefully.
  • README section documenting the laptop-mode quickstart (npm install -g ... -> init -> doctor).

References

  • packages/gittensory-mcp/bin/gittensory-mcp.js lines ~135-141 — the configPath/cacheDir resolution chain to mirror (env var -> XDG -> homedir fallback).
  • Prior issue: packages/gittensory-miner/ package skeleton (this extends it).
  • New path: packages/gittensory-miner/lib/laptop-init.js (proposed).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions