The summary.
ESTABLISH FORMATTING, LINTING, TYPE CHECKING AND TESTS IMMEDIATELY
Introducing them later means fixing hundreds of violations at once.
And add to the ignore file before the first commit — a committed secret remains in history.
AUTOMATE EVERYTHING A TOOL CAN JUDGE
So review addresses states, accessibility, state placement and structure — what only a person can judge.
ENFORCE A PERFORMANCE BUDGET BY FAILING THE BUILD
Performance degrades gradually and nobody notices any single addition. A warning is ignored.
Resist raising the limit instead of addressing the cause.
LOOK AT THE WORSE END OF THE DISTRIBUTION, NOT THE AVERAGE
Averages conceal that a substantial proportion of visitors have a poor experience.
WHEN DEBUGGING, SEPARATE WRONG DATA FROM WRONG RENDERING FIRST
Inspect the data where it enters the component. That alone halves the problem.
UPGRADE MAJOR VERSIONS ONE AT A TIME, AND NEVER FALL SEVERAL BEHIND
An unmaintained dependency blocking an upgrade is common — identify it early. The gap eventually becomes a rewrite.
A NEWCOMER IS THE ONLY PERSON WHO CAN SEE WHAT IS UNCLEAR
Have them follow your setup instructions from nothing, and fix what they find.