You know make:model exists. You know there are flags that generate a migration, a controller, a factory, and a seeder all at once. You just cannot remember the exact combination without opening a browser tab.

This is one of those small frictions that adds up. You stop mid-flow, Google “laravel make model with migration and controller,” scan the docs, paste the command, and get back to work. Two minutes gone. Flow broken. Multiply that by ten commands a day and it is a real cost.

In 2026, that friction is unnecessary. Here is every Artisan command worth knowing, what the flags actually do, and how AI can now generate the right command sequence for you automatically based on what you are building.

Why Artisan flags are so easy to forget

The problem is not intelligence. The problem is surface area.

Laravel’s Artisan CLI has over 100 built-in commands, and many of them have flags that interact with each other in ways that are not obvious until you have used them enough times to memorize them. A junior or mid-level developer who switches between projects, frameworks, and contexts does not always have that repetition.

make:model Post generates a model. make:model Post -m generates a model and a migration. make:model Post -mc generates a model, migration, and controller. make:model Post -mcrf generates a model, migration, controller, resource, and factory. make:model Post --all generates all of the above plus a seeder and a policy.

None of that is hard to understand once you see it. It is just hard to hold in memory when you are focused on the feature you are building, not the commands that scaffold it.

Artisan commands developers Google most often

These are the commands with flag combinations that cause the most tab-switching.

make:model

The most used Artisan command and the one with the most useful flag combinations.

Model only
php artisan make:model Post

Model + migration
php artisan make:model Post -m

Model + migration + controller
php artisan make:model Post -mc

Model + migration + resource controller
php artisan make:model Post -mcr

Model + migration + API controller (no create/edit methods)
php artisan make:model Post –migration –controller –api

Model + migration + controller + factory + seeder
php artisan make:model Post -mcfs

Everything at once
php artisan make:model Post –all

The --all flag is the one most developers do not know about until someone tells them. It generates the model, migration, factory, seeder, policy, resource controller, and resource class in one command.

make:controller

Basic controller
php artisan make:controller PostController

Resource controller (index, create, store, show, edit, update, destroy)
php artisan make:controller PostController –resource

API resource controller (no create or edit — no form views needed)
php artisan make:controller PostController –api

Invokable controller (single-action, uses __invoke)
php artisan make:controller PostController –invokable

Resource controller bound to a model (type-hints the model automatically)
php artisan make:controller PostController –resource –model=Post

The --invokable flag is the one people reach for on single-action routes and then forget the exact flag name. The --model flag on a resource controller is even more overlooked and saves meaningful boilerplate.

make:migration

Create a new table
php artisan make:migration create_posts_table

Add a column to an existing table
php artisan make:migration add_published_at_to_posts_table

Modify an existing table
php artisan make:migration modify_posts_table

Specify the table explicitly
php artisan make:migration create_posts_table –create=posts

Modify with explicit table
php artisan make:migration add_status_to_posts –table=posts

Laravel infers intent from the migration name when you follow the naming convention, which is why create_posts_table generates a migration with a create schema call and add_column_to_table generates one with an alter call.

make:request

Form request for validation
php artisan make:request StorePostRequest
php artisan make:request UpdatePostRequest

No flags here, but developers often forget that the convention is StoreModelRequest and UpdateModelRequest to keep naming predictable across a team.

make:policy

Policy without a model
php artisan make:policy PostPolicy

Policy with model methods pre-generated (viewAny, view, create, update, delete, restore, forceDelete)
php artisan make:policy PostPolicy –model=Post

The --model flag generates all the policy methods with the correct model type-hint already in place. Without it, you get an empty class. Most developers want the pre-generated methods and forget to add the flag.

make:resource

API resource (single model)
php artisan make:resource PostResource

Resource collection
php artisan make:resource PostCollection –collection

make:job

Synchronous job
php artisan make:job ProcessPost

Job forced to be synchronous (does not implement ShouldQueue)
php artisan make:job ProcessPost –sync

make:event and make:listener

php artisan make:event PostPublished
php artisan make:listener SendPublicationNotification –event=PostPublished

The --event flag wires the listener to the event automatically. Without it, you add the event type-hint manually.

make:mail

php artisan make:mail PostPublished
php artisan make:mail PostPublished –markdown=emails.post-published

The --markdown flag generates a mailable class with a markdown view already configured. Without it, you get the class and have to set up the view reference yourself.

make:notification

php artisan make:notification PostApproved
php artisan make:notification PostApproved –markdown=notifications.post-approved

make:test

Feature test (default, goes in tests/Feature)
php artisan make:test PostTest

Unit test (goes in tests/Unit)
php artisan make:test PostTest –unit

Pest test
php artisan make:test PostTest –pest

Pest unit test
php artisan make:test PostTest –pest –unit

make:middleware

php artisan make:middleware EnsurePostIsPublished

make:command

php artisan make:command PublishScheduledPosts

Ready to Code Smarter with Laravel?

Meet LaraCopilot — your AI full-stack assistant built for Laravel developers.
Skip the boilerplate, build faster, and focus on what matters: problem solving.

Try LaraCopilot Now

Flag combinations most developers always Google

For quick reference, these are the ten combinations that cause the most tab-switching.

GoalCommand
Model + migration + resource controllermake:model Post -mcr
Model + everythingmake:model Post --all
API controller with model bindingmake:controller PostController --api --model=Post
Single-action controllermake:controller PostController --invokable
Policy with all model methodsmake:policy PostPolicy --model=Post
Listener wired to an eventmake:listener SendNotification --event=PostPublished
Mailable with markdown viewmake:mail PostPublished --markdown=emails.post-published
Pest feature testmake:test PostTest --pest
Add column migrationmake:migration add_status_to_posts --table=posts
Resource collectionmake:resource PostCollection --collection

Where AI makes this better

Knowing the flags is useful. But even if you bookmark this page, you still have to translate “I want to build a Post feature with a model, migration, resource controller, policy, API resource, and Pest tests” into the right sequence of commands manually.

That translation step is where most of the friction actually lives. It is not that the commands are hard. It is that going from “here is what I am building” to “here is the exact sequence of commands that scaffolds it correctly” requires a mental context-switch that interrupts the real work.

LaraCopilot handles that translation automatically. Describe what you are building, and it generates the full connected scaffold directly, with all the right pieces wired together from the start. Not a list of commands to run one by one, but a complete, framework-correct stack pushed to your repository in one session.

For junior and mid-level developers in particular, that shift matters beyond the time saved. When a tool generates code that follows correct Laravel conventions from the first generation, the developer reads framework-correct code every day. That is how conventions become instinctive rather than something you have to look up.

Artisan commands for running, not just generating

Beyond make: commands, these are the ones developers look up most often during active development.

Run migrations
php artisan migrate

Roll back the last migration batch
php artisan migrate:rollback

Roll back and re-run all migrations
php artisan migrate:fresh

Roll back, re-run migrations, and seed
php artisan migrate:fresh –seed

Run a specific seeder
php artisan db:seed –class=PostSeeder

Clear all caches
php artisan optimize:clear

Clear config cache only
php artisan config:clear

Clear route cache
php artisan route:clear

List all routes
php artisan route:list

List routes filtered by name
php artisan route:list –name=post

Run the development server
php artisan serve

Open a Tinker REPL session
php artisan tinker

A note on php artisan list and php artisan help

If you are ever unsure about a command, two built-in commands are worth knowing.

php artisan list shows every available command grouped by category.

php artisan help make:model shows the full documentation for a specific command, including every available flag and what it does.

These are always current for your installed Laravel version, which matters when behavior changes between major releases.

Ready to Code Smarter with Laravel?

Meet LaraCopilot — your AI full-stack assistant built for Laravel developers.
Skip the boilerplate, build faster, and focus on what matters: problem solving.

Try LaraCopilot Now

Stop Googling, start building

The commands are not the hard part of Laravel development. The features are. Every minute spent looking up flag combinations is a minute not spent on the work that actually requires your thinking.

Bookmark this page for the reference. And when you are ready to stop scaffolding by hand entirely and generate the full connected stack from a single description of what you are building, LaraCopilot is built exactly for that.

Try LaraCopilot Free