PHPackages                             jdw5/artisan-assemble - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. jdw5/artisan-assemble

ActiveLibrary

jdw5/artisan-assemble
=====================

Custom Laravel Artisan commands to reduce boilerplate

v0.2.4(2y ago)013mitPHPPHP ^8.1.0

Since Feb 11Pushed 2y ago1 watchersCompare

[ Source](https://github.com/jdw5/artisan-assemble)[ Packagist](https://packagist.org/packages/jdw5/artisan-assemble)[ RSS](/packages/jdw5-artisan-assemble/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (6)Dependencies (7)Versions (7)Used By (0)

Artisan Assemble
================

[](#artisan-assemble)

Custom stubs and make commands for Laravel's artisan CLI.

Installation
------------

[](#installation)

```
composer require --dev jdw5/artisan-assemble
```

Once installed, you should publish the configuration file to customise your stubs by publishing them. This is also required to change the default page/modal stubs to use your own components - and change from Vue to react.

```
php artisan vendor:publish --tag=artisan-assemble
```

In the published `config/artisan-assemble.php` file, you can select the file extension that should be used for your page/modal routes. By default, this is set to `.vue` but you can change this to whatever you require - just be sure to update the stubs accordingly.

Available Commands
------------------

[](#available-commands)

### `make:endpoint {name}`

[](#makeendpoint-name)

This creates a new single action controller and request pair with opinionated namespacing.

Example usage:

```
php artisan make:controller User/Item/ItemStore
```

This will create two files: `App/Http/Controllers/User/Item/ItemStoreController.php` and `App/Http/Requests/User/Item/ItemStoreRequest.php`.

You can pass additional options to endpoint command.

- `-p` or `--page` will additionally create a page at the given namespace.
- `-m` or `--modal` will additionally create a modal at the given namespace.
- `-f` or `--form` will use the form variant of the page/modal component if they are specified

### `make:page {name}`

[](#makepage-name)

This will create a new page using your specified or the default stub at the given namespace.

### `make:modal {name}`

[](#makemodal-name)

This will create a new modal using your specified or the default stub at the given namespace.

### `make:hash {name}`

[](#makehash-name)

This is a shorthand command to create hash casts for your models to obfuscate IDs (usually).

### `make:enum {name}`

[](#makeenum-name)

This will create a new enum class at the given namespace within the `App\Enums` directory.

### `make:filter {name}`

[](#makefilter-name)

This will create a new filter class at the given namespace within the `App\Filters` directory. Filters are used for pipelining operations, particularly for handling query parameters.

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~11 days

Total

6

Last Release

765d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/15a6681aedaa970f3cdc6061a522528ee8d5b9de8003ac0ba0a32bd445b28442?d=identicon)[jdw5](/maintainers/jdw5)

---

Top Contributors

[![jdw5](https://avatars.githubusercontent.com/u/87954417?v=4)](https://github.com/jdw5 "jdw5 (16 commits)")

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/jdw5-artisan-assemble/health.svg)

```
[![Health](https://phpackages.com/badges/jdw5-artisan-assemble/health.svg)](https://phpackages.com/packages/jdw5-artisan-assemble)
```

###  Alternatives

[barryvdh/laravel-ide-helper

Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.

14.9k123.0M683](/packages/barryvdh-laravel-ide-helper)[laravel/ui

Laravel UI utilities and presets.

2.7k134.9M597](/packages/laravel-ui)[tucker-eric/eloquentfilter

An Eloquent way to filter Eloquent Models

1.8k4.8M26](/packages/tucker-eric-eloquentfilter)[orchestra/canvas

Code Generators for Laravel Applications and Packages

21017.2M157](/packages/orchestra-canvas)[sammyjo20/lasso

Lasso - Asset wrangling for Laravel made simple.

355347.9k](/packages/sammyjo20-lasso)[erag/laravel-disposable-email

A Laravel package to detect and block disposable email addresses.

226102.4k](/packages/erag-laravel-disposable-email)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
