From 669a065923b6b0d64605577e1c7d5069d70e28ec Mon Sep 17 00:00:00 2001 From: Pushpak Chhajed Date: Sat, 14 Feb 2026 00:26:25 +0530 Subject: [PATCH] Add Boost Guidelines & Skills --- resources/boost/guidelines/core.blade.php | 6 ++ .../skills/volt-development/SKILL.blade.php | 95 +++++++++++++++++++ 2 files changed, 101 insertions(+) create mode 100644 resources/boost/guidelines/core.blade.php create mode 100644 resources/boost/skills/volt-development/SKILL.blade.php diff --git a/resources/boost/guidelines/core.blade.php b/resources/boost/guidelines/core.blade.php new file mode 100644 index 0000000..5a67ed7 --- /dev/null +++ b/resources/boost/guidelines/core.blade.php @@ -0,0 +1,6 @@ +# Livewire Volt + +- Single-file Livewire components: PHP logic and Blade templates in one file. +- Always check existing Volt components to determine functional vs class-based style. +- IMPORTANT: Always use `search-docs` tool for version-specific Volt documentation and updated code examples. +- IMPORTANT: Activate `volt-development` every time you're working with a Volt or single-file component-related task. diff --git a/resources/boost/skills/volt-development/SKILL.blade.php b/resources/boost/skills/volt-development/SKILL.blade.php new file mode 100644 index 0000000..999f198 --- /dev/null +++ b/resources/boost/skills/volt-development/SKILL.blade.php @@ -0,0 +1,95 @@ +--- +name: volt-development +description: "Develops single-file Livewire components with Volt. Activates when creating Volt components, converting Livewire to Volt, working with @volt directive, functional or class-based Volt APIs; or when the user mentions Volt, single-file components, functional Livewire, or inline component logic in Blade files." +license: MIT +metadata: + author: laravel +--- +@php +/** @var \Laravel\Boost\Install\GuidelineAssist $assist */ +@endphp +# Volt Development + +## When to Apply + +Activate this skill when: + +- Creating Volt single-file components +- Converting traditional Livewire components to Volt +- Testing Volt components + +## Documentation + +Use `search-docs` for detailed Volt patterns and documentation. + +## Basic Usage + +Create components with `{{ $assist->artisanCommand('make:volt [name] [--test] [--pest]') }}`. + +Important: Check existing Volt components to determine if they use functional or class-based style before creating new ones. + +### Functional Components + +@boostsnippet("Volt Functional Component", "php") +@@volt + 0]); + +$increment = fn () => $this->count++; +$double = computed(fn () => $this->count * 2); +?> + +
+

Count: @{{ $count }} (Double: @{{ $this->double }})

+ +
+@@endvolt +@endboostsnippet + +### Class-Based Components + +@boostsnippet("Volt Class-based Component", "php") +use Livewire\Volt\Component; + +new class extends Component { + public int $count = 0; + + public function increment(): void + { + $this->count++; + } +} ?> + +
+

@{{ $count }}

+ +
+@endboostsnippet + +## Testing + +Tests go in existing Volt test directory or `tests/Feature/Volt`: + +@boostsnippet("Volt Test Example", "php") +use Livewire\Volt\Volt; + +test('counter increments', function () { + Volt::test('counter') + ->assertSee('Count: 0') + ->call('increment') + ->assertSee('Count: 1'); +}); +@endboostsnippet + +## Verification + +1. Check existing components for functional vs class-based style +2. Test component with `Volt::test()` + +## Common Pitfalls + +- Not checking existing style (functional vs class-based) before creating +- Forgetting `@volt` directive wrapper +- Missing `--test` or `--pest` flag when tests are needed