filamentphp-planning
Expert knowledge for planning and architecting FilamentPHP 4.x applications. Covers resources, forms, tables, schemas, actions, notifications, widgets, authentication, tenancy, and best practices. Use this skill when designing FilamentPHP admin panels, planning feature implementation, or organizing application structure.
SKILL.md
| Name | filamentphp-planning |
| Description | Expert knowledge for planning and architecting FilamentPHP 4.x applications. Covers resources, forms, tables, schemas, actions, notifications, widgets, authentication, tenancy, and best practices. Use this skill when designing FilamentPHP admin panels, planning feature implementation, or organizing application structure. |
name: filamentphp-planning description: Expert knowledge for planning and architecting FilamentPHP 4.x applications. Covers resources, forms, tables, schemas, actions, notifications, widgets, authentication, tenancy, and best practices. Use this skill when designing FilamentPHP admin panels, planning feature implementation, or organizing application structure. license: MIT metadata: author: larament-project version: "1.0.0" framework: FilamentPHP 4.x compatibility: Requires FilamentPHP 4.x, Laravel 11.x, PHP 8.2+ allowed-tools: Read Write
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
// 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
// Apply defaults in service provider
TextColumn::configureUsing(function (TextColumn $column): void {
$column->toggleable();
});
Conditional Features
// 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.