From fuse-laravel
Builds reactive UI with Livewire 4 on Laravel 13 using wire:model, actions, events, Volt, and Folio without writing JavaScript.
How this skill is triggered — by the user, by Claude, or both
Slash command
/fuse-laravel:laravel-livewireThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Before ANY implementation, use `TeamCreate` to spawn 3 agents:
references/alpine-integration.mdreferences/components.mdreferences/events.mdreferences/file-uploads.mdreferences/folio.mdreferences/forms-validation.mdreferences/lifecycle.mdreferences/loading-states.mdreferences/navigation.mdreferences/nesting.mdreferences/precognition.mdreferences/reverb.mdreferences/security.mdreferences/templates/BasicComponent.php.mdreferences/templates/ComponentTest.php.mdreferences/templates/DataTableComponent.php.mdreferences/templates/FileUploadComponent.php.mdreferences/templates/FormComponent.php.mdreferences/templates/NestedComponents.php.mdreferences/templates/VoltComponent.blade.mdBefore ANY implementation, use TeamCreate to spawn 3 agents:
After implementation, run fuse-ai-pilot:sniper for validation.
| Feature | Description |
|---|---|
| Components | Reactive PHP classes with Blade views |
| wire:model | Two-way data binding |
| Actions | Call PHP methods from frontend |
| Events | Component communication |
| Volt | Single-file components |
| Folio | File-based routing |
Component choice?
├── Complex logic → Class-based component
├── Simple page → Volt functional API
├── Medium complexity → Volt class-based
├── Quick embed → @volt inline
└── File-based route → Folio + Volt
Binding type?
├── Form fields → wire:model.blur
├── Search input → wire:model.live.debounce.300ms
├── Checkbox/toggle → wire:model.live
├── Select → wire:model
└── No sync → Local Alpine x-data
| Topic | Reference | When to Consult |
|---|---|---|
| Components | components.md | Creating components |
| Wire Directives | wire-directives.md | Data binding, events |
| Lifecycle | lifecycle.md | Hooks, mount, hydrate |
| Forms | forms-validation.md | Validation, form objects |
| Events | events.md | Dispatch, listen |
| Alpine | alpine-integration.md | $wire, @entangle |
| File Uploads | file-uploads.md | Upload handling |
| Nesting | nesting.md | Parent-child |
| Loading | loading-states.md | wire:loading, lazy |
| Navigation | navigation.md | SPA mode |
| Testing | testing.md | Component tests |
| Security | security.md | Auth, rate limit |
| Volt | volt.md | Single-file components |
| Topic | Reference | When to Consult |
|---|---|---|
| Folio | folio.md | File-based routing |
| Precognition | precognition.md | Live validation |
| Reverb | reverb.md | WebSockets |
| Template | When to Use |
|---|---|
| BasicComponent.php.md | Standard component |
| FormComponent.php.md | Form with validation |
| VoltComponent.blade.md | Volt patterns |
| DataTableComponent.php.md | Table with search/sort |
| FileUploadComponent.php.md | File uploads |
| NestedComponents.php.md | Parent-child |
| ComponentTest.php.md | Testing patterns |
class Counter extends Component
{
public int $count = 0;
public function increment(): void
{
$this->count++;
}
public function render()
{
return view('livewire.counter');
}
}
<?php
use function Livewire\Volt\{state};
state(['count' => 0]);
$increment = fn() => $this->count++;
?>
<button wire:click="increment">{{ $count }}</button>
<input wire:model.blur="email">
<input wire:model.live.debounce.300ms="search">
<button wire:click="save" wire:loading.attr="disabled">Save</button>
Livewire 4 est la version compatible Laravel 13. Changements clés :
wire:model.live rate-limited par défaut (300ms debounce implicite)#[Locked], #[Computed], #[On] toujours supportés/livewire/update gérées automatiquement, pas de config requisewire:poll.5s → toujours valide$this->dispatch('event') → toujours valide#[\Livewire\Attributes\Validate]) → API stablenpx claudepluginhub fusengine/agents --plugin fuse-laravelGenerates Livewire Volt single-file components following project conventions. Studies existing patterns for consistent PHP, Tailwind, and Livewire usage.
Creates interactive server-driven UI components in WordPress Sage themes using Livewire v3 via Acorn. Handles wire:model, file uploads, computed properties, and real-time form validation without writing JavaScript.
Creates Blade templates with components, slots, layouts, and directives. Guides component type selection (anonymous vs class-based) and layout strategy for Laravel views.