beartropy/permissions
🛡️ Beartropy Permissions
A beautiful UI for spatie/laravel-permission
Manage roles, permissions, and user assignments with ease
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.