Abstract Render Blocks
Abstract Render Blocks (ARB) is a deterministic rendering tool that turns validated YAML data
into concrete output files using simple templates.
Design goals
ARB exists to make output generation predictable and repeatable:
same inputs, same outputs.
If the input does not match the contract, it should fail loudly.
Determinism by design
ARB keeps logic out of templates.
Templates should be boring: substitute values, repeat lists, gate optional blocks.
If you need complex branching, redesign schema/data so output remains deterministic.
What ARB is not
ARB is not a general-purpose template engine.
It does not guess, infer, or mutate your data.
It does not "helpfully" coerce types.
If something is missing or ambiguous, it should fail.
Where to go next
- Read How It Works for the execution model
- Read Building Packages to actually build something
- Browse Packages to see what already exists
- Read Building Packages to actually build something
- Browse Packages to see what already exists