laraflow/crud
LaraFlow CRUD is a Laravel package for quickly building and managing CRUD interfaces, reducing boilerplate around models, controllers, routes, and views. It helps developers create data-driven admin panels and backend tools faster.
Minimal path from install to first generated CRUD:
composer require laraflow/crud (dev-friendly). Laravel auto-discovery should register the service provider — confirm it appears in php artisan about / bootstrap/providers.php if you're on a slimmed-down app skeleton.php artisan vendor:publish --provider="Laraflow\Crud\CrudServiceProvider" (or use the tagged publish flags). Publish before you generate anything so your config and stubs are in place.php artisan list | grep -i crud. The generator commands (create/generate/scaffold) are your entry point — read the --help for each before running.Post) end-to-end. Inspect exactly what it emitted — controller, request/validation, routes, views, and any migration. This tells you the package's conventions faster than the docs.illuminate/contracts to ^12.0, so the package is intended to run on Laravel 10–12 depending on your lockfile. Check composer why-not if install fails.Look first at: the published config (namespaces, paths, stub locations) and the generated controller — those two reveal 90% of how the package is wired.
Scaffold-then-own: Treat generated files as a starting point, not a source of truth. Generate, commit, then customize freely. Do not re-run the generator over custom code unless you're sure it won't clobber edits (many CRUD generators overwrite silently).
Custom stubs, not regenerated patches: Publish the stub templates and edit them to match your project's conventions (base controller, FormRequests, resource routes, Blade/Tailwind layout). One stub change propagates to every future scaffold — far cheaper than fixing each generated file by hand.
Per-model generation loop: Typical day-to-day flow is make:model + migration → run the CRUD generator against it → wire routes/menu entry → add policy/middleware. Standardize this as a small artisan wrapper or a checklist so every generated resource looks identical.
Separation of concerns after generation: Move validation into FormRequests, authorization into policies, and heavy query logic into scopes/repositories. The generator gives you the skeleton; the day-to-day leverage comes from layering your app's conventions on top.
Route + menu registration: Verify whether the package auto-registers routes. If not, add the generated controller to routes/web.php (or a dedicated routes/admin.php) behind your auth middleware group consistently.
Testing hook: After the first few scaffolds, snapshot the generated files (e.g. a test that asserts the generator output for a fixture model). Then when you upgrade the package, you catch output changes before they hit production.
^0.9 and test on your Laravel version.composer update laraflow/crud. If you're on Laravel 12, this is the release that unblocks you.vendor:publish --force will replace your customized stubs. Back up before force-publishing on upgrades.App\Models\... namespace. If your app uses a custom namespace or module structure, fix it in the stubs (config), not after each generation.php artisan route:clear — stale route caches are a frequent false alarm.-vvv and inspect the exact artisan exception (usually a missing stub, unwritable path, or class-not-found from a bad namespace).How can I help you explore Laravel packages today?