Skip to main content
A golden is a long-running boxd VM with your app installed and serving on its public *.boxd.sh URL. It’s the fork source for everything else: per-PR previews, the Claude fix loop, and deploy-on-push all work by forking the golden (~160 ms, app already running) and operating on the fork. So this is step one β€” /boxd-setup-preview, /boxd-setup-fix, and /boxd-setup-deploy all require a golden and will point you back here if you don’t have one.

What boxd-setup-golden does

It reads your repo the way a developer would (AGENTS.md / CLAUDE.md, README, the manifests), then on a fresh VM it:
  • installs what the app needs (the base image already ships Node, Python+uv, Go, Docker, gh, …) and runs your install/build,
  • starts the app under something that survives a reboot (pm2 / systemd / docker compose) and points the proxy at the app port,
  • registers a headless-Chrome chrome-devtools MCP (so the fix loop can take before/after screenshots), and
  • persists gh auth on the VM so forks can open PRs from inside.
When it’s done, the VM is your golden β€” keep it running; forks are cheap and inherit its live state.

Set it up β€” two ways

The skill ships both to your laptop (with the boxd CLI) and baked into every boxd VM image. Pick whichever fits:
Install the boxd CLI (this also drops the skills), then run the skill from the repo’s directory:
It provisions a fresh VM and drives the install over the API (boxd machine exec), streaming progress back to you.
Claude Code only for now β€” reach out if you want it packaged for Codex, OpenCode, or any other agent.

Next β€” layer on the platform

Each of these forks this golden, so set the golden up first:

Per-PR previews

/boxd-setup-preview β€” comment /boxd-preview, get a forked URL.

Fix on issue

/boxd-setup-fix β€” Claude fixes the issue in a fork, opens a PR.

Deploy on push

/boxd-setup-deploy β€” push to main, the golden redeploys.