Component Libraries That Survive Their Authors
Most component libraries die within eighteen months. Not from technical failure, from drift. Someone needs a button that is almost the standard button, ships a variant, and six months later there are eleven buttons and no rule for choosing between them.
The libraries that last share one property: adding a variant is harder than using an existing one. That sounds hostile, and it is, deliberately. When the path of least resistance is reuse, reuse happens without anyone policing it.
In practice this means a small, opinionated set of primitives, a documented reason for each, and a review step that asks what the new thing replaces rather than what it adds. It also means deleting things. A library that only grows is an inventory, not a system.
The goal is not to prevent change. It is to make sure change is a decision rather than an accident.