- How do I install itsmejoshua/novaspatiepermissions in Laravel Nova?
- Install it with Composer using composer require itsmejoshua/novaspatiepermissions, then register the tool in your NovaServiceProvider::tools() method. Make sure your Spatie laravel-permission migrations are already published and run before using the UI. The technical evaluation recommends confirming the Packagist listing actually resolves and noting the download count, license, and last release date before adoption.
- Does this package support Laravel Nova 5 and Laravel 11?
- The provided metadata does not include a clear compatibility contract, so Nova 5.x versus Nova 4.x, Laravel 10 versus 11, and PHP 8.1+ all need verification against your matrix. The evaluation notes that a package with zero dependents is very unlikely to have been exercised against Nova 5 and Spatie v6. Test it in a staging environment before relying on it in production.
- Which versions of spatie/laravel-permission does this Nova tool support?
- You should explicitly verify compatibility with spatie/laravel-permission ^6 versus ^5, because v6 changed cache and team semantics. The evaluation flags that no compatibility contract is provided, so read the source and test role and permission changes in staging. Confirm that the tool uses Spatie's public API rather than writing directly to pivot tables.
- Is novaspatiepermissions a good alternative to vyuldashev/nova-permission?
- The evaluation identifies vyuldashev/nova-permission as the de facto mature implementation of this exact idea, with years of tracking Nova major versions. Any adoption decision for this package must answer why not the incumbent, and the metadata here supplies no release, download, or dependent signal to support that answer. If the alternatives do not fit, compare the cost of a timeboxed spike or a small in-house Nova tool against owning a fork.
- Does this package support Spatie teams and multi-tenancy?
- The evaluation lists no teams or multi-tenancy support as a secondary risk, and notes that role scoping will likely be wrong or absent if you use Spatie teams. You should inspect the source and test with your team configuration before using it in a multi-tenant application. If teams are central to your access model, verify this explicitly or consider a different implementation.
- Is there an authorization gate to prevent privilege escalation in the Nova tool?
- A permissions-management UI with no gate is a privilege-escalation surface, because anyone who can reach Nova could potentially grant themselves roles. The evaluation recommends confirming that the tool respects Gate::allows() or is wrapped in a Policy that you can tighten. Inspect the boot() and authorize() paths before exposing the tool to non-admin users.
- Does the package call Spatie's API or write directly to pivot tables?
- Verify in the source that it mutates models through Spatie's public API, such as $role->syncPermissions() and $user->assignRole(), rather than writing directly to pivot tables. Direct pivot writes would bypass Spatie's permission cache invalidation. The evaluation estimates a small surface of roughly four to six Nova resources plus one tool provider, so reading the source end to end is practical.
- Is this package actively maintained and safe for production?
- The evaluation says the primary risk is abandonment rather than defects, and that zero stars, zero dependents, and no release signal mean you would be the only integration test in existence. Nova is a fast-moving commercial product, and tool packages ship precompiled JavaScript that can break silently on major bumps. Treat adoption as a timeboxed spike and be prepared to fork or replace the tool if it falls behind.
- Can I manage roles and permissions for users without writing custom Nova code?
- Yes, the package provides Nova CRUD screens over the roles, permissions, model_has_roles, and role_has_permissions tables so you can browse, assign, and revoke access through the admin panel. The evaluation recommends keeping seeders authoritative for baseline roles so environment rebuilds remain reproducible. Treat the Nova tool as an operational convenience rather than the only path for role management.
- How do I test or roll back the Nova permissions tool if something breaks?
- The integration is additive and removable: unregister the tool from NovaServiceProvider::tools() and delete the vendor directory, with the only residue being data that was edited through the UI. Test it in staging against your exact Nova, Laravel, PHP, and Spatie permission versions before production. Because the package gives you no compatibility contract, keep a rollback plan and verify that role changes behave correctly after removal.