PHPackages                             zcuric/laravel-artisan-choose - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. zcuric/laravel-artisan-choose

ActiveLibrary[CLI &amp; Console](/categories/cli)

zcuric/laravel-artisan-choose
=============================

Searchable Artisan command chooser inspired by just --choose.

v0.1.3(1mo ago)31↓100%MITPHPPHP ^8.2CI passing

Since May 5Pushed 1mo agoCompare

[ Source](https://github.com/zcuric/laravel-artisan-choose)[ Packagist](https://packagist.org/packages/zcuric/laravel-artisan-choose)[ RSS](/packages/zcuric-laravel-artisan-choose/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (4)Dependencies (5)Versions (5)Used By (0)

Laravel Artisan Choose
======================

[](#laravel-artisan-choose)

`php artisan choose` adds a searchable command picker to Laravel, inspired by [`just --choose`](https://github.com/casey/just#selecting-recipes-to-run-with-an-interactive-chooser).

Instead of remembering every Artisan command name, you can open an interactive chooser, search by command name, alias, or description, inspect command details, and run the selected command immediately.

    Screenshare.-.2026-05-05.12\_05\_47.PM.mp4    Features
--------

[](#features)

- Search visible Artisan commands by name, alias, or description
- Browse the full command list by pressing `Enter` on an empty search box
- Generate interactive forms for command arguments and options
- Keep a raw arguments / options escape hatch for advanced cases
- Keep normal Artisan behavior after selection, including nested prompts and console output

Requirements
------------

[](#requirements)

- PHP 8.2+
- Laravel 10, 11, 12, or 13

Installation
------------

[](#installation)

```
composer require zcuric/laravel-artisan-choose
```

Laravel package discovery registers the service provider automatically.

Usage
-----

[](#usage)

Start the chooser:

```
php artisan choose
```

Interactive flow:

1. Press `Enter` on an empty search box to browse all available commands.
2. Type to narrow the list by command name, alias, or description.
3. Use the arrow keys to highlight a command.
4. Press `Enter` to select it.
5. Fill in the generated prompts for the selected command's arguments and options.
6. Optionally enter extra **raw** Artisan arguments or options for advanced cases.

The generated forms currently handle the most reliable command-definition shapes automatically:

- required and optional arguments
- array arguments
- boolean flags
- negatable options
- required and optional value options
- array value options

For example, after the generated prompts you can still append raw input such as:

```
Taylor --yell
--force
--seed --database=testing

```

The chooser then executes the selected command through the current Artisan application. Commands with no custom arguments or options skip straight to the raw-input fallback prompt.

Examples
--------

[](#examples)

Choose `demo:greet`-style commands and answer generated prompts for required arguments and flags:

```
php artisan choose
```

Choose `migrate` and still use the raw fallback:

```
--force

```

Choose `make:controller`, answer the generated prompts, and optionally append raw input:

```
Admin/UserController --resource

```

Behavior
--------

[](#behavior)

- Hidden Artisan commands are excluded from the chooser.
- The `choose` command does not list itself.
- Command aliases are searchable.
- Command descriptions are searchable.
- `choose` generates prompts from the selected command's native Symfony input definition instead of prompting for Artisan's global flags.
- Raw extra input is appended after the generated parameters, so it can handle edge cases or intentionally override prompted values.

Testing
-------

[](#testing)

```
composer lint
composer test
```

To apply Pint formatting locally:

```
composer format
```

CI
--

[](#ci)

GitHub Actions runs:

- `composer validate`
- `composer lint`
- `composer test`
- compatibility test runs for Laravel 10, 11, 12, and 13

Packagist Sync
--------------

[](#packagist-sync)

Prefer enabling the Packagist GitHub integration so releases sync automatically.

If you need the manual GitHub webhook instead, configure:

- **Payload URL:** `https://packagist.org/api/github?username=zcuric`
- **Content Type:** `application/json`
- **Secret:** your Packagist API token
- **Events:** push

License
-------

[](#license)

MIT

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance93

Actively maintained with recent releases

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

4

Last Release

35d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/97047a45e1442c8f135e72a5cee85cb7998f750b6f6e2cf347103795974d4b1c?d=identicon)[zcuric](/maintainers/zcuric)

---

Top Contributors

[![zcuric](https://avatars.githubusercontent.com/u/1560102?v=4)](https://github.com/zcuric "zcuric (15 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/zcuric-laravel-artisan-choose/health.svg)

```
[![Health](https://phpackages.com/badges/zcuric-laravel-artisan-choose/health.svg)](https://phpackages.com/packages/zcuric-laravel-artisan-choose)
```

###  Alternatives

[laravel/ai

The official AI SDK for Laravel.

9782.1M153](/packages/laravel-ai)[laravel/boost

Laravel Boost accelerates AI-assisted development by providing the essential context and structure that AI needs to generate high-quality, Laravel-specific code.

3.5k17.6M507](/packages/laravel-boost)[illuminate/console

The Illuminate Console package.

13045.3M6.1k](/packages/illuminate-console)[laravel/reverb

Laravel Reverb provides a real-time WebSocket communication backend for Laravel applications.

1.6k12.9M69](/packages/laravel-reverb)[livewire/flux

The official UI component library for Livewire.

9466.8M119](/packages/livewire-flux)[tallstackui/tallstackui

TallStackUI is a powerful suite of Blade components that elevate your workflow of Livewire applications.

719160.4k12](/packages/tallstackui-tallstackui)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
