PHPackages                             grazulex/laravel-turbomaker - 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. [Testing &amp; Quality](/categories/testing)
4. /
5. grazulex/laravel-turbomaker

ActiveLibrary[Testing &amp; Quality](/categories/testing)

grazulex/laravel-turbomaker
===========================

Laravel TurboMaker is a productivity-focused package designed to supercharge your Laravel development workflow. With a single command, you can scaffold complete modules (models, migrations, controllers, routes, tests, views, and more) following best practices. It saves hours of repetitive setup work, so you can focus on building features faster.

v2.3.0(3mo ago)64625[1 PRs](https://github.com/Grazulex/laravel-turbomaker/pulls)MITPHPPHP ^8.3CI passing

Since Jul 31Pushed 3mo ago2 watchersCompare

[ Source](https://github.com/Grazulex/laravel-turbomaker)[ Packagist](https://packagist.org/packages/grazulex/laravel-turbomaker)[ Docs](https://github.com/grazulex/laravel-turbomaker)[ Fund](https://www.buymeacoffee.com/Grazulex)[ Fund](https://paypal.me/strauven)[ RSS](/packages/grazulex-laravel-turbomaker/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (5)Dependencies (11)Versions (6)Used By (0)

Laravel TurboMaker
==================

[](#laravel-turbomaker)

[![Laravel TurboMaker](new_logo.png)](new_logo.png)

Supercharge your Laravel development workflow with instant module scaffolding.

[![Latest Version](https://camo.githubusercontent.com/fd59ddd5f8ba8c935623495e7d23ac06eab384c1b037e51b39fcb968465421bf/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6772617a756c65782f6c61726176656c2d747572626f6d616b65722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/grazulex/laravel-turbomaker)[![Total Downloads](https://camo.githubusercontent.com/369dccf97cd63c90353fd60813695b5d241d3e70e3191f95f2fdd16c3bde354c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6772617a756c65782f6c61726176656c2d747572626f6d616b65722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/grazulex/laravel-turbomaker)[![License](https://camo.githubusercontent.com/e34a9e94ef62e3cb9d5d02fcf13b40a5bf991ad18e820835b03cdd9b0ba5acf9/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6772617a756c65782f6c61726176656c2d747572626f6d616b65722e7376673f7374796c653d666c61742d737175617265)](https://github.com/Grazulex/laravel-turbomaker/blob/main/LICENSE.md)[![PHP Version](https://camo.githubusercontent.com/762f9dda2612748c05f2c849389d9376692f743c0bdd366703fce7d25ec541b5/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6772617a756c65782f6c61726176656c2d747572626f6d616b65722e7376673f7374796c653d666c61742d737175617265)](https://php.net/)[![Laravel Version](https://camo.githubusercontent.com/7592d340e2de1142fa869382b819654d6a0bf7baf8e3c8aded777d652d68c01a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c61726176656c2d31322e782d6666326432303f7374796c653d666c61742d737175617265266c6f676f3d6c61726176656c)](https://laravel.com/)[![Tests](https://camo.githubusercontent.com/b976ae18a49bae53db654b604832b3530e78a578da4cb88c9eed7d301df10481/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6772617a756c65782f6c61726176656c2d747572626f6d616b65722f74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/Grazulex/laravel-turbomaker/actions)[![Code Style](https://camo.githubusercontent.com/161d70e6871f808e0439b3e7a86540993ae98775540b5a2e78226000e3c419c7/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f64652532307374796c652d70696e742d3030303030303f7374796c653d666c61742d737175617265266c6f676f3d6c61726176656c)](https://github.com/laravel/pint)

---

Laravel **TurboMaker** is a productivity-focused package designed to **save hours of repetitive setup work**.
With a single command, you can scaffold complete modules (models, migrations, controllers, routes, tests, views, policies, factories...) following **Laravel best practices**.

---

✨ Features
----------

[](#-features)

- **⚡ One-command scaffolding** – Generate a full CRUD or API module instantly
- **📋 Schema-based generation** – Define models with YAML schemas for complex projects
- **📦 Complete structure** – Models, controllers, migrations, requests, resources, views &amp; tests
- **🔒 Security ready** – Generates Policies and authentication hooks out of the box
- **🧪 Built-in testing** – Pest tests automatically generated for each action
- **🔌 Extensible field types** – 65+ built-in types + create custom field types
- **⚙️ Advanced generators** – Actions, Services, Rules, Observers for clean architecture
- **🎨 Custom templates** – Override stubs and templates to match your coding style
- **🌐 API &amp; Web ready** – Separate API Resources &amp; Controllers when needed
- **🚀 Laravel 11+ compatible** – Auto-detection and smart configuration

---

📦 Installation
--------------

[](#-installation)

```
composer require --dev grazulex/laravel-turbomaker
```

**Requirements**:

- PHP 8.3+
- Laravel 11.x | 12.x

---

🚀 Quick Start
-------------

[](#-quick-start)

### Generate Complete Module

[](#generate-complete-module)

```
php artisan turbo:make Post
```

**What's Generated:**

- **Model**: `app/Models/Post.php` with relationships
- **Controllers**: Web &amp; API controllers with CRUD operations
- **Migrations**: Database table with proper columns and indexes
- **Form Requests**: Validation for Store/Update operations
- **API Resources**: JSON transformations for API responses
- **Views**: Complete CRUD views (index, create, edit, show)
- **Routes**: Both web and API routes with correct naming
- **Tests**: Feature and unit tests using Pest framework
- **Factory**: Model factory for testing and seeding

### Schema-Based Development

[](#schema-based-development)

```
# Create a schema file
php artisan turbo:schema create Product --fields="name:string,price:decimal,category_id:foreignId"

# Generate from schema
php artisan turbo:make Product --schema=Product
```

### API-First Development

[](#api-first-development)

```
php artisan turbo:api Product --tests --policies
```

Generates API-only components (no views) with authentication and authorization.

### Add Relationships

[](#add-relationships)

```
php artisan turbo:make Comment --belongs-to=Post --belongs-to=User
```

Automatically handles foreign keys, model relationships, and form integration.

---

📚 Documentation &amp; Examples
------------------------------

[](#-documentation--examples)

> **📖 Complete documentation and examples have been moved to the [GitHub Wiki](https://github.com/Grazulex/laravel-turbomaker/wiki)**

### Quick Links:

[](#quick-links)

SectionDescription**[🚀 Getting Started](https://github.com/Grazulex/laravel-turbomaker/wiki/Getting-Started)**Installation, setup and your first module**[📋 Command Reference](https://github.com/Grazulex/laravel-turbomaker/wiki/Commands)**Complete command documentation**[🔗 Working with Relationships](https://github.com/Grazulex/laravel-turbomaker/wiki/Relationships)**Model relationships guide**[🎨 Custom Templates](https://github.com/Grazulex/laravel-turbomaker/wiki/Custom-Templates)**Customize generated code**[⚙️ Configuration](https://github.com/Grazulex/laravel-turbomaker/wiki/Configuration)**Configure TurboMaker settings**[🏢 Advanced Usage](https://github.com/Grazulex/laravel-turbomaker/wiki/Advanced-Usage)**Complex patterns and enterprise features**[💡 Real-World Examples](https://github.com/Grazulex/laravel-turbomaker/wiki/Examples)**Blog, E-commerce, API projects---

🔧 Available Commands
--------------------

[](#-available-commands)

CommandPurposeExample`turbo:make`Complete module generation`turbo:make Post --tests --factory``turbo:api`API-only module`turbo:api Product --policies``turbo:schema`Schema management`turbo:schema create User --fields="name:string,email:email"`**[➡️ See complete command reference](./docs/COMMANDS.md)**

---

🏭 Enterprise Features
---------------------

[](#-enterprise-features)

### ModelSchema Integration

[](#modelschema-integration)

- **65+ Field Types** with automatic validation
- **Fragment Architecture** for 95% faster generation
- **Enterprise Validation** with diff and optimization tools
- **Schema Templates** for common patterns (blog, ecommerce, etc.)

### Advanced Generators

[](#advanced-generators)

- **13 Generator Types** - Models, Controllers, Tests, Policies, etc.
- **Smart Relationships** - Automatic foreign keys and model relationships
- **Custom Actions &amp; Services** - Clean architecture patterns
- **Validation Rules** - Custom validation with type-specific rules

---

🤝 Contributing
--------------

[](#-contributing)

We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.

### Development Setup

[](#development-setup)

```
git clone https://github.com/grazulex/laravel-turbomaker.git
cd laravel-turbomaker
composer install
./vendor/bin/pest
```

---

� License
---------

[](#-license)

This package is open-sourced software licensed under the [MIT license](LICENSE.md).

---

🔗 Related Packages
------------------

[](#-related-packages)

- **[Laravel ModelSchema](https://github.com/grazulex/laravel-modelschema)** - The enterprise engine powering TurboMaker
- **[Schema Templates](./examples/schemas/)** - Pre-built schema examples

---

**Made with ❤️ for the Laravel community**

### Generate Complete Module

[](#generate-complete-module-1)

```
php artisan turbo:make Post
```

**What's Generated:**

- **Model**: `app/Models/Post.php` with relationships
- **Controllers**: Web &amp; API controllers with CRUD operations
- **Migrations**: Database table with proper columns and indexes
- **Form Requests**: Validation for Store/Update operations
- **API Resources**: JSON transformations for API responses
- **Views**: Complete CRUD views (index, create, edit, show)
- **Routes**: Both web and API routes with correct naming
- **Tests**: Feature and unit tests using Pest framework
- **Factory**: Model factory for testing and seeding

### Schema-Based Development

[](#schema-based-development-1)

```
# Create a schema file
php artisan turbo:schema create Product --fields="name:string,price:decimal,category_id:foreignId"

# Generate from schema
php artisan turbo:make Product --schema=Product
```

### API-First Development

[](#api-first-development-1)

```
php artisan turbo:api Product --tests --policies
```

Generates API-only components (no views) with authentication and authorization.

### Add Relationships

[](#add-relationships-1)

```
php artisan turbo:make Comment --belongs-to=Post --belongs-to=User
```

Automatically handles foreign keys, model relationships, and form integration.

---

� Documentation &amp; Examples
------------------------------

[](#-documentation--examples-1)

> **📖 Complete documentation and examples have been moved to the [GitHub Wiki](https://github.com/Grazulex/laravel-turbomaker/wiki)**

### Quick Links:

[](#quick-links-1)

SectionDescription**[🚀 Getting Started](https://github.com/Grazulex/laravel-turbomaker/wiki/Getting-Started)**Installation, setup and your first module**[📋 Command Reference](https://github.com/Grazulex/laravel-turbomaker/wiki/Commands)**Complete command documentation**[🔗 Working with Relationships](https://github.com/Grazulex/laravel-turbomaker/wiki/Relationships)**Model relationships guide**[🎨 Custom Templates](https://github.com/Grazulex/laravel-turbomaker/wiki/Custom-Templates)**Customize generated code**[⚙️ Configuration](https://github.com/Grazulex/laravel-turbomaker/wiki/Configuration)**Configure TurboMaker settings**[🏢 Advanced Usage](https://github.com/Grazulex/laravel-turbomaker/wiki/Advanced-Usage)**Complex patterns and enterprise features**[💡 Real-World Examples](https://github.com/Grazulex/laravel-turbomaker/wiki/Examples)**Blog, E-commerce, API projects---

🏭 13 Enterprise Generators
--------------------------

[](#-13-enterprise-generators)

TurboMaker generates **13 different types of files** for complete module scaffolding:

GeneratorFiles GeneratedPurpose**Model**`app/Models/{Name}.php`Eloquent model with relationships**Migration**`database/migrations/create_{table}_table.php`Database schema**Controllers**`app/Http/Controllers/{Name}Controller.php`Web + API controllers**Requests**`app/Http/Requests/{Name}/Store{Name}Request.php`Form validation**Resources**`app/Http/Resources/{Name}Resource.php`API responses**Factory**`database/factories/{Name}Factory.php`Test data generation**Seeder**`database/seeders/{Name}Seeder.php`Database seeding**Tests**`tests/Feature/{Name}Test.php`Feature + Unit tests**Policies**`app/Policies/{Name}Policy.php`Authorization logic**Observers**`app/Observers/{Name}Observer.php`Model event handlers**Services**`app/Services/{Name}Service.php`Business logic layer**Actions**`app/Actions/{Name}/`CRUD action classes**Rules**`app/Rules/{Name}/`Custom validation rules---

🔍 Available Commands
--------------------

[](#-available-commands-1)

CommandPurposeExample`turbo:make {name}`Generate complete module`turbo:make Post --tests --factory``turbo:api {name}`API-only module`turbo:api Product --policies --tests``turbo:schema {action}`Manage YAML schemas`turbo:schema create Product --fields="name:string"``turbo:view {name}`Views only`turbo:view Product``turbo:test {name}`Tests only`turbo:test User --feature --unit`### Key Options

[](#key-options)

OptionDescription`--schema=Product`Use YAML schema for generation`--fields="name:string,email:email"`Quick field definition`--tests`Generate Pest tests`--factory`Generate model factory`--seeder`Generate seeder`--policies`Generate policies`--actions`Generate action classes`--services`Generate service classes`--rules`Generate validation rules`--observers`Generate model observers`--belongs-to=User`Add belongs-to relationship`--has-many=Comment`Add has-many relationship`--force`Overwrite existing files---

🛠 Configuration
---------------

[](#-configuration)

Publish the configuration file to customize TurboMaker:

```
php artisan vendor:publish --tag=turbomaker-config
```

Publish custom templates:

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

See the [Configuration Wiki](https://github.com/Grazulex/laravel-turbomaker/wiki/Configuration) for complete details.

---

🎯 Field Types &amp; Extensibility
---------------------------------

[](#-field-types--extensibility)

TurboMaker includes **65+ built-in field types** and supports custom field type creation:

### Built-in Types

[](#built-in-types)

**String Types**: `string`, `text`, `longText`, `mediumText`
**Integer Types**: `integer`, `bigInteger`, `unsignedBigInteger`, `tinyInteger`, `smallInteger`
**Numeric Types**: `decimal`, `float`, `double`, `boolean`
**Date/Time**: `date`, `dateTime`, `timestamp`, `time`
**Geometry**: `point`, `lineString`, `polygon`, `multiPoint`, `multiLineString`, `multiPolygon`, `geometryCollection`
**Advanced**: `json`, `uuid`, `email`, `foreignId`, `morphs`, `binary`, `enum`, `set`, `fullText`, `char`, `year`
**MongoDB**: `objectId`, `binaryUuid`

### Custom Field Types

[](#custom-field-types)

Create your own field types by extending `AbstractFieldType`:

```
// config/turbomaker.php
'custom_field_types' => [
    'money' => App\TurboMaker\FieldTypes\MoneyFieldType::class,
    'slug' => App\TurboMaker\FieldTypes\SlugFieldType::class,
],
```

See the [Field Types Wiki](https://github.com/Grazulex/laravel-turbomaker/wiki/Field-Types) for complete documentation.

---

🆕 Version Compatibility
-----------------------

[](#-version-compatibility)

TurboMakerPHPLaravel2.x8.3+11.x | 12.x---

🤝 Contributing
--------------

[](#-contributing-1)

We welcome contributions! See our [Contributing Guide](CONTRIBUTING.md).

---

Made with ❤️ for the Laravel community

 [📖 Documentation](https://github.com/grazulex/laravel-turbomaker/wiki) • [🐛 Report Issues](https://github.com/grazulex/laravel-turbomaker/issues) • [💬 Discussions](https://github.com/grazulex/laravel-turbomaker/discussions)

###  Health Score

46

—

FairBetter than 93% of packages

Maintenance81

Actively maintained with recent releases

Popularity25

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 83.6% 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 ~46 days

Total

5

Last Release

99d ago

Major Versions

v1.0.0 → v2.0.02025-08-02

### Community

Maintainers

![](https://www.gravatar.com/avatar/888105bd54b6b7f7905523a16a1d08eebc2e5d39b19a4c174b5961bb4d52929b?d=identicon)[Grazulex](/maintainers/Grazulex)

---

Top Contributors

[![Grazulex](https://avatars.githubusercontent.com/u/4521546?v=4)](https://github.com/Grazulex "Grazulex (56 commits)")[![Copilot](https://avatars.githubusercontent.com/in/1143301?v=4)](https://github.com/Copilot "Copilot (11 commits)")

---

Tags

artisan-commandlaravelmakepackagephpclipestlaraveldebugartisaninspectorscannerphp8turbomaker

###  Code Quality

TestsPest

Static AnalysisPHPStan, Rector

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/grazulex-laravel-turbomaker/health.svg)

```
[![Health](https://phpackages.com/badges/grazulex-laravel-turbomaker/health.svg)](https://phpackages.com/packages/grazulex-laravel-turbomaker)
```

###  Alternatives

[grazulex/laravel-devtoolbox

Swiss-army artisan CLI for Laravel — Scan, inspect, debug, and explore every aspect of your Laravel application from the command line.

1535.4k](/packages/grazulex-laravel-devtoolbox)[nunomaduro/laravel-console-menu

Laravel Console Menu is an output method for your Laravel/Laravel Zero commands.

815412.0k48](/packages/nunomaduro-laravel-console-menu)

PHPackages © 2026

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