Sailwright is in public beta — Try it now · Give feedback

Set up, test, and repair developer machines on macOS, Windows, and Linux — with one command.

Sailwright

Public Beta

Try the Beta →View on GitHub

Setting up a developer machine is still one of the most manual things in software: wiki checklists, one-off scripts, and asking whoever did it last. Sailwright replaces that with automation you can version, test, and re-run.

It's a single command-line tool that sets up, tests, and maintains developer environments on macOS, Linux, and Windows. Under the hood it combines Ansible with the right VM and system tooling for each platform, so teams can manage local machines, remote hosts, and disposable test systems from one repository.

Sailwright is not a replacement for the MDM/UEM tooling your IT department runs — it complements those tools by covering the developer-tooling layer they don't reach: the part that usually stays manual, team-specific, and hard to reproduce.

The result: machines that look the same however they got there — a new laptop, a rebuilt CI runner, or a workstation that has drifted and needs to be brought back in line.

Download the binary for your OS from GitHub Releases, then run: sailwright install

You run the commands

…the VM builds itself, unattended

Why It Helps

One shared, versioned machine setup — here's what it changes for a cross-platform team:

Who Uses Sailwright

Developers keeping their own workstation honest. Platform teams onboarding new hires. CI engineers reusing build images. Windows and Mac admins who don't want standing remote access. IT leads weighing open source against support contracts.

Sailwright serves each of them a little differently — see who it's for and find your scenario.

One Toolkit, Every Host

Sailwright keeps setup logic in versioned Ansible roles and playbooks, then uses host-appropriate tooling to apply and test them.

What works today: each host OS and the systems it can build, test, and provision
Host OS What you can automate today
macOS Managed workflows for macOS (Tart), Ubuntu (UTM), and Windows 11 (UTM), plus direct local provisioning of the host itself
Windows Managed workflows for Ubuntu (Hyper-V) and Windows 11 (Hyper-V, plus VirtualBox as unstable), plus direct local provisioning of the host itself
Linux Managed workflows for Ubuntu and Windows 11 with native QEMU/KVM via libvirt/virt-manager, plus direct local provisioning of the host itself and Docker-based Linux testing

Tart, UTM, Hyper-V, and QEMU/KVM are each platform's native virtualization tools — Sailwright drives them for you, so you never interact with them directly.

Built on Simple Ideas

Built on Trust

Sailwright is maintained by Carl-Christian Sautter and open source under the GNU Affero General Public License v3 (AGPLv3), with a separate commercial license available for closed-source or SaaS use — see About for details.

It collects no telemetry and phones home to nothing: the only network calls it makes are the ones you explicitly ask for (release/self-update downloads, OCI registry push/pull, and the Ansible/VM/network operations your playbooks define).

Elevation is scoped and temporary rather than “run everything as admin.” On Windows, sailwright provision local creates a dedicated, time-boxed local administrator account and a loopback-only WinRM/SSH listener for the duration of the run, then restores the prior state during cleanup. On macOS/Linux, install and provisioning scripts prompt for sudo only for the steps that need it.

Release binaries ship with published checksums, signed keylessly with cosign — see SECURITY.md for verification steps.

See It in Action

Find yourself on Who It's For, browse the Features, or see real workflows in Use Cases.

Ready to try it? Download the release for your OS from GitHub Releases, then:

Full setup, including Windows and VM workflows, is in the documentation — or get in touch with questions.