⌘K Modal
Drop-in Livewire global search modal with grouped results, accent-insensitive highlighting, and keyboard navigation out of the box.
⌘K Modal
Drop-in Livewire global search modal with grouped results, accent-insensitive highlighting, and keyboard navigation out of the box.
Multi-driver
Works with Meilisearch, Algolia, Typesense, or the Database driver. Zero coupling to a specific Scout backend.
Fluent Authorization
Per-model visibility rules with a fluent builder. Policies, Gates, Spatie permissions and roles, custom callbacks.
File Preview
Inline PDF, image, and video previews directly in the modal. Models expose a
PreviewDto — Scoutify handles signed routes, streaming, and download events.
Artisan Ready
php artisan scoutify:install provisions config, packages, env, and a
starter searchable model. Zero-config deployment.
Highly Customizable
Customize icons, colors, labels, and even the query builder per model using standard Eloquent methods.
Production Tested
Comprehensive test suite, PHPStan level 5 static analysis, and optimized for performance with large datasets.
namespace App\Models;
use Matheusmarnt\Scoutify\Concerns\Searchable;use Matheusmarnt\Scoutify\Contracts\GloballySearchable;use Illuminate\Database\Eloquent\Model;
class Article extends Model implements GloballySearchable{ use Searchable;
public function globalSearchTitle(): string { return $this->title; } public function globalSearchUrl(): string { return route('articles.show', $this); }}{{-- Root layout --}}<livewire:scoutify::modal />
{{-- Header --}}<x-scoutify::gs.trigger />| Stack | Versions |
|---|---|
| PHP | 8.2 · 8.3 · 8.4 |
| Laravel | 11 · 12 |
| Livewire | 3 · 4 |
| Scout | 10 · 11 |