optimize-livewire-component

📁 iurygdeoliveira/labsis-kit 📅 Jan 24, 2026
3
总安装量
3
周安装量
#56628
全站排名
安装命令
npx skills add https://github.com/iurygdeoliveira/labsis-kit --skill optimize-livewire-component

Agent 安装分布

claude-code 2
windsurf 1
trae 1
codex 1
antigravity 1

Skill 文档

Livewire Optimization Skill

Use this skill when creating or refactoring Livewire components to ensure they are performant and visually consistent with Flux UI.

When to use this skill

  • When refactoring “slow” components.
  • When creating new interactive UI elements.
  • When working with search/filtering capabilities.

Workflow

1. Performance Attributes (Livewire 3)

  • Computed Properties: Use #[Computed] instead of methods for expensive logic.
    #[Computed]
    public function users() {
        return User::where(...)->get(); // Cached for the request
    }
    
  • URL Binding: Use #[Url] for filters to persist state.
    #[Url(history: true)]
    public $search = '';
    
  • Security: Use #[Locked] for properties that should not be modified by the frontend (like IDs).
    #[Locked]
    public $postId;
    
  • Real-time: Use wire:model.live.debounce.300ms="..." for search inputs to reduce server load.

2. UI Components (Flux UI)

The project uses Flux UI Free. Always prefer Flux components over manual HTML.

HTML Element Flux Component Example
<button> <flux:button> <flux:button variant="primary">Save</flux:button>
<input> <flux:input> <flux:input label="Email" icon="envelope" />
<a> <flux:link> <flux:link href="/home">Home</flux:link>
<table> <flux:table> (Complex, check documentation)

3. Javascript Integration

  • Alpine.js: Do NOT load Alpine manually.
  • Entanglement: Use @entangle only when necessary. Prefer $wire content.
  • Hooks: Use livewire:init for global listeners.

4. Code Structure

  • Methods: Keep them focused.
  • Authorization: Always add authorize() checks or Gate calls inside methods (Livewire actions are public endpoints!).