ascend / laravel-artisan-list-mine
Filter laravel artisan commands to show only your application commands
Package info
github.com/CWAscend/laravel-artisan-list-mine
pkg:composer/ascend/laravel-artisan-list-mine
Requires
- php: ^8.0
- illuminate/console: ^9.0|^10.0|^11.0|^12.0
- illuminate/support: ^9.0|^10.0|^11.0|^12.0
Requires (Dev)
- orchestra/testbench: ^7.0|^8.0|^9.0|^10.0
- phpunit/phpunit: ^9.5|^10.0|^11.0
README
Ever used php artisan list to see what commands are available, or to remind yourself of a command's signature, but found yourself trawling through the long list of built-in Laravel commands? Easily filter them out by only showing your own artisan commands with php artisan list --mine.
Installation
composer require ascend/laravel-artisan-list-mine
The package will automatically register itself via Laravel's package discovery.
Usage
Use the --mine flag with the list command to show only your application's commands:
php artisan list --mine
This filters out:
- Built-in Laravel commands (
make:*,migrate, etc.) - Commands from vendor packages
- Any command not defined in your configured namespaces (default:
App\)
Example Output
Laravel Framework 12.x
Usage:
command [options] [arguments]
Options:
...
--mine Only show application commands (excludes vendor)
...
Available commands:
app
app:sync-data Synchronize data from external API
app:generate-report Generate monthly reports
orders
orders:process Process pending orders
Configuration
By default, commands in the App\ namespace are considered application commands. If your project uses additional namespaces (e.g., Domain\, Modules\), publish the config file:
php artisan vendor:publish --tag=artisan-list-mine-config
Then edit config/artisan-list-mine.php:
return [ 'namespaces' => [ 'App\\', 'Domain\\', 'Modules\\', ], ];
How It Works
The package identifies "application commands" by:
- Checking if the command class is in a configured namespace
- Checking if the command has a handler/action in a configured namespace (for closure-based or action-based commands)
Requirements
- PHP 8.0+
- Laravel 9.0+
Testing
composer test
License
MIT License. See LICENSE for more information.
