PHPackages                             laraspells/generator - 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. [Framework](/categories/framework)
4. /
5. laraspells/generator

ActiveLibrary[Framework](/categories/framework)

laraspells/generator
====================

Laravel Crud Generator

21771PHP

Since Mar 1Pushed 7y ago1 watchersCompare

[ Source](https://github.com/laraspells/generator)[ Packagist](https://packagist.org/packages/laraspells/generator)[ RSS](/packages/laraspells-generator/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependenciesVersions (2)Used By (0)

LaraSpells - Laravel CRUD Generator for 'Sorcerers'
===================================================

[](#laraspells---laravel-crud-generator-for-sorcerers)

LaraSpell is Laravel CRUD generator that generate laravel code. So you can modify generated files as you need, without limitation. And all you need to customize it is just some PHP and Laravel knowledges.

Demo (Video)
------------

[](#demo-video)

-
-
-

Features
--------

[](#features)

- Limitless Customization
- Repository Pattern
- Custom Template

Requirements
------------

[](#requirements)

- php &gt;= 5.6
- composer
- Laravel 5.4

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

[](#installation)

Run composer command below to install `laraspells/generator`:

```
composer require "laraspells/generator"

```

Now open `config/app.php`, add `LaraSpells\Generator\LaraSpellServiceProvider::class` to 'providers' section.

Quickstart
----------

[](#quickstart)

#### Make a schema

[](#make-a-schema)

Run this command to make a schema:

```
php artisan spell:make admin

```

This command will generate `admin.yml` into your project directory.

#### Modify schema

[](#modify-schema)

Open `admin.yml`, modify as you needs. Look at [schema](#schema) section for more detail about schema.

#### Generate It

[](#generate-it)

Run this command

```
php artisan spell:generate admin

```

Now you can use it by adding generated service provider to your `config/app.php` file.

Schema
------

[](#schema)

#### Structure

[](#structure)

```
---
name: Schema Name                                   # Schema name (for now it's just for information, not used to generate anything)
template: vendor/laraspells/generator/template       # Template directory
author:
  name: Author Name                                 # Author name (used for generated PHP classes)
  email: author@email.example                       # Author email
config_file: admin                                  # Config file to store 'menu' and 'repositories' configuration
upload_disk: uploads                                # Upload disk to store uploaded files
provider:
  file: app/Providers/AdminServiceProvider.php      # Provider class filepath
  class: App\Providers\AdminServiceProvider         # Provider class name
controller:
  path: app/Http/Controllers                        # Path to store generated controller files
  namespace: App\Http\Controllers                   # Controller class namespace
request:
  path: app/Http/Requests                           # Path to store generated requests files
  namespace: App\Http\Requests                      # Requests class namespace
model:
  path: app/Models                                  # Path to store model files
  namespace: App\Models                             # Model class namespace
repository:
  path: app/Repositories                            # Path to store repository files
  class: App\Repositories                           # Repository class/interface namespace
view:
  path: resources/views                             # Path to store view files
  namespace: ""                                     # View namespace
route:
  file: routes/web.php                              # Path to routes file
  name: admin::                                     # Route group name
  prefix: admin                                     # Route prefix
tables:                                             # - List tables -
  todos:                                            # Table 'todos' schema
    plural: todos                                   # [optional] Plural name
    singular: todo                                  # [optional] Singular name
    label: Todo                                     # Crud label
    icon: fa-list                                   # Icon class
    fields:                                         # List fields
      title:                                        # Field 'title' schema
        type: string                                # Field type (for migration)
        label: Title                                # Field label
        length: 80                                  # [optional] Field length
        input: text                                 # Field input type (string|assoc)
        rules:                                      # Field rules
        - required
      description:
        type: text
        label: Description
        input: textarea
        rules:
        - required
      status:
        type: enum:waiting,progress,done            # Field type with parameters
        label: Status
        input:                                      # Field input type using assoc (with input parameters)
          type: radios
          options:
            waiting: Waiting
            progress: On Progress
            done: Done
        rules:
        - required
        - in:waiting,progress,done
```

###  Health Score

23

—

LowBetter than 26% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity43

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/bf2e85e5574fc28f87c28311a5ad7bcbec884e9ea21e88d63639f46ed6af72d1?d=identicon)[emsifa](/maintainers/emsifa)

---

Top Contributors

[![emsifa](https://avatars.githubusercontent.com/u/6297931?v=4)](https://github.com/emsifa "emsifa (80 commits)")

### Embed Badge

![Health badge](/badges/laraspells-generator/health.svg)

```
[![Health](https://phpackages.com/badges/laraspells-generator/health.svg)](https://phpackages.com/packages/laraspells-generator)
```

###  Alternatives

[laravel/socialite

Laravel wrapper around OAuth 1 &amp; OAuth 2 libraries.

5.7k104.3M836](/packages/laravel-socialite)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k38.6M289](/packages/laravel-dusk)[nineinchnick/edatatables

Grid widget for the Yii Framework, wrapper for the DataTables jQuery plugin

173.2k](/packages/nineinchnick-edatatables)[link-cloud/fast-hyperf

LinkCloud Fast Hyperf

241.2k1](/packages/link-cloud-fast-hyperf)

PHPackages © 2026

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