MarketDeck docs

Install from source

Clone the repo and run linked. The path of choice for contributors and main-trackers.

The source route gives you a working tree you can edit, a git remote you can pull, and npm link makes every change visible to the global marketdeck symlink immediately.

What you need#

  • Node.js 20+ with npm.
  • Git.
  • About 80 MB of disk after npm install.
git clone https://git.marketdeck.io/marketdeck/marketdeck
cd marketdeck
npm install
npm link

After npm link, the global marketdeck binary is a symlink into your clone — editing files under bin/, core/, lib/, wallets/, exchanges/, or ai/ is live. No rebuild step.

Verify#

which marketdeck
# → /home/<you>/.local/bin/marketdeck (symlink → <repo>/bin/marketdeck.js)

marketdeck version --format text
marketdeck doctor

marketdeck version reports the git SHA so you can confirm which commit your install is pointing at.

Update#

git pull
npm install     # only when package.json changed

If bin/marketdeck.js was renamed or a new dependency landed, re-run npm link. Plugins do not need a re-install — the GNOME plugin's symlinks resolve through the live repo.

Hack on it#

The repo follows a CLI-first architecture (see Architecture). Common entry points:

  • bin/marketdeck.js — the CLI entry, the router, plugin discovery.
  • lib/cli/commands/<name>.js — one file per subcommand.
  • core/ — domain logic (snapshot, paper-trading, backtester, http).
  • db/schema.js — append-only migration list.
  • exchanges/hyperliquid/ — signing + endpoint wrappers.
  • ai/providers/ — one adapter per vendor CLI.
  • lib/daemon/feeds/ — push-style feeds (mids, real-trailing, …).

Smoke tests live under test/:

npm test
node test/test-platform.js
node test/test-real-trading.js
node test/test-keyring-interop.js
node test/test-trailing.js
node exchanges/hyperliquid/self-test.js