renas / laravel-resource-scaffold
Scaffold Laravel resources for Inertia (Vue/React) or Blade (migration, model, controller, pages/views).
Package info
github.com/renas-ghazi/laravel-resource-scaffold
pkg:composer/renas/laravel-resource-scaffold
v1.0.2
2026-02-28 04:22 UTC
Requires
- php: ^8.1
- illuminate/console: ^10.0|^11.0|^12.0
- illuminate/filesystem: ^10.0|^11.0|^12.0
- illuminate/support: ^10.0|^11.0|^12.0
README
renas/laravel-resource-scaffold is an Artisan generator for Laravel resources using:
- Inertia + Vue
- Inertia + React
- Blade
It scaffolds migration, model (if missing), controller, and UI pages/views.
Requirements
- PHP 8.1+
- Laravel 10, 11, or 12
Installation
composer require renas/laravel-resource-scaffold
Usage
php artisan resource:scaffold
Options
--stack=inertia-vue|inertia-react|bladeUI stack (default:inertia-vue)--pages=Index,Create,Edit,Showpages/views to generate (default:Index,Create)--resourcegenerate full resource controller methods--tsgenerate TypeScript pages (.vue <script lang="ts">/.tsx)--dry-runpreview files without writing--forceoverwrite existing files without prompts
Examples
# Inertia Vue (default) php artisan resource:scaffold # Inertia React + TypeScript php artisan resource:scaffold --stack=inertia-react --ts --resource --pages=Index,Create,Edit,Show # Blade php artisan resource:scaffold --stack=blade --resource --pages=Index,Create,Edit,Show
Stub Customization
Publish stubs:
php artisan vendor:publish --tag=laravel-resource-scaffold-stubs
Customize generated templates in:
stubs/laravel-resource-scaffold/*
Generated Files
Always generated:
database/migrations/*_create_{table}_table.phpapp/Models/{Model}.php(only if missing)app/Http/Controllers/{Folder}/{Controller}.php
Stack output:
resources/js/Pages/{Folder}/*.vuefor--stack=inertia-vueresources/js/Pages/{Folder}/*.jsx|*.tsxfor--stack=inertia-reactresources/views/{folder}/*.blade.phpfor--stack=blade
Route Example
Routes are intentionally not auto-injected.
Route::resource('users', \App\Http\Controllers\Admin\Users\UserController::class);