LMLint is a linter that uses rules defined in markdown.
What if every single PR comment could be converted into a rule? Take this comment for example:
Converting this into an ESLint rule isn't trivial since it requires defining an AST-based rule.
With LMLint, creating a rule is as simple as commenting @lmlint make this a rule. LMLint then opens a PR with the rule added as a markdown file.
curl -sSL https://raw.githubusercontent.com/antislophq/lmlint/main/install.sh | bashRun the init command to create a sample rule:
# Creates a .rules/ directory with a sample rule
lmlint initThen run the check command to run the rule:
lmlint checkNot really. Rules are evaluated in parallel, so a run completes within a few seconds irrespective of the number of rules or files.
LMLint is intentionally designed to reduced costs:
- LMLint works well with cheap models (like Claude Haiku, or the GPT mini series) as long as your rules are concise
- LMLint is Git-aware, so it only runs on changed files by default
If your rules are small & specific, LMLint is fairly reliable. When rules are large or ambiguous, LMLint may produce false positives or negatives. Such failures are fixed by updating rules over time. To make this easier, LMLint also provides a preview command that looks at previous PRs and shows what a rule would've flagged.