A workflow platform for coding agents, built for developers. Each step is an agent with its own skills and a typed output contract. Steps form a graph, state persists between runs, a person approves where the workflow says so, and every change is a git branch.
wfnexus is to coding agents what n8n is to SaaS APIs, but it is aimed at developers. Its
three building blocks are agent skills, graph steps and state and memory.
A workflow is one YAML file. Each step is one of two things:
a prompt with a scoped set of skills and tools and a JSON-schema output contract, or
a deterministic run: shell node.
The engine runs each step as a toolnexus agent. It
does not move on until the step’s output validates against its schema. It saves every step’s
state, and it stops for a human wherever the workflow says to.
It is not a bug-fix product. The repository started as a bug-fixer, and templates/bug-fixer.yaml
is still one template among eleven. ADR 0010 in the roadmap
records the decision: a workflow platform, not a bug fixer.
wfxnewtest-gap-finder--asmy-tests# copy one into a workflow of your own
wfxdryrunmy-tests# would it run here? no model, no repo, no writes
wfxrunmy-tests-irepo_path=.-f# run it and follow the log
wfxapprove<run-id># the human gate
Steps are agents with contracts
A step is a prompt, a scoped set of skills and tools, and an output_schema. Validation
runs inside the agent loop: submit_output is a tool, so a validation failure goes back
to the model as a tool result and the model fixes it in the same turn.
Any backend
The same workflow can run on an HTTP model (OpenRouter, ollama and others), a CLI agent (claude, codex,
opencode) or an ACP agent (devin, opencode, codex). The shipped registry has 30 providers.
Calibrated classifiers
decide: asks typed questions of a small calibrated classifier (TypeSafe jev) before an
agent runs. Its verdicts come in three bands: no, uncertain and yes. An
uncertain verdict goes to a person.
Git is the record
When a project lives in git, every save or delete of a workflow becomes a branch and a pull
request. A classifier reviews it, and a person approves or rejects it.
A real Claude Code session, unedited except for speed. Claude builds a five-step workflow, runs
it on a free model, stops at a human approval gate, and publishes it. See the
demo page for chapters and for what went wrong along the way.
wfnexus · one real Claude Code session · no voice, subtitles on