Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Artisan Menu

Artisan Menu Laravel Package

jord-jd/artisan-menu

jord-jd/artisan-menu is a Laravel package for building interactive Artisan console menus. Define options and actions with a simple API to create selectable CLI prompts for commands, setup scripts, and developer tools, turning complex terminal workflows into navigable menus.

View on GitHub
Deep Wiki
Context7

📝 Artisan Menu - Use Artisan via an elegant console GUI

Frequently asked questions about Artisan Menu
How do I install jord-jd/artisan-menu in a Laravel project?
Install it with Composer using composer require jord-jd/artisan-menu. For most applications, prefer composer require --dev jord-jd/artisan-menu because the package is a developer-experience layer over console input. Use a production require only when your shipped Artisan commands are user-facing, such as installer wizards or customer-facing setup tools.
Which Laravel and PHP versions does jord-jd/artisan-menu support?
Version 4.0.0 declares Laravel support from 5.1 through 13 and raises the PHP floor from 7.0 to 7.1. The PHP 7.1 floor is a corrective change because runtime dependencies already required it. Treat the broad Laravel range as declared support and verify your exact Laravel and PHP combination, since endpoint-only testing can miss mid-range incompatibilities.
How do I create an interactive Artisan menu with selectable options?
The package provides a simple API for defining options and actions, which it renders as selectable CLI prompts. You use it to turn complex terminal workflows into navigable menus for commands, setup scripts, and developer tools. Check the package README for the exact menu-definition syntax and available prompt types.
Can artisan-menu prompt for optional command arguments and repeatable options?
Yes. Version 4.0.0 adds prompt coverage for optional command arguments plus command-specific flags, values, and repeatable options. That expands the interactive surface, so make sure every new prompt has a sensible default or a clear error path when input is not interactive.
What happens when a user presses Escape during an Artisan menu prompt?
In version 4.0.0, Escape now cancels a command during required input instead of being swallowed as it was previously. That behavior change can affect wrapper scripts or commands that relied on Escape as a no-op. The release notes do not specify the exact exit code or whether partial side effects occur before cancellation, so test any automation that depends on exit status.
Does jord-jd/artisan-menu work in non-interactive environments like CI, cron, or Docker?
Interactive prompts are risky in non-TTY contexts such as CI runners, cron jobs, docker exec without -it, queue workers, and deploy scripts. A blocking prompt can hang a pipeline rather than fail cleanly. Confirm that prompts are bypassed or that a --no-interaction flag or environment variable is honored consistently before using the package in automation.
Where does artisan-menu store recent commands, and is that state safe to ignore?
The 4.0.0 notes mention handling stale recent commands safely, which implies the package persists some recent-command history. The provided notes do not document the storage location, schema, TTL, permissions, or behavior on a read-only or missing filesystem. Inspect the package or its README, and verify it fails safely on ephemeral container filesystems.
Should jord-jd/artisan-menu be a require or require-dev dependency?
Default to require-dev because the package is a console input and developer-experience layer, not a runtime request-path dependency. Move it to require only if your shipped Artisan commands are themselves user-facing, such as installer wizards or setup tools exposed to customers. Also confirm the package does not register hot-path service providers or middleware you do not want in production.
Is upgrading to jord-jd/artisan-menu v4.0.0 a breaking change?
Version 4.0.0 is a major release even though the notes list no removals or deprecations. The likely breaking changes are the new Escape-cancels-command behavior during required input and the corrected PHP floor from 7.0 to 7.1. Test commands and wrapper scripts that assert on exit codes or rely on Escape doing nothing.
What are alternatives to jord-jd/artisan-menu for interactive Laravel console prompts?
Laravel Prompts provides first-party interactive prompt helpers in newer Laravel versions, and Symfony Console offers question helpers and selectable choices. You can also build custom Artisan commands for simple menus. Choose artisan-menu when you want a dedicated menu abstraction for selectable CLI options and actions, and check compatibility with your Laravel version.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
cgv/localized-resource