Laravel Packages

Generate Complete Application Modules with a Single Command using Laravel TurboMaker

Published
Generate Complete Application Modules with a Single Command using Laravel TurboMaker image

Laravel TurboMaker is a package designed to supercharge your development workflow by generating complete CRUD and API modules from a single Artisan command. Created by Jean-Marc Strauven, the package generates models, migrations, controllers, routes, tests, views, policies, and more—all following Laravel conventions and best practices.

Basic Usage

Generate a complete module with all associated files:

php artisan turbo:make Post
Sample Turbomaker command output
Sample output from the Turbomaker Artisan command

For API-only generation with tests and policies:

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

You can also define relationships directly from the command line:

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

Schema-Based Generation

For more complex projects, TurboMaker supports YAML-based schema definitions. First, create a schema with your field definitions:

php artisan turbo:schema create Product --fields="name:string,price:decimal,description:text"

The schema file will be generated in resources/schemas/product.schema.yml, a sample of which looks similar to this:

fields:
name:
type: string
nullable: false
price:
type: decimal
nullable: false
category_id:
type: foreignId
nullable: false
relationships: []
options:
table: products
timestamps: true
soft_deletes: false
metadata:
version: '2.0'
description: 'ModelSchema-powered schema for Product'
created_at: '2026-01-26'
engine: 'ModelSchema Enterprise'

Further edits can then be made by following the many field types and options outlined in the Schema System Documentation.

Then generate the module from that schema:

php artisan turbo:make Product --schema=Product

Customizations

To customize the default behaviors, publish the package's configuration file:

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

You can also publish and modify the stub templates as well:

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

Whether you're prototyping a new idea or scaffolding features for a larger project, TurboMaker can speed up the repetitive parts so you can focus on the interesting ones. Check out the GitHub repository for full documentation and more examples.

Yannick Lyn Fatt photo

Staff Writer at Laravel News and Full stack web developer.

Sponsored

laravelcloud logo
Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Visit Laravel Cloud

The latest

View all →
Exclude Vendor and Default Commands in `php artisan dev` image

Exclude Vendor and Default Commands in `php artisan dev`

Read article
The Laracon Archive image

The Laracon Archive

Read article
Group Adjacent Collection Items in Laravel with chunkBy() image

Group Adjacent Collection Items in Laravel with chunkBy()

Read article
Laravel queue:work Now Prints Why the Worker Stopped image

Laravel queue:work Now Prints Why the Worker Stopped

Read article
Sidecar Brings Statamic's Control Panel to Your Existing Markdown Sites image

Sidecar Brings Statamic's Control Panel to Your Existing Markdown Sites

Read article
Collections chunkBy() and Storage Path Hardening in Laravel 13.30 image

Collections chunkBy() and Storage Path Hardening in Laravel 13.30

Read article