Skip to content

How the Tech Radar works

Rings

A ring is a statement about commitment, not about quality.

RingMeaning
AdoptThe default choice. Picking something else needs a justification.
TrialWorth pursuing on real work, with someone accountable for the outcome.
AssessWorth understanding and prototyping, not yet worth committing to.
HoldDo not start anything new with it. Existing usage is not an emergency.

Quadrants

QuadrantHolds
TechniquesWays of working, practices, and design approaches.
ToolsSoftware we run to build, verify, or operate things.
PlatformsThings we build on top of, such as runtimes, infrastructure, hosted services.
Languages & FrameworksProgramming languages and the libraries we write code against.

Every quadrant also has its own page, holding one quadrant of the board and the full list for it. That is the place to read a crowded quadrant, and it is reachable from the quadrant name on the board.

Rings, quadrants, and editions are data, not code. They live in .vitepress/radar.ts, and every blip is validated against them at build time. Adding a quadrant there adds its page and its sidebar entry.

Editions

The radar is published as editions. A blip does not carry a current ring; it carries the ring it held in each edition it appeared in:

yaml
history:
  - edition: '2026.1'
    ring: assess
  - edition: '2026.2'
    ring: trial

The ring shown on the board is the one from the newest published edition that the blip has an entry for. Movement is a statement about the current edition only: a blip with no entry for it did not move, whatever it did in the past. This is why the board can show that something moved without anyone maintaining a "moved" flag by hand:

  • A circle means the ring did not change.
  • A triangle pointing inward means it moved toward Adopt.
  • A triangle pointing outward means it moved away from Adopt.
  • A dashed halo means the blip is new in this edition.

A blip whose history starts in a future edition is not rendered, so the next edition can be prepared in the open without publishing it early.

Adding or moving a blip

Create the file:

shell
mise run start_radar_item "Some Technology"

Then fill in the frontmatter and say why in the body. Rules the build enforces:

  • quadrant and every ring must exist in the taxonomy.
  • Every edition must exist in the edition list, and may appear at most once per blip.
  • adr, when present, must point at a real ADR directory under src/adrs.

Moving a blip means appending a new entry to its history for the current edition. Never edit a past entry, because that rewrites what the radar said at the time.

A blip that overlaps an existing decision should link to it with adr. If the ring you want contradicts an approved ADR, the ADR is the thing to change first.

Except as otherwise noted, the content of this repository is licensed under the Creative Commons Attribution 4.0 License and code samples are licensed under the MIT