intcore/filament-resource-generator
Intcore Filament Resource Generator automates Filament admin resource creation for Laravel apps. Scaffold CRUD tables and forms from database tables or models, cut repetitive boilerplate, and speed up panel development with generated resources you can customize.
This package is a scaffolding accelerator: it generates a whole Filament CRUD "module" (model, migration, factory, seeder, and admin resource) from one artisan command. Treat it as a one-time code generator you run during development, not a runtime dependency.
Minimal setup:
composer require intcore/filament-resource-generator --dev
Because adoption is very low (10 stars, 0 dependents), verify compatibility with your installed Filament major version before committing. The package ships an artisan command (or commands) — discover them rather than guessing the signature:
php artisan list | grep -i filament
Publish config and stubs so you can inspect and override what gets written:
php artisan vendor:publish --provider="Intcore\FilamentResourceGenerator\...ServiceProvider"
The README in the repo is the authoritative source for exact command names, flags, and field syntax — read it first, then confirm the command's --help output matches what it describes.
First use case: pick one simple entity you'd normally scaffold by hand (e.g. Post with title, slug, body, published_at). Run the generator, then diff the output against what you would have written. This tells you in five minutes whether its conventions match your project, before you trust it on ten models.
Scaffold-then-refactor. Generate a module, immediately review the output, and hand-edit from there. Generated code is a starting point, not something you keep regenerating. This is the pattern that matches how the package is intended to be used for a "complete module."
Field-driven definition. Most generators of this type take a field list (name:type or a fluent builder) and map each type to a migration column, a form component, and a table column. Confirm the mapping table in the README — that mapping is where most of the value lives, and where most surprises happen.
Batch a domain in one sitting. Since it generates model + migration + factory + seeder + resource together, the highest-leverage workflow is to define several related entities at once, review the migrations for foreign-key and index consistency, then run php artisan migrate and migrate:fresh --seed in one pass.
Fall back to Filament's native commands for incremental work. Once a module exists, add relationships or extra fields using php artisan make:migration and hand-edited resource files rather than re-running the generator. Mixing generated and hand-written code is fine; re-running the generator over hand-written code is not.
Pair with factories/seeders for immediate feedback. The generated factories and seeders exist to let you populate the admin panel and click through the resource right away. Use them to validate that form/table definitions actually render before you wire real business logic.
Keep it out of production dependencies by installing with --dev and requiring it only on developer machines, so a stale generator can't affect deploys.
--force/--dry-run flag exists before you need it.form(Form $form) vs form(Schema $schema), table API). With only 10 stars and no dependents, expect the package to track one Filament version. Read the package's composer.json require block and pin it; don't let composer update silently move it.php artisan list, then php artisan <command> --help. If --help and the README disagree, trust --help — it's the code you actually have.migrations/ entries before running; adjust timestamps if needed.nullable(), absent foreignId()->constrained() on relationship fields, and table columns that don't match the form fields — those are the common generator slips.-vvv), check storage/logs/laravel.log, and confirm the target directories are writable and match where Filament actually discovers resources (app/Filament/Resources by convention — but confirm against your PanelProvider). A generator writing to the wrong path produces silently "missing" modules.How can I help you explore Laravel packages today?