internachi/modular
A lightweight module system for Laravel using Composer path repositories and Laravel package discovery. Organize large apps by placing self-contained “modules” in an app-modules/ directory, following standard Laravel package conventions with minimal extra tooling.
Feature Development: Enables modular architecture for Laravel apps, allowing teams to:
routes/)database/)resources/)tests/)make:module).Roadmap Prioritization:
nwidart/laravel-modules (which adds complexity) in favor of a lighter-weight, Laravel-native solution.app/Features/Payments/) with standardized modules for easier maintenance.Use Cases:
laravel-modules).Adopt if:
Look elsewhere if:
nwidart/laravel-modules.composer.json edits)."This package lets us organize our Laravel app like LEGO blocks—breaking it into reusable modules (e.g., Payments, Notifications) that teams can develop independently. It’s not a rewrite, but a scalable upgrade to our current structure, reducing technical debt and speeding up feature delivery. Think of it as containerizing parts of our app without the complexity of microservices. Competitors like [nwidart/laravel-modules] add bloat; this stays lightweight and Laravel-native, so our devs won’t fight the tooling."
Key Outcomes:
*"This replaces our hacky app/Features/ folders with a standardized, Laravel-approved module system. Here’s why it’s better than rolling our own:
--module=Payments to any make: command (e.g., make:controller --module=Payments) to scaffold into the right namespace.Trade-offs:
laravel-modules (no dynamic enabling/disabling), but simpler and faster for our use case.composer.json setup (path repos + module dependencies).Next Steps:
Auth, Reports) and compare dev velocity to our current approach.php artisan modules:sync to auto-configure PhpStorm and PHPUnit.For Developers: *"You’ll love:
make:module → Instant scaffold for new features.<x-module::component /> → Blade components with namespaced paths.__('module::translations.key') → Easy i18n per module.composer require internachi/modular and go.Gotchas:
app-modules/, not app/.config/modular.php."*How can I help you explore Laravel packages today?