liberusoftware/roles-permissions-filament
Filament admin panel integration for the Liberu roles and permissions package, providing ready-made resources and UI components to manage roles, permissions, and user assignments directly inside your Filament app.
Architecture fit. The package is a Filament panel plugin — a thin UI layer (Resources, Pages, tables/forms) over a separate authorization backend referenced as "the authorization capability." It is not a standalone RBAC engine. That means architectural fit is really a question of whether two packages fit: this UI module plus its underlying role/permission model, plus your Filament and Livewire versions. The naming convention (module-*) and the Liberu namespace suggest it's built for the Liberu modular Laravel ecosystem, which typically implies opinionated service-provider registration and a module loader. If you are not already inside that ecosystem, expect to shim or bypass some of that plumbing.
Integration feasibility. Mechanically straightforward: composer require, register the plugin in the target PanelProvider, ensure the authorization package's migrations have run, and confirm the Gate/policy wiring the UI writes against is the same one your application reads. The real feasibility question is dependency resolution — Filament's major-version cadence is fast, and a zero-star UI plugin pinned to a Filament major is a version constraint you inherit.
Technical risk.
Key questions.
composer.json?spatie/laravel-permission? (Determines migration cost.)Stack fit. Target is Laravel 11/12 + Livewire 3 + Filament 3/4. If your admin panel is Filament, the UI fit is native and low-friction. If you are on Nova, Backpack, or hand-rolled Blade, this package is unusable — do not contort the stack around a zero-adoption plugin.
Migration path. Two scenarios:
spatie/laravel-permission (or custom) tables: you need an ETL over roles, permissions, and the pivot tables, plus reconciliation of permission naming conventions (posts.edit vs edit-post). Unless the backend explicitly adapts to Spatie's schema, assume migration work of days, not hours. If Spatie is already in place, a hand-written Filament resource over Spatie is likely cheaper than this package plus a migration.Compatibility. Pin explicitly: composer.json should show filament/filament:^3 (or ^4) and php:^8.2. Resolve the constraint first in a scratch project before committing to a spike — a failed composer require is a 10-minute kill signal.
Sequencing.
composer.json and the plugin class; confirm Filament major, guard support, and whether the auth backend auto-installs.Maintenance. This is the dominant cost. With one maintainer, zero dependents, and no visible CI, plan on owning the code. Fork it into an internal namespace at adoption time rather than after the first breakage — retrofitting a fork post-incident is more expensive than starting with one.
Support. No community, no Stack Overflow corpus, no issue history to mine. Support means reading the source. Budget for that in onboarding and in every Filament upgrade cycle.
Scaling. The admin UI is low-traffic and not a throughput concern. The scaling question is on the read path: permission resolution and cache invalidation in your application's authorization checks. That lives in the backend package, not this UI — evaluate it separately. Verify the UI flushes the permission cache on save, or you will ship stale authorization to production.
Failure modes.
Ramp-up. Low for a developer already fluent in Filament (hours to productive); moderate for anyone else, because they must learn both this plugin's conventions and the Liberu module conventions layered on top. Add explicit ramp-up cost for the security review — that is specialized work, not standard feature onboarding.
Recommendation. Treat as conditionally viable for greenfield Filament RBAC only. Gate adoption on: the Day-0 composer spike passing, confirmed Filament major alignment, an audit that the backend is not itself abandoned, and a decision to fork under internal ownership. If you already run Spatie or any non-Filament admin surface, build the small resource yourself — the maintenance asymmetry does not justify the dependency.
How can I help you explore Laravel packages today?