dexterm

docs › Getting started

Getting started

Requirements, install, first run and dexterm doctor.

dexterm is a terminal screener for Solana memecoins with a local Claude analyst. It runs on your machine, reads public data with no key and never holds a wallet key. Trading is PAPER by default; any live swap is signed in your own Phantom wallet after you approve it (see paper trading). This page gets you from nothing to the live screener.

Requirements#

needwhynotes
Node.js 22.18 or newerdexterm runs its TypeScript sources directly; no build stepnode -v to check. The installer can fetch a verified Node for you.
a terminal with 24-bit colourthe cyberspace lookiTerm2, WezTerm, Ghostty, Kitty, Alacritty, Windows Terminal. 256-colour and monochrome terminals still work, flattened.
an internet connectionall data is public and keylessnothing goes through a dexterm server; see data sources.
optional: Claude Code logged inonly the analyst needs itclaude on your PATH, logged in with your own account. Everything else works without it.
optional: a free RPC keythe ranked top-20 holder list and faster chain readsHelius, Alchemy, QuickNode or Ankr free tier; see configuration.
optional: Rust (cargo)the native docked chart windowwithout it the chart popup opens in your browser; see popup chart.
dexterm 0.1.1 is out (2026-10-16; 0.1.0 shipped 2026-10-15), open source under AGPL-3.0-only at github.com/dexterm-xyz/dexterm. It is early: trading is experimental and has known bugs. The release ships checksums, a build-provenance attestation and an SBOM, and its VirusTotal result (including a flag we explain) is on the trust page. It is also on npm as [dexterm-cli](https://www.npmjs.com/package/dexterm-cli) (version 0.1.1, with the g go-to key and the paper quote fix). That npm upload was published by hand from a maintainer's machine, so it has no build provenance; the release download below does.

Install#

$ npm i -g dexterm-cli
$ dexterm doctor

The package is named dexterm-cli because npm refuses the name dexterm as too similar to xterm. The command it installs is dexterm. Version 0.1.1 was published by hand, so it has no build provenance yet (the GitHub release has it). The package ships compiled JavaScript, so it needs no build step.

$ # download dexterm-0.1.1-src.tar.gz and SHA256SUMS from the releases page, then:
$ shasum -a 256 -c SHA256SUMS --ignore-missing
$ gh attestation verify dexterm-0.1.1-src.tar.gz --repo dexterm-xyz/dexterm
$ tar -xzf dexterm-0.1.1-src.tar.gz && cd dexterm-0.1.1
$ ./install.sh
$ dexterm doctor

The releases page is github.com/dexterm-xyz/dexterm/releases.

$ brew tap dexterm-xyz/dexterm
$ brew trust dexterm-xyz/dexterm
$ brew install dexterm
$ dexterm doctor

Homebrew 7 and newer load a third-party tap only after you trust it; without brew trust, brew install dexterm stops with "Refusing to load formula … from untrusted tap". Typing the full name, brew install dexterm-xyz/dexterm/dexterm, also works, because naming a formula in full trusts that one formula. The formula installs the same release tarball and runs it with Homebrew's Node. Homebrew no longer ships prebuilt packages for Intel Macs, so on Intel it builds Node and its toolchain from source, which takes a long time; the release installer above is much faster there.

The steps below are the same installer, run from a checkout.

$ cd dexterm/app
$ ./install.sh
$ dexterm doctor
$ dexterm

install.sh is user-level: no sudo, no edits to your shell profile. It checks for Node 22.18+, downloads an official build into your home directory only if none is found (verified against Node's published SHASUMS256.txt), links the app, builds the native chart window when cargo is present, and writes a dexterm launcher to ~/.local/bin. If that directory is not on your PATH it prints the one line to add and does not add it for you.

Already have Node 22.18+? You can skip the installer. dexterm has no third-party runtime dependencies, so it runs straight from the source tree:

$ npm run dexterm
$ node packages/cli/bin/dexterm.mjs doctor

npm install is optional and only pulls the dev tooling (TypeScript, @types/node).

dexterm doctor#

Run dexterm doctor before anything else. It is non-interactive, never touches your keys, and prints one line per check with the exact fix for anything that is not a pass. Exit code 0 means the app will run (warnings are optional); 1 means something must be fixed.

dexterm doctor

  ✓  Node                     v24.20.0 (need 22.18.0+)
  !  Terminal                 not a TTY (output is being piped); the interactive UI needs a real terminal
                              → Run dexterm directly in a terminal window, not through a pipe or a non-interactive shell.
  ✓  Coin images              half-block art (unknown terminal (no TERM)); --no-images turns them off
  ✓  Claude CLI               found on PATH (the analyst runs your local `claude`; log in once with `claude` if the analyst errors)
  ✓  Login with X             not set up (optional) — X posts need your own X app: free Native App + `dexterm x set-client-id` + `dexterm x login`; see docs › Login with X
  ✓  Helius RPC               key configured (~/.dexterm/helius.key) — holders & safety enriched
  !  Network                  DEXTERM_OFFLINE is set; skipped the live source probes (use --fixtures / --replay for offline data)
  !  Chart window             native window not built — C opens the chart in your browser instead
                              → Run `npm run build:shell` in packages/popup (about a minute the first time).
  ✓  Data directory           ~/.local/share/dexterm is writable (cache, watchlist, credit meter)
  ✓  KB + skills              KB 17 bundled · 0 user (0 overridden, 0 new) · skills 4 bundled · 0 user (0 overridden, 0 new) (yours: ~/.dexterm/kb/entries, ~/.dexterm/skills; `dexterm kb|skill list`)
  ✓  Voice out (say)          macOS `say` ready · 67 voices (press the voice key, then cycle the voice)
  ✓  Voice in (Apple Speech)  on-device Apple Speech via swiftc (no key, streaming) — the first run asks for Microphone + Speech permission at the Mac

Ready to run (3 warnings above are optional).

The checks, in order: Node · Terminal · Terminal colour · Coin images · Claude CLI · Login with X · Helius RPC · RPC · Network · Data sources · Chart window · Data directory. The data-source line probes DexScreener, Jupiter, GeckoTerminal, RugCheck, GoPlus, Solana RPC, PumpPortal; PumpPortal is a soft dependency (new pairs only).

First run#

The first launch shows the full glitch boot and then a one-screen welcome card: what dexterm is, the keys that get you around, and the safety stance (non-custodial, your keys never enter dexterm, trading is PAPER by default, not financial advice). Press any key to enter the live screener. Later launches boot in about a second.

  • ? on any screen shows every key for that screen.
  • q quits. The terminal is always restored, even after a crash or a signal.
  • 1–4 switch screens, j/k move, ⏎ opens a token, esc goes back.
  • a asks the analyst about what you are looking at. This is the one explicit, paid run; opening a token with ⏎ never starts one.

The screener paints within a second on a cold start: a cached snapshot of the last rows (marked how old it is), or skeleton rows while the first DexScreener list lands. Jupiter fields fill in behind it.

Next#