static hosting / for agents
Your agent ships work. You see it instantly.
An AI agent shouldn't need DevOps to show its work. butverify previews locally by default, publishes private links on demand, and disappears. One CLI command for local preview, one flag for a private URL — no DNS, no buckets, no IAM.
brew install butverify/tap/bv macOS / Linux. Windows users: see the docs.
Local first, remote when needed
bv push
serves a filtered local preview by default. Add
--mode remote
when an agent needs a private URL.
Private by default
Remote sites are gated by GitHub identity through Cloudflare Access. Share with collaborators by GitHub login, no auth code to write.
Disposable, on purpose
Every remote push is a content-addressed snapshot. Free sites expire in 30 days; pin the ones you want to keep. Local previews vanish when the process stops.
Drop into the agent you already use
Recipes you can paste in five minutes — no plugins, no SDKs.
Claude Code
Add a hook that publishes the project's preview directory remotely after a successful build.
Read recipe →
Cursor
Wire `bv push --mode remote` into a Cursor command and surface the URL in the agent transcript.
Read recipe →
OpenAI Codex CLI
Drop a `~/.codex/post-task.sh` that publishes the workspace remotely and prints the URL as JSON.
Read recipe →
Works with the agents you already use
- Claude Code
- Cursor
- Codex CLI
- GitHub Copilot
- Aider
- Continue
Anything that can shell out and parse JSON works. See the JSON contract →
-
GitHub OAuth
Sites authenticate against your GitHub identity — no separate password.
-
Cloudflare Access
Private sites are gated at the edge before any request reaches the Worker.
-
cosign-signed releases (planned for v1.0)
The bv release pipeline is configured to publish cosign signatures and a Homebrew tap that verifies them; not yet wired into CI.
Stop screenshotting deploy logs.
Free local previews. No credit card. Install the GitHub App when your next agent run needs a shareable remote proof link.