FilamentPHP Planning Skill
This skill provides comprehensive guidance for planning and architecting FilamentPHP 4.x applications. It uses a modular reference system to organize topics into focused, maintainable documentation.
Overview
FilamentPHP is a full-stack framework and panel builder for Laravel that accelerates development of admin interfaces. This skill helps you:
- •Plan resource structures and relationships
- •Design forms, tables, and infolists
- •Implement authentication and multi-tenancy
- •Configure panels and navigation
- •Build custom widgets and actions
- •Follow code quality best practices
Topic References
Each major topic area has dedicated reference documentation:
Core Components
- •Forms - Form components, validation, relationships, file uploads
- •Tables - Columns, filters, search, actions, bulk operations
- •Resources - CRUD operations, navigation, relationships, authorization
- •Infolists - Read-only data display, entries, customization
Features & Configuration
- •Notifications - Creating and sending notifications, actions
- •Widgets - Stats overview, charts, custom widgets
- •Schemas - Layout components, global configuration
- •Actions - Table actions, bulk actions, relationship actions
Advanced Topics
- •Panel Configuration - Authentication, MFA, SPA mode, navigation
- •Tenancy - Multi-tenancy setup, scopes, middleware
- •Global Search - Configuration and customization
- •Testing - Resource, table, and form testing strategies
Best Practices
- •Code Quality - File organization, reusable components, patterns
- •Migration Guide - V3 to V4 upgrade strategies
When to Use This Skill
Planning Phase
- •Designing admin panel structure
- •Determining resource relationships
- •Planning navigation and organization
- •Selecting appropriate components
Implementation Phase
- •Implementing forms and validation
- •Building table views with filters
- •Creating custom widgets
- •Setting up authentication flows
Optimization Phase
- •Refactoring for code quality
- •Implementing global configurations
- •Adding advanced features
- •Performance tuning
Common Patterns
Resource Structure
php
// Use separate classes for maintainability
public static function form(Schema $schema): Schema
{
return CustomerForm::configure($schema);
}
public static function table(Table $table): Table
{
return CustomersTable::configure($table);
}
Global Configuration
php
// Apply defaults in service provider
TextColumn::configureUsing(function (TextColumn $column): void {
$column->toggleable();
});
Conditional Features
php
// Use feature flags for dynamic behavior
TextInput::make('name')
->autofocus(FeatureFlag::active())
Architecture Principles
- •Separation of Concerns - Split forms, tables, and schemas into dedicated classes
- •Reusability - Use global configurations for common patterns
- •Flexibility - Leverage closures for dynamic behavior
- •Performance - Defer loading, eager load relationships, use Scout for search
- •Maintainability - Follow consistent naming and organization patterns
Quick Reference
- •Forms: TextInput, Select, FileUpload, RichEditor, Builder
- •Tables: TextColumn, IconColumn, SelectColumn, ImageColumn
- •Layouts: Grid, Section, Fieldset, Tabs, Wizard
- •Actions: CreateAction, EditAction, DeleteAction, BulkActions
- •Widgets: StatsOverview, ChartWidget, Custom Widgets
Getting Started
- •Review the relevant reference documentation for your use case
- •Check the code quality guide for organizational patterns
- •Follow the examples in each reference file
- •Apply global configurations where appropriate
- •Test thoroughly using the testing guide
Additional Resources
Note: This skill is optimized for FilamentPHP 4.x. For v3 compatibility, refer to the migration guide.