nowo-tech / workflow-bundle
Symfony bundle to define and run Symfony Workflow state machines from database definitions with built-in CRUD.
Package info
github.com/nowo-tech/WorkflowBundle
Type:symfony-bundle
pkg:composer/nowo-tech/workflow-bundle
Requires
- php: >=8.2 <8.6
- doctrine/doctrine-bundle: ^2.13 || ^3.2.4
- doctrine/orm: ^2.13 || ^3.0
- symfony/config: ^7.0 || ^8.0
- symfony/dependency-injection: ^7.0 || ^8.0
- symfony/form: ^7.0 || ^8.0
- symfony/http-kernel: ^7.0 || ^8.0
- symfony/routing: ^7.0 || ^8.0
- symfony/security-csrf: ^7.0 || ^8.0
- symfony/translation: ^7.0 || ^8.0
- symfony/twig-bundle: ^7.0 || ^8.0
- symfony/validator: ^7.0 || ^8.0
- symfony/workflow: ^7.0 || ^8.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- phpstan/extension-installer: ^1.4
- phpstan/phpstan: ^2.0
- phpstan/phpstan-phpunit: ^2.0
- phpstan/phpstan-symfony: ^2.0
- phpunit/phpunit: ^10.0 || ^11.0
- rector/rector: ^2.0
- symfony/browser-kit: ^7.0 || ^8.0
- symfony/framework-bundle: ^7.0 || ^8.0
- symfony/yaml: ^7.0 || ^8.0
Suggests
- symfony/flex: For automatic recipe installation
This package is auto-updated.
Last update: 2026-06-30 08:42:29 UTC
README
⭐ Found this useful? Give it a star on GitHub! It helps us maintain and improve the project.
Define Symfony Workflow state machines and workflows in the database, manage them with a built-in CRUD UI, and execute transitions at runtime through DatabaseWorkflowRegistry and WorkflowApplicator.
📋 Compatible with Symfony 7.x (PHP 8.2+) and 8.x (PHP 8.4+)
Features
- Persist workflow definitions (places, transitions, subject class, marking property) in Doctrine
- Configurable Doctrine
table_prefixfor table and constraint names - Built-in admin UI at
/workflow(configurable path), optionally protected viaWorkflowUiAccessCheckerInterface - Runtime resolution via
DatabaseWorkflowRegistry(Symfony Workflow component) WorkflowApplicatorhelper to apply transitions and flush subjects- Demo with order approval (state machine) and document review (parallel workflow)
- FrankenPHP demo with PostgreSQL (see Demo with FrankenPHP)
Quick start
composer require nowo-tech/workflow-bundle
# config/packages/nowo_workflow.yaml nowo_workflow: enabled: true ui: path: '/workflow'
php bin/console nowo:workflow:sync-schema
Demo
make -C demo up-symfony8
Open http://localhost:8022 — try the CRUD at /workflow and playgrounds for orders/documents.
Documentation
- Installation
- Configuration
- Usage
- Contributing
- Changelog
- Upgrading
- Release
- Security
- Engram
- Spec-driven development
Additional documentation
Tests and coverage
| Area | Coverage |
|---|---|
| PHP | 100% |
make test
make test-coverage
License
MIT — see LICENSE.