joshembling / artisan-browse
An interactive terminal UI for browsing, searching, and executing Laravel Artisan commands.
Fund package maintenance!
joshembling
Installs: 46
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/joshembling/artisan-browse
Requires
- php: ^8.3
- illuminate/contracts: ^11.0||^12.0
- laravel/prompts: ^0.3.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^3.0
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.8
- orchestra/testbench: ^10.0.0||^9.0.0
- pestphp/pest: ^4.0
- pestphp/pest-plugin-arch: ^4.0
- pestphp/pest-plugin-laravel: ^4.0
- phpstan/extension-installer: ^1.4
- phpstan/phpstan-deprecation-rules: ^2.0
- phpstan/phpstan-phpunit: ^2.0
README
An interactive terminal UI for browsing, searching, and executing Laravel Artisan commands.
🔎 Artisan Browse provides an interactive terminal UI for discovering, searching, and executing all Laravel artisan commands. Instead of having to memorise command names, their arguments and flags, you can key through available commands, search by name or description, and be prompted for required args and options.
This is a perfect, lightweight tool for any Laravel dev that wants immediate command discovery and execution without having to search the docs, source dive or google furiously to find the right command. 💪
Table of Contents
- Version Support
- Features
- Installation
- Usage
- Configuration
- Demo
- Testing
- Changelog
- Contributing
- Security Vulnerabilities
- Credits
- License
Version Support
| PHP Version | Laravel Version |
|---|---|
| 8.3+ | 11.x |
| 8.3+ | 12.x |
Features
- 🔍 Interactive Command Search - Searchable list of all available Artisan commands with descriptions
- 🎚️ Filtering - Filter by command namespace, or search across command names and descriptions
- ⌨️ Auto Arguments & Options - Easily breeze through required arguments and optional flags
- 👁️ Command Preview - See the exact command that will be executed before confirming
- 🛠️ Configurable Behavior - Customise blacklists, scroll behavior, search options, and more
- ⚡ Auto-Execute Option - Skip confirmation and run commands immediately if desired
Installation
You can install the package via composer:
composer require joshembling/artisan-browse --dev && php artisan artisan-browse:install
If you'd rather install the config file separately, you can publish the config file with:
php artisan vendor:publish --tag="artisan-browse-config"
Usage
Run the interactive browser:
php artisan browse
Filter by namespace:
php artisan browse make
This will show only commands starting with make:, like make:model, make:controller, etc.
Configuration
Publish the config file and customise the following options:
return [ // Commands to exclude from the browse list 'blacklist_commands' => [ // 'horizon', 'octane', 'sail' ], // Number of commands to show before enabling scroll 'select_command_scroll' => 50, // Number of options to show before enabling scroll 'select_options_scroll' => 20, // Show command preview before confirmation 'show_command_preview' => true, // Search commands by name and description 'search_descriptions' => true, // Auto-execute without confirmation prompt 'auto_execute' => false, // Options to skip when collecting input 'skip_options' => [ 'help', 'quiet', 'verbose', 'version', 'ansi', 'no-ansi', 'no-interaction', 'env', 'silent' ], ];
Demo
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.