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

Nova Spatie Role Permission Laravel Package

iamgerwin/nova-spatie-role-permission

Adds Nova resources and UI for managing Spatie roles and permissions, letting you create roles, assign permissions, and attach them to users directly from your Laravel Nova dashboard. Simplifies access control administration without leaving Nova.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for admin tooling: This package is a thin integration layer between Laravel Nova (admin panel) and spatie/laravel-permission. If your product relies on either, adopting this avoids rebuilding role/permission UI (resource definitions, form fields, authorization hooks) from scratch—a multi-day to multi-week effort.
  • Roadmap sequencing for admin/RBAC features: Confirms the team can ship role and permission management surfaces (assign roles to users, manage permissions per role) inside Nova without custom resource work, unblocking RBAC-related roadmap items.
  • Upgrade planning for Nova: The v1.1.7 fix is a hard signal that Nova 5.7.5 changed the Authorizable trait contract (authorizedToCreate() became static). Any team on or moving to Nova ≥5.7.5 must be on ≥1.1.7; this constrains platform upgrade windows.
  • Platform baseline decisions: Pins the stack to PHP 8.3+, Laravel 11/12, Nova 5.7.5+. Useful when deciding supported-version policy for internal apps.
  • Vendor dependency risk assessment: Reinforces that this package is a single-maintainer integration with a narrow blast radius—worth tracking for supply-chain/DX review but not a strategic dependency.

When to Consider This Package

Consider adopting when all of the following hold:

  • You use Laravel Nova as your admin panel and spatie/laravel-permission for RBAC.
  • You want ready-made Nova resources for Roles and Permissions rather than authoring them yourself.
  • You are on Laravel 11 or 12, PHP 8.3+, and Nova 5.7.5+ (required for this release; earlier Nova versions should pin an earlier tag).
  • Your team values minimal custom code over bespoke UI/UX for RBAC administration.

Look elsewhere or build in-house when:

  • You are not on Nova—this package is Nova-specific and provides no value to Inertia/Livewire/Filament admin stacks.
  • You need custom RBAC UX (granular audit trails, approval workflows, team-scoped permissions with non-standard semantics) beyond Spatie's model.
  • You require a multi-maintainer, SLA-backed dependency; this is a small OSS package and should be treated accordingly.
  • You are on PHP <8.3 or Laravel <11—not supported here.
  • You're on Nova <5.7.5 and unwilling to upgrade; compatibility with the static authorizedToCreate() signature is not guaranteed across versions.

How to Pitch It (Stakeholders)

For executives: This is a small, free open-source add-on that plugs role-and-permission management directly into our Laravel Nova admin panel. The new v1.1.7 release is a critical compatibility fix—without it, the package fatally errors on Nova 5.7.5+. Adopting it saves us from building and maintaining equivalent admin screens ourselves; the trade-off is a lightweight dependency on a single maintainer, which we mitigate by pinning versions and monitoring releases. Recommendation: approve for internal admin use, pin to ^1.1.7, and gate any Nova upgrade on this version.

For engineering: Take ^1.1.7 if you're on Nova ≥5.7.5—prior versions throw "Cannot make static method non static" because Nova's Authorizable trait now expects authorizedToCreate() to be static. The release also corrects a missing Nova import and aligns test stubs. Requirements are PHP 8.3+, Laravel 11/12, Nova 5.7.5+. Upgrade path is a plain composer require iamgerwin/nova-spatie-role-permission:^1.1.7; no migration or config changes are needed. If you're not on Nova or not on Spatie's permission package, this isn't relevant—build or pick a stack-appropriate alternative instead.

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.
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings
coleus/apps
seampact/laravel
emmyconceptng/laravel-ng-postcode
jjsquady/round-robin