- How do I install Filament Search Spotlight in a Laravel app?
- Install it with composer require wezlo/filament-search-spotlight, then register the plugin on your panel by adding FilamentSearchSpotlightPlugin::make() to the ->plugins([...]) array. Nothing else is needed to get started: open any panel page and press Cmd+K or Ctrl+K. If your panel uses a compiled Tailwind theme, add the package's views to your theme's @source directives and rebuild the assets.
- Which records and resources show up in the command palette?
- Every resource that already implements getGloballySearchableAttributes() appears automatically, because the package delegates record search to Filament's native GlobalSearchProvider. On top of that it adds resource index jumps, fuzzy-matched panel pages, and any actions you register. The palette therefore mirrors what your panel already exposes, so there is no second search index to keep in sync.
- Does this package require database tables or migrations?
- No. Recent and pinned items are persisted in the browser's localStorage, and the package ships no tables, models, or migrations. That also means history is per-browser and per-device rather than shared between users. Removing the package leaves no database residue behind.
- Why does the ⌘K overlay render unstyled or with missing classes?
- It almost always means your compiled Tailwind theme is not scanning the package's Blade views, so its utility classes get purged. Add @source '../../../../vendor/wezlo/filament-search-spotlight/resources/views/**/*'; to your theme CSS, such as resources/css/filament/admin/theme.css, and run npm run build. It looks like a package bug but it is a theme configuration step. The maxWidth option is applied inline specifically so it is never subject to purging.
- How do I change the keybinding, placeholder, or overlay width?
- Set every option fluently on the plugin, for example keyBinding('mod+k'), placeholder('Jump to…'), and maxWidth('36rem'), or edit the published config/filament-search-spotlight.php file. Fluent calls always win over config values. Publish the config file with php artisan vendor:publish --tag=filament-search-spotlight-config when you want app-wide defaults.
- Should I disable Filament's default global search when using this?
- That is a product decision rather than a technical requirement. Leaving Filament's topbar global search enabled gives users two search affordances with different result models, which can be confusing; removing it with disableDefaultGlobalSearch() is a one-line change but a visible UX shift. Decide who owns that call and communicate it to stakeholders before rollout.
- How do I add custom actions or categories to the palette?
- Register fluent SpotlightAction::make() entries to add your own commands, alongside the auto-generated Create {Resource} items for resources that have a create page. For deeper changes you can supply your own Category implementations, replace the category list with categories([...]), and prune results with excludeResources() or overrideActions().
- Which Filament versions does filament-search-spotlight support?
- The package composes Filament's GlobalSearchProvider, panel navigation APIs, and the plugin contract, which are internal-ish surfaces that have shifted between Filament majors. Verify it resolves against the exact Filament version running in your app rather than relying on the version stated in the README. Gate any Filament major upgrade on re-checking that the plugin still installs and the overlay still opens.
- Where are the package's tests, and how should I test it in my app?
- The feature tests that ship with the project live in the consuming application under tests/Feature/FilamentSearchSpotlight/, not inside the package, so self-verification is limited. Your team owns regression coverage, so budget for it explicitly. A sensible minimum set covers opening the overlay, arrow-key wrap-around, record and page results appearing, and recent and pinned items persisting.
- Is this package production-ready, and who maintains it?
- Treat it as a forkable dependency: it has a single maintainer, a small dependent count, and a thin release history, so check license terms and issue responsiveness before committing. There is also no evidence of a WCAG audit; keyboard navigation is implemented, but commission an accessibility review if that is contractual. Set expectations too, since relevance and ranking come from Filament, making this fast navigation rather than Spotlight-grade fuzzy search.