Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Novaspatiepermissions

Novaspatiepermissions Laravel Package

itsmejoshua/novaspatiepermissions

A Laravel Nova tool for managing Spatie permissions straight from your admin panel. Browse, assign, and revoke roles and permissions for users through a clean Nova interface, making access control simple without custom code.

View on GitHub
Deep Wiki
Context7

Laravel Nova tool for managing spaties roles/permissions in laravel's nova package.

Frequently asked questions about Novaspatiepermissions
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.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource