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 StackMivo — your AI full-stack assistant built for Laravel developers. Skip the boilerplate, build faster, and focus on what matters: problem solving.

Try StackMivo Now

Flag combinations most developers always Google

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

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.

StackMivo 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 StackMivo — your AI full-stack assistant built for Laravel developers. Skip the boilerplate, build faster, and focus on what matters: problem solving.

Try StackMivo 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, StackMivo is built exactly for that.

Try StackMivo Free