- All playbooks
- Keep the lint rule, remove its type-graph dependency
Keep the lint rule, remove its type-graph dependency
Linear rewrote its type-aware custom lint rules to use static analysis over the syntax tree.
Company examples
How Linear used this technique
Read what Linear changed and follow the original sources.
Keep the lint rule, remove its type-graph dependency
Linear rewrote its type-aware custom lint rules to use static analysis over the syntax tree, so ESLint no longer builds the TypeScript type graph. API lint time fell 68% and full-repository lint time 55%.
- Use it when
- Type-aware lint setup dominates and equivalent syntax-only checks can be demonstrated.
- Before applying it
- A rule-by-rule equivalence ledger comes first. Keep genuinely type-aware rules in a required pass.
Company Playbooks
- Read Anthropic’s playbookRun only affected tests
- Read DoorDash’s playbookRun build and test in parallel, sharded across CI agents
- Read Linear’s playbookBenchmark the same job on faster hardware
- Read Mastra’s playbookStarSling runners for the slowest test workflow
- Read OpenAI’s playbookRank CI fixes by the minutes they save
- Read Ramp’s playbookMove a CPU-bound test suite to a faster CPU
- Read Shopify’s playbookLet an agent iterate against one CI metric
- Read Spotify’s playbookBuild arm64 on native arm64 runners
- Read Stripe’s playbookRun only the tests a change can reach
- Read Uber’s playbookBuild the merge-queue speculations most likely to be needed