Skip to content

2026-08-27 Infrastructure TypeScript lint consistency audit

Audited Nx, Biome, Oxlint, Lefthook, and CI lint wiring across all TypeScript projects.

Work Done

  • Audited all seven TypeScript projects in the mono chore/linters worktree.
  • Confirmed that current Nx lint runs Biome and Oxlint complexity for six projects, with the intentional Oxlint-only apps/docs exception for external/generated Astro content.
  • Ran all seven TypeScript Nx lint targets without cache; all passed.
  • Identified incomplete Nx cache inputs, missing Biome pre-commit coverage, mixed Biome lint/check semantics, and parse-error skipping.
  • Reported exact findings and recommended a shared typescriptLint named input.

Lessons Learned: Pitfalls

  • A project being selected by nx affected does not prove its lint cache key includes every file that the lint command reads.
  • Root linter configuration files must be explicit Nx inputs for nx affected and cache invalidation to work reliably.
  • The branch’s committed dashboard lint script omitted Biome; the current worktree fixed it with an uncommitted edit.

Lessons Learned: Improvements

  • Document the intended TypeScript lint contract: Biome plus Oxlint for normal projects, and Oxlint only for generated/external docs.
  • Provide one shared Nx lint input that covers project lint files and both root linter configs.
  • State whether Biome formatting and assist checks belong in the lint target or a separate CI format-check target.
Navigation

Type to search…

↑↓ navigate↵ selectEsc close