Skip to content

Refactor: standalone Filament v5 plugin skeleton (drop Laravel Modules) - #12

Merged
edeoliv merged 1 commit into
mainfrom
refactor/filament-v5-plugin-skeleton
Aug 24, 2026
Merged

Refactor: standalone Filament v5 plugin skeleton (drop Laravel Modules)#12
edeoliv merged 1 commit into
mainfrom
refactor/filament-v5-plugin-skeleton

Conversation

@edeoliv

@edeoliv edeoliv commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Summary

Rebuilds this template as a standalone Filament 5.x plugin skeleton, replacing the Laravel Modules based structure. Internal app modules keep their own standard; this repository now covers everything shipped as a redistributable Composer package. The repo is meant to be renamed to skeleton-plugin after merge.

Follows the official Filament 5.x plugin guidelines: getting started, panel plugins, building a panel plugin, building a standalone plugin, configurable resources and pages.

What changed

  • Removed module.json, Modules\ namespace, ModuleBuildCommand, vite.config.js, package.json, composer.lock — no more nwidart/laravel-modules coupling.
  • Added src/SkeletonPlugin.php: getId()/register()/boot(), container-resolved make(), typed get() via filament(id), one setter/getter pair per option, all feature toggles off by default.
  • Added src/SkeletonPluginServiceProvider.php on spatie/laravel-package-tools (static $name, config/views/translations) with inline guidance on where assets belong (packageBooted() vs $panel->assets()).
  • Added configure.php — the official Filament template workflow, replacing module-build for plugins.
  • Added Pest + Testbench suite booting the full Filament 5 provider set, pint.json, and a tests workflow (style + tests, PHP 8.4). Dependabot, changelog automation, funding, issue templates and security policy are kept.
  • Added docs/how-to-build-a-filament-plugin.md — the Komma ecosystem plugin standard.
  • JSON translations keyed by English literals (en.json, es.json).

Breaking changes

  • The package is no longer a Laravel Module and the composer name changes.
  • Post-merge checklist:
    • Rename repository to skeleton-plugin (GitHub keeps redirects)
    • Publish komma-softhouse/skeleton-plugin on Packagist
    • Mark komma-softhouse/skeleton-module as abandoned pointing to the new package

How to test

cp -r . /tmp/smoke && cd /tmp/smoke
printf 'Verifactu\nkomma-softhouse\nKomma\nTest plugin\nn\n' | php configure.php
composer install && composer test

Replace the Laravel Modules based skeleton with a pure Composer package
template following the official Filament 5.x plugin guidelines.

- Drop nwidart/laravel-modules coupling (module.json, Modules namespace, module-build)
- Add SkeletonPlugin (getId/register/boot, make(), get(), fluent toggles off by default)
  and a spatie/laravel-package-tools service provider with asset registration guidance
- Replace the module-build artisan command with the official configure.php template
  workflow (rewrites package name, namespaces, class and file names, then removes itself)
- Add Pest + Testbench suite booting the full Filament 5 provider set, Pint config
  and a style+tests workflow on PHP 8.4
- Add docs/how-to-build-a-filament-plugin.md, the Komma ecosystem plugin standard
- Use JSON translations keyed by English literals (en/es)

BREAKING CHANGE: the package is no longer a Laravel Module. Repository is meant to be
renamed to skeleton-plugin and republished on Packagist as komma-softhouse/skeleton-plugin.
@edeoliv
edeoliv merged commit 344fbc5 into main Aug 24, 2026
1 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant