Elyra
Elyra The coding agent eTerm The terminal that knows where each command ends Starf An activity monitor for Apple silicon that never invents a number etrans An SSH and SFTP client for macOS Litr A small, native web browser for macOS Notr A notebook for macOS e The native code editor Elyra Grove Native local development environment Askr The real server for Laravel & PHP Elyra Framework Rust + Svelte 5 framework for desktop apps Elyra Conductor Local project conductor Refr Local-first PDF workspace for macOS Elyra Workspace A desktop workspace for coding agents Elyra SQL Server MySQL-compatible SQL server in Rust Elyra Félagi Agents as teammates on one board Elyra SQL Client Native desktop SQL workbench Elyra SQL Anywhere Replication-ready SQL engine Elyra Sjá SEO & GEO workspace for macOS Elyra DataGrid Server-driven data grid for Laravel
Internals
Architecture
Release notes
Changelog
Elyra
Migrate from Herd

Migrate from Herd

Coming from Laravel Herd? Grove gives you the same effortless *.test + HTTPS experience — but open source, with no license wall on databases, mail, or dumps, the freedom to load custom PHP extensions, and a team layer Herd doesn't have. This guide moves you over in a few minutes, with nothing lost.

Why switch

Herd Grove
Open source ❌ ✅ (MIT core)
Databases / mail / dumps Pro license ✅ Free
Custom PHP extensions ❌ ✅
Bundled PHP / Node / DBs ✅ ✅
Public tunnels Pro ✅ Free
Request timeline, DB snapshots ➖ ✅
Encrypted team secret sync ❌ ✅ (Grove Teams)

Everything you rely on day-to-day is here — plus things Herd doesn't offer.

1. Install Grove

Download the app from elyracode.com/grove, then:

sudo grove init       # config, root CA, a PHP build, resolver + trust
sudo grove install    # install the background service (binds 53/80/443)

2. Point Grove at your projects

grove park ~/Code           # every sub-folder becomes <name>.test
#   or, inside one project:
grove link
grove secure myapp          # enable HTTPS

Grove auto-detects the driver (Laravel, WordPress, plain PHP, static, proxy).

3. Bring your databases across

If you have databases in Herd's MySQL, migrate them in one step. Start Grove's MySQL under Services, then use Tools → Migrate MySQL from Herd in the desktop app — it dumps every database from Herd's MySQL and imports it into Grove's. (Do this before removing Herd, while its MySQL data still exists.)

4. Put the toolchain on your PATH

Herd added php, composer, cpx and node to your shell. Grove does too — pointing at each project's pinned version:

grove path install
# add the printed line to your shell profile, then restart your shell

Now php, composer, cpx, node, npm and laravel come from Grove.

cpx

Herd 1.30 started shipping cpx (the Composer Package Executor) as a built-in command. Grove ships it the same way, so nothing changes for you:

cpx laravel/pint
cpx friendsofphp/php-cs-fixer fix ./src
cpx tinker

Your ~/.cpx cache and aliases are cpx's own, not Herd's, so they carry over untouched. Grove keeps the cpx binary at ~/.grove/cpx.phar and runs it on Grove's PHP; cpx self-update still works.

A note on extensions

Grove builds its own static PHP precisely so this isn't a downgrade: intl, mysqli, sodium, readline, apcu and xsl are all there, alongside pdo_sqlite and pdo_pgsql. Check what you have before migrating a project that needs something specific:

grove php ext

If a version has no Grove build yet, grove php install falls back to an upstream set and tells you which extensions that costs you — the label in grove php list always shows what you actually got.

And if you need an extension nothing prebuilt has, register a PHP that has it — the thing Herd will not let you do:

grove php register 8.5 /opt/homebrew/opt/php@8.5/sbin/php-fpm
grove isolate myapp 8.5

5. Vite over HTTPS

Use the standard laravel-vite-plugin in vite.config.js (no hard-coded cert paths). Grove serves the Vite dev server over trusted HTTPS automatically when you run grove dev, via the same VITE_DEV_SERVER_CERT / VITE_DEV_SERVER_KEY mechanism Herd used — so a plain config works under both.

6. Remove Herd

Once your sites load and your data is migrated:

# 1. Remove Herd's lines from your shell profile (~/.zshrc):
#    the PATH export, HERD_PHP_*_INI_SCAN_DIR, and the NVM_DIR block.

# 2. Quit Herd, then remove its privileged helper (needs sudo):
sudo launchctl bootout system /Library/LaunchDaemons/de.beyondco.herd.helper.plist 2>/dev/null
sudo rm -f /Library/LaunchDaemons/de.beyondco.herd.helper.plist

# 3. Delete the app + its data:
rm -rf /Applications/Herd.app
rm -rf "$HOME/Library/Application Support/Herd"

# 4. Re-assert Grove's resolver + CA (in case Herd's uninstall touched them):
sudo grove install

Uninstalling Valet too? valet uninstall --force (or composer global remove laravel/valet if you never ran valet install).

7. Verify

grove list                 # your sites
grove doctor               # should be all green
php -v                     # now Grove's PHP

Open a site over https://…test — trusted padlock, no warnings.


That's it. You keep the *.test + HTTPS workflow you're used to, gain custom extensions and a genuinely free database/mail/dump/tunnel stack, and unlock Grove Teams when your team is ready to sync secrets securely.

Questions or a snag? See Installation and Commands, or reach out — we're happy to help you land.