mphpmaster/laravel-nova-blueprint-permission
Blueprint-style permission management for Laravel Nova: define roles and permissions declaratively, attach them to Nova resources, and keep access control consistent from one centralized interface. Built for teams that want readable, version-friendly authorization setup.
Architecture fit
laravel-shift/blueprint so a YAML draft emits Nova Resources plus policy/permission wiring (typically against spatie/laravel-permission). The marketplace description ("blueprint-style interface for defining roles, assigning permissions") describes an admin UI, which the implementation notes contradict. Treat the positioning mismatch as the first thing to resolve before any stakeholder sees a demo — the actual artifact is scaffolding, not an end-user RBAC screen.Gate integration do that. The package's contribution is generation velocity.Integration feasibility
--dev), publish stubs/config, run blueprint:build. A one-day spike can establish whether generated output is usable — that is cheap and worth doing before any deeper commitment.Technical risk
config/permission.php uses non-default tables or a non-web guard — misalignment yields either privilege escalation or admin lockout.Key questions
Stack fit
Migration path
blueprint:build --only=<Model>.^2.0 if the upgrade cannot be scheduled.Compatibility
auth.guards, and confirm permission table names match config/permission.php.blueprint:build then git diff --exit-code) so drafts stay the sole authoring surface.Sequencing
--dev, publish stubs/config, generate one model, evaluate output quality and the generator-vs-UI question. Exit criteria: a Nova Resource + Policy that passes both positive and negative authorization tests.Maintenance
require-dev — a production require ships a code generator to prod for no benefit.Support
Scaling
Gate checks, validate Spatie's permission cache, indexes, and query patterns under expected load. This is a property of Spatie, not the plugin, but the plugin sets the defaults — get them right at generation time, because retrofitting means editing many files.Failure modes
Ramp-up
How can I help you explore Laravel packages today?