원클릭으로
wirebones-development
Build and maintain Wirebones skeleton placeholders for lazy Livewire components in Laravel applications.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Build and maintain Wirebones skeleton placeholders for lazy Livewire components in Laravel applications.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | wirebones-development |
| description | Build and maintain Wirebones skeleton placeholders for lazy Livewire components in Laravel applications. |
Use this skill when adding, changing, generating, or debugging Wirebones skeleton placeholders for lazy Livewire components.
Wirebones renders real Laravel pages in Chromium, captures the computed layout of marked lazy Livewire components, and replaces Livewire's lazy placeholder with generated skeleton Blade files.
#[Wirebone]; Wirebones does not implicitly capture every lazy component.route to a real page where the lazy component is rendered..blade.php files are build artifacts. Re-run wirebones:build after changing layout, captured views, breakpoints, wait time, colors, rendering config, or capture auth.use MrFelipeMartins\Wirebones\Attributes\Wirebone;
#[Wirebone(route: '/dashboard')]
class Revenue extends \Livewire\Component
{
//
}
Enable Livewire delayed loading using the syntax that matches the component's UX:
{{-- Loads when the component enters the viewport --}}
<livewire:revenue lazy />
{{-- Loads immediately after the initial page load --}}
<livewire:revenue defer />
{{-- Useful when many similar lazy components should share one request --}}
<livewire:revenue lazy.bundle />
You may also use Livewire's #[Lazy] or #[Defer] attributes on the component class when every usage of that component should be delayed by default. Keep #[Wirebone] separate: it controls Wirebones capture/generation, not Livewire's loading trigger.
Use explicit options when the generated name, capture route, breakpoints, wait time, or DOM capture behavior needs tuning:
#[Wirebone(
name: 'revenue-card',
route: '/dashboard',
breakpoints: [375, 768, 1280],
wait: 800,
leafTags: ['p', 'h1', 'h2'],
excludeTags: ['svg'],
excludeSelectors: ['[data-no-wirebone]'],
captureRoundedBorders: true,
)]
name: generated placeholder lookup name; defaults to the Livewire-style component name.route: page Wirebones visits to find and capture the component.breakpoints: viewport widths to capture.wait: milliseconds to wait after page load before capturing.leafTags: tags captured as content bones.excludeTags: tags ignored during capture.excludeSelectors: CSS selectors ignored during capture.captureRoundedBorders: whether border radius should be captured from rendered DOM.php artisan wirebones:list
php artisan wirebones:build
php artisan wirebones:build --component=revenue-card
php artisan wirebones:clear
Use wirebones:list before debugging capture problems. Use targeted --component builds during local iteration when only one component changed.
If the route redirects to login during capture, configure a build token and user:
WIREBONES_BUILD_TOKEN=secret-build-token
WIREBONES_AUTH_USER_ID=1
WIREBONES_AUTH_GUARD=web
For cookie, header, or storage-state based auth, use config/wirebones.php or the build command's --cookie and --header options.
For local development, add the Vite plugin from the Composer package:
import wirebones from './vendor/mrfelipemartins/wirebones/vite/index.js'
export default defineConfig({
plugins: [
laravel({ input: ['resources/css/app.css', 'resources/js/app.js'], refresh: true }),
wirebones(),
],
})
The Laravel app server must already be running. The plugin runs only during vite serve, watches changed PHP and Blade files, asks Laravel which #[Wirebone] component changed, and runs a targeted wirebones:build --component=....
php artisan wirebones:build.php artisan wirebones:build because those values are baked into generated Blade files.WIREBONES_BUILD_TOKEN, WIREBONES_AUTH_USER_ID, and WIREBONES_AUTH_GUARD, or provide cookies/headers/storage state.wirebones:list, confirm the route is correct, confirm the component is rendered lazily on that route, and run with --debug if needed.vite serve, and keep the Laravel app server available at the URL used by wirebones:build.