Use for any task or question involving Livewire. Activate if user mentions Livewire, wire: directives, or Livewire-specific concepts like wire:model, wire:click, wire:sort, or islands, invoke this skill. Covers building new components, debugging reactivity issues, real-time form validation, drag-and-drop, loading states, migrating from Livewire 3 to 4, converting component formats (SFC/MFC/class-based), and performance optimization. Do not use for non-Livewire reactive UI (React, Vue, Alpine-only, Inertia.js) or standard Laravel forms without Livewire.
name livewire-development description Use for any task or question involving Livewire. Activate if user mentions Livewire, wire: directives, or Livewire-specific concepts like wire:model, wire:click, wire:sort, or islands, invoke this skill. Covers building new components, debugging reactivity issues, real-time form validation, drag-and-drop, loading states, migrating from Livewire 3 to 4, converting component formats (SFC/MFC/class-based), and performance optimization. Do not use for non-Livewire reactive UI (React, Vue, Alpine-only, Inertia.js) or standard Laravel forms without Livewire. license MIT metadata {"author":"laravel"} Livewire Development Documentation Use search-docs for detailed Livewire 4 patterns and documentation. Basic Usage Creating Components
vendor/bin/sail artisan make:livewire create-post
vendor/bin/sail artisan make:livewire pages::create-post
vendor/bin/sail artisan make:livewire create-post --mfc
vendor/bin/sail artisan make:livewire create-post --class
vendor/bin/sail artisan make:livewire Posts/CreatePost Converting Between Formats Use vendor/bin/sail artisan livewire:convert create-post to convert between single-file, multi-file, and class-based formats. Choosing a Component Format Always follow the project's existing conventions first. Before creating any component, inspect the project's existing Livewire components to determine the established format (SFC, MFC, or class-based) and directory structure. Check app/Livewire/ , resources/views/components/ , and resources/views/livewire/ for existing components. If the project already uses a consistent format, use that same format — even if it differs from the Livewire v4 defaults below. Only fall back to the v4 defaults (SFC in resources/views/components/ ) when no existing convention is established. Also check config/livewire.php for make_command.type , make_command.emoji , component_locations , and component_namespaces overrides, which change the default format and where files are stored. Component Format Reference Format Flag Class Path View Path Single-file (SFC) default — resources/views/components/⚡create-post.blade.php (PHP + Blade in one file) Full Page SFC pages::name — resources/views/pages/⚡create-post.blade.php Multi-file (MFC) --mfc resources/views/components/⚡create-post/create-post.php resources/views/components/⚡create-post/create-post.blade.php Class-based --class app/Livewire/CreatePost.php resources/views/livewire/create-post.blade.php View-based default (Blade-only) — resources/views/components/⚡create-post.blade.php (Blade-only with functional state) Important: The ⚡ prefix shown above is the default behavior in Livewire v4 — it is configurable . Check config/livewire.php for the make_command.emoji setting. When true (default), always include the ⚡ prefix in filenames you create. When false , omit the ⚡ prefix from all paths above. Namespaced components map to subdirectories: make:livewire Posts/CreatePost creates resources/views/components/posts/⚡create-post.blade.php (single-file by default). Use make:livewire Posts/CreatePost --mfc for multi-file output at resources/views/components/posts/⚡create-post/create-post.php and resources/views/components/posts/⚡create-post/create-post.blade.php . Single-File Component Example