Skip to main content
YAML frontmatter is the structured slice of every no-tickets file. The parser reads frontmatter strictly; unknown top-level fields are rejected. Tool-specific data goes under meta: (see below). The frontmatter block must be the first content in the file — three dashes, the YAML body, three dashes, then the markdown.

Field reference

Base fields (all document types)

Feature / fix fields

Fix-only fields

meta — the escape hatch

meta: is the one field tools can extend without breaking the parser. Anything under meta: is preserved on save and round-trips through pushes unchanged. Conventions:
  • Namespace your keys. Tools should write under a sub-object named after the tool: meta.tiny_brain.quality_score, not meta.quality_score.
  • Don’t put core data here. If a field is part of the spec, it belongs at the top level, not under meta.
Worked example:

Field validation

The parser enforces a few rules beyond “must be the right type”:
  1. id must match the filename. A file named google-oauth.md with id: googleoauth is rejected on push.
  2. Dates must be YYYY-MM-DD. No timezones, no times.
  3. epic must reference an existing epic. A feature referencing a non-existent epic is rejected on push.
  4. assignee_type is required when assignee is set. Either both, or neither.

Worked examples

Minimal epic

Feature assigned to an agent

Critical fix

See also