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

serpapi logo
SerpApi

The Web Search API for Your LLM and AI Applications

Visit SerpApi

The latest

View all →
Slow Job Alerts and Replica Commit IDs in Laravel 13.40 image

Slow Job Alerts and Replica Commit IDs in Laravel 13.40

Read article
Flock: A Free, Native Herd Alternative for Laravel image

Flock: A Free, Native Herd Alternative for Laravel

Read article
Live Props for Real-Time Updates in Inertia.js v3.11 image

Live Props for Real-Time Updates in Inertia.js v3.11

Read article
Cooldown Dependency Policy now in Composer 2.11 image

Cooldown Dependency Policy now in Composer 2.11

Read article
Email Sending and Testing for Laravel in One Account image

Email Sending and Testing for Laravel in One Account

Read article
Decide with Jev: Tie Every AI Check to the Exact Draft image

Decide with Jev: Tie Every AI Check to the Exact Draft

Read article