Introduction
What Dippin is and why it exists.
What is Dippin
Dippin is a DSL and toolchain for authoring AI pipeline workflows. It replaces Graphviz DOT as the authoring format consumed by a downstream pipeline runtime.
You write workflows as .dip files — multi-model agent workflows with first-class syntax for prompts, tools, conditions, and parallel execution. Instead of packing everything into escaped DOT strings, you get real code:
workflow CodeReview
goal: "Plan, implement, and review"
start: Planner
exit: Done
agent Planner
model: claude-opus-4-6
prompt:
You are a senior architect.
Analyze the request and
produce an implementation plan.
agent Coder
model: claude-sonnet-4-6
prompt:
Implement the plan.
Use best practices.
agent Review
auto_status: true
prompt:
Review the code.
Set STATUS: success or fail.
agent Done
prompt: Ship it.
edges
Planner -> Coder
Coder -> Review
Review -> Done when ctx.outcome = success
Review -> Coder when ctx.outcome = fail restart: trueWhy not just DOT
Graphviz DOT is great for graph visualization. But authoring AI pipelines with multi-line prompts, typed nodes, and conditional edges? It falls apart.
Dippin is built around the things that matter when authoring pipelines — not string attributes on a graph node:
- Multi-line prompts — indented blocks with zero escaping. Write real prompts, preserve blank lines, embed variables like
${ctx.input}. - Typed node kinds —
agent,tool,human,conditional,parallel,fan_in,subgraph. Each with typed, validated config fields. - Diagnostics — structural validation and semantic lint. Dead edges, unreachable nodes, missing prompts, invalid models. Things DOT silently ignores.
- Parallel execution — native
parallelfan-out andfan_injoin with per-branch model overrides. Multi-provider consensus in a few lines. - Conditional edges — route pipelines based on LLM output with the
whenkeyword.
DOT wasn’t built for any of this. Dippin was.
The Toolchain at a Glance
Dippin is more than a syntax — it’s a full toolchain that lets you catch problems before runtime. Every command works offline against the workflow source, without deploying or calling any LLMs.
.dip files
structural checks
semantic diagnostics
scenario runs
cost, coverage, doctor
Mermaid, DOT
- Author — write
.dipfiles, or scaffold one withdippin new. - Validate & Lint — 71 diagnostic rules (DIP001-DIP010 structural, DIP101-DIP161 semantic) catch dead edges, unreachable nodes, missing prompts, and invalid models. See the CLI Reference.
- Test —
dippin testinjects context, simulates every conditional branch, and checks assertions, with CI-ready output. See Testing. - Analyze —
dippin cost,dippin coverage, anddippin doctorestimate spend, check reachability, and grade a workflow A–F. See Analysis. - Export — turn a workflow into a live diagram with
export-mermaidorexport-dot. See Export & Visualization.
Next Steps
Language Reference
The full syntax for .dip files — file structure, nodes, edges, conditions, multiline prompts, and stylesheets.
Nodes
The typed node kinds — agent, tool, human, conditional, parallel, fan_in, subgraph — and their fields.
Playground
Write and validate .dip workflows in the browser, with live Mermaid diagrams rendered as you type.