robyconte / filament-flow
A powerful Business Process Manager for Filament to handle model state transitions and workflows
Requires
- php: ^8.2
- filament/filament: ^5.0
- illuminate/bus: ^11.0|^12.0
- illuminate/console: ^11.0|^12.0
- illuminate/contracts: ^11.0|^12.0
- illuminate/database: ^11.0|^12.0
- illuminate/http: ^11.0|^12.0
- illuminate/notifications: ^11.0|^12.0
- illuminate/queue: ^11.0|^12.0
- illuminate/support: ^11.0|^12.0
- illuminate/validation: ^11.0|^12.0
- spatie/laravel-model-states: ^2.12
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^2.11|^3.0
- laravel/pint: ^1.24
- nunomaduro/collision: ^8.0
- orchestra/testbench: ^9.0
- phpstan/phpstan: ^1.12|^2.0
- phpunit/phpunit: ^11.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
A powerful Business Process Manager for Filament to handle model state transitions and workflows with ease.
Filament Flow seamlessly integrates Spatie Laravel Model States into your FilamentPHP admin panel, providing a complete workflow management solution with visual state transitions, custom forms, and intuitive UI components.
Documentation
Full documentation is available at robyconte.github.io/filament-flow
- Introduction & Features
- Installation
- Quick Start
- Panel Integration
- Database-Driven Workflows
- State Access Control
- Workflow Notifications
- UI Components
- Complete Example: Order Workflow
- Configuration Reference
- API Reference
Requirements
- PHP
^8.2 - Laravel
^11.0|^12.0 - Filament
^4.0 - Spatie Laravel Model States
^2.12
Installation
composer require robyconte/filament-flow
See the Installation guide for full setup instructions.
Working on the package
One entry point runs the checks, whichever way PHP is reachable — natively, or through the DDEV container of the host application the package is mounted in:
./scripts/check.sh # the commands, explained ./scripts/check.sh all # lint + phpstan + debug leftovers + docs coverage + tests ./scripts/check.sh verify # the five gates of CI, with the guards ./scripts/check.sh env # which environment would run, and nothing else
Single checks are there too: lint, lint:fix, phpstan, test, debug, coverage,
comments. They are the scripts of composer.json — the file only decides where they run,
so the two cannot drift:
composer check # the fast gate: lint + phpstan + debug leftovers composer check:all # everything the CI runs
Override the guessing with FF_ENV=native|ddev, FF_DDEV_DIR=<dir> (the DDEV project that
holds the package) and FF_CONTAINER_PATH=<path> (where it sits inside that container).
License
This package is licensed under the MIT License.
Credits
- Roberto Conte Rosito
- Built on Spatie Laravel Model States
- Powered by FilamentPHP