Formula Format
Formulas can be written in TOML (preferred) or JSON:TOML Format
JSON Format
Formula Types
| Type | Description |
|---|---|
workflow | Standard step sequence |
expansion | Template for expansion operator |
aspect | Cross-cutting concerns |
Variables
Define variables with defaults and constraints:Step Types
A step’stype sets the issue type of the bead it creates: task
(default), bug, feature, epic, or chore. Any other value falls back
to task. Human sign-offs and async waits are expressed with a
[steps.gate] block, not a step type — see Gates.
Dependencies
Sequential
Parallel then Join
Gates
Add gates for async coordination:Aspects (Cross-cutting)
Apply transformations to matching steps:Formula Locations
Formulas are searched in order:.beads/formulas/(project-level)~/.beads/formulas/(user-level)
bd formula list shows everything visible on the search paths.
Using Formulas
Creating Custom Formulas
- Create file:
.beads/formulas/my-workflow.formula.toml - Define structure (see examples above)
- Use with:
bd cook my-workflowthenbd mol pour <proto-id>