• They represented a design-system migration as pulling out a tablecloth while people were still eating and sliding a new one in, lol.
  • When they explicitly banned the style prop with lint, the AI worked around it with a ref.
    • AI chooses the path of least resistance → make the right way the easiest way.
  • Notion also uses lint to apply restrictions in stages, moving from info to warning to error based on importance.

  • eslint-seatbelt (opens in a new window):

    • Configure lint and take the current error count as the baseline.
    • Anything above the baseline is an error I introduced; when existing errors are fixed, the baseline falls with them.
    • This prevents new errors without blocking a release today, while gradually reducing the total number of errors.
    • I wondered whether tracking only the number of rule violations would miss one deletion plus one addition. It solves that by tracking file, rule, and count.

References