Read from the app itself
One call to php artisan list --format=json gives every command with its full definition — 164 on a stock Laravel 13 app.
Press ⌘K and search every command your project registers — the framework’s, your packages’ and your own. Pick one and devCommand builds a form from its own definition.
Free for everyone · macOS 14 Sonoma or later · Apple silicon and Intel
One call to php artisan list --format=json gives every command with its full definition — 164 on a stock Laravel 13 app.
“clear cache” finds cache:clear, config:clear and optimize:clear, because descriptions are searched too.
Commands from app/Console/Commands sort above the framework’s, marked “yours”.
The list is cached until composer.lock or your commands change. A Refresh button covers the rest.
Not just the buttons: the palette covers the whole catalogue, including commands no button shows. It opens as a side pane, not a modal in your way.
Required arguments, value options, flags, defaults and help text — all taken from the command’s own description of itself.
php artisan make:model Invoice --migration --factory --controller --pest
Anything you run can be pinned to its project, exact options and all, and everything run lately is remembered under Recent.
php artisan queue:work redis --queue=critical,default,low --memory=512
Running
Restart
Kill
The small things
PHP encodes an empty argument map as [] — covered, so 93 of 164 commands don’t trip it up.
Positional arguments are sorted required-first rather than trusted to arrive in order.
Kept under your user Caches folder, keyed on the lock file and your commands folder.
A destructive command found by search asks first, exactly like its button does.
⌘K, type, Enter. You never need the mouse.
Every option starts at the value the command itself declares.
Keep exploring
No account, no licence key. Point devCommand at ~/Sites and press your first command.
macOS 14 Sonoma or later · Apple silicon and Intel · Version 1.0