Skip to content

Lintus

Single-binary linter whose rules are plain-language questions in YAML, asked of each file as a Jev yes/no judgment.

Projectbeta

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

TypeQuestionAnswers
Yes / noDoes this controller implement logic outside networking, authorisation, delegation to domain models and response?—

How it works

  1. Write rules as questions with path globs in .lintus.yml
  2. Choose scope: whole tree, changed since a ref, or staged
  3. Each applicable file is asked each rule's question
  4. Offences are reported with probabilities
  5. 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.

    CLIproductionRust
  • Coding-agent hook that asks Jev one yes/no per project rule on every edit or turn and makes the agent fix any violation.

    HookbetaTypeScript
  • Advisor for coding agents: git and Stop hooks flag test tampering, secrets and skipped hooks, with optional Jev review findings.

    Hookbeta
  • Read-only Go CLI that checks files against your plain-language code rules with Jev, locally or in CI.

    CLIbetaGo
  • CLI and agent commands auditing a git diff against YAML standards packs, scoring each hunk with Jev so agents fix only flags.

    Agent skillbetaTypeScript
  • Fuzzy linter hook for Claude Code and Codex where Jev checks each written file against team rules and reports violations at edit time.

    HookbetaTypeScript