Create a new Filament plugin (panel or standalone) with proper package structure and test setup
Scaffolds a complete Filament plugin package with proper Laravel structure, asset registration, and optional Resource/Page/Widget components. Use this to create reusable Filament extensions that can be shared across projects.
/plugin marketplace add mwguerra/claude-code-plugins/plugin install laravel-filament-package-development-specialist@mwguerra-marketplace<vendor/plugin-name> [--type panel|standalone] [--with-resource <ResourceName>] [--with-page] [--with-widget]Creates a Filament plugin as a Laravel package, following Filament’s plugin conventions.
vendor/plugin-name
Example: mwguerra/clock-widget
--type panel (default): ships a Plugin class implementing Filament\Contracts\Plugin so users can register it per panel.--type standalone: ships only package + ServiceProvider (good for custom components / styling / utilities outside panels).composer.json with Laravel package discoverysrc/*ServiceProvider.php using spatie/laravel-package-toolssrc/*Plugin.php (panel plugins)resources/views (+ optional lang/)resources/dist for JS/CSS that is registered via FilamentAssetIn the consuming app’s Panel provider:
public function panel(Panel $panel): Panel
{
return $panel->plugins([
\Vendor\Plugin\PluginNamePlugin::make(),
]);
}
If you generate only a Widget, users may also register the widget directly:
public function panel(Panel $panel): Panel
{
return $panel->widgets([
\Vendor\Plugin\Widgets\ExampleWidget::class,
]);
}
Filament\Support\Facades\FilamentAsset and should be loaded on-demand when possible.