Skip to content

jevlint (Go)

Go linter that extracts code units with Tree-sitter and asks a decision model whether each passes a plain-language rule.

ProjectbetaMIT

Overview

Jevlint (codegirl-007) checks code against rules written in plain language, a way to 'codify code taste'. It uses Tree-sitter to extract code units such as functions, then asks the configured decision backend whether each unit passes each rule. TypeSafe's Jev is the default provider, with OpenAI, OpenRouter and Cloudflare also supported.

The CLI has init (detect languages and write a starter config), doctor (verify config and credentials), check (run the rules, optionally only on changed files and with caching and concurrency), eval (score rules against fixtures) and plugin commands for rule packs. Exit code 0 means no failures above the confidence thresholds, so it fits CI. Prebuilt binaries are provided for Linux, macOS and Windows. It is unrelated to the other JevLint projects of similar name.

What the decision model decides

TypeQuestionAnswers
Yes / noDoes this code unit pass the rule?—

How it works

  1. jevlint init writes .jevlint.json; add rules or install a pack
  2. Tree-sitter extracts code units from the files
  3. Each unit and rule is sent to the decision provider
  4. Failures above confidence thresholds are reported; non-zero exit fails CI
  5. jevlint eval checks rules against fixtures

Strengths

  • Unit-level checks rather than whole-file
  • Result caching and --changed for faster runs
  • Multiple providers, with Jev as default
  • Rule fixtures make rule quality measurable

Caveats

  • Building from source needs CGO and a C compiler
  • Code is sent to a hosted provider
  • Rule quality depends on how questions are phrased

Getting started

go install github.com/codegirl-007/jevlint/cmd/jevlint@latest, then jevlint init, export TYPESAFE_API_KEY, jevlint doctor and jevlint check .

At a glance

Type
Project
Status
beta
Language
Go
Runtime
CLI
Has code
yes
Has tests
yes
License
MIT

Use cases and integrations

How curated lists describe it

Frequently asked questions

What does it decide?

Whether each extracted code unit passes each plain-language rule, with a confidence compared to your threshold.

Must I use TypeSafe?

No. Jev is the default, but OpenAI, OpenRouter and Cloudflare providers are supported.

How do I check a rule is reliable?

Write fixtures in jevlint-evals.json and run jevlint eval.

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