mwsimple/admin-crud
A Laravel package for quickly building admin CRUD interfaces, with scaffolding to generate the create, read, update, and delete screens your backend needs. Ideal for developers who want a head start on admin panels without hand-writing every resource.
Architecture fit — poor, and there is a framing error to resolve first. mwsimple/admin-crud is published as AdminCrudBundle, a Symfony bundle, not a Laravel package. The description references Doctrine "Entity" classes and a base "Super Genial" controller — both Symfony/Doctrine idioms. There is no Laravel service provider, no laravel Composer type, no facades, no Blade views. For a Laravel/PHP team the realistic fit is conceptual, not installable: the package is a code generator that scaffolds a thin CRUD controller per entity, with generated controllers inheriting from a shared base class. That pattern is portable; the code is not.
Integration feasibility — low as-is, moderate as a pattern to re-implement. A direct composer require into a Laravel app would at best install dead weight and at worst pull Symfony/Doctrine constraints that conflict with the app's dependency graph. A real integration means either (a) a Symfony service where the bundle actually belongs, or (b) a fork-and-port exercise: replace Doctrine entities with Eloquent models, Symfony Forms with Laravel validation/Form Requests, Twig templates with Blade, and route annotations/YAML with Laravel resource routing. The generator logic itself is small in scope, which is the one favorable signal — re-implementing an artisan make:crud command is a days-to-weeks effort, not a quarter.
Technical risk — high, concentrated in abandonment. Last release 2019-04-26; roughly seven years without a commit. 20 stars and 0 dependents means no downstream users are absorbing breakage, no issue triage, no forks with patches, and no one to answer a question when the base controller misbehaves. The PHP version floor is almost certainly 5.6/7.x-era; expect deprecation noise and hard failures on PHP 8.2+, and no compatibility with Symfony 6/7 or Laravel 9+. There is no security policy, no CI badge evidence, and no release cadence to model. The one structural mitigant: because it generates code, a fork lets you own the output permanently and treat the base class as a one-time starting point rather than a live dependency. The score of 3.33 with opportunity 5.32 reads to me as "genuinely useful idea, poorly maintained artifact" — the opportunity signal is about the scaffolding gap in the ecosystem, not about this repository.
Key questions before any commitment:
composer require actually resolve against it?Stack fit — treat as a pattern reference, not a dependency. For a Laravel 10/11 target, the correct move is to study the generator's shape (entity → controller → views → routes) and implement it natively as an artisan command with stubs, Form Requests, API Resources, and Eloquent. For a Symfony codebase, evaluate the bundle on its own merits against current Symfony, but assume the same porting work for PHP 8 compatibility is required.
Migration path. Fork the repository into an internal namespace first, before writing any glue code — this makes ownership explicit and gives you a diffable baseline. Then: (1) run it in a scratch branch against the target PHP version and record exactly what breaks; (2) strip the Symfony DI wiring and Doctrine coupling to isolate the generator core; (3) re-target templates and base class to the host framework's conventions; (4) publish internally as a dev-only package so it never enters production runtime dependencies. Realistically this is a one-to-three sprint spike plus a short build, gated on the spike's findings.
Compatibility. Assume no compatibility with current framework majors until proven otherwise. Do not let this package appear in a production composer.json; scope it to a dev dependency or a standalone internal tool so a future framework upgrade cannot be blocked by it. Verify the transitive dependency set explicitly — a 2019 bundle can pin Symfony components in ways that cascade.
Sequencing. (1) Confirm the framework question. (2) If Laravel: benchmark Filament/Backpack/Nova against the actual requirement before spending engineering time porting — buying the capability is almost certainly cheaper than porting this. (3) If a port is still justified, run the compatibility spike. (4) Fork and own. (5) Ship as internal dev tooling, not a runtime dependency. (6) Only then generate controllers.
Maintenance — you inherit 100% of it. There is no upstream to lean on: no maintainer responsiveness, no security patches, no PHP-version bumps. Budget for an owner-of-record and a small recurring cost to keep the fork green against PHP/framework upgrades, or accept that the fork is a frozen internal tool and version-gate it accordingly.
Support. None externally. Every defect becomes an internal ticket. With 0 dependents there is no community to search, no Stack Overflow corpus, and no known-issue list — the first incident will be fully novel. Factor onboarding cost into the estimate: a new engineer will have no documentation beyond the source.
Scaling. The per-entity generated controller pattern scales fine to a few dozen entities; beyond that the shared base "Super Genial" controller tends toward a god object where every cross-cutting concern accretes. Watch for divergence — once engineers hand-edit generated controllers (they will), re-generation becomes unsafe and the generator stops paying for itself. Decide up front whether generated code is regenerable or one-shot-owned.
Failure modes. Ranked: (1) install-time dependency conflict silently blocked or forced downgrade of framework components; (2) runtime deprecation/fatal on modern PHP; (3) unpatched vulnerability in the transitive dependency chain with no upstream fix path; (4) stale generated scaffolds drifting from current app conventions and becoming a maintenance tax; (5) bus-factor of one on the fork.
Ramp-up. Low for the concept, high for the artifact. Engineers understand CRUD scaffolding intuitively; the friction is entirely in the fork's undocumented internals and the absence of anyone who has run it recently. Pair the spike with a short written evaluation so the knowledge survives the person who did it.
TPM recommendation. Do not integrate this package into a Laravel application — the framework mismatch plus seven years of abandonment plus zero dependents is a risk profile that buys no capability you cannot get more safely elsewhere. If the underlying need is admin CRUD generation on Laravel, evaluate Filament or Backpack first; the opportunity to build is real, but this repository is a reference implementation at best, not a dependency.
How can I help you explore Laravel packages today?