percymamedy/laravel-dev-booter
laravel-dev-booter streamlines Laravel package development by automatically discovering and registering your local package service providers in a host app. Skip manual config edits and boot packages instantly for faster, smoother build-test cycles.
Architecture fit: Laravel service-provider lifecycle utility. It centralizes environment-conditional provider registration with low coupling, no middleware, and no data model. Fits apps that carry many dev-only packages, but duplicates native AppServiceProvider / bootstrap/providers.php environment checks. Architectural value is convenience, not new capability.
Integration feasibility: Composer install, publish config, move dev-only providers out of config/app.php or bootstrap/providers.php into package config. Code change is small. Must verify auto-discovery, provider load order, aliases/facades, and deferred providers. Test with config cache, route cache, and Octane if used.
Technical risk: Low implementation complexity, but material adoption risk: 35 stars, likely single-maintainer pattern, last release 2024-07-11, score 0.485. Risk of lag with Laravel 11/12 provider bootstrap changes. Main functional risk is environment parity: a provider classified as dev-only but required in staging/prod will fail late. Package discovery can also keep loading a provider unless explicitly disabled.
Key questions: Which Laravel/PHP versions are supported? Does it handle Laravel 11 bootstrap/providers.php? Is it config-cache safe? Does it support aliases, facades, and deferred providers? Can it target multiple environments such as local, testing, and staging? Can we replace it with native conditional registration? Who owns maintenance if the package stalls?
Stack fit: Standard Laravel app. Best suited to teams with Debugbar, IDE Helper, or similar dev-only providers scattered across bootstrap config. Avoid if the app already has clean native conditional provider registration.
Migration path: Inventory providers, classify as all/dev/prod, install in non-prod first, publish config, migrate one low-risk provider, then run php artisan config:clear, config:cache, and package:discover. Compare php artisan about provider lists across environments. Native fallback is simple: conditionally call $this->app->register(...) inside a service provider.
Compatibility: Verify composer constraints against the target Laravel and PHP versions. Test Laravel 11+ bootstrap behavior and config caching explicitly. MIT license permits forking or vendoring the logic if the package is abandoned.
Sequencing: 1) spike and decision, 2) provider inventory, 3) install and publish config, 4) migrate one provider, 5) staging/prod parity test, 6) migrate remaining providers, 7) document rollback. Rollback should be reverting composer changes and restoring provider registration.
Maintenance: Low code footprint but external dependency. Pin the version, monitor releases, and be prepared to fork or replace with native Laravel conditionals. Add to dependency review.
Support: Limited community support and no SLA. Internal ownership and documentation are required; do not assume upstream responsiveness.
Scaling: No runtime scaling concern. It may reduce production bootstrap overhead by skipping dev-only providers, but it is not a major performance lever.
Failure modes: Provider missing in staging/prod, environment detection mismatch, stale config cache, package auto-discovery conflict, or provider load-order dependency. Mitigate with smoke tests and provider-list diffs across environments.
Ramp-up: Low for Laravel developers. Budget roughly half a day to one day for a small app, more for legacy provider sprawl. Adopt only if provider sprawl is a real pain; otherwise native conditional registration is lower risk.
How can I help you explore Laravel packages today?