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.
Architecture fit: The package is a Laravel artisan-style generator that emits a full vertical slice — model, migration, factory, seeder, and Filament admin resource — from a schema definition. Architecturally this sits squarely in the TALL stack (Tailwind, Alpine, Laravel, Livewire) and assumes Filament as the admin layer. It fits organizations already standardized on Filament that want consistent, convention-driven CRUD scaffolding. It is a poor fit for teams without Filament, or teams using non-Eloquent persistence, custom admin panels, or DDD-style layering where generated code conflicts with hand-authored domain boundaries. Because output is one-shot file generation rather than a runtime dependency, the package's architectural surface area in production is effectively zero — the risk lives in developer workflow and generated-code quality, not in the running application.
Integration feasibility: Mechanically trivial: Composer require in require-dev, optional config/stub publishing, and an artisan invocation per module. The real feasibility question is version pinning — Filament v2 vs v3 (and the ongoing v4 transition) changed resource APIs substantially, and a single-maintainer package with this adoption profile is unlikely to track multiple majors. Feasibility should be validated with a time-boxed spike against the team's exact composer.json (PHP, Laravel, Filament, and database driver versions). The absence of dependents (0) means no third party has validated any compatibility matrix publicly — the team must own that verification.
Technical risk: This is the dominant concern. A score of 0.05, 10 stars, and zero dependents is a strong abandonment/immaturity signal. Specific risks: (1) single-maintainer bus factor with no visible governance or release cadence; (2) likely narrow version support that will break on the next Filament major; (3) unknown test coverage and no downstream users to surface defects; (4) generated migrations and models carry the generator's opinions about naming, relationships, soft deletes, and tenant scoping — opinions that may not match house standards; (5) supply-chain exposure is low (MIT dev dependency, filesystem-only output) but non-zero. Mitigating factor: because it produces static files rather than a runtime library, blast radius is contained — bad output is reviewable in a PR and reversible, and the dependency can be dropped after scaffolding with no production impact.
Key questions:
composer.json?Stack fit: Adopt only if the stack is Laravel + Filament and the team already accepts generated scaffolding as a productivity tool. It complements — not replaces — existing tooling like make:model, Blueprint, or Laravel Idea. Treat it as an optional accelerator for greenfield CRUD modules, not a mandated workflow. If the team has no Filament dependency, this package is out of scope entirely.
Migration path: There is nothing to migrate from at the package level; the "migration" is workflow adoption. Recommended path: install as a require-dev dependency in a dedicated spike branch, generate 2–3 representative modules (one simple, one with relationships, one matching an existing hand-built resource), diff generated output against house conventions, then decide whether to (a) adopt as-is, (b) adopt with published/customized stubs, or (c) fork and vendor. Commit all generated files to version control; never rely on regeneration at deploy time. Keep the package out of require (production) so runtime deployment does not carry it.
Compatibility: Pin the package version explicitly and pair it with a pinned Filament major. Establish a compatibility gate in CI: a smoke test that runs the generator on a fixture schema and asserts output compiles and passes Pint/PHPStan. This converts an undocumented compatibility surface into a monitored one. Verify PHP and Laravel constraints before the spike, and re-verify on every Filament major upgrade — budget this as recurring maintenance, not one-time setup.
Sequencing:
Maintenance: The package itself is the maintenance liability, not the code it produces. Expect to fork within 6–12 months if upstream stalls or Filament ships a breaking major. Budget roughly 1–2 engineer-days per quarter for version compatibility, plus a one-time 3–5 days for the initial spike, stub customization, and CI guardrails. Forking is cheap (small codebase, MIT) but must be planned, not reactive — decide fork trigger conditions up front (e.g., no upstream release within 90 days of a Filament major).
Support: Effectively none. Single maintainer, minimal community, no SLA, no security disclosure process. Internal ownership is mandatory: a named engineer or guild must own the fork, the stubs, and the compatibility matrix. Do not route support questions to upstream; route them to the internal owner.
Scaling: Usage scales linearly and cheaply — it is a developer-local tool with no runtime footprint, so application scaling is unaffected. The scaling concern is consistency: as more developers use it, stub drift and divergent local customizations produce inconsistent modules. Solve this by centralizing stubs in the repo, enforcing them via CI, and treating the generator as shared tooling under code review. It does not scale well to complex domains (multi-tenant, event-sourced, heavily polymorphic schemas) without meaningful stub investment.
Failure modes:
Ramp-up: Low technical ramp-up for anyone already fluent in Filament and Laravel artisan generators — an experienced developer is productive within half a day. The real ramp-up is organizational: documenting when to use the generator vs hand-write, where stubs live, how to customize them, and the post-generation checklist. Budget a short internal guide and a 30-minute walkthrough. Net assessment: viable as low-cost, dev-only scaffolding for a Filament-standardized team that accepts fork ownership; not viable as a strategic or production dependency, and not worth adopting without the spike and CI guardrails described above.
How can I help you explore Laravel packages today?