Language-agnostic linter for repository structure, files, and content
https://alint.org ↗// readme
alint
A fast, general linter.
Code linters check what’s inside a source file. alint checks the repository around it: files that should or shouldn’t exist, naming conventions, file contents, values buried in package.json, Cargo.toml or a workflow YAML, and the relationships between files. The rules live in one .alint.yml and run on every pull request, in pre-commit and in your editor.
Fast at scale: the workspace-bundle benchmark checks 100,000 files in about 1.5 seconds and one million in under 20 seconds (measured on every release).
Every repository has a shape it is supposed to keep. Every package carries a README. Workflows pin their actions to a commit SHA. Nobody commits target/ or node_modules/. Source files that need a license header have one. These rules are real, and a repo drifts when they slip, but they usually live in a reviewer’s head or a line of CONTRIBUTING.md, where nothing fails when a pull request ignores them.
alint writes those rules down and enforces them. It takes over from Repolinter (archived in 2026), runs alongside ESLint, Clippy, or Ruff, and ships as…