Build in branches.
Snapshot. Branch. Run. Commit. Rollback. Five primitives you call from the CLI or the SDK — scripted into whatever harness you already use.
Five verbs. That's the whole shape.
Freeze a VM — memory, processes, sockets — into a content-addressable commit.
Fork a running VM on demand. The parent auto-pauses; the child runs.
Boot a fresh VM from a base image or any commit. SSH, exec, stream logs.
Tag a known-good state. Git-style history, content-addressable, shareable.
Restore any commit in one call. Time-travel your environment, not just code.
Capabilities your container runtime doesn't have.
Live state branching
Clone the moment, not just the disk. Filesystem and memory carry forward so running processes and connections continue in the child. Parent auto-pauses on branch.
Git-like control
Branch, checkout, and HEAD your VMs. Switch context instantly. The mental model you already have, at the machine level.
Pause & resume
Pause resources to save compute. Resume and come back exactly where you left off — no rebuilding state.
Programmable
The Vers CLI sits on the same API you call from CI, agents, eval harnesses, and scripts. One surface, every client.
What devs are branching.
Parallel web testing
Branch once, test many flows side by side with `vers execute`.
A/B debugging
Branch at the decision point. Hop between outcomes without rerunning the preamble.
Agent eval loops
Fan out branches from a shared state, score the results, prune the losers.
Database state testing
Branch a seeded DB to test schema and feature changes in parallel.
Bug reproduction
Snapshot the moment a bug fires. Share the commit — your teammate boots the exact state.
Safe migrations
Commit before a risky migration. One call to restore if it goes sideways.
Call it from
anywhere.
The CLI, the SDK, your CI, your agent harness — all the same primitives, all the same VMs. No special client-side SDK gymnastics. Just scripts that call verbs.