Lintus
Single-binary linter whose rules are plain-language questions in YAML, asked of each file as a Jev yes/no judgment.
Overview
Lintus is a linter whose rules are written in plain language. A .lintus.yml file at the repository root lists rules, each with a description, a question and path globs, such as asking whether a Rails controller implements logic outside networking, authorisation, delegation to domain models and response. For every file a rule applies to, Lintus asks Jev the question as a noul and reports an offence with the probability where the answer says so.
It can lint the whole tree, only files changed since a git ref, or only staged files, so it fits a CI job or a pre-commit hook. A --list option shows which files each rule would be asked about without calling the API, and init writes a starter config. It ships as a single static binary for Linux, macOS and Windows, installable via a script or cargo, replacing an earlier Ruby gem whose config files carry over. The Jev key is saved by an auth command in a user-only credentials file, or taken from a flag or environment variable in CI.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Does this controller implement logic outside networking, authorisation, delegation to domain models and response? | — |
How it works
- Write rules as questions with path globs in .lintus.yml
- Choose scope: whole tree, changed since a ref, or staged
- Each applicable file is asked each rule's question
- Offences are reported with probabilities
- Non-zero exit gates CI or pre-commit
Strengths
- Rules in plain language
- Single binary, no runtime
- Dry-run listing without API calls
- Fits CI and pre-commit
Caveats
- Whole files are sent to the API
- File-level judgments, not line-level
- Requires a Jev key
Getting started
curl -fsSL https://github.com/virolea/lintus/releases/latest/download/install.sh | sh, then lintus auth login, lintus init and lintus.At a glance
- Type
- Project
- Status
- beta
- Language
- Rust
- Runtime
- CLI binary
- Has code
- yes
Use cases and integrations
How curated lists describe it
A linter whose rules are sentences in a YAML file: each rule is a question asked of every file it applies to.
MrJev/awesome-jev
Frequently asked questions
How is a rule written?
As a plain-language question with path globs in .lintus.yml.
Can I preview without spending?
Yes, lintus --list shows which files each rule would check without calling the API.
Can I lint only staged files?
Yes, it supports staged files and files changed since a git ref.
Related projects
Rust code-review gate asking Jev small typed questions about functions and tests, failing CI only on rules measured 80% right.
CLIproductionRustCoding-agent hook that asks Jev one yes/no per project rule on every edit or turn and makes the agent fix any violation.
HookbetaTypeScriptAdvisor for coding agents: git and Stop hooks flag test tampering, secrets and skipped hooks, with optional Jev review findings.
HookbetaRead-only Go CLI that checks files against your plain-language code rules with Jev, locally or in CI.
CLIbetaGoCLI and agent commands auditing a git diff against YAML standards packs, scoring each hunk with Jev so agents fix only flags.
Agent skillbetaTypeScriptFuzzy linter hook for Claude Code and Codex where Jev checks each written file against team rules and reports violations at edit time.
HookbetaTypeScript