eslint-plugin-bad-vibes: I built a linter that enforces the worst frontend practices

Noble Pilot
Thu, 02 Apr 2026 16:15:43 GMT
devchallenge, 418challenge, showdev, javascript

This is a submission for the DEV April Fools Challenge What I Built An ESLint plugin with 6 rules that enforce the worst frontend practices with deadpan corporate error messages. Real AST visitors. Real tests. Completely useless output. Every rule is something I have heard suggested in an actual code review, standup, or Slack thread. Not as a joke. As a genuine engineering opinion delivered with confidence by someone who has never opened a screen reader. The rules: Rule What it enforces no-semantic-html Flags ,
,
. Demands
. no-alt-text Flags any that has an alt attribute. prefer-positive-tabindex Errors on tabIndex={0}. Requires tabIndex={100} minimum. no-aria-allowed Flags every aria-* attribute as "invisible complexity." prefer-inline-styles Flags className. CSS class names are "indirection." no-keyboard-handlers Flags onKeyDown/onKeyUp. Keyboard users are "statistically insignificant." The error messages are the actual pay