Quick and dirty linting

This post is another installment of the series dedicated to building sightread.org. Parts 1, 2, 3, 4, 5, 6. I've been using TypeScript (actually JSDoc + tsc --noEmit) as my linter for a while. Well, TBH, I didn't do it intentionally, it's just something Claude does outta the box. I saw some linting going on [ ]