deer-workflow vs statewright
Graph-engineering runtime where TypeScript owns control flow and replaceable coding-agent CLIs — Codex, Claude Code, Pi — do the semantic work inside each node. Pilot for DeerFlow 3.0. — versus — State-machine guardrails for AI agents: define workflow phases once and only that phase's tools unlock — enforced across Claude Code, Codex, Cursor, opencode and Pi. Rust.
Both refuse to let an agent freelance through a workflow. statewright gates phases from inside the session — only that phase's tools are exposed; deer-workflow puts the phases outside the agent entirely, as TypeScript that invokes a fresh agent per node.
| deer-workflow | statewright | |
|---|---|---|
| Stars | 487 | 489 |
| Forks | 52 | 22 |
| Language | TypeScript | Rust |
| License | MIT | NOASSERTION |
| Last activity | 15 days ago | 2 days ago |
| Topics | orchestration, coding | coding, orchestration |
| Curated connections | 3 | 4 |
deer-workflow — the curator's take
Pick it when the orchestration itself has to be reviewable: phases, inputs, retries and failure handling live in TypeScript you diff in a PR, not in a prompt that hopes the agent remembers the plan. The generator is the hook — `deer-workflow create "<description>"` has Codex apply the bundled workflow-creator skill and prints a runnable module you then edit as normal code, and `--print` streams one JSON event per line so CI can consume a run. Caveats worth knowing before adopting: Bun-only, requires an installed and signed-in agent CLI, ships two examples, and is explicitly a pilot for ByteDance's DeerFlow 3.0 — expect the API to move.
statewright — the curator's take
'Agents are suggestions, states are laws' — gating the TOOL space per phase is the right enforcement layer, and their small-model results (2/10 → 10/10 on a 5-task SWE-bench subset) suggest constraints can substitute for scale. When NOT: it's SaaS-keyed — sign-up required, NOASSERTION license; the enforcement client is open but the service isn't. The benchmark is 5 tasks, not 2294, and hard-blocked tools also block legitimate improvisation.