modera/module-bundle
Modera Module Bundle provides a modular structure for PHP applications, letting you organize features into self-contained modules with configuration, dependency handling, and lifecycle hooks. It helps keep large codebases maintainable, reusable, and easier to extend.
extra.laravel.providers + php artisan package:discover). The buy decision is already made for us by the framework; there is nothing to procure.AppKernel::registerBundles(). It maps to zero production code paths in a Laravel codebase. Flagging that early prevents a wasted evaluation cycle and sets the precedent that "Laravel/PHP" tags on package registries are not a reliable filter.Adoption criteria — effectively none are met:
AppKernel.php and cannot adopt Symfony Flex (which supersedes this package and is core-team maintained).Look elsewhere — i.e., do not adopt — because:
AppKernel.php). That breaks reproducible builds, immutable containers, CI layer caching, and code review. Modern equivalents use declarative composer.json extra metadata plus a generated manifest artifact.Preferred alternatives:
config/modules.php.Kernel::registerBundles() reading a config array.Executives: The idea — "install a module with Composer and the app picks it up automatically" — is sound, and every modern framework now ships it for free. This specific package is a 2016, archived, zero-adoption implementation written for Symfony, not Laravel. Recommendation: do not add it as a dependency; adopt the pattern natively. No procurement, no license cost, no migration, no support contract. The win here is confirming the underlying requirement and pointing it at the native mechanism — which removes a dependency rather than adding an unmaintained one.
Engineering: Treat it as a case study, not a dependency. Laravel already implements this in PackageManifest; Symfony implements it in Flex. If we build a module system, the constraints this package surfaces — opt-in metadata in each module's own composer.json, deterministic registration order, cache invalidation on install/remove, rollback on failed install, and no source mutation — are the constraints we must satisfy, but with declarative metadata and a generated manifest rather than rewriting kernel files at install time.
Risk statement: Archived, 0 dependents, last release 2016 — there is no patching path and no security triage. Adopting it would create unsupported-code and audit findings for negligible benefit, and its boot-time hook means the first symptom of a problem is a fully unavailable application.
How can I help you explore Laravel packages today?