Control what your agent can do, rv blocks dangerous commands before they can run
Site: rykanv.com · Docs: rykanv.com/docs/introduction · Discord: discord.gg/uZn9MDUYKx
Everyday I find a new victim of rm -rf, when agents are deep in work, they can make mistakes. Irreversible mistakes, like sending a badly formatted email to your hottest sales lead or deletes your production db, rv acts as the control layer you enforce on your agents to block them from doing this. setup is simple, run the curl command and the script and rv will place itself before the hook runs.
curl -fsSL https://rykanv.com/install | sh| Destructive git | reset --hard, checkout --, clean -fd, push --force, stash clear |
| Destructive fs | rm -rf, find -delete, and similar |
| Secret paths | .env, SSH keys, and other known credential files |
| Allow once | Redeem the code from a block; the next matching call in this working directory runs once |
| Explain | rv explain shows which pack would fire |
| Hosts | Grok, Pi, OpenCode, Claude, OpenClaw, Hermes, Codex, Cursor — wired by rv setup |
| Platform | macOS 26, Apple Silicon |
| Host | After rv setup |
|---|---|
| Grok | ~/.grok/hooks/rv.json |
| Pi | ~/.pi/agent/extensions/rv-guard.ts |
| OpenCode | ~/.config/opencode/plugins/rv-guard.js |
| Claude | settings merge |
| OpenClaw | ~/.openclaw/extensions/rv-guard/ |
| Hermes | ~/.hermes/plugins/rv-guard/ |
| Codex | ~/.codex/hooks/rv-guard.py |
| Cursor | ~/.cursor/hooks/rv-guard.py |
rv setup # wire hosts
rv scn # scan repo for destructive actions in the past
rv test 'git reset --hard' # evaluate, do not run
rv explain 'git reset --hard' # which pack would fire
rv allow-once a1b2c3 # redeem the code from a hook deny
rv packs # catalog
rv packs enable <pack> # Enable a pack
rv doctor # health
rv uninstall # raw dog itApache 2.0. See LICENSE.