Provision consistent, high-productivity dev boxes for every engineer on your team — on any infrastructure. Walter sets up the machine, installs the toolchain, clones your repos, and leaves a personalized environment your agent can manage.
Like Google Cloud Workstations — on any cloud, with your team's software.
The BigConfig walter package codifies every decision — host specs, toolchain, dotfiles, repos, access — as a declarative Clojure config your team can clone, version, and ship to any cloud.
Hetzner Cloud, Oracle Cloud Infrastructure, or bring your own server. Swap providers in bb.edn — the dev environment stays identical.
`bb walter create` spins up the VM, runs Ansible, installs devbox, clones your repos, hands you a ready box. `bb walter delete` tears it down.
Declare your team's languages, runtimes, and CLIs once. Devbox installs them pinned and reproducible — identical across every engineer's box.
Doom Emacs, Zellij, Fish, Atuin — codified once, installed everywhere. New hires get the team standard the moment the box finishes provisioning.
Your team's repositories arrive on the box with worktrees already set up for the branches you work on. No first-day dance to get to code.
Users, SSH keys, firewall rules, base packages — every machine-level concern codified as a playbook, not a runbook in a wiki.
Cloud Workstations standardizes dev environments — on Google's terms. Walter does the same job on your infrastructure, with your software, on your bill.
Describe the team environment in plain English. Your agent refines the
plan, writes a single bb.edn, and runs it.
You need to create a project to provision a cloud dev environment for your team.
This project contains only the `bb.edn` file.
The `bb.edn` contains the dependency https://github.com/amiorin/walter
You can download https://github.com/amiorin/walter to see how it works.
https://github.com/amiorin/walter is built on top of https://github.com/amiorin/big-config
All the options should be defined in the `bb.edn`.
Only the `walter` task should be created.
The compute provider is Hetzner with 8 GB RAM, 4 vCPUs, 80 GB disk.
Each team member gets a user with their SSH public key.
The devbox toolchain includes the languages and CLIs your team uses.
Your team's dotfiles repository is cloned into every user's home.
Your team's project repositories are cloned with worktrees for active branches.
Personalized environment includes Doom Emacs, Zellij, Fish, and Atuin.
You need to create the `.envrc` for HCLOUD_TOKEN — I will provide the value later. {:deps {io.github.amiorin/walter {:git/url "https://github.com/amiorin/walter"
:git/sha "REPLACE_WITH_LATEST_SHA"}}
:tasks {:requires ([io.github.amiorin.walter.package :as pkg])
walter {:doc "bb walter create | bb walter delete"
:task (pkg/walter*
*command-line-args*
{:big-config.render/profile "team-dev"
:big-config.workflow/params
{:provider-compute "hcloud"
:hcloud-server-type "cax31"
:hcloud-location "nbg1"
:hcloud-image "ubuntu-24.04"
:hcloud-ssh-keys ["id_ed25519"]
:walter
{:users [{:name "<teammate>"
:ssh-key "<public-key>"}]
:dotfiles "git@github.com:<org>/dotfiles"
:repositories [{:url "git@github.com:<org>/<repo>"
:worktrees ["main" "develop"]}]
:devbox {:packages ["<language>" "<cli>"]}
:tools [:doom-emacs :zellij :fish :atuin]}
:provider-backend "s3"}})}}} $ bb walter create
$ bb walter delete
Which cloud, what size box, which toolchain, which repos. The
agent turns the conversation into a single bb.edn.
bb walter create
provisions the VM, configures users and firewall, installs devbox,
clones your repos, and hands you an SSH endpoint.
Upgrades, rebuilds, teardown — every runbook is a BigConfig workflow your agent can execute on behalf of the team.