About Sailwright
Built from real onboarding and support pain in mixed-OS teams.
Where It Started
Sailwright grew out of real onboarding and support pain in mixed-OS teams: developers spending hours figuring out how a machine was supposed to look, setup differences that were hard to debug and reproduce, and OS-specific scripts that drifted further from each other every quarter. The goal has stayed simple since day one — make machine setup reproducible, testable, and much less dependent on memory or hand-written host-specific scripts.
Sailwright was originally developed under the name Dev Alchemy — a few internal paths and environment variables still carry the old dev-alchemy prefix while the migration completes.
How We Think About It
Sailwright is deliberately not a replacement for classic MDM/UEM tooling. It complements those tools by handling the developer-tooling and workflow layer that usually stays manual, team-specific, and hard to reproduce — the scripts and unwritten know-how that live between what an MDM enforces and what a developer actually needs installed to get work done.
That focus keeps the project's scope narrow on purpose: versioned Ansible roles and playbooks as the source of truth, cross-platform where it reasonably can be, applied through host-appropriate tooling rather than one-off scripts per machine.
How It's Different
Unlike raw ansible-playbook runs, chezmoi, Nix/Devbox, or devcontainers, Sailwright pairs Ansible with disposable, host-specific VM build/provision tooling so the same playbooks can be tested against real macOS, Linux, and Windows targets before they ever touch a developer's machine.
Concretely, that means: one command vocabulary for VM lifecycle across all three host OSes, Windows provisioning with zero standing remote-management access left behind, build artifacts distributable through any OCI (Docker-style) registry, and idempotent runs that repair drift instead of requiring a rebuild.
License
Sailwright uses a dual-licensing model. Copyright © 2026 Carl-Christian Sautter. The community edition is open source under the GNU Affero General Public License v3 (AGPLv3). If you need to use Sailwright in commercial products, SaaS platforms, or other closed-source environments without AGPL obligations, a separate commercial license is available — get in touch for details.
Early releases were published under the MIT License; if you're using an older tag or release, refer to the license file included with that specific version.
Contributing
Contributions are welcome — the project is developed in the open at github.com/csautter/sailwright. Particularly valuable: more roles and playbooks, broader cross-platform coverage, better docs and troubleshooting guidance, and bug fixes with test coverage. Submitting a pull request means agreeing to the project's Contributor License Agreement, which lets the maintainers license contributions under both the open-source and commercial terms above.
Get Involved
Take a look at what Sailwright can do on Features, see it applied to real problems on Use Cases, review licensing details on Legal, or contact us with questions.