We raised $3M for agent-native runners

Use a faster native linter without losing rules

Move supported lint checks to a fast native implementation and preserve coverage for rules it does not support.

How companies used this technique

Read what each company changed and follow the original sources.

Run native lint without losing unsupported rules

After removing its type-information dependency, Linear moved lint work to Oxlint. Syntax-only rules are straightforward to port, and Oxlint reduced the CI runner-minutes spent on linting.

Use it when
A qualifying ESLint step remains on the slowest path after addressing type-aware overhead.
Before applying it
Retain ESLint for unsupported plugins and rules; benchmark equivalent file and rule coverage.

Lint with one fast native tool

This is a community contribution to Spotify's luigi project. Luigi's lint ran flake8 and isort, two separately configured tools. The change adds a ruff configuration to pyproject.toml, replaces the flake8 tox environment with a lint environment, points the GitHub Actions matrix at it, and applies ruff's fixes and formatting across the codebase.

Use it when
A lint or format step runs several Python tools that ruff replaces.
Before applying it
The first run rewrites files to the new rules and formatting, so land those automated fixes in commits separate from the configuration change.

Company Playbooks