panelis-php/module
Panelis Module is a Laravel/PHP package for organizing applications into reusable modules. It provides a structured foundation for modular development, helping keep code maintainable and separation of concerns clear. Ideal for projects that need scalable, component-based architecture.
panelis-php/module supports splitting a Laravel application into self-contained modules. The v1.4.0 change — registering permissions from within a module — lets each module declare its own access rules alongside its routes, migrations, and views. This is the enabling primitive for feature-flagged, entitlement-gated, or tiered releases without cross-team coordination in a shared authorization file.spatie/laravel-permission wiring.Open product questions this release surfaces (to resolve with engineering): Does registration happen at boot, via a service provider contract, or a config manifest? Is it idempotent across module reloads? Does it integrate with an existing gate/policy or a third-party permission package, or does Panelis own the permission store? These determine whether the capability is production-grade for billing-critical entitlement checks.
Consider it when:
Look elsewhere when:
spatie/laravel-permission is more widely adopted, better documented, and has a larger hiring/troubleshooting pool. Adopting a module framework to get RBAC is over-buying.Adoption criteria before committing: confirm the permission-registration API is stable and documented; verify Laravel version support against your upgrade cadence; check test coverage and CI; confirm a bus-factor mitigation (forkability, license permissiveness); and pilot on one non-critical module before standardizing.
For executives — one paragraph:
panelis-php/module is a Laravel package that lets us build the product as a set of self-contained modules, each carrying its own access rules. The v1.4.0 release is a small but directionally important step: modules can now register their own permissions, which is what lets us ship features and their access controls together, and later map modules cleanly to pricing tiers. It is a low-cost, reversible bet — MIT-style open source, adoptable on a single module first. The caveat is maturity: it is a young, single-maintainer project, so we should treat it as a productivity accelerator for internal structure rather than a load-bearing dependency for billing-critical authorization until engineering has validated the API and we have a fallback plan.
For engineering — the ask:
Spike one module using v1.4.0's permission registration. Report back on: (1) the registration contract and whether it is idempotent; (2) whether it composes with spatie/laravel-permission or replaces it; (3) Laravel version support and test coverage; (4) effort to remove it if we change our minds. Timebox it; we greenlight broader adoption only if the module boundary stays clean and the permission layer is not a lock-in point.
Do not pitch it as: a replacement for a mature authorization library, a security boundary, or a committed long-term platform bet. It is an internal-architecture convenience with an emerging feature set.
How can I help you explore Laravel packages today?