Cacheable linting with normalized findings
Once can now run lint targets through the same graph, cache, evidence, and remote-execution model used by builds and tests. The first integrations cover Ruff, golangci-lint, ESLint, RuboCop, Credo, detekt, and SwiftLint.
once lint keeps each analyzer's native configuration authoritative while
presenting one finding model and failure policy to humans, automation, and
coding agents. Project modules can add another analyzer through the documented
lint provider and portable report contract.
The bundled ESLint starter includes its required flat configuration, Credo limits analysis to declared sources, and RuboCop prepares Ruby for portable report conversion. Invalid custom lint providers now return structured repair diagnostics before their actions run.