madmind/state-machine-visualization-bundle
Visualize state machines and workflows in your Symfony app with clear, auto-generated diagrams of states, transitions, and places. This bundle makes it easy to debug, document, and explain workflow logic, helping your team understand complex state transitions at a glance.
tools/ directory or an internal fork so your documentation pipeline is not hostage to an unmaintained repo.partially_refunded"), showing the before/after diagram in the spec makes the blast radius — new transitions, new guards, new notifications — concrete and easier to estimate and to reject.Consider it when all of the following hold:
winzou/state-machine-bundle. This is a Symfony bundle; despite the "Laravel/PHP" framing, there is no Laravel service provider or config here, and composer require in a Laravel app gets you nothing usable.Look elsewhere — or don't bother — when:
spatie/laravel-model-states plus a custom exporter, or generate Mermaid/PlantUML from your own transition config. Mermaid diagrams in Markdown are the higher-leverage 2026 answer: no Graphviz binary, renders on GitHub/GitLab natively.symfony/workflow) rather than the legacy winzou bundle. Workflow ships GraphvizDumper and a workflow:dump --dump-format=dot command out of the box. This package adds nothing there, and the "buy vs. build" question is settled by the framework.To executives: This is a small, free, open-source tool that automatically draws our business workflows — order statuses, subscription states, approval chains — directly from the code that enforces them. The value is alignment and risk reduction, not new functionality: it makes hidden process logic visible to the business, catches design gaps before they ship, and shortens onboarding for support and QA. Cost is an afternoon of an engineer's time and effectively zero licensing. The caveat is honest: the project is small and unmaintained, so we treat it as a starting point we own a copy of, not a long-term vendor dependency. Recommend a time-boxed pilot on one workflow, with a go/no-go on whether the diagrams actually get used.
To engineering: It's a thin Symfony bundle on top of winzou/state-machine-bundle that dumps your configured states and transitions to a rendered graph. Low risk, but do not require it as a live dependency — 12 stars, zero dependents, last touched 2022. Vendor or fork it, wire it into a make docs target or CI step so the diagram regenerates on every config change, and commit the output. If we're on symfony/workflow instead, don't adopt this at all — use the built-in workflow:dump and save ourselves the fork. Either way, prefer emitting Mermaid so the diagram renders in the repo without a local Graphviz install.
To the team deciding: The package itself is marginal — the practice is not. Static diagrams generated from the single source of truth are worth having regardless of which tool emits them. Frame the decision as "adopt the practice, pick the cheapest emitter," and this package is one option among several, best suited to a Symfony shop already on winzou.
How can I help you explore Laravel packages today?