alizharb/filament-themer-luncher
Filament Themer Launcher adds a convenient theme switcher to your Filament admin panel, letting users quickly change and preview themes without leaving the page. Easy to install and configure for Laravel Filament apps.
Install the package with Composer alongside Laravel Themer ^1.4 — the Luncher is a Filament plugin, so it needs a working Laravel Themer install and a Filament panel already registered:
composer require filament-themer-luncher
The release targets Laravel 12/13 and PHP 8.3–8.5; if you are still on Laravel 11, expect Composer to pull older versions or block the install entirely due to security advisories on the 11 branch.
Register the plugin on your panel provider (->plugin(FilamentThemerLuncherPlugin::make()) — check the README for the exact namespace and any ->navigationGroup()/->authorize() chaining you want).
Publish and review config before first use — specifically the new install allowlists (allowed_remote_hosts, local path allowlist) and the backup-before-activate flag. Defaults are secure but restrictive; a remote install will fail until you add the host.
Where to look first: the Luncher's theme list page. Each row carries the v1.1 health badges (healthy, dependency review, conflicts, broken parent), which is the fastest way to see whether an existing theme is usable before you touch anything.
First real use case: open an existing theme and run the Theme Doctor action. It surfaces requires, conflicts, provides, and token metadata in one pass — this is the diagnostic you'll return to whenever a theme misbehaves after a Laravel Themer upgrade.
requires before they hit a staging deploy.Explain Theme action is the quickest way to give a new team member context on an unfamiliar theme — better than reading its manifest by hand.--expires; the Luncher passes this through natively. For any client-facing theme, preview with a short expiry, confirm, then activate — ideally with backup-before-activate enabled so a bad activation is a one-command rollback.theme:refresh-aware cache invalidation. The Luncher now prefers theme:refresh when the command exists. If you have custom cache-busting logic, hook it to the same signal instead of duplicating it — otherwise you'll get stale token/health data after an install.resources/boost/guidelines/core.blade.php guidance helps AI assistants and IDE tooling; keep it in sync if you fork or extend the plugin.../ traversal. Legitimate archives that include parent-directory entries (some build tools produce them) will now fail. Re-pack the theme ZIP flat before importing.--expires fix means previews are time-boxed by design — don't share a preview URL as if it were permanent. Regenerate for each review round.How can I help you explore Laravel packages today?