Reference / CLI Reference

CLI Reference

Complete flag and command table for the dpm CLI, including all aliases, arguments, and global options.

Command table

Tool management

dpm install -i --install <tool[@version] | code | #> dpm remove -r --remove <tool[@version]> dpm update -u --update [tool-id] dpm list -l --list [--all | -a] [--category | -c <name>]

Discovery

dpm search -s --search [keyword] [--tools|-t] [--profiles|-p] [--community|-c] [--all|-a] dpm inspect -x --inspect <url | #> [dotfile] dpm verify -k --verify <file> <sha256 | hash-file>

Profiles & dotfiles

dpm apply -a --apply <profile-id | #> dpm config install [--id|-i <id>] [--map|-m <src:dst>] <repo | path> dpm config inspect <url | #> [dotfile]

System

dpm restore -o --restore [--yes | -y] dpm bubble -b --bubble dpm doctor -d --doctor dpm version -v --version dpm serve -n --serve --stdio

Global flags

-h --help show help for any command -v --version print version and exit

Version syntax

Append @version to a tool name in install or remove:

nmap # latest in catalog nmap@7 # latest in the 7.x major track nmap@7.95 # exact version

Search result numbers

After any dpm search run, results are indexed and saved to ~/.dpm/last-search.json. The number prefix from search output can be passed to commands like install, apply, and inspect.

dpm -s nmap 1 nmap ... dpm -i 1 # same as: dpm -i nmap

For community results, use dpm inspect to review profile content first.

TUI keybindings

Navigation

TAB / Shift+TAB # next / previous tab ↑ ↓ # move cursor ENTER # confirm / drill in ESC # back / cancel SPACE # toggle cart selection / # open search overlay M # open main menu (Update, Doctor, Restore, Help, Quit) ? # open settings overlay Ctrl+C # quit

Tab-specific

DEL # delete/uninstall (Installed tab) A # add custom dotfile repo (Dotfiles tab) U # update all (Update view) T # cycle theme R # reset setting to default (Settings overlay)

RPC methods (advanced)

dpm serve --stdio exposes a JSON-RPC 2.0 interface over newline-delimited JSON. This is the backend the TUI uses. Request format: {"jsonrpc":"2.0","id":1,"method":"engine.catalog","params":{}}.

engine.platform engine.dpmRoot engine.isInPath engine.catalog engine.installed engine.installTool engine.removeTool engine.updateTool engine.checkUpdates engine.profiles engine.applyProfile engine.dotfiles engine.installDotfile engine.dotfiles.scan engine.dotfiles.applyImported engine.restore engine.doctor engine.bubble.start engine.bubble.stop engine.settings.groups engine.settings.set engine.settings.toggle engine.settings.reset