silvanite/novatoolpermissions
A Laravel Nova tool for managing roles and permissions directly from your admin panel. Assign permissions to roles and users through a clean Nova UI, register custom permissions, and keep access control organised without leaving Nova.
spatie/laravel-permission for the cost of one dependency. This package is the "buy" line item; the in-house estimate for the same three screens is the number it must beat. Get that estimate before the conversation, not after.hasPermissionTo checks remain ours. Adopt it only after the enforcement layer exists; shipping a permission editor with nothing consuming those permissions invites admins to grant access that does nothing and erodes trust in the feature.Consider adopting when most of the following hold:
spatie/laravel-permission as the system of record for roles and permissions. This tool is a UI over that library — it is not an alternative to evaluating it, and it makes no sense without it.^1.2.3).Look elsewhere or defer when:
Two questions that gate everything: does composer require --dry-run actually resolve against your real versions, and is the in-house estimate for the same screens small enough that "buy" has a concrete number to beat?
For executives (one paragraph): We are evaluating a small open-source Laravel Nova add-on that gives administrators a screen for managing user roles and permissions, so routine access changes stop consuming engineering time and no longer require a deploy. The business case is a straightforward build-versus-buy trade: it replaces a few weeks of custom admin-UI work with a free, MIT-licensed dependency, letting operations staff grant and revoke access themselves. The material caveat is maintenance — the package has not been released since 2019 and depends on a specific Nova version, so this is a speed play, not a long-term platform commitment. My recommendation is a time-boxed pilot in a non-production environment, gated on a hard compatibility check; if it fails we stop and either fork it or build the three screens ourselves at modest, low-risk cost. Treat this as cheap validation with a pre-agreed exit, not as new infrastructure.
For engineering leads (the ask): I need three things before sign-off. (1) A compatibility verdict — install against our exact Nova, Laravel, PHP, and Spatie versions in a throwaway branch and report pass/fail with evidence, not "probably fine." The dependency is roughly six years old and tracks two fast-moving frameworks, so a 2019 Nova tool bootstrapping on a current Nova install is a coin flip. (2) A dependency position — confirm spatie/laravel-permission is our system of record, because this tool cements its schema and cache behaviour and I don't want that decided by accident. Confirm guard names match exactly, and that we are not creating a second place where roles get defined. (3) An owned-fork plan — name the person who carries a fork or replaces the UI if upstream goes quiet, and confirm the MIT licence plus code size make that weeks, not months.
Framing the risk honestly: this package scores well on capability and poorly on momentum — a dormant repository with thin adoption and a history of shipping a breaking parameter change inside a patch release. That is acceptable for a convenience layer sitting behind our own authorization logic, and unacceptable if it becomes load-bearing access-control infrastructure. Sequence the work deliberately: prove enforcement first (gates and policies wired to the permissions), then expose the UI; land a slug-parameter audit up front, because the known failure mode is silent wrongness rather than an exception. Position the pilot as cheap validation with a pre-agreed exit, so we neither over-escalate a small dependency nor quietly let an abandoned package become how we control access.
How can I help you explore Laravel packages today?