laravel-artisan maintained by adereksisusanto
Laravel Artisan
Artisan commands to scaffold boilerplate code — designed for Laravel package developers.
Artisan commands to scaffold boilerplate code — designed for Laravel package developers.
Note: This package runs standalone — it does not integrate with a Laravel application. Perfect for package development where you need artisan scaffolding without booting a full Laravel app.
Languages: Indonesia | English
Installation
composer require adereksisusanto/laravel-artisan --dev
After installation, the bin/artisan entry point is available in your project's vendor/bin directory.
Quick Start
Create artisan in your project root (or use vendor/bin/artisan directly):
#!/usr/bin/env php
<?php
require __DIR__ . '/vendor/autoload.php';
use Adereksisusanto\Laravel\Artisan\Application;
use Adereksisusanto\Laravel\Artisan\Kernel;
$app = Application::create(__DIR__);
$kernel = new Kernel($app);
$status = $kernel->handle();
$kernel->terminate($status);
Then run:
php artisan list
Namespace and source path are automatically read from your project's composer.json PSR-4 autoload — no additional configuration needed.
Available Commands
| Command | Description |
|---|---|
make:action <name> |
Generate an action class |
make:cast <name> |
Generate a custom Eloquent cast class |
make:channel <name> |
Generate a broadcast channel class |
make:command <name> |
Generate a new artisan command |
make:component <name> |
Generate a view component class |
make:dto <name> |
Generate a DTO class |
make:enum <name> |
Generate an enum class |
make:event <name> |
Generate an event class |
make:exception <name> |
Generate an exception class |
make:facade <name> |
Generate a facade class |
make:interface <name> |
Generate an interface |
make:factory <name> |
Generate a model factory class |
make:job <name> |
Generate a queued job class |
make:listener <name> |
Generate an event listener class |
make:mail <name> |
Generate a mailable class |
make:middleware <name> |
Generate a middleware class |
make:migration <name> |
Generate a migration file |
make:model <name> |
Generate an Eloquent model class |
make:notification <name> |
Generate a notification class |
make:observer <name> |
Generate an observer class |
make:pipeline <name> |
Generate a pipeline class |
make:policy <name> |
Generate a policy class |
make:provider <name> |
Generate a service provider class |
make:repository <name> |
Generate a repository class |
make:request <name> |
Generate a form request class |
make:resource <name> |
Generate an API resource class |
make:rule <name> |
Generate a validation rule class |
make:scope <name> |
Generate a query scope class |
make:seeder <name> |
Generate a seeder class |
make:service <name> |
Generate a service class |
make:trait <name> |
Generate a trait |
make:view <name> |
Generate a Blade view file |
app:build <name> |
Build a PHAR archive |
app:inspect |
Inspect application details |
Registering Custom Commands
use Adereksisusanto\Laravel\Artisan\Kernel;
$kernel = new Kernel($app);
$kernel->registerCommand(\App\Commands\MyCommand::class);
$kernel->handle();
Build PHAR
php artisan app:build myapp
./myapp list
Contributing
-
Fork & clone
git clone https://github.com/<your-username>/laravel-artisan.git cd laravel-artisan -
Install dependencies
composer install -
Create a branch
git checkout -b feat/your-feature-name -
Make changes & run quality checks
composer checkThis runs Pint (style), PHPStan (static analysis), and Pest (tests).
-
Run tests for all supported Laravel versions (optional, requires Docker)
# Test against Laravel 11 composer require laravel/framework:^11.0 orchestra/testbench:^9.0 --no-update --dev && composer update --prefer-stable && composer test # Test against Laravel 12 composer require laravel/framework:^12.0 orchestra/testbench:^10.0 --no-update --dev && composer update --prefer-stable && composer test # Test against Laravel 13 composer require laravel/framework:^13.0 orchestra/testbench:^11.0 --no-update --dev && composer update --prefer-stable && composer test -
Commit & push
git add . git commit -m "feat: add your feature" git push origin feat/your-feature-name -
Open a pull request on GitHub
Contributors
Thanks goes to these wonderful people:
Contributions are welcome! Please open an issue or pull request.