Lerd is a free, open source local development environment by software architect George Dumitrescu, aimed at developers on Linux and macOS. On macOS it competes with Laravel Herd, whose dump viewer, mail capture and database services require a Pro subscription. On Linux it fills a gap Herd does not serve at all, replacing Docker-heavy Sail setups or hand-maintained nginx configs.

Running lerd link inside a project detects the framework, writes an nginx vhost and serves the site at project.test with trusted HTTPS and its own PHP version. Under the hood it relies on rootless Podman containers, tied into systemd user services on Linux and launchd on macOS, with nothing running as root. Per-project PHP ranges from 8.5 down to a frozen 7.4 legacy tier. Node versions are handled per project through bundled fnm or an existing nvm, bun is supported as a first-class runtime, and FrankenPHP with Laravel Octane worker mode is available per site as an alternative to PHP-FPM. All projects run simultaneously at low idle memory cost.

Framework detection covers Symfony, WordPress, Magento and about a dozen more, each with matching nginx rules and env handling, pulled from a versioned community store that updates independently of releases. Node, Python or Go dev servers can also sit behind their own .test domain as host-proxy sites.

Debugging works without installing any package. Lerd intercepts dump() and dd() calls and streams them to its dashboard alongside SQL queries with N+1 and slow-query detection, outgoing mail, rendered views, events, queued jobs and HTTP calls, grouped per request, for Laravel and Symfony. A built-in SPX profiler produces flame graphs with one click, without an FPM restart. A timing view fed passively from the nginx access log ranks routes by recent p95 latency, and a Tinker tab provides an in-browser PHP REPL with project-aware autocomplete.

Git worktrees get their own subdomain and isolated database, so migrations on a feature branch never touch the data on main. Each worktree can pin its own PHP and Node version and runs its own Vite worker, served under the site's .test hostname instead of localhost:5173. The lerd worktree wait command lets scripts or parallel AI coding agents block until a checkout is fully provisioned.

MySQL, PostgreSQL, Redis and Mailpit install with one click. Databases are managed from the dashboard, including create, drop, export, import, snapshot and admin tools, with ownership and definer statements filtered on import. JetBrains IDEs are wired automatically with a data source per project. Sharing works over LAN with a QR code, through Cloudflare, ngrok or Pinggy tunnels, on a custom domain, or via an existing reverse proxy or VPN.

The web dashboard covers sites, services, live logs, a command palette and validated in-browser editing of nginx configs, php.ini and .env files with timestamped backups. It ships in fourteen languages and installs as a PWA. A btop-style terminal UI (lerd tui) targets tmux and SSH workflows, and an optional native desktop app exists. Maintenance is automated: lerd doctor repairs the environment, per-site health checks offer one-click fixes, failed queue and schedule workers self-heal, and idle sites suspend their workers automatically.

For AI-assisted workflows, Lerd ships an MCP server so assistants like Claude Code, Cursor or Copilot can scaffold projects, run migrations, switch PHP versions and read logs. Its route_timing and optimize_route tools hand the assistant slow routes together with their N+1 queries and CPU hotspots.

That convenience has one cost on macOS: containers run inside a lightweight Podman VM, which adds overhead compared with Herd's native processes. In return, everything Herd Pro charges for is free. Lerd is MIT-licensed with no Pro tier, no telemetry and no account requirement. Installation is a single curl command from lerd.sh, with a PPA for Ubuntu and Debian, a NixOS flake and WSL2 support in beta. The code is at github.com/lerd-env/lerd.