Board DSL — Lanes
Lanes are the horizontal swimlanes a work item flows in. This page covers a lane’s fields, modifiers, and lane-local structure. See the reference index for the board header and the other constructs.
Lane fields (each entry of lanes)
A lane entry is either a bare string (a name-only named lane — - Thomas Krause) or an object with a name, an explicit type:, and modifiers.
| Field | Values / shape | Default | Diagnostic on misuse |
|---|---|---|---|
name | string (required in object form) | — | board.invalid-lane (entry skipped when missing/empty) |
type | named | assignee | expedite | named | board.unknown-lane-type (warning; defaults to named) |
wip | a number → binds BOTH min and max; OR [min, max] | (none) | board.invalid-wip |
status-category | single value, closed set to-do | in-progress | done | waiting | assess (lane tint) | (none) | board.invalid-status-category |
tags | string list (descriptive category chips, rendered visibly) | (none) | tolerant |
agreements | string OR string list — lane working agreements | (none) | tolerant |
interactions | string OR string list — lane meeting / interaction pointers | (none) | tolerant |
columns | list of lane-local column entries | (none) | per-entry board.invalid-column |
groups | list of lane-local group blocks | (none) | per-entry board.invalid-group |
Lane type: is an explicit field. Default is named when absent; the other
values are assignee and expedite. (There is no bare-vs-quoted convention —
the type is always spelled out.)
Lane wip: differs from columns: a single number binds both wipMin
and wipMax (wip: 3 → { wipMin: 3, wipMax: 3 }); a pair is a range.
A lane’s children are authored via separate columns: and groups: keys.
The parser merges them into the lane’s single internal children array
(columns first, then groups). A lane-local groups: block whose content is
columns-only flattens into columns carrying a group: back-reference; a group
that hosts nested lanes stays a first-class group.
Lane status-category: is a header tint. A lane’s status-category: value
tints the lane header from the same closed 5-value palette as a column (the
5-color status palette above) — a colored header band, not a
separate lozenge.
Example
A focused board exercising the lane fields — a bare named lane, an assignee
lane with a single wip: (binds both min and max) and a header tint, and an
expedite lane:
title: Team Board columns: - ToDo - Doing - Done lanes: - Alice - name: Bob type: assignee wip: 3 status-category: in-progress - name: Hotfix type: expedite
Like what you see? → Start — build your own org folder in ~2 min