- All playbooks
- Fix lint before the push reaches CI
Fix lint before the push reaches CI
Run the fast lint checks locally, with cached results, so a branch reaches CI already clean.
Company examples
How Stripe used this technique
Read what Stripe changed and follow the original sources.
Fix lint before the push reaches CI
Stripe enforces the checks CI would flag as early as the editor and the push. Pre-push hooks fix the most common lint issues, and a background daemon caches lint results for the change, so fixes usually arrive in under a second. Its coding agents run a subset of linters locally and loop on them before pushing a branch.
Stripe’s background daemon caches lint results so developers usually get lint fixes in well under a second on a push. Source
- Use it when
- Pull requests regularly spend a CI round on formatting or lint failures that a local run would have caught.
- Before applying it
- The local pass is a fast first filter; CI still runs the complete lint and test suites as the required gate.
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