tomatophp/tomato-roles-module
Tomato Roles Module plugs a complete roles and permissions manager into your Laravel/Tomato admin panel. Create and edit roles, assign granular permissions, and control user access through a clean built-in UI powered by Spatie's permission package.
Architecture fit
tomatophp/tomato-roles-module is a TomatoPHP admin-panel module that wraps role/permission management (a Filament UI layer over spatie/laravel-permission, plus migrations, seeders, and a TomatoRolesServiceProvider). It is additive: it registers resources, permissions and a config publish tag, and does not restructure the host application.spatie/laravel-permission. If our authorization is policy/gate-based with a custom RBAC schema, this module pulls a second source of truth into the app and should be rejected.tomato-admin/tomato-php sibling packages, its own Setting/helpers conventions). Adopting one module tends to pull in the family; treat it as an ecosystem decision, not a component decision.Integration feasibility
Technical risk
spatie/laravel-permission, Filament major versions, and PHP/Laravel minimums can make a module lag behind framework upgrades. A patch bump may exist precisely to chase one of these — unknown from the notes.v1.0.2 → v1.0.3 bump with no notes means we cannot assess regression risk; treat as an unknown-risk change and diff it before adopting.Key questions
spatie/laravel-permission and Filament major versions does it pin, and does the pin match ours?Stack fit
spatie/laravel-permission. Preferred: an existing TomatoPHP admin panel, since the module assumes sibling packages and helpers.tomato-admin views at runtime.Migration path
composer require, publish config and migrations, migrate a restored production-like dump.Gate::define, policies, can: middleware, seeders) and produce a mapping table to the module's naming.roles/permissions tables with the module's expected seed set; keep the old checks working until the map is complete.Compatibility
composer why-not and a CI matrix run.Sequencing
Maintenance
Support
Scaling
spatie/laravel-permission. Permission checks are cached, so read load is fine; the risk is cache invalidation storms after role edits and slow admin queries on very large permission sets.Failure modes
Ramp-up
How can I help you explore Laravel packages today?