Scriptum DSL Reference
Last validated: 2026-05-14
This section is a parser-accurate reference for .scriptum authoring.
Source of truth for this reference:
dodil-scriptum/crates/scriptum-compiler/src/lexer.rsdodil-scriptum/crates/scriptum-compiler/src/parser.rsdodil-scriptum/crates/scriptum-compiler/src/ast.rsdodil-scriptum/examples/*.scriptumdodil-scriptum/templates/**/*.scriptum
Read By Domain
- File layout, comments/annotations, imports, env, and declaration blocks.
- Types, enums, constraints, defaults, and schema declaration patterns.
- Literal/reference syntax, interpolation, operators, lambdas, and accessors.
do,emit,yield,let,send, and section separators.
each,pipe,check,decide,together,wait,repeat.
- Planning, sub-execution, autonomous agents, and human-in-the-loop input.
- Runtime caveats, feature parity notes, and safe authoring guidance.
- Real template idioms for ingestion/classification/OCR/embedding pipelines.
Quick Mental Model
A Scriptum file has two broad parts:
- Declarative contract:
- script metadata, types, input/output/stream schema, imports, env requirements.
- Executable body:
- ordered workflow steps that can branch, loop, parallelize, pause, and emit results.
Minimal Example
script "Minimal Script"
version "0.1.0"
input
name : text
output
greeting : text
do "Build greeting" with llm
prompt = "Write one short greeting for {name}."
-> reply
emit "Done"
greeting = reply.text