// the find
nunomaduro/laravel-console-menu
🔘 Beautiful PHP CLI menus. Is a php-school/cli-menu wrapper for Laravel/Artisan Console Commands
A thin Laravel wrapper around php-school/cli-menu that adds an Artisan command mixin, giving you `$this->menu()` directly inside any console command. Aimed at Laravel developers who want interactive terminal menus without wiring up the underlying library themselves.
The API is genuinely pleasant — `$this->menu()->addOption()->open()` is about as clean as it gets for interactive CLI. The php-school/cli-menu underneath is a solid library with real terminal control (arrow keys, colors, keyboard navigation). Zero configuration: one Composer install, no service provider registration needed in modern Laravel. Nuno Maduro maintains it, so it tracks Laravel major versions reliably.
This is almost entirely a delegation layer — the actual menu logic lives in php-school/cli-menu, so you're adding a dependency to get five lines of glue code. php-school/cli-menu itself has been in maintenance mode for years and has known issues on Windows terminals. The package has 39 forks and 815 stars but the source is three files; there's very little here to evaluate. No support for nested submenus or dynamic item refreshing without dropping into the raw cli-menu API, at which point the Laravel wrapper adds nothing.