Vers publishes a small set of supported images: curated VM snapshots that the Vers team maintains and rebakes on a regular cadence. This guide walks through discovering them, forking one, and using the result.Documentation Index
Fetch the complete documentation index at: https://docs.vers.sh/llms.txt
Use this file to discover all available pages before exploring further.
The currently supported set
Under thevers org, rebaked regularly so :latest stays current:
| Reference | Contents |
|---|---|
vers/node:latest | Node.js LTS + npm + git + curl + nginx + iproute2 |
vers/python:latest | Python 3 + pip + venv + git + curl + nginx + iproute2 |
vers/rust:latest | Rust stable + cargo + git + curl + nginx + iproute2 |
vers/go:latest | Go 1.22 + git + curl + nginx + iproute2 |
vers/pi-agent:latest | pi coding agent with tmux/FIFO scaffold, ready for remote driving |
vers/cc-agent:latest | Claude Code pre-installed and configured |
Supported images are rebaked on a monthly cadence (or sooner when toolchains bump).
<name>:latest always points at the current build. If you need to pin a specific build forever, capture the commit ID at fork time and use that commit ID directly later.Prerequisites
- Vers CLI installed and authenticated
- Network access to
api.vers.sh
Step 1: Discover what’s available
The supported images listed above are the ones you’ll reach for 95% of the time. For the broader public catalog (anything any org has made public), hit the public endpoint:Step 2: Fork the one you want
- A VM (
vm-7a1c…) was branched from the upstream commit and is running now - A new commit (
c9e4…) was created from that VM, owned by you - A repository named
pi-agentwas created - A tag
latestwas added to the repo, pointing at your new commit
Naming it differently
If you already have api-agent repo, or just prefer different names:
Step 3: Use the VM
The fork handed you a running VM. SSH in and start working:Step 4: Branch or re-commit as you iterate
Your forked commit is a clean starting point. As you customize the VM (adding project code, installing extra libraries, configuring dotfiles) you’ll want to save that work as a new commit and probably update or add tags.vers run-commit a8b3… or use the ref form via the API to spin up that exact state.
Step 5: Pulling upstream updates later
Forks are copies, not references. When the upstreamvers/pi-agent:latest moves forward (say, Vers rebakes with a new pi release), your fork doesn’t auto-update. Pull the new version when you want it:
Cleanup
Why forks are fast
The branch step ofvers repo fork uses a copy-on-write clone. The source commit’s blocks aren’t re-read or re-copied; your new VM just starts pointing at the same underlying storage, with writes diverging lazily. So even for multi-gigabyte images, the fork call returns in seconds. The only real time cost is the post-branch commit (same cost as any vers commit) and network round-trips.
See Also
- Repositories and Tags - the full model
vers repo fork- CLI reference- CI: maintaining a
latestimage - the flip side, publishing your own always-current image - Agent swarms - parallel agents starting from a shared golden image