alizharb / laravel-modular-filament
The official Filament v5 bridge for Laravel Modular offering automatic discovery and modular Artisan commands.
Package info
github.com/AlizHarb/laravel-modular-filament
pkg:composer/alizharb/laravel-modular-filament
Requires
- php: ^8.2
- alizharb/laravel-modular: ^1.2
- filament/filament: ^5.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^3.9
- orchestra/testbench: ^9.12|^10.8|^11.0
- pestphp/pest: ^3.0|^4.0
- pestphp/pest-plugin-laravel: ^3.0|^4.0
- phpstan/phpstan: ^2.1
Suggests
- alizharb/laravel-modular: Required for modular registry and core functionality.
Provides
None
Conflicts
None
Replaces
None
README
Laravel Modular Filament is the official bridge for Laravel Modular. It enables automatic discovery, registration, and first-class Artisan support for Filament resources, pages, widgets, and clusters within your modular architecture.
โจ Features
- ๐ Automatic Discovery: Automatically scans and registers Filament Resources, Pages, Widgets, and Clusters in
Modules/*/app/Filament. - ๐๏ธ Modular Artisan Commands: Enhanced Filament commands (e.g.,
make:filament-resource) with--modulesupport. - ๐จ Cluster Support: Full support for creating and discovering Filament Clusters within modules.
- ๐ Native Stubs: Uses Filament's native stubs for consistent code generation without version drift.
- ๐ฉบ Diagnostics Ready: Designed for Laravel Modular 1.2
modular:doctor,modular:status, andmodular:debug. - ๐ค Laravel Boost Support: Ships Boost guidance for module-owned Filament artifacts.
- โ Strictly Typed: Fully compatible with PHPStan level 5 (and scalable).
๐ Installation
Install the package via Composer (requires alizharb/laravel-modular):
composer require alizharb/laravel-modular-filament
The service provider will be automatically registered. It will automatically hook into the laravel-modular registry.
๐ Usage
Generating Modular Components
Use the provided modular commands with the --module flag to generate Filament components directly into your modules.
1. Resources
Create a new Resource in a module.
php artisan make:filament-resource Post --module=Blog
- Creates:
Modules/Blog/app/Filament/Resources/Posts/PostResource.php - View:
Modules/Blog/resources/views/filament/resources/posts/post-resource/pages/...(if generated)
2. Pages
Create a new standalone Page in a module.
php artisan make:filament-page Dashboard --module=Shop
- Class:
Modules/Shop/app/Filament/Pages/Dashboard.php - View:
Modules/Shop/resources/views/filament/pages/dashboard.blade.php
3. Widgets
Create a new Widget in a module.
php artisan make:filament-widget StatsOverview --module=Analytics
- Class:
Modules/Analytics/app/Filament/Widgets/StatsOverview.php - View:
Modules/Analytics/resources/views/filament/widgets/stats-overview.blade.php
4. Clusters
Create a new Cluster in a module to group resources and pages.
php artisan make:filament-cluster Settings --module=System
- Class:
Modules/System/app/Filament/Clusters/Settings/SettingsCluster.php
Other Commands
Most Filament generation commands are supported with the --module flag:
make:filament-relation-managermake:filament-thememake:filament-tablemake:filament-formmake:filament-infolist
โ๏ธ Configuration
The bridge respects your existing modular.php paths and Filament's own configuration. No additional configuration is required.
Diagnostics
After changing module Filament paths or manifests, run:
php artisan modular:doctor php artisan modular:check php artisan modular:debug Shop --json
Add manifest capabilities such as filament.resources, filament.pages, and filament.widgets to provides when a module exposes Filament surfaces.
๐งช Testing
vendor/bin/pest
๐ค Contributing
Please see CONTRIBUTING for details.
๐ License
The MIT License (MIT). Please see License File for more information.
Made with โค๏ธ by Ali Harb