Skip to content

About alint

Most linters check the code inside files; alint checks the files themselves. The filesystem shape of a repository — which files exist, what they’re called, what’s inside them at the structural level, how they relate to each other — turns out to be where a lot of structural correctness lives, and where existing tooling is patchy. alint covers that surface in one declarative .alint.yml: 60 rule kinds across 13 families, 19 bundled ecosystem rulesets, structured queries (RFC 9535 JSONPath over JSON / YAML / TOML), cross-file relational rules, conditional when: gates on per-run facts, and auto-fix.

When Repolinter was archived in early 2026 it took a piece of the OSS-baseline checking tooling with it; alint’s oss-baseline@v1 ruleset is a strict superset of Repolinter’s default rules for users migrating in. See the Repolinter-alternative landing and the step-by-step migration guide for the full mapping.

alint is deliberately not:

Scope is the filesystem shape and contents of a repository, not the semantics of the code inside it. For where alint fits in monorepo workflows specifically — including when to reach for Bazel, Cargo, pre-commit, or OpenSSF Scorecard instead — see alint and monorepos.

alint is dual-licensed under either of:

at your option. Contributions are dual-licensed the same way unless explicitly stated otherwise.