Inference Atlas · documentation

Command line

docs/tui/cli.md Last pushed 7 September 2026

inference-atlas [options]

With no options it syncs the data, detects your box, and opens the app.

Options

  --repo <path>   read a local checkout (no network at all)
  --url <url>     override the data URL (default: the deployed site)
  --hardware <id> target this hardware registry id instead of what is
                  detected (also selectable in the TUI with 'b')
  --count <n>     how many of that device you have (default 1)
  --sync          refresh the data cache and exit
  -h, --help      this

Both --flag value and --flag=value forms work.

--repo <path>

Read a local checkout instead of the published site. Nothing is fetched. Accepts ~.

inference-atlas --repo ~/Projects/inference-atlas

Requires the checkout to have been built once (pnpm build:data). See Local mode.

--url <url>

Point at a different deployment — a fork's Pages site, or a local preview server. Shards are read from <url>/data/.

inference-atlas --url http://localhost:5173/inference-atlas

--hardware <id> and --count <n>

Set the target box without opening the picker. The id must exist in the registry; an unknown one prints a warning and falls back to detection.

inference-atlas --hardware nvidia-h100-80gb --count 8

This persists. A selection made on the command line is written to your config, so the next plain inference-atlas remembers it. To go back to detection, delete the [target] section from the config or pick the detected row in the picker.

--sync

Refresh the cache and exit without drawing anything. For scripts, cron jobs, provisioning, or warming the cache before a flight.

$ inference-atlas --sync
updated: index.json, registry.json, coverage.json, workloads.json, stats.json

Prints one of:

Output Means
fresh The manifest was unchanged; nothing to fetch
updated: a.json, b.json Those shards had new content and were re-fetched
offline + an error on stderr The fetch failed; the cache is untouched and still usable

Exit codes

Code When
0 Normal exit, including --help, and --sync that fell back to a usable cache
1 --sync could not reach the source and there is no cached manifest
1 Not a terminal — stdin or stdout is not a TTY, and --sync was not given
1 The data is empty (first run with no network)

Using it in scripts

The app itself needs a TTY and refuses to run without one:

inference-atlas is a TUI — run it in a terminal (or use --sync in scripts).

--sync is the scriptable half. A daily refresh, for example:

17 6 * * *  /home/you/.local/bin/inference-atlas --sync >/dev/null 2>&1

For anything else programmatic, read the shards directly — they are plain JSON under ~/.cache/inference-atlas/data/, and their shapes are documented in docs/SPEC.md §6.

jq '[.[] | select(.hardware.id == "nvidia-gb10-dgx-spark")] | length' \
  ~/.cache/inference-atlas/data/index.json

Environment

Variable Effect
XDG_CONFIG_HOME Moves the config directory
XDG_CACHE_HOME Moves the cache directory
NO_COLOR Forces monochrome, over any config setting
TERM, COLORTERM, TERM_PROGRAM Read to detect colour depth

The installer additionally reads INFERENCE_ATLAS_HOME and BIN_DIR — see Installation.

The other command name

The package installs two bins pointing at the same program: inference-atlas and atlas-tui. Use whichever you prefer.

Every number here was measured. Open an issue if one looks wrong.

All documentation