MarketDeck docs

doctor

Environment diagnostics — runs every prerequisite check and reports per-line status. Designed for bug reports.

marketdeck doctor is the one canonical "is my install healthy" command. It runs a fixed list of probes against the environment and prints one line per check with a status tag. Exit code is 0 when everything is OK or only warnings fired, 2 if any check failed.

Usage#

marketdeck doctor [bundle --out PATH]

Pass --format json for a machine-readable rollup. bundle writes a scrubbed support bundle with checks, paths, config backend, wallet records without secrets, and agent records.

What it checks#

CheckWhat it verifies
Node versionAt least Node 20.
sqlite backendbetter-sqlite3 (Node) or libgda (GJS) usable.
DB open + schemaopenDb() succeeds and MAX(version) matches the migrations list.
Daemon socketThe Unix socket either responds or is absent (no stale half-bound state).
libsecret bridgesecret-tool resolves on PATH and the Secret Service answers.
Keyring fileThe AES vault file exists and is mode 0600, or libsecret is the primary.
Icon cacheThe cache dir is writable.
HTTP logThe cross-process JSONL file is writable.
GSettings schemaThe marketdeck schema is compiled and visible to gsettings.
Agent activityRecent rows in agent_runs (sanity check that runs are landing).

Output#

Each check prints [OK], [WARN], or [FAIL]. Warnings do not block other checks; failures exit non-zero so a CI script can gate on marketdeck doctor.

marketdeck doctor --format text
[OK]   node 20.18.0
[OK]   sqlite backend (better-sqlite3 11.3.0)
[OK]   DB at ~/.local/share/marketdeck/marketdeck.db (schema v10)
[OK]   daemon not running (no socket)
[OK]   libsecret bridge available
[OK]   icon cache writable (12 entries, 480 KB)
[OK]   HTTP log writable
[WARN] gsettings schema not installed (Linux non-GNOME?)
[OK]   agent activity (3 runs in last 24h)

When to run it#

  • Right after install, to confirm everything resolves.
  • When a command starts failing — doctor will usually point straight at the missing piece.
  • In bug reports — paste the full output so we can see the environment without asking.
  • For attachable diagnostics: marketdeck doctor bundle --out ./doctor.json.