Your tools.
Your rules.

Anvil turns the folders on your Mac into running applications at local domains like myapp.test, with HTTPS, isolated runtimes and databases. No containers, no virtual machines.

Free and open source under Apache 2.0. For macOS on Apple Silicon, in early development.

~ $ anvil park ~/Sites
Parked /Users/you/Sites
~ $ anvil sites
shop.test Laravel 8.4 /Users/you/Sites/shop/public
blog.test Next.js - /Users/you/Sites/blog
api.test Go - /Users/you/Sites/api
admin.test Django - /Users/you/Sites/admin

Runs natively, stays in its folder

PHP 8.0 to 8.5
Per application, each with its own PHP-FPM pool and php.ini settings.
Node.js, Go, Rust, .NET, Python
Isolated toolchains. Apps with their own dev server are proxied to their .test domain.
MySQL, PostgreSQL, Redis, Mailpit
As many of each as you need, on the ports you pick. Nothing runs until you add it.
Detected for you
Laravel, Statamic, Symfony, Next.js, Nuxt, Vite, Django, FastAPI, Flask and plain static sites.

What Anvil changes on your Mac

Runtimes, services, data and the caches of the tools they run all live in ~/.anvil. The only system changes are the ones you approve:

/etc/resolver/test
Sends *.test to Anvil's DNS server. Prefer no password? Use .localhost and skip it.
A local certificate authority
Trusted once with anvil trust, so HTTPS works in your browser.
A login item
Optional. Starts Anvil and your services when you sign in.

anvil uninstall removes them. The few tools that write elsewhere, like Go's telemetry counters, are listed in Applications.

Up and running

git clone https://github.com/n1crack/anvil && cd anvil
cargo install --path .

anvil php install 8.4      # an isolated PHP
anvil setup                # downloads the web server
anvil park ~/Sites         # every folder becomes <folder>.test
anvil start
anvil trust                # trust the local certificate for HTTPS

Then open https://<folder>.test:8443. Getting started explains each step, including the one-time DNS setup.

Where it's going

Available
Local domains, HTTPS, PHP and five more languages, services, templates, logs, Git status and the native macOS app.
Next
Standard ports 80 and 443 through a privileged helper, so URLs drop the :8443.
Planned
Signed and notarized releases. Linux. Windows.

Anvil is licensed under the Apache License 2.0.