- What is lorisleiva/artisan-ui used for?
- It is a Laravel package that adds a web dashboard for browsing and running Artisan commands by pressing buttons instead of using the CLI. You define available commands in config/artisan-ui.php and the package renders a server-rendered UI for authenticated users. It is best treated as internal developer tooling, not a customer-facing feature.
- How do I install lorisleiva/artisan-ui in a Laravel app?
- Install it with Composer, publish its config and assets, then declare the commands and argument types you want exposed in config/artisan-ui.php. The package registers its own routes for the UI, so you need to decide early how those routes are protected. Installation is quick, but the real work is deciding which commands are safe to expose.
- Which Laravel and PHP versions does artisan-ui support?
- The README excerpt here is empty and the last release was 2021-06-17, so support for Laravel 9, 10, and 11 and PHP 8.1+ is unverified. Expect Composer constraint changes and possible framework drift fixes on a modern app. Run the package's test suite against your target matrix before adopting it.
- Does lorisleiva/artisan-ui work with Livewire, and which version?
- The UI is described as server-rendered with Livewire-style interactivity, so the frontend layer likely depends on Livewire. The exact version constraint is not confirmed in the provided context, and a Livewire 2 to 3 migration may be needed. Check composer.json and the published views before installing on a current Laravel app.
- How do I secure the artisan-ui routes in production?
- The package lets you whitelist commands but does not provide a complete authorization model beyond whatever you wrap around its routes. Put the dashboard behind a strict Gate or policy, require authentication, and gate it by environment or VPN. Treat the route surface as production-critical because it can dispatch application logic from a web request.
- Can artisan-ui run Artisan commands in the background or queue them?
- No native queue handoff, streaming output, or job abstraction is described. Command execution is synchronous and request-bound by design, so long-running commands like backfills and imports are handled poorly. Use Laravel queues or a scheduler for anything that may exceed the request timeout.
- Is it safe to expose artisan-ui in a multi-tenant or customer-facing app?
- It is a poor architectural fit for customer-facing, multi-tenant, or horizontally scaled apps. The dashboard is effectively an operational control plane that can execute arbitrary application logic inside the HTTP lifecycle. If you use it, keep it to local, CI, staging, or a VPN-gated internal admin surface.
- Does artisan-ui keep an audit log of who ran which command?
- The package does not appear to include audit logging of the user, arguments, and result. You would need to add that yourself through middleware, model events, or a custom wrapper around command execution. For regulated environments, missing audit trails are a blocker unless you build them.
- How are command arguments validated and escaped before execution?
- The package uses config-declared argument types, but the provided context does not confirm how validation and escaping are enforced before passing values to the console kernel. Review the source and published config carefully, and add your own validation for any command that accepts user input. Never expose destructive commands without explicit argument checks.
- Is lorisleiva/artisan-ui maintained, and what are the alternatives?
- It was last released on 2021-06-17 and has low momentum, so treat it as unmaintained and plan to own the fork if you adopt it. Alternatives include building a small internal Artisan dashboard yourself, using Laravel Horizon or Telescope for observation, or wrapping specific commands in custom admin routes. For replacements, favor a maintained package or a narrow in-house solution.