eclipsephp/plugin-template

Eclipse template for Filament plugins

v1.0.0 2025-03-21 09:17 UTC

This package is auto-updated.

Last update: 2025-07-21 14:49:03 UTC


README

Packagist PHP Version Support Packagist Version Packagist Downloads Tests codecov Conventional Commits Packagist License

About

This package serves as a Filament plugin template for plugins developed by DataLinx for Eclipse, our web app based on Filament. It is also a reference of how such a package should be configured.

The template is opinionated — it's based on our tech stack, which includes JetBrains PhpStorm.

This template works on and expands our PHP package template.

Requirements

  • PHP >= 8.2 (due to Pest 3 requirement)
  • Filament 3
  • Filament Shield plugin (to manage permissions)

See composer.json for details.

Installation

  1. Download the plugin with composer:
  composer require eclipsephp/plugin-template
  1. Add it to your panel's plugins:
class AdminPanelProvider extends PanelProvider
{
    public function panel(Panel $panel): Panel
    {
        $panel
            ->default()
            ->id('admin')
            ->path('admin')
            ->discoverResources(in: app_path('Filament/Resources'), for: 'App\\Filament\\Resources')
            ->discoverPages(in: app_path('Filament/Pages'), for: 'App\\Filament\\Pages')
            ->plugins([
                \Eclipse\PluginTemplate\PluginTemplate::make(),
            ]);

        return $panel;
    }
}
  1. Run migrations
php artisan migrate

Contributing

Issues

If you have some suggestions how to make this package better, please open an issue or even better, submit a pull request.

Should you want to contribute, please see the development guidelines in the DataLinx PHP package template.

Development

  1. All development is subject to our PHP package development guidelines.
  2. Our Filament app development docs will also be helpful.
  3. Any PRs will generally need to adhere to these before being merged.

Requirements

See here.

Get started

  1. Clone the git repo
  2. Start the Lando container
    lando start
  3. Install dependencies (this also runs the setup composer script)
    lando composer install
  4. You can now develop and run tests. Happy coding 😉

💡 To manually test the plugin in the browser, see our recommendation, which is also how Filament suggests package development.
However, the plugin should be universal and not dependent on our app setup or core package.

Changelog

All notable changes to this project are automatically documented in the CHANGELOG.md file using the release workflow, based on the release-please GitHub action.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

For all this to work, commit messages must follow the Conventional commits specification, which is also enforced by a Git hook.