devvm README

The project's README from github.com/devvmhq/devvm. As one markdown file: README.md.

devvm

One VM for every project

An isolated sandbox with your project's toolchain, ready for you or a coding agent to start coding.

Install · Read the docs · Staying safe

Install

On macOS, install devvm with Homebrew, which also installs Lima:

brew trust --formula devvmhq/tap/devvm
brew install devvmhq/tap/devvm

On Linux, install it with the install script, which also works on macOS and asks before it installs Lima, QEMU or access to /dev/kvm:

curl -fsSL https://github.com/devvmhq/devvm/releases/latest/download/install.sh | bash

Then run devvm doctor, which checks what devvm needs on your machine and says how to get anything that's missing.

Each release is signed with devvm's minisign key, RWSjzFsn7ETaijKJ2y7F4DtZobXmyv+LmdclJwZP/KmAkLUwOCzWF/2b, and Checking the install script shows how to check the script with it before you run it.

Quick start

cd ~/some-project
devvm
  1. Go to your project. Open a terminal and cd into any project folder.
  2. Run devvm. It shows what this folder's new VM gets, with the toolchains your project's files call for. Confirm to make the VM, or customize it to choose its toolchains, coding agents, layers, network tier and size.
  3. Start your agent. devvm opens a shell in the VM, at the same path as on your machine, and its prompt starts with (devvm), so run claude there.

[!NOTE] The first run starts with a few questions that set devvm's defaults for every new VM and its base image: the size and coding agents new VMs get, and the base image's optional extras. It builds the base image once, in a few minutes. Later VMs start in seconds.

[!TIP] Claude Code needs your Claude login before its first start, which devvm agent login claude makes from the VM and keeps on your machine (Claude Code's login).

What's supported

Why use devvm?

Working on a clone

By default, the VM mounts your project folder, so the VM and your editor share the same files. With devvm --clone, the VM gets a clone of the repo of its own, so nothing in it can touch your working tree or .git, and its work reaches your repo only when you fetch it:

devvm --clone                 # make the VM with its own clone, and open a shell in it
git fetch devvm               # later, on this machine, fetch the VM's work as devvm/<branch>
git log -p main..devvm/main   # review it before you merge it

Working on a clone has the details.

Docs

The docs are at devvm.dev, and their source is in docs/.

Security and contributing

License

MIT

devvm (devvmhq/devvm)

Searching Database…

358 ·GitHub

One VM for every project. An isolated sandbox with your project’s toolchain, ready for you or a coding agent to start coding

Creator
devvmhq
Size
16.5 MB
Stars
358
Age
1d
Commits · 90 Days