Add a lerd framework definition
Frameworks are submitted to the lerd-env/frameworks repo
(https://github.com/lerd-env/frameworks) as frameworks/<name>/<version>.yaml,
one file per major version. lerd is
framework-agnostic: no Go code knows a framework's name. Everything a framework
needs is declared here as data and ships to every install within ~24h with no
binary release.
The lerd-frameworks/ directory in the lerd repo is a local checkout you can edit
and test against, but the pull request goes to lerd-env/frameworks.
Procedure
Copy the closest existing definition.
laravel/12.yamlis the most complete reference (workers, env services, doctor, commands, tinker). For a new major version of an existing framework, copy the previous version file and adjust. The existing YAML is the schema of record — do not invent fields.Fill the sections that apply (all keyed by real examples in the store):
name,version,label,public_dir,create(scaffold command)php.min/php.max— the versions the framework supportsdetect— marker file, lockfile, orcomposer:package that identifies it, including the major versionenv—.envfile/format,key_generation, and theservicesmap that wires each service (mysql, postgres, redis, mailpit, …) with detection rules and the vars to inject. Env vars belong to the site, declared here — never on workers.workers— queue, schedule, and any framework-specific long-runners. Each hascommand,restart, optionalcheck/exclude_check(composer package or file gating),conflicts_with,proxy,per_worktree,host. New workers go here, not in Go.setup— post-link steps (migrate, storage:link…) with sensibledefault:doctor.checks— declarative health checks (env_combo,symlink,command) with afix:command and a humandetail:stringcommands— dashboard/TUI custom commands withiconandconfirmwhere destructivetinker,logs,console,composer,npm
Update
frameworks/index.jsonif the store requires it (check how the existing entries are registered), and the README table in the lerd-env/frameworksREADME.md.Validate end-to-end against a real project:
lerd link # in a project of that framework — detection must fire lerd site:doctor # the declared checks must runConfirm detection, PHP pinning,
.envwiring, workers, and doctor all behave.
Rules
- The PR goes to lerd-env/frameworks, not the lerd binary repo.
- Data only. If you're tempted to write Go that branches on the framework name, the logic belongs in this YAML instead.
- Version the file by major version; keep detection specific enough to pick the right one.
Source: geodro/lerd — distributed by TomeVault.