laranail/artisan-ui is not on Packagist, so there is no registry-version badge to show; Install covers the VCS route.
A secure web panel for running Artisan commands, authorized per user and per command through Gate abilities, risk-classified, audited, with quick actions and run history.
Targets PHP ^8.4.1 || ^8.5 on Laravel ^13.0. Built on laranail/package-tools, laranail/console and laranail/enumerator. Derived from lorisleiva/artisan-ui, with features from pabloleone/artisan-ui and dev-arindam-roy/artisan-ui.
Add the VCS repositories (the laranail family does not resolve through Packagist), then require the package. Use --dev if the panel is only for local work, so it does not exist in production at all:
"repositories": [
{ "type": "vcs", "url": "https://github.com/laranail/artisan-ui" },
{ "type": "vcs", "url": "https://github.com/laranail/package-tools" },
{ "type": "vcs", "url": "https://github.com/laranail/console" },
{ "type": "vcs", "url": "https://github.com/laranail/enumerator" }
]composer require --dev laranail/artisan-uiphp artisan laranail::artisan-ui.installThen decide who may use it. Nobody can until you do:
Gate::define('laranail-artisan-ui.access', fn (User $user) => $user->isAdmin());
Gate::define('laranail-artisan-ui.run', fn (User $user, $command, array $input) => $user->isAdmin());Every default fails closed, so the panel is unreachable until three things are true:
php artisan laranail::artisan-ui.installhas run (see Install). It publishesconfig/laranail/artisan-ui.phpand the migration for thelaranail_artisan_ui_runstable, which only thedatabaseaudit driver needs.- The
laranail-artisan-ui.accessandlaranail-artisan-ui.runabilities are defined (see Install). Both deny until you do. LARANAIL_ARTISAN_UI_ENABLED=trueis set. While it is false the routes are not registered at all, and the panel answers only in thelocalenvironment unless you widenenvironments.
# With the `access` and `run` abilities defined (see Install), switch the panel on and check it.
echo "LARANAIL_ARTISAN_UI_ENABLED=true" >> .env
php artisan laranail::artisan-ui.doctor
# Then sign in as an allowed user, open /artisan, pick `about` and press Run.The full walkthrough is in Getting started; everything else is in the documentation index.
Full documentation is at opensource.simtabi.com/documentation/laranail/artisan-ui.
- Installation: requirements, VCS setup, the install command
- Getting started: switch the panel on and run a first command
- Configuration: every key under
laranail.artisan-ui - Architecture: the headless core, the web module, and why they are split
- Security: the threat model and every check between a request and a run
- Release: how versions are cut and consumed
- Discovery · Command policy · Risk levels
- Authorization · Execution · Output
- Quick actions · Audit and history · Events and hooks
- Web UI · Commands · Tidy · Extending
- Grant access to admins · Allow only specific commands · Scope commands per user
- Enable run history · Restrict by IP · Keep the panel up during maintenance
- Add a quick action · Custom output decorator · Publish and theme the views
- Test with the fake · Add a browser hook · Migrate from lorisleiva/artisan-ui
Issues and PRs are welcome; see CONTRIBUTING.md. Report vulnerabilities privately per SECURITY.md (security@simtabi.com). Participation follows the Code of Conduct.
MIT © Simtabi LLC, retaining the notices of the three projects it derives from. See LICENSE and attribution.md.