macOS web development
Run PHP, Node, Python, Ruby, web servers, databases, caches, search, mail and storage on your Mac. Butler gives every project a local domain, trusted HTTPS, the language versions it asks for, and isolated services using sha256-verified static binaries. Loopback-only by default. Nothing touches Homebrew.
CLI, daemon, DNS and the reverse proxy ship as a single butler executable. The menu-bar app is optional — quit it and nothing stops.
Every service is a sha256-verified static binary pulled on demand. Your system stays clean; builds stay reproducible.
A built-in CA issues per-site certs. butler secure flips any site to trusted TLS instantly.
Park a folder and every subdirectory becomes name.test — Laravel, WordPress, Symfony, Craft, Statamic, Drupal, static and proxies, auto-detected. Octane worker mode included.
Pin a project to any PHP version with butler isolate. node, python, ruby and the commands around them resolve the version each project asks for — and they're real files on your PATH, so editors, build scripts and git hooks get the same versions your terminal does.
butler migrate herd imports your sites, and butler migrate herd --services adopts existing database and cache data. PROXY-aware routing keeps request metadata intact across Butler's hops.
Pick what you need — each one a verified static binary, supervised for you.
Run several versions side by side — butler service add postgresql@18 and go.
Familiar verbs if you've used Valet — done better where it counts.