DyGram makes state machines executable from first sketch
A project and DSL for rapid prototyping of state-machines and workflows. The name suggests dynamic diagrams—sketches that run.
Core insight: designs should execute immediately, not after implementation. Start rough, refine through iteration.
Rails-based execution: Claude agents navigate predetermined paths. Deterministic transitions fire instantly; complex decisions invoke AI reasoning. The machine provides structure, the agent provides judgment.
Language features:
- 15+ node types (Tasks, States, Contexts, Inputs, Outputs, Resources, Processes, Concepts, Implementations)
- 7 arrow types for relationship semantics (flow, composition, aggregation, bidirectional)
- Hierarchical namespaces with automatic context inheritance
Dual editor: Monaco for desktop (full LSP), CodeMirror 6 for mobile. Same syntax everywhere.
Tech: TypeScript, langium, Vite, Graphviz for visualization.
npx dygram execute your-file.dy --model claude-3-5-sonnet-20241022Live: dygram.parc.land Source: github.com/christopherdebeer/machine
See also: parc-land, simcap, literate-programming