Search by

a4hmad1 / artisan-pilot

emberrenewed

Short terminal commands for Laravel Artisan, Pest, PHPUnit and Pint.

Package info

github.com/a4hmad1/artisan-pilot

pkg:composer/a4hmad1/artisan-pilot

Statistics

Installs: 2

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.1.1 2026-11-11 23:05 UTC

This package is auto-updated.

Last update: 2026-11-11 23:18:38 UTC


README

Artisan Pilot

Your Artisan commands. A few keystrokes.

CI status Latest release PHP 8.2 or newer MIT license

Introduction

Artisan Pilot gives Laravel developers short terminal commands for everyday work. Type pas to serve your application, pamm to create a model, and patt to run your tests. Artisan arguments, interactive prompts, output, and exit codes stay intact.

Commands are discovered from your application, so custom commands and installed Laravel packages are included. Pest, PHPUnit, and Pint have their own direct shortcuts too. This is an independently maintained Laravel community package.

pas                           # php artisan serve
pamm Post --migration         # php artisan make:model Post --migration
patt --filter=PostTest        # php artisan test --filter=PostTest
papest --parallel             # vendor/bin/pest --parallel

Installation

The package requires PHP 8.2+ and Composer 2.2+. Laravel 11, 12, and 13 are integration targets; each application and test runner retains its own PHP requirements.

The standard public installation is:

composer require --dev a4hmad1/artisan-pilot

Publishing status: Packagist registration is still pending. Until it is indexed, use the GitHub installation. A GitHub release alone does not make the standard Composer command available.

Composer installs the executables in vendor/bin. Use ./vendor/bin/pas immediately, or enable bare shortcuts in your current Bash session:

eval "$(./vendor/bin/pa shell bash)"

For Zsh, replace bash with zsh. Fish, PowerShell, PATH, and global installation are documented separately. Shell activation does not modify your profile. Regenerate it when commands or aliases change.

Shortcuts

Shortcut Command
pas php artisan serve
pat php artisan tinker
pad php artisan down
paup php artisan up
pam php artisan migrate
pamf php artisan migrate:fresh
pamm php artisan make:model
pamc php artisan make:controller
parl php artisan route:list
paoc php artisan optimize:clear
patt php artisan test
papest vendor/bin/pest
papu vendor/bin/phpunit
papint vendor/bin/pint

pat keeps its original Tinker meaning. patt runs Laravel's test command. Test and tool shortcuts require those dependencies in your application; Pilot does not install them or change which testing framework you use.

Testing with Pest or PHPUnit

patt delegates to Laravel's test command, which runs the application's installed test runner. Use papest or papu when you want to invoke that PHP Composer binary directly.

patt
patt --filter=PostTest
patt --parallel --processes=2
papest --filter=PostTest
papest --parallel --processes=2
papu --testsuite=Unit
papint --test

Parallel testing requires the application's compatible ParaTest dependencies. Coverage requires an appropriate coverage driver. All runner flags are passed through. Read the testing guide for dependencies, supported entry points, and verified versions.

Your application's full command set

./vendor/bin/pa commands
./vendor/bin/pa commands make --json
./vendor/bin/pa shortcuts
./vendor/bin/pa vendor:publish --help

Dynamic shortcuts use pa plus the initials of each colon, hyphen, or underscore-separated word. queue:work becomes paqw; pail becomes pap. Shell activation exposes unambiguous names directly. Fixed shortcuts keep their meanings, and ambiguous names stop with candidates instead of selecting a command.

Every command currently exposed by the fixture applications is listed in the command audit. The report distinguishes exact/help verification from actual execution of command handlers.

Custom shortcuts

./vendor/bin/pa alias:set models make:model Post --migration
./vendor/bin/pa alias:set palogs pail --filter=ERROR
./vendor/bin/pa alias:list

Refresh shell activation, then run models --factory or palogs. Aliases are stored in .artisan-shortcuts.json, with validated argument arrays and locked, atomic writes. Alias management and collision rules cover replacement, removal, reserved names, and team configuration.

Sail, Docker, and additional tools

pas --runner=sail --host=0.0.0.0
patt --runner=sail --parallel --processes=2
papest --runner=sail --filter=PostTest
pam --runner=docker --container=my-app
./vendor/bin/pa bin phpstan analyse

Runners are selected explicitly. pa bin NAME runs installed PHP Composer tools and honors local Composer bin-directory configuration. It does not execute arbitrary shell templates. Runner configuration describes project paths, container requirements, and Windows/WSL behavior.

Documentation

The package never adds --force, suppresses Laravel's confirmations, or changes your shell profile automatically. Commands keep Laravel's own destructive-operation policy. Only use trusted applications and shared alias files.

Contributing

Please read the contribution guide. Runtime changes should include behavior-focused tests and pass the project's formatting, static-analysis, and integration checks.

Code of Conduct

Help keep discussions respectful and useful. See the Code of Conduct.

Security Vulnerabilities

Please follow the security policy when reporting a vulnerability. Do not include credentials, application secrets, or private data in public issues.

License

Artisan Pilot is open-source software licensed under the MIT license.