- What is Scoutify and how does it work in a Laravel app?
- Scoutify is a Laravel package that drops a ⌘K / Ctrl+K global search modal into your application. It is a thin Livewire and Blade presentation layer over Laravel Scout: you register searchable Eloquent models, and the modal queries several model types at once, groups results by type and keeps recent searches in the session. It installs as the Composer package matheusmarnt/scoutify and exposes Blade trigger and modal components.
- Do I need Livewire and Laravel Scout installed to use Scoutify?
- Yes. Scoutify assumes Livewire 3 or 4 as the front-end runtime plus Laravel Scout with a working driver behind it, so if you run neither today you are effectively adopting Livewire, Scout and Scoutify as a bundle. That changes the evaluation cost by an order of magnitude compared with dropping it into an existing stack. The strongest fit is a Laravel monolith that already uses Livewire and already indexes two or more models with Scout.
- Which Laravel, Livewire and Scout versions does Scoutify support?
- The README claims Laravel 11, 12 and 13, Livewire 3 and 4, and Scout 11 and 12. Because the package is new and maintained by a single author, treat that matrix as unverified until you prove it in your own CI against your exact combination. Pin the versions you actually test rather than trusting the badges.
- How do I install and configure Scoutify?
- Run composer require matheusmarnt/scoutify, then the scoutify:install command, which prompts for a Scout driver, publishes config/scoutify.php and config/scout.php and sets SCOUT_DRIVER. Populate the indexes with scoutify:import. Finally, place the livewire:scoutify::modal component at the root of your layout so the keyboard trigger is available on every page.
- Does scoutify:searchable modify my model files?
- Yes. The scoutify:searchable command rewrites your model source files, adding imports, an implements clause and the trait, so it is a code-modification operation running against application code. A --dry-run flag exists and should always be used first, and the command must never run unattended in a pipeline. Review the resulting diff like any other committed change before merging.
- Why is my ⌘K search modal not opening?
- The most common cause is placement: the livewire:scoutify::modal tag must sit at the root of your layout, outside any collapsible container such as a sidebar or drawer nav. Nesting it inside one produces a broken trigger that looks like a package failure but is really a layout mistake. Check the layout first, then confirm Livewire is loaded and the package assets are published.
- How does Scoutify handle authorization and visibility of search results?
- Scoutify provides a VisibilityRule fluent builder with secure, permissive and gate-only defaults that decide what each user may see. The permissive behaviour, which allows authenticated users when no policy exists, is a quiet data-exposure path in apps that treat a missing policy as a deliberate signal, so audit every searchable model instead of inheriting the default. Use the secure or gate-only mode for multi-tenant applications.
- Which Scout driver should I use with Scoutify: Meilisearch or the database driver?
- Both work, but they do not return identical results. Meilisearch does word-prefix matching, so a partial string such as ano will not match Mariano, while the database driver falls back to LIKE. The UI looks the same either way, which makes the difference a support-ticket generator, so fix and document one driver for the whole team and prefer a real engine such as Meilisearch, Algolia or Typesense in production.
- Is Scoutify a good fit for an Inertia, Vue or API-first front end?
- Usually not. Scoutify renders through Livewire and Blade, so an Inertia or Vue front end would have to bridge the Livewire component or abandon the modal, and an API-first app gets little value from it. It also competes conceptually with any command palette you already own, such as Algolia Autocomplete or a custom JS implementation. In those cases an existing search UI is the cheaper, lower-risk choice.
- Is Scoutify production ready and actively maintained?
- Treat it as early stage: one star, zero dependents, a single maintainer and no production evidence base, so plan on possibly owning a fork from day one. Run it behind a feature flag, test it against your own Laravel, Livewire and Scout version matrix, and audit the boot-time model discovery, the authorization defaults and the signed preview/download route before shipping. It is a reasonable accelerator for an internal pilot, not a component to adopt unexamined.