Skip to main content
Formulas are declarative workflow templates.

Formula Format

Formulas can be written in TOML (preferred) or JSON:

TOML Format

JSON Format

Formula Types

Variables

Define variables with defaults and constraints:
Use variables in steps:

Step Types

A step’s type 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:
  1. .beads/formulas/ (project-level)
  2. ~/.beads/formulas/ (user-level)
bd formula list shows everything visible on the search paths.

Using Formulas

Creating Custom Formulas

  1. Create file: .beads/formulas/my-workflow.formula.toml
  2. Define structure (see examples above)
  3. Use with: bd cook my-workflow then bd mol pour <proto-id>

Example: Release Formula