Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    fusengine

    laravel-livewire

    fusengine/laravel-livewire
    Coding
    2
    6 installs

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    Build reactive components with Livewire 3, wire:model, actions, lifecycle hooks, Volt, and Folio. Use when creating interactive UI without JavaScript, forms, or real-time updates.

    SKILL.md

    Laravel Livewire

    Agent Workflow (MANDATORY)

    Before ANY implementation, use TeamCreate to spawn 3 agents:

    1. fuse-ai-pilot:explore-codebase - Check existing Livewire components
    2. fuse-ai-pilot:research-expert - Verify Livewire 3 patterns via Context7
    3. mcp__context7__query-docs - Check specific Livewire features

    After implementation, run fuse-ai-pilot:sniper for validation.


    Overview

    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

    Critical Rules

    1. Always use wire:key in loops
    2. Use wire:model.blur for validation, not .live everywhere
    3. Debounce search inputs with .debounce.300ms
    4. #[Locked] for sensitive IDs
    5. authorize() in destructive actions
    6. protected methods for internal logic

    Decision Guide

    Component Type

    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
    

    Data Binding

    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
    

    Reference Guide

    Core Concepts (WHY & Architecture)

    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

    Advanced Features

    Topic Reference When to Consult
    Folio folio.md File-based routing
    Precognition precognition.md Live validation
    Reverb reverb.md WebSockets

    Templates (Complete Code)

    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

    Quick Reference

    Basic Component

    class Counter extends Component
    {
        public int $count = 0;
    
        public function increment(): void
        {
            $this->count++;
        }
    
        public function render()
        {
            return view('livewire.counter');
        }
    }
    

    Volt Functional

    <?php
    use function Livewire\Volt\{state};
    
    state(['count' => 0]);
    
    $increment = fn() => $this->count++;
    ?>
    
    <button wire:click="increment">{{ $count }}</button>
    

    Wire Directives

    <input wire:model.blur="email">
    <input wire:model.live.debounce.300ms="search">
    <button wire:click="save" wire:loading.attr="disabled">Save</button>
    

    Best Practices

    DO

    • Use wire:key in @foreach loops
    • Debounce search/filter inputs
    • Use Form Objects for reusable logic
    • Test with Livewire::test()
    • #[Locked] for IDs, #[Computed] for derived data

    DON'T

    • wire:model.live on every field
    • Query in render() method
    • Forget authorization in actions
    • Skip wire:key in loops
    • Store sensitive data in public properties
    Recommended Servers
    Svelte
    Svelte
    Astro Docs
    Astro Docs
    Vercel
    Vercel
    Repository
    fusengine/agents
    Files