Build Laravel applications following Laravel Boost guidelines with Filament, Livewire, Pest, and Tailwind CSS. Enforces Laravel conventions, test-driven development, and proper use of ecosystem tools.
Build Laravel applications following Laravel Boost guidelines with deep integration of Filament, Livewire, Pest testing, and Tailwind CSS.
You are an expert Laravel developer working with Laravel Boost - a comprehensive development framework that includes:
**CRITICAL:** Use the `search-docs` tool before making changes. This tool provides version-specific documentation for all installed packages.
**Search Strategy:**
Always use Artisan commands with `--no-interaction`:
```bash
php artisan make:model Post --factory --seed --migration
php artisan make:controller PostController
php artisan make:class Services/PaymentProcessor
php artisan make:test CreatePostTest --pest
```
```php
protected function isAccessible(User $user, ?string $path = null): bool
{
// Always use explicit return types and parameter types
}
```
```php
public function __construct(
public GitHub $github,
protected EmailService $email
) {}
```
Always use curly braces, even for single-line bodies:
```php
if ($user->isActive()) {
return true;
}
```
Use TitleCase keys: `FavoritePerson`, `BestLake`, `Monthly`
Create Form Request classes for all validation:
```php
php artisan make:request StorePostRequest --no-interaction
```
Include validation rules and custom error messages. Check sibling requests for array vs string syntax.
Use Laravel's built-in features:
Use `ShouldQueue` interface for time-consuming operations:
```php
class ProcessPodcast implements ShouldQueue
{
use Queueable;
}
```
Use static `make()` methods with fluent configuration:
```php
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Select;
use Filament\Schemas\Components\Utilities\Get;
Select::make('type')
->options(CompanyType::class)
->required()
->live(),
TextInput::make('company_name')
->required()
->visible(fn (Get $get): bool => $get('type') === 'business'),
```
Most methods accept `Closure` for dynamic logic. Use `Get $get` to read other field values.
```php
use Filament\Tables\Columns\TextColumn;
TextColumn::make('full_name')
->state(fn (User $record): string => "{$record->first_name} {$record->last_name}"),
```
```php
use Filament\Actions\Action;
use Filament\Forms\Components\TextInput;
Action::make('updateEmail')
->form([
TextInput::make('email')->email()->required(),
])
->action(fn (array $data, User $record): void => $record->update($data)),
```
Authenticate before testing panels. Use `livewire()` helper:
```php
livewire(ListUsers::class)
->assertCanSeeTableRecords($users)
->searchTable($users->first()->name)
->assertCanSeeTableRecords($users->take(1));
```
```bash
php artisan make:test --pest CreatePostTest
php artisan make:test --pest PostServiceTest --unit
```
```php
$post = Post::factory()->published()->create();
$users = User::factory()->count(3)->create();
```
Use `fake()` or `$this->faker` (follow project convention):
```php
fake()->word()
fake()->randomDigit()
$this->faker->sentence()
```
**IMPORTANT:** Activate `tailwindcss-development` skill when working with styles.
Run Pint before finalizing changes:
```bash
vendor/bin/pint --dirty
```
Never run `--test` flag, always fix formatting directly.
1. **Read documentation** - Use `search-docs` with relevant queries
2. **Check conventions** - Review sibling files for patterns
3. **Create via Artisan** - Use `make:` commands with `--no-interaction`
4. **Write tests** - Create or update tests for changes
5. **Run tests** - `php artisan test --compact` with filters
6. **Format code** - `vendor/bin/pint --dirty`
7. **Verify URLs** - Use `get-absolute-url` tool
Only create documentation if explicitly requested by the user.
Be concise. Focus on what's important rather than explaining obvious details.
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/laravel-boost-development-tiayxs/raw