beartropy/permissions

Visual UI for spatie/laravel-permission using the Beartropy ecosystem
201
Install
composer require beartropy/permissions
Latest Version:0.2.3
PHP:^8.2
License:MIT
Last Updated:Apr 10, 2026
Links: GitHub  ·  Packagist
Maintainer: beartropy

🛡️ Beartropy Permissions

A beautiful UI for spatie/laravel-permission

Manage roles, permissions, and user assignments with ease

Latest Stable Version Total Downloads License

This package provides an intuitive admin UI for spatie/laravel-permission, the industry-standard package for role and permission management in Laravel. Built with Livewire and designed with modern aesthetics in mind.

Note: This is not a replacement for spatie/laravel-permission. It's a visual interface that makes it easier to manage the roles and permissions you create with Spatie's excellent package.

✨ Key Features

  • �️ Role Management - Create, edit, and delete roles with an intuitive interface
  • 🔑 Permission Management - Manage permissions with automatic grouping support
  • 👥 User Assignments - Assign roles and direct permissions to users
  • 📊 Data Tables - Searchable, sortable tables with bulk actions
  • 🌐 Internationalization - Full i18n support (Spanish and English included)
  • 🎨 Dark Mode - Seamless dark/light mode support
  • ⚙️ Highly Configurable - Customize routes, middleware, guards, and more

� Documentation

�👉 Read the full documentation at beartropy.com/permissions

🚀 Quick Installation

composer require beartropy/permissions

Setup Spatie Permission (if not installed)

composer require spatie/laravel-permission
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"
php artisan migrate

Add HasRoles trait to User model

use Spatie\Permission\Traits\HasRoles;

class User extends Authenticatable
{
    use HasRoles;
}

Access the UI

Navigate to /permissions in your application.

⚙️ Configuration

Publish the configuration file:

php artisan vendor:publish --tag=beartropy-permissions-config
// config/beartropy-permissions.php
return [
    'prefix' => 'permissions',
    'middleware' => ['web', 'auth', 'can:manage-permissions'],
    'gate' => 'manage-permissions',
    'user_model' => App\Models\User::class,
    'guards' => ['web'],
    'default_guard' => 'web',
    'user_display_field' => 'name',
    'user_search_fields' => ['name', 'email'],
    'group_permissions' => true,
    'permission_group_separator' => '.',
];

🎨 Customization

Publish Views

php artisan vendor:publish --tag=beartropy-permissions-views

Publish Translations

php artisan vendor:publish --tag=beartropy-permissions-lang

📝 Permission Naming Convention

Use dot notation for automatic grouping:

Permission Group
users.view users
users.create users
posts.edit posts
settings.view settings

🌐 Internationalization

The package includes translations for:

  • 🇪🇸 Spanish (es)
  • 🇺🇸 English (en)

Add more languages by publishing translations and creating new language files.

📦 Requirements

  • PHP 8.2+
  • Laravel 10.x or 11.x
  • Livewire 3.x
  • spatie/laravel-permission ^6.0
  • beartropy/ui ^1.0
  • beartropy/tables ^1.0

🤝 Contributing

Please see CONTRIBUTING for details.

📄 License

The MIT License (MIT). Please see License File for more information.

[!NOTE] Disclaimer: This software is provided "as is", without warranty of any kind, express or implied. Use at your own risk.