PHPackages                             joshralph/quick-gen - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. joshralph/quick-gen

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

joshralph/quick-gen
===================

A laravel generators package.

11931[1 issues](https://github.com/joshralph93/quick-gen/issues)PHP

Since Feb 10Pushed 9y ago1 watchersCompare

[ Source](https://github.com/joshralph93/quick-gen)[ Packagist](https://packagist.org/packages/joshralph/quick-gen)[ RSS](/packages/joshralph-quick-gen/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

(Work in progress)
------------------

[](#work-in-progress)

Only currently actively tested with Laravel 5.4. Previous version support to come...

Contribution welcome.

Installation
============

[](#installation)

Pull in the package using composer

```
$ composer require joshralph/quick-gen "dev-master" --dev

```

Include the service provider within `/config/app.php`

```
QuickGen\Providers\GeneratorServiceProvider::class,
```

Getting Started
===============

[](#getting-started)

You will need to run the command below to publish the stub files that ship with the package.

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

```

To run the generator run the below command. The example resource name given below should be replaced as you need.

```
php artisan quick-gen:generate cars

```

Templates
=========

[](#templates)

The package ships with a standard CRUD template that you can use to generate basic CRUD functionality.

To specify which template you wish to use, add the template flag to the command.

### crud (default)

[](#crud-default)

This template will generate the following files for you within the standard laravel directory structure:

- Controller
- Model
- Views
    - index.blade.php
    - create.blade.php
    - edit.blade.php
    - partials/list.blade.php
    - partials/form.blade.php

Custom Templates
----------------

[](#custom-templates)

Of course you will likely want to create your own template files that are in keeping with your current view structure, and coding style.

To create a new template simply create a new folder within the `resources/stubs/` directory. **The folder name should be used when setting the `--template` argument.**

You can then call the command below using the `--template` argument

```
php artisan quick-gen:generate cars --template=my-template

```

### Stub Syntax

[](#stub-syntax)

Note all stub files should end in `.stub`

#### Variables

[](#variables)

The following variables are made available to stub files (both content and filename):

`name` - The name of the resource as specified in the generate command

`baseNamespace` - The namespace where the generated files will reside.

...and should be wrapped in the following way:

**Stub Contents**

```
namespace \Http\Controllers\Admin;
```

**Filename**

```
__name__Controller.php.stub

```

#### Filters

[](#filters)

You may wish to transform the case and formatting of variables within stub files. These can be used both within the file contents and the filename.

Filters can be added to variables using a `.` delimiter.

```
@foreach ($ as $)

        {{ $->name }}

@endforeach
```

The following filters are available:

`camel` - convert the variable to camel case.

`studly` - convert the variable to studly case.

`snake` - convert the variable to snake case.

`plural` - convert the variable to plural.

`singular` - convert the variable to singular.

`lower` - convert the variable to lowercase.

`ucwords` - upper case the first letter of each word in the variable (see `words`).

`words` - convert the variable to space delimited words

Limitations
===========

[](#limitations)

- The default template doesn't currently update routes files. These will need to be mapped manually:

VerbNameMethodGET&lt;&lt;name.snake.plural&gt;&gt;.index@indexGET&lt;&lt;name.snake.plural&gt;&gt;.create@createPOST&lt;&lt;name.snake.plural&gt;&gt;.store@storeGET&lt;&lt;name.snake.plural&gt;&gt;.edit@edit($id)POST&lt;&lt;name.snake.plural&gt;&gt;.update@update($id)GET&lt;&lt;name.snake.plural&gt;&gt;.destroy@destroy($id)

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 60% 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.

### Community

---

Top Contributors

[![andrewhalls](https://avatars.githubusercontent.com/u/3239273?v=4)](https://github.com/andrewhalls "andrewhalls (3 commits)")[![joshralph93](https://avatars.githubusercontent.com/u/8427353?v=4)](https://github.com/joshralph93 "joshralph93 (2 commits)")

### Embed Badge

![Health badge](/badges/joshralph-quick-gen/health.svg)

```
[![Health](https://phpackages.com/badges/joshralph-quick-gen/health.svg)](https://phpackages.com/packages/joshralph-quick-gen)
```

PHPackages © 2026

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