diegosurita / pennant-ui
A user-friendly UI for Laravel Pennant package.
Fund package maintenance!
Requires
- php: ^8.3
- illuminate/support: ^12.0||^13.0
- laravel/pennant: ^1.22
Requires (Dev)
- larastan/larastan: ^3.9
- laravel/pao: ^1.0
- laravel/pint: ^1.29
- orchestra/testbench: ^10.0||^11.0
- pestphp/pest: ^4.6||^5.0
- pestphp/pest-plugin-laravel: ^4.1||^5.0
- pestphp/pest-plugin-type-coverage: ^4.0||^5.0
- phpstan/extension-installer: ^1.4
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
A user-friendly UI for Laravel Pennant package.
Installation
You can install the package via Composer:
composer require diegosurita/pennant-ui
Publish Laravel Pennant's configuration and features table migration, then migrate:
php artisan vendor:publish --provider="Laravel\Pennant\PennantServiceProvider"
php artisan migrate
You may publish all of this package's resources at once:
php artisan vendor:publish --tag="pennant-ui"
Or, you may publish each resource individually:
Publishing the Configuration File
php artisan vendor:publish --tag="pennant-ui-config"
Publishing the Views
php artisan vendor:publish --tag="pennant-ui-views"
Publishing the Translations
php artisan vendor:publish --tag="pennant-ui-lang"
Publishing the Public Assets
php artisan vendor:publish --tag="pennant-ui-assets"
Usage
Visit /pennant in your application. The panel lists defined Pennant features in a table so you can see each flag's scope, toggle boolean flags, choose a rich value from the strings in that flag's PHP definition, reset a single flag to its definition, or purge every stored flag after confirming. Updates apply to the global scope and to every stored scope (activateForEveryone / deactivateForEveryone).
The browser will prompt for HTTP Basic Authentication in production. Set the credentials in your environment:
PENNANT_UI_USERNAME=your-username PENNANT_UI_PASSWORD=your-password
The route stays locked in production until both environment variables are set. You may also publish the configuration file and override pennant-ui.username and pennant-ui.password directly.
Class-based features are registered the first time they are checked. Call Feature::discover() in a service provider so they appear in the panel:
use Laravel\Pennant\Feature; public function boot(): void { Feature::discover(); }
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Thank you for considering contributing to Pennant UI! Please review our contributing guide to get started.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
Pennant UI is open-sourced software licensed under the MIT license.