danielemontecchi/laravel-custom-makes

Create custom make commands in Laravel using a CLI wizard

v1.0.0 2025-04-21 21:51 UTC

This package is auto-updated.

Last update: 2025-04-21 21:56:22 UTC


README

Latest Version on Packagist Total Downloads GitHub Tests Action Status codecov License: MIT Documentation

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 generate app/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.

๐Ÿ™Œ Contributing

Pull requests are welcome. For major changes, please open an issue first.

๐Ÿ“„ License

The MIT License (MIT). See License File for more information.

Made with โค๏ธ by Daniele Montecchi