Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 12 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

When you run `lerd link` on a project, Lerd detects which framework it is and pulls the matching definition from this store — then it knows how to serve it, which workers to run, how to set up its `.env`, how to scaffold it, and how to health-check it. Everything is a versioned YAML file. Add a framework here and every Lerd install can use it within 24 hours, with no new Lerd release and no Go code.

That's the whole point: **Lerd is framework-agnostic, and this repo is where that agnosticism lives.** Laravel, Symfony, WordPress, Drupal, CakePHP, CodeIgniter, Statamic, Winter CMS, Magento, and Tempest are all defined here — not hardcoded in the binary — and so is whatever framework you add next.
That's the whole point: **Lerd is framework-agnostic, and this repo is where that agnosticism lives.** Laravel, Symfony, WordPress, Drupal, CakePHP, CodeIgniter, Statamic, Winter CMS, Magento, Tempest, and Yii are all defined here — not hardcoded in the binary — and so is whatever framework you add next.

## What a definition powers

Expand All @@ -30,19 +30,20 @@ All of it is data. None of it ships in the binary.

| Framework | Versions | Detection |
|-----------|----------|-----------|
| Laravel | 13, 12, 11, 10, 9, 8, 7, 6 | `artisan` file or `laravel/framework` in composer.json |
| Lumen | 11, 10, 9, 8, 7, 6 | `laravel/lumen-framework` in composer.json |
| Symfony | 8, 7, 6, 5, 4 | `symfony.lock` file or `symfony/framework-bundle` in composer.json |
| WordPress | 7, 6, 5 | `wp-login.php` file or `wp-config.php` file |
| Bedrock | 1 | `web/wp-config.php` file or `web/wp/wp-login.php` file |
| Drupal | 11, 10, 9, 8 | `drupal/core-recommended` or `drupal/core` in composer.json |
| TYPO3 | 14, 13, 12, 11, 10 | `typo3/cms-core` in composer.json or `public/typo3` directory |
| CakePHP | 5, 4, 3 | `bin/cake` file or `cakephp/cakephp` in composer.json |
| CodeIgniter | 4, 3 | `spark` file or `codeigniter4/framework` in composer.json |
| Statamic | 6, 5, 4, 3 | `statamic/cms` in composer.json |
| Winter CMS | 1 | `winter/wn-system-module` in composer.json |
| Drupal | 11, 10, 9, 8 | `drupal/core-recommended` or `drupal/core` in composer.json |
| Laravel | 13, 12, 11, 10, 9, 8, 7, 6 | `artisan` file or `laravel/framework` in composer.json |
| Lumen | 11, 10, 9, 8, 7, 6 | `laravel/lumen-framework` in composer.json |
| Magento | 2 | `bin/magento` file or `magento/product-community-edition` in composer.json |
| Statamic | 6, 5, 4, 3 | `statamic/cms` in composer.json |
| Symfony | 8, 7, 6, 5, 4 | `symfony.lock` file or `symfony/framework-bundle` in composer.json |
| Tempest | 3 | `tempest` file or `tempest/framework` in composer.json |
| TYPO3 | 14, 13, 12, 11, 10 | `typo3/cms-core` in composer.json or `public/typo3` directory |
| Winter CMS | 1 | `winter/wn-system-module` in composer.json |
| WordPress | 7, 6, 5 | `wp-login.php` file or `wp-config.php` file |
| Yii | 2 | `yiisoft/yii2` in composer.json |

Don't see yours? [Add it](#contributing) — that's what this repo is for.

Expand Down Expand Up @@ -72,6 +73,7 @@ definition your project resolved when its `composer.json` requires the package.
| `friendsofsymfony/elastica-bundle` | suggests the `elasticsearch` service, ticked | Symfony |
| `gotenberg/gotenberg-php` | suggests the `gotenberg` service, ticked | any framework |
| `helhum/typo3-console` | `setup` command | TYPO3 10-11 |
| `inertiajs/inertia-laravel` | `ssr` worker | Laravel 9+ |
| `inspector-apm/inspector-php` | reported faults shown in the Debug window | any framework |
| `laravel/cashier` | suggests the `stripe-mock` service, ticked | Laravel |
| `laravel/cloud-cli` | `cloud` runs on the host PHP | any framework |
Expand All @@ -84,6 +86,7 @@ definition your project resolved when its `composer.json` requires the package.
| `mongodb/laravel-mongodb` | suggests the `mongo` service, ticked | Laravel |
| `mongodb/mongodb` | suggests the `mongo` service, ticked | any framework |
| `monolog/monolog` | log records captured into the Debug window | any framework |
| `nativephp/desktop` | `native` worker, `native:install`, `native:publish`, `native:build` commands, 1 doctor check | Laravel 11+ |
| `nativephp/electron` | `native` worker, `native:install`, `native:build` commands, 1 doctor check | Laravel 11+ |
| `nativephp/mobile` | `native:install-mobile`, `native:jump`, `native:run`, `native:open` commands, 3 doctor checks | Laravel 11+ |
| `opensearch-project/opensearch-php` | suggests the `opensearch` service, ticked | any framework |
Expand Down
Loading