joshembling/
artisan-browse
g4t.io

Browse and Execute Artisan Commands from an Interactive TUI

90 stars by Yannick Lyn Fatt

An interactive terminal UI for browsing, searching, and executing Laravel Artisan commands.

README from joshembling/artisan-browse Open on GitHub →

🔎 Artisan Browse

An interactive terminal UI for browsing, searching, and executing Laravel Artisan commands.

Latest Version on Packagist GitHub Code Style Action Status Total Downloads

🔎 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

PHP Version Laravel Version
8.3+ 11.x
8.3+ 12.x
8.3+ 13.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

Artisan Browse 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.

More from the ecosystem

marcreichel/
laya-php
g4t.io
3 53

LayaPHP: Self-Hosted Text Classification for PHP and Laravel

Classify text in PHP without an LLM bill: typed decisions in 100+ languages, self-hosted. Laravel-ready SDK for Laya, a Jev AI alternative.

ai classification decision-engine
marcreichel/laya-php via Laravel News
Josh-Dovey/
postcodes-laravel
g4t.io
5 9

Postcodes for Laravel: GB Postcode Lookup and Geography Data

Postcodes for Laravel adds typed GB postcode lookups, validation, geography data, distance searches, and test fakes through the GB Postcodes API.

Josh-Dovey/postcodes-laravel via Laravel News
RedberryProducts/
mailbox-for-laravel
g4t.io
4 115

Mailbox for Laravel: Preview and Test Rendered Email

Mailbox for Laravel captures outgoing mail in a local dashboard and lets you test rendered HTML, recipients, and attachments with fluent assertions.

RedberryProducts/mailbox-for-laravel via Laravel News