Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Architecture Decision Records

Each non-trivial design decision in yew-nav-link is captured as a short MADR-style document. Decisions are append-only — a record is never edited after its status moves to accepted. Reversals are expressed as new ADRs that mark the prior record superseded by NNNN.

Index

IDTitleStatus
0000Record architecture decisionsaccepted
0001class and active_class are &'static straccepted
0002Drop the macros feature in 0.9.0accepted
0003NavError is #[non_exhaustive] from 0.10.0accepted
0004Render a manual <a> instead of wrapping yew_router::Linkaccepted
0005Active NavLink emits aria-current="page"accepted

When to write an ADR

Write one when the answer to “why is it this way” is non-obvious and would not be derivable from reading the code alone. Renaming a field is not an ADR. Choosing &'static str over AttrValue is an ADR.

Template

Copy 0000-record-architecture-decisions.md as a starting point. Keep each record to roughly one screen — context, decision, consequences. The goal is to read fast and rot slowly.