danielemontecchi / laravel-custom-makes
Easily create and manage custom make: commands in Laravel using a reusable stub system and a guided CLI wizard.
Requires
- php: ^8.1 || ^8.2 || ^8.3 || ^8.4
- illuminate/console: ^10.0|^11.0|^12.0
- illuminate/support: ^10.0|^11.0|^12.0
Requires (Dev)
- orchestra/testbench: ^10.2
- pestphp/pest: ^3.8
README
Generate custom Laravel classes using reusable stubs with Artisan.
๐ฆ Installation
You can install the package via Composer:
composer require danielemontecchi/laravel-custom-makes
โ๏ธ Configuration
You can optionally publish the config file:
php artisan vendor:publish --tag=laravel-custom-makes-config
This will create config/laravel-custom-makes.php
with the following options:
stubs_path
: path for storing custom stub files (default:stubs
)
๐ Usage
Create a custom stub
To define a new generator stub:
php artisan create:make service
This creates a stub file:
stubs/service.stub
If the stub already exists, the command will abort.
The generated stub will contain a simple template.
Generate a class from a custom stub
Use make:custom
with the stub type and class name:
php artisan make:custom service UserService
This will create:
app/Services/UserService.php
If no name is passed, it will generate (or suggest) the stub instead.
You can also nest namespaces, e.g.
Admin/UserService
will generateapp/Services/Admin/UserService.php
Listing available custom generators
Run the following to see all available custom stubs:
php artisan make:custom-list
The command filters out Laravel native stub types.
๐ Stub management
Custom stubs are stored in:
stubs/
You can edit or remove these files manually. Stub content uses placeholders like {{ namespace }}
, {{ class }}
, etc.
โ Supported placeholders
All stub templates can include the following placeholders:
{{ namespace }}
: Fully-qualified namespace of the class{{ class }}
: The class name{{ name }}
: The raw input name
๐งช Running tests
To run the test suite:
./vendor/bin/pest
Tests are powered by Pest and Orchestra Testbench.
License
Laravel Custom Makes is open-source software licensed under the MIT license. See the LICENSE.md file for full details.
Made with โค๏ธ by Daniele Montecchi