Flowforge
Flowforge is a portable workflow framework for building regulated, multi-tenant business applications from declarative workflow definitions. A JSON DSL with compiler, simulator, and parallel fork/join engine. 30 domain JTBD bundles. A JTBD-to-application generator that emits backend, frontend, tests, and docs in one pass. 2,566+ tests.
Key Features
From workflow definition to running application — with the compliance surface, host ports, and domain bundles to cover any regulated vertical.
Workflow DSL
JSON workflow definitions with a compiler, simulator, and deterministic replay engine. Define states, transitions, guards, and actions declaratively. The compiler validates definitions at load time — invalid workflows fail loud, not at runtime. Replay lets you re-run any historical execution against the current engine for debugging and migration testing.
Parallel Fork / Join
parallel_fork and parallel_join states with per-token dispatch. Fire a specific branch with fire(token_id=...). Join waits for all tokens before advancing. Designed for regulated multi-approval flows — loan committee votes, multi-signatory signing, parallel document review — where independent branches must all complete before the process advances.
JTBD-to-Application Generator
A deterministic Jobs-to-be-Done generator that emits a complete application from a JTBD bundle: backend service, frontend components, workflow definition, form schema, tests, seed data, API docs, design tokens, i18n strings, and operator manual. One command; a runnable, tested application with your domain logic wired in.
15 Host Ports
A pure Python core with no I/O dependencies wired to the host application through 15 explicit ports: tenancy, RBAC, audit, outbox, documents, money, settings, signing, notifications, row-level security, entity registry, metrics, tasks, grants, and tracing. Adapter packages ship for FastAPI, SQLAlchemy, SpiceDB, KMS, S3, Postgres outbox, and OpenTelemetry.
Visual Workflow Designer
TypeScript designer with draggable node palette, persisted node positions, keyboard shortcuts, clickable validation errors, and an empty-canvas state. JTBD editor with metadata, dependency management, JSON export, and an O(1) edge map. JobMap swimlane component for visualising multi-actor JTBD flows. Dark-mode CSS custom properties throughout.
Security-Hardened
strict_ops=True expression evaluator — unknown operators raise instead of falling through as truthy literals. pgvector SQL identifiers are regex allowlisted. Dashboard HTML escapes all DB values before rendering. JWT principal extraction with per-user audit identity and revocation list. 331/331 security audit tests pass.
Technical Specifications
Languages & Stack
- Python core (pure, no I/O dependencies)
- TypeScript frontend (designer, runtime client)
- FastAPI + SQLAlchemy 2 adapters
- OpenTelemetry tracing adapter
Test Coverage
- 2,566+ Python tests across core + adapters
- 288 JavaScript tests
- 331/331 security audit tests — 0 failures
- FaultInjector (7 failure modes) + WorkflowDiffer
Domain Bundles
- 30 JTBD domain libraries
- 5 strategic domain-content candidates
- 25 starter packages with citation anchors
- CLI: lint-jtbd · lock · fork · ai-draft · quality-score
License
- MIT — open source, free to use and extend
- Current release: v0.6.0 (2026-07-08)
- FORKS_ENABLED on by default (v0.3.0+)
- Python ≥ 3.11 · Node ≥ 20
Build regulated applications without reinventing compliance plumbing
Flowforge gives you the workflow engine, host ports, domain bundles, and generator you need to ship compliant multi-tenant applications — without writing the audit, outbox, RBAC, or signing layer from scratch each time.