Introduction
stagelint runs commands such as linters, formatters and type checkers on the files you are about to commit, and stages what they fix. It runs from its own pre-commit hook, from your hook manager, from a coding agent's hooks, or in CI.

Features
- Partially staged files are three-way merged, so a conflict with your unstaged changes never blocks the commit.
- Runs 5 to 30 times faster than other pre-commit tools.
- A single binary with no runtime, installed through the package manager you already use.
- Prefers tools installed in your project over global ones, so there is no need for
npxoruv run. - Supports monorepos with nested config files.
- Plugs into coding agents such as Claude Code, Codex and Cursor, so they fix failing checks before handing work back to you.
- Runs in CI, checking only the files a pull request or push changed.
Where to start
- Install stagelint: Installation
- Set up a pre-commit hook: Getting started
- Add it to a hook manager you already use: Hook managers
- Check a coding agent's edits: Agent hooks
- Check pull requests in CI: Continuous integration
- Match files to commands: Configuration