xtheme/artisan-ui

Run your artisan commands by pressing buttons.

Maintainers

Package info

github.com/xtheme/artisan-ui

Language:Blade

pkg:composer/xtheme/artisan-ui

Fund package maintenance!

xtheme

Statistics

Installs: 77

Dependents: 0

Suggesters: 0

Stars: 0

1.0.3 2026-04-22 07:44 UTC

This package is auto-updated.

Last update: 2026-04-22 07:44:46 UTC


README

Latest Version on Packagist GitHub Tests Action Status Total Downloads

artisan-ui

Installation

composer require xtheme/artisan-ui
php artisan artisan-ui:install

Usage

Just go to /artisan and enjoy! 🌺

artisan-ui-detail

Configure access

By default, Artisan UI is only available on local environments. You can provide your own custom authorization logic by providing a callback to the ArtisanUI::auth method. As usual, you may add this logic to any of your service providers.

The following example allows any user on local environments but only admin users on other environments.

use Xtheme\ArtisanUI\Facades\ArtisanUI;

ArtisanUI::auth(function ($request) {
    if (app()->environment('local')) {
        return true;
    }

    return $request->check() && $request->user()->isAdmin();
});

Configure routes

You may change the path and domain of the Artisan UI routes to suit your need using the configuration file located in config/artisan-ui.php.

Additionally, you may use this configuration file to update the middleware of these routes. By default, the web middleware group is used as well as the AuthorizeArtisanUI middleware which protects the Artisan UI routes using the callback provided to the ArtisanUI::auth method above. Feel free to override that middleware for more custom authorization logic but remember that, without it, the Artisan UI routes will be available to everyone!

Configure command whitelist

You may restrict which commands are visible and executable from Artisan UI by setting command_whitelist in config/artisan-ui.php.

'command_whitelist' => [
    'update_game_list',
],

When command_whitelist is null, all artisan commands remain available.

Whitelist entries also support prefix wildcard patterns:

'command_whitelist' => [
    'cache:*',
    'queue:*',
],

You may also blacklist specific commands that should never be visible or executable from the UI:

'command_blacklist' => [
    'migrate:*',
    'db:*',
    'tinker',
],

Wildcard patterns are prefix-based and should end with *.

When both are configured, blacklist rules take precedence over whitelist rules.

Update assets

If you've recently updated the package and something doesn't look right, it might be because the CSS file for the package is not up-to-date and needs to be re-published. Worry not, simply run the artisan-ui:install command again and you're good to go. You can even do that from the UI now! 🤯

php artisan artisan-ui:install