Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Crud Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Getting Started

Minimal path from install to first generated CRUD:

  1. Install: 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.
  2. Publish assets/config: 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.
  3. Discover the commands: php artisan list | grep -i crud. The generator commands (create/generate/scaffold) are your entry point — read the --help for each before running.
  4. First use case: scaffold a single, simple model (e.g. 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.
  5. Verify version compatibility: 0.9.4 expanded 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.

Implementation Patterns

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.

Gotchas and Tips

  • Version pinning matters: 0.9.4 is essentially a compatibility + dependency release (Laravel 12 contract support, dependabot bump). There are no new features or breaking changes in the notes — so upgrades within 0.9.x should be low-risk, but pin ^0.9 and test on your Laravel version.
  • No migration/upgrade steps in 0.9.4: nothing to run; just composer update laraflow/crud. If you're on Laravel 12, this is the release that unblocks you.
  • Publishing overwrites config/stubs: vendor:publish --force will replace your customized stubs. Back up before force-publishing on upgrades.
  • Silent overwrites: Many CRUD generators don't prompt before overwriting generated files. Commit before running the generator so you can diff and recover.
  • Namespace mismatches: Generated code often hardcodes a App\Models\... namespace. If your app uses a custom namespace or module structure, fix it in the stubs (config), not after each generation.
  • Route cache during development: If generated routes don't appear, php artisan route:clear — stale route caches are a frequent false alarm.
  • Command output is your debugger: When generation fails, re-run with -vvv and inspect the exact artisan exception (usually a missing stub, unwritable path, or class-not-found from a bad namespace).
  • Extension points to lean on: config-driven stub paths/namespaces, published stub templates, and the service provider's binding points. Customize there rather than forking the package.
  • Compatibility check on upgrades: After bumping the package, run one throwaway scaffold (in a temp branch) and diff against your templates to spot output drift early.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console