CLI
One command: rv. Each heading is the verb you type.
rv --help groups Get started, Everyday, and Advanced. packs and allow-once are real and do not appear on that screen. There is no rv --version.
rv setup
Wires Pi, Grok, and OpenCode, writes ~/.config/rv/, and loads the evaluate LaunchAgent.
rv setup
rv setup --force
rv setup --robot
--force replaces occupied owned hooks (backup *.bak). --robot / --json is one line, no circles.
rv test
Evaluates a command. Does not run it.
rv test 'git reset --hard'
rv test --explain 'git reset --hard'
rv test --json 'cat .env'
Verified: rv test 'git reset --hard' returns deny, pack core.git, rule core.git:reset-hard.
rv explain
Why a command would be allowed or blocked.
rv explain 'git reset --hard'
rv explain 'git status'
Verified: rv explain 'git reset --hard' is deny from core.git:reset-hard. Next action text is run it in Terminal, or rv allow-once.
rv doctor
Read-only health. Host wiring warnings do not fail doctor.
rv doctor
rv doctor --json
Verified schema rv.doctor.v1. Fields include grade, hosts, packs, service. ok:true is not proof that rvd is up.
rv service
Is rvd running, down, or skewed.
rv service
rv service status
status is the default. Prints state=, protocol=rv.ipc.v1, label=dev.rv.evaluate.
rv packs
List, inspect, enable, disable.
rv packs
rv packs --enabled
rv packs info core.git
rv packs enable core.git
rv packs disable core.git
--verbose adds descriptions and pattern counts. --search filters by id, name, or description. --category filters one category.
Verified: rv packs --enabled shows core.filesystem and core.git enabled. rv packs info core.git reports category core, 6 safe patterns, 14 destructive.
rv allow-once
Mint a one-shot code, redeem it on a TTY, or list and clear rows.
rv allow-once mint -- git reset --hard
rv allow-once <code>
rv allow-once list
rv allow-once clear
Redeem and list need an interactive terminal. --json / --robot is refused for redeem.
rv uninstall
Removes rv-owned hooks, config, and the LaunchAgent.
rv uninstall
Then rv setup to wire hosts again.
rv hook
Host adapters call this. Humans do not.
rv hook --host grok
--host is grok (default), pi, or opencode. Stdin is the host payload.