byfallcode / byfall-crud
Laravel API CRUD generator (models, repositories, requests, controllers, resources, factories, seeders, Postman collections)
Requires
- php: ^8.1
README
Byfall CRUD is a Laravel package that generates a complete REST API CRUD from your database schema or migrations.
It helps you rapidly scaffold:
- Models
- Repositories
- Form Requests (Store / Update)
- Controllers (API only)
- API Resources & Collections
- Factories
- Seeders
- Postman API collections (JSON)
Designed for Laravel 10, 11, 12+ and PHP 8.1+
✨ Features
- 🚀 Generate full API CRUD in one command
- 🧠 Infer fields, validation rules, casts and relations
- 🗄️ Source from database or migration files
- 🧪 Ready-to-use FormRequests (store & update)
- 🧱 Repository pattern
- 📦 API Resources & Collections
- 🌱 Factories and Seeders
- 📬 Postman collection generation
- 🧹 Safe deletion of generated files
- 🔮 Forward-compatible with future Laravel versions
📋 Requirements
- PHP >= 8.1
- Laravel >= 10
📦 Installation
composer require byfallcode/byfall-crud
Laravel automatically discovers the service provider.
🚀 Available Artisan Commands
make:entity – Generate a complete API CRUD
delete:entity – Remove generated files
make:api-collection – Generate Postman collections
🚀Arguments
Argument Description name Entity name in StudlyCase (e.g. Post, Category, UserProfile) Options Option Description
- --source=db Infer entity from the database schema (default)
- --source=migration Infer entity from a migration file
- --table= Database table name (only when --source=db)
- --migration= Path to the migration file (required with --source=migration)
- --no-resources Skip API Resources & Collections
- --no-factory Skip Factory generation
- --no-seeder Skip Seeder generation
- --no-collection-json Skip Postman collection generation
- --force Overwrite existing files without confirmation
Examples
1️⃣ Generate an entity from the database (default)
php artisan make:entity Category --source=db
-
Uses table
categoriesby default -
Automatically infers:
-
columns
-
nullable / required fields
-
unique constraints
-
foreign keys (
belongsTo) -
validation rules
-
casts
-
soft deletes
-
2️⃣ Generate an entity from the database with a custom table name
php artisan make:entity Category --source=db --table=product_categories
3️⃣ Generate an entity from a migration file
php artisan make:entity Category --source=migration --migration="database/migrations/2026_01_04_210315_create_categories_table.php"
Useful when:
-
the database is not migrated yet
-
you want to scaffold before deployment
4️⃣ Generate an entity without optional components
php artisan make:entity Category \ --no-resources \ --no-factory \ --no-seeder \ --no-collection-json
5️⃣ Force regeneration of an entity
php artisan make:entity Category --force
⚠️ This will overwrite all previously generated files.
API Route (manual step)
After generating an entity, register the API route manually:
use App\Http\Controllers\CategoryController; Route::apiResource('categories', CategoryController::class);
🧹 delete:entity — Usage
Remove all files generated by make:entity.
php artisan delete:entity Category
With confirmation for each file.
Force deletion (no confirmation):
php artisan delete:entity Category --force
This command removes:
-
Model
-
Repository
-
Controller
-
Form Requests
-
API Resources & Collections
-
Factory
-
Seeder
-
Postman collection
📬 make:api-collection — Usage
Generate a Postman collection for API resources.
From database (default)
php artisan make:api-collection
From migrations
php artisan make:api-collection --source=migrations