jeffersongoncalves/filament-plugin-core

Shared base classes and helpers for jeffersongoncalves Filament plugins (Plugin skeleton, PackageServiceProvider helpers, render-hook registration).
4,348 1
Install
composer require jeffersongoncalves/filament-plugin-core
Latest Version:1.0.1
PHP:^8.2
License:MIT
Last Updated:Aug 1, 2026
Links: GitHub  ·  Packagist
Maintainer: jeffersongoncalves

Filament Plugin Core

Filament Plugin Core

Latest Version on Packagist GitHub Code Style Action Status Total Downloads License

Shared base classes for the jeffersongoncalves family of Filament plugins. It removes the skeleton boilerplate every plugin used to copy-paste: the Plugin contract implementation, the Spatie PackageServiceProvider wiring, and Filament render-hook registration.

Version Compatibility

Branch Filament PHP Laravel
1.x 3.x ^8.2 ^11.0
2.x 4.x ^8.2 ^11.0
3.x 5.x ^8.2 ^11.0

Requirements

  • PHP 8.2 or higher
  • Laravel 11.0 or higher
  • Filament 5.x (3.x branch)

Installation

You can install the package via composer:

composer require jeffersongoncalves/filament-plugin-core:"^3.0"

What it provides

  • BasePlugin — implements Filament\Contracts\Plugin with the canonical make()/get() factory pair and no-op register()/boot(). Subclasses only declare getId().
  • Concerns\InteractsWithPlugin — the make()/get() pair as a standalone trait, for plugins that cannot extend BasePlugin.
  • BasePackageServiceProvider — extends Spatie's PackageServiceProvider and adds registerRenderHooks([$hook => $view]) to collapse render-hook closures.

Usage

Plugin

use JeffersonGoncalves\FilamentPluginCore\BasePlugin;

class MyPlugin extends BasePlugin
{
    public function getId(): string
    {
        return 'my-plugin';
    }
}

Service Provider

use Filament\View\PanelsRenderHook;
use JeffersonGoncalves\FilamentPluginCore\BasePackageServiceProvider;
use Spatie\LaravelPackageTools\Package;

class MyServiceProvider extends BasePackageServiceProvider
{
    public function configurePackage(Package $package): void
    {
        $package->name('my-plugin')->hasTranslations();
    }

    public function packageRegistered(): void
    {
        $this->registerRenderHooks([
            PanelsRenderHook::HEAD_START => 'my-plugin::script',
        ]);
    }
}

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.

Related Packages

jeffersongoncalves/filament-translatable

Enhanced Filament plugin for spatie/laravel-translatable with translation status...

276 2
jeffersongoncalves/filament-refresh-sidebar

Automatically refresh the Filament sidebar navigation when certain events occur,...

1,797 10
jeffersongoncalves/filament-cookie-consent

This Filament package provides a simple and elegant way to implement cookie cons...

12,356 8
jeffersongoncalves/filament-fathom

Filament plugin for Fathom analytics with a built-in settings page. Manage track...

23 3