Abdullah Rahman
All entries
DAY 12 2026-06-30 Mood: Productive

Day 12 — The plugin interface that almost was not

  • #work
  • #cli
  • #architecture

Spent 4 days on the plugin interface. The first three designs were too clever. The fourth design — the one I shipped — is boring: every check is a function that takes a context and returns a list of findings.

I was trying to invent a clever DSL for declaring checks. The DSL would have saved 3 lines per check and cost 200 lines of framework code. Plus a learning curve for contributors.

Lesson I keep re-learning: boring is a feature. The 3 saved lines are not worth the complexity tax.

Ported 40 of the 50 v2 checks today. The plugin system made the port trivial — each check is independent, so I could port one at a time without breaking the others.