Why stack?
stack runs your project's languages, databases, and dev server as plain processes on your own machine. No Docker, no virtual machine, nothing running when you're not working.
The problem
Local dev setup on Windows has three well-worn paths, and each one costs you something:
- XAMPP, WAMP, a hand-installed PHP/Node/Python — one global version of everything. Two projects that need different PHP versions can't both work at once without manual juggling.
- Docker Desktop — solves the version problem, but Docker Desktop on Windows runs a full Linux VM underneath. That's real RAM and CPU spent before your app has served a single request, and container rebuilds are slower than restarting a plain process.
- Nothing at all — just running
php artisan serveornpm run devby hand, every time, in every terminal tab, remembering which port went to which project.
What stack does instead
Every project gets a stack.toml — one file, checked into the repo, that says which language versions and services it needs. Run stack setup once per machine; from then on, cd into any project and its exact toolchain is already active, no container, no manual switching.
Pinned per project
Two projects, two different PHP versions, running at the same time, with zero conflict — each one only sees its own stack.toml.
A real domain, automatically
myapp.localhost resolves the moment you run stack up — no hosts file, no admin rights, via Caddy.
HTTPS with no warning
The same domain works over https:// too. stack trusts a local CA once, the same way mkcert does.
Actually off when it's off
stack down --all stops every process it started. No idle VM burning battery in the background.
What this isn't
Honest tradeoffs, not a sales pitch:
- Windows only, for now. macOS and Linux support is planned, not shipped.
- Not a production deployment tool. stack manages your local machine. What you ship to production is a separate concern, same as it would be with Docker.
- Not a Docker replacement for every case. If your team already has a working Docker Compose setup and it's fast enough for you, there's no urgent reason to switch. stack is for when that overhead is the actual bottleneck in your day.
Next
Getting Started — install stack and bring up your first project in three commands.