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#
| Check | What it verifies |
|---|---|
| Node version | At least Node 20. |
| sqlite backend | better-sqlite3 (Node) or libgda (GJS) usable. |
| DB open + schema | openDb() succeeds and MAX(version) matches the migrations list. |
| Daemon socket | The Unix socket either responds or is absent (no stale half-bound state). |
| libsecret bridge | secret-tool resolves on PATH and the Secret Service answers. |
| Keyring file | The AES vault file exists and is mode 0600, or libsecret is the primary. |
| Icon cache | The cache dir is writable. |
| HTTP log | The cross-process JSONL file is writable. |
| GSettings schema | The marketdeck schema is compiled and visible to gsettings. |
| Agent activity | Recent 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 —
doctorwill 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.