permanent developing
2026-02-24

Note types and maturity badges

Zettels can declare their type and maturity in frontmatter. Both are optional and convention-based — the plugin reads what's there without enforcing specific values.

Frontmatter fields

---
id: 20240215120000
type: permanent        # fleeting | literature | permanent (or any value)
maturity: developing   # draft | developing | evergreen (or any value)
source: "Ahrens 2017"  # optional, useful for literature notes
---

Missing type renders no badge. Missing maturity renders no badge. Existing zettels without these fields look identical to before.

Standard values

Note types following the Zettelkasten tradition:

  • fleeting — quick captures, process within days
  • literature — source summaries in your own words
  • permanent — atomic, self-contained ideas

Maturity levels:

  • draft — initial capture, needs work
  • developing — being refined, has some connections
  • evergreen — mature, well-connected, stable

Custom values work too — they render as plain text badges.

Card header badges

When present, type and maturity appear as badges between the zettel ID and tags rows:

  • Type badge shows an icon (unique per standard type) and the type name
  • Maturity badge shows a colored dot (red/yellow/green for standard values) and the maturity name

Validation

Two new info-level checks appear in the validation report:

  • Stale fleeting — fleeting notes older than 7 days (nudge to process or promote)
  • Missing type — notes without type metadata (awareness, not error)

Graph data

The graph includes type and maturity per node in graph.json when present, enabling future filtering (see plan 06).

Configuration

Both frontmatter key names are configurable:

plugins:
  zettelkasten:
    type_key: type           # default
    maturity_key: maturity   # default