quadrubo/filament-model-settings
Filament plugin for managing per-model settings in your admin panel. It adds a settings page and reusable form component so you can store, edit, and read model-specific configuration values directly from Filament with a simple API.
Architecture fit. quadrubo/filament-model-settings is a Filament panel plugin that layers per-model settings management onto a Laravel application — conceptually a Filament-native UI over a settings store (most likely spatie/laravel-settings or an equivalent Eloquent-backed store). Architecturally it belongs in the admin/back-office tier, not in domain or public-facing request paths. Fit is strong only if the application already standardizes on Filament for administration; in a Livewire/TALL shop it is close to zero-marginal-cost, in an Inertia/API-first or Blade-only shop it introduces an entire UI framework as a dependency for one settings screen.
Integration feasibility. Package discovery is automatic; the work is (a) composer require, (b) registering the plugin on the relevant PanelProvider, (c) publishing/authoring settings classes and running migrations, (d) wiring authorization so non-admins cannot reach the settings surface. That is a days-scale spike, not a sprint. The v2.0.1 patch itself carries no disclosed behavioural change — the changelog body is an empty compare link — so integration cost is unchanged from v2.0.0.
Technical risk. The dominant risk is evidential, not architectural: a patch release with no release notes gives us no basis to assert what changed. We cannot confirm whether 2.0.1 is a dependency bump, a Filament-version compatibility fix, or an unreported behavioural change. Secondary risks: single-maintainer project (bus factor), a major version (v2) that is itself recent, and a hard coupling to Filament's release cadence — Filament majors have historically moved fast, and plugin breakage follows the host framework, not the plugin's own semver. Settings data is also security-adjacent: these records frequently hold feature flags, integration keys, or per-tenant configuration, so the plugin's authorization and audit story matters more than its UI polish.
Key questions.
Stack fit. Target profile: Laravel 10/11/12, PHP 8.2+, Filament v3+ panel already in production, at least one model with genuinely per-record configuration (tenant branding, notification preferences, feature toggles, per-account limits). If the settings are global rather than per-model, a plain config file or a single spatie/laravel-settings class is cheaper and this package is overkill.
Migration path. Treat v2.0.1 as the adoption baseline and do not start on v2.0.0 — the patch is almost certainly a defect fix, and there is no reason to inherit a superseded build. Greenfield adopters have a clean path: install, publish config/migrations, define one settings class for a low-risk model, register the plugin, verify in a non-production panel. Brownfield adopters on v1 must budget a real migration: v2 is a major, so expect namespace, config, and possibly schema changes; run it against a restored production snapshot and diff the settings rows before and after. Adopters already on v2.0.0 should upgrade — patch releases in young majors are usually worth taking — but read the diff first given the missing notes.
Compatibility. Pin exactly ("quadrubo/filament-model-settings": "2.0.1") rather than floating a caret, at least until the Filament support matrix is confirmed. Lock the Filament major alongside it in the same PR so a composer update cannot silently move the host framework underneath the plugin. Verify the PHP floor and the Laravel ceiling against our own runtime before committing.
Sequencing.
composer.json, an ADR recording why the dependency exists and what would replace it.Maintenance. Ownership sits with whoever owns the admin panel. Budget a recurring line item for dependency tracking: the plugin is small and single-maintainer, so the practical maintenance task is monitoring Filament releases and testing the plugin against each. Keep a contingency note — a fork is viable given the package size, but only if we have already read the source during the spike.
Support. Upstream support is GitHub issues on a personal repository: no SLA, no vendor, response times unbounded. Internal support burden falls on the adopting team, who must be able to read the plugin's source and the underlying settings library. Do not let this become a dependency the platform team is expected to answer questions about without having done the spike.
Scaling. Runtime cost is negligible — settings reads are small and typically cached; the plugin is not on the hot path. The scaling concerns are operational: row growth in the settings table proportional to models × tenants, cache invalidation consistency across multiple app servers (a stale settings cache after a panel edit is the most likely real-world bug), and migration time on large existing tables if v2 alters schema.
Failure modes.
Ramp-up. Low for engineers already fluent in Filament — plugin registration and a settings class are an afternoon. Non-trivial for teams new to Filament, who must learn panel providers, resources/pages, and Livewire component lifecycle before they can debug plugin behaviour. Recommend one engineer complete the spike end-to-end and write a short internal note covering the support matrix, authorization model, and rollback steps before the pilot begins.
How can I help you explore Laravel packages today?