intermediate

Code quality tooling

Use linting, formatting, local hooks, and staged-file checks to catch regressions before review and CI.

Code quality tooling interviews separate formatting from semantic linting and local convenience from CI authority. Subtopics: ESLint, Prettier, Biome, Husky, lint-staged.

On interviews: design a TypeScript app pipeline—what runs on save, on commit, and in CI; which checks need whole-project context.

Common pitfalls: ESLint formatting rules conflicting with Prettier; slow hooks developers bypass; staged-only checks hiding project-wide type errors.

The trade-off is fast local feedback versus complete correctness guarantees.

Checklist:

  • Split formatter and semantic linter roles.
  • Keep hooks fast; full lint/typecheck in CI.
  • Compare Biome coverage before migration.
  • Never treat skippable hooks as the only gate.