Getting started
Getting started
devmachine sets up a VPS for you to code on. Each project or client gets its own account on the server, called a workspace, with its own tools and logins.
You need a Debian or Ubuntu VPS you can reach as root over SSH, and a Mac or Linux computer.
Three commands:
brew install mydevmachine/tap/devmachine
devmachine setup
devmachine workspaces new alice && devmachine sync
On Linux without Homebrew, get the binary from the releases page.
devmachine skills add teaches your coding agent how to use devmachine. You
can run it before setup, too.
Then work in your new workspace:
devmachine ssh alice
What each command does
setup asks for your server’s address. It shows a code called the
fingerprint: check it matches the one in your provider’s dashboard, so you
know you are talking to your own server. Then it sets up a key and turns off
password logins, so only you can get in.
workspaces new alice creates a workspace called alice. sync builds it on
the server.
A new workspace comes with git, the GitHub CLI, Node LTS (through mise), bun and zsh. The server itself gets nothing else until you add packages to it.
Something failed? Troubleshooting says what each error really means.
Set it up to develop
- A coding agent:
devmachine packages add claude-code --workspace alice, thendevmachine sync. - GitHub, signed in once for every workspace:
devmachine login gh, thendevmachine sync. See credentials. - Docker:
devmachine packages add docker, then let the workspace use it withdevmachine workspaces edit alice --set workspace.groups=[docker], thendevmachine sync. - Anything else:
devmachine packages listshows what is available. Packages says how to add one or write your own. - Teach your coding agent this CLI:
devmachine skills add. See agent skills.
Extras
- Show an app at a URL — anything listening on a port, a dev server or a
Docker container. Add a reverse proxy once with
devmachine packages add caddy, thendevmachine expose add alice 3000 --host app.example.comanddevmachine sync. To reach it only from your own computer, with no public URL, usedevmachine tunnel alice 3000instead. See publishing. - Keep your configuration in git:
devmachine setup git. See versioning your configuration.
Real setups, step by step: examples.