miguilim/filament-auto-panel
Filament Auto Panel is a Laravel/Filament package that reduces repetitive admin-panel setup by helping you scaffold Filament resources and CRUD screens from your app’s models, so you can build consistent back-office interfaces faster with less boilerplate.
Architecture fit. The package targets Filament's resource layer — the point where Resources, Relation Managers, forms, tables, and policies are normally declared as static PHP classes discovered by the panel provider. Auto-panel moves that declaration to execution time, which is a meaningful architectural deviation from Filament's code-first model. The central TPM question is whether it is a thin builder (acceptable) or a parallel runtime that bypasses Filament's discovery, policy, and caching hooks (risky). That distinction decides most of this assessment and can only be settled by reading the service provider and one panel bootstrap.
Integration feasibility. Likely feasible if it composes via a panel ->resources([...]) extension, a base Resource class, or a trait. It becomes intrusive if it requires replacing discoverResources(), overriding the panel provider, or storing schema in the database. Composer constraints are the first gate: confirm Filament major (v3 vs v4) and Laravel/PHP versions, because Filament v4 was a breaking release and the two cannot be mixed. With 0 dependents and 38 stars there is no ecosystem evidence of it surviving a Filament upgrade, so treat version pinning as mandatory, not advisory.
Technical risk. Concentrated in four places: (1) Runtime cost — schema construction per request can defeat config/route caching and add queries if schema is data-driven; (2) Lost tooling — no static analysis, no IDE navigation, no artisan generator output, weaker test ergonomics, because resources are not classes; (3) Policy and authorization gaps — dynamic resources and relation managers are exactly where canViewAny / canView / tenancy scoping get silently skipped; (4) Bus factor — single maintainer, MIT, recent release. The mitigation is that MIT lets you fork, but you must budget for owning it rather than assuming upstream support.
Key questions. Which Filament and Laravel minors are supported, and is there a compatibility matrix? How is the resource schema supplied — PHP array, config, JSON, or database — and is it cached? Does it invoke Filament's authorization, tenancy, and global-scope machinery, or reimplement it? Do dynamically built Relation Managers respect policies and are they lazy-loaded? How does it interact with discoverResources(), panel middleware, and existing static resources? What is the upgrade story across Filament majors? Is there any test suite, and how is it exercised against multiple Filament versions? Finally: how many lines of glue would you write yourself to get 80% of the benefit, because Filament has been steadily expanding programmatic resource construction and may commoditize this.
Stack fit. Good fit only where Filament is already the admin surface and the team is fluent in Livewire and the Filament resource lifecycle. Poor fit as a first Filament project, and poor fit for customer-facing surfaces where authorization and auditability are non-negotiable until the policy question is answered. Highest-value use cases are internal tooling, CMS-style admin, tenant onboarding consoles, and rapid CRUD over tables whose schema is genuinely data-driven or repetitive.
Migration path. Adopt incrementally and reversibly: pilot on one greenfield, low-blast-radius resource on a non-production panel, keep every existing static Resource untouched, and do not retrofit core domain resources until the runtime has survived one Filament patch bump in staging. Because the package is a layer rather than a migration target, the exit path is deleting the dependency and regenerating static resources — preserve that option by not letting dynamic schema leak into domain logic.
Compatibility. Pin Filament, Laravel, PHP, and Livewire to exact minors in composer.json and lock the package to a commit or tag rather than ^. Verify against your CI matrix before merging; a 38-star package will not have tested your combination. Check that the package's service provider does not conflict with your panel provider or existing resource registration, and confirm behavior under php artisan optimize / route cache, which is where runtime construction most often breaks.
Sequencing. (1) Read the source — service provider, panel hook, and one example — and answer the caching and authorization questions above. (2) Build a throwaway spike with one resource, one relation manager, and one policy, then verify a policy denial actually denies. (3) Benchmark panel boot time with the route cache warm versus cold. (4) Run a Filament patch upgrade in a branch to measure breakage. (5) Compare against a hand-rolled builder or Filament's native programmatic options, and only then commit. Gate the decision at step 3; if runtime cost or policy enforcement is unclear, stop.
Maintenance. The dominant operational cost is ownership. With one maintainer and no dependents, plan as if upstream could go quiet: vendor the source, track the upstream diff, and assign a named owner. Budget a fork-and-patch allowance per Filament major upgrade. The MIT license makes this legally trivial but does not make it free.
Support. GitHub issues only, no commercial backing, and sparse documentation relative to the framework it extends. Expect to learn behavior by reading source and Filament internals. Escalation is the maintainer's goodwill; do not promise SLA-backed admin features on top of this without a fallback.
Scaling. Two axes. Vertical: runtime construction on every panel request is the risk — confirm schema is memoized or cacheable and that it does not add per-request queries. Horizontal: dynamic resources can complicate multi-tenant scoping and per-tenant cache keys; validate tenancy behavior explicitly if you run multi-tenant panels. Team scaling is the sharper constraint: auto-generated resources are harder for new developers to reason about than explicit classes, so a large team inherits a steeper cognitive load.
Failure modes. Silent breakage on a Filament minor bump; authorization bypass on dynamically built resources or relation managers; stale or poisoned schema cache; panel boot failures under route cache; opaque errors that surface deep in Filament internals rather than at the declaration site; abandonment of the upstream repository. Each maps to a cheap control — pinned versions, an explicit policy test for every dynamic resource, cache-warm smoke tests in CI, and a vendored fork.
Ramp-up. A developer already fluent in Filament can be productive in roughly a day; a developer new to Filament should not be the first adopter, because debugging requires knowing what the framework would have generated. Add a short internal note covering the schema source, caching, and policy expectations to keep onboarding from becoming folklore.
Verdict. Reasonable bet for internal, high-churn, schema-driven Filament admin surfaces where the team can accept fork-level ownership; not a bet for core, customer-facing, or authorization-sensitive resources until the policy and caching questions are answered in a spike.
How can I help you explore Laravel packages today?