Skip to content

Jev directory

Jev Lint — mizchi

An ast-grep semantic linter where each rule is one natural-language question judged by Jev: 98 rules flag name/body drift, stale comments, weak tests, quiet failures, and commits whose diffs contradict their messages.
Stars
120
Language
TypeScript
License
MIT
Reading time
3 min
Published by
Community
Author
mizchi
Last verified
Sep 2026

mizchi/jev-lint

User repository on GitHub

View on GitHub

lint text in code by jev scorerer

Forks
4
Last pushed
Updated Oct 2026

Repo stats from the GitHub API, cached Oct 2026.

About this project

A lint tool that uses Jev -- a fast classifier that answers a natural-language question with a calibrated probability instead of writing text -- to decide what a parser cannot. This function is wrong, and nothing in your toolchain will say so: The comment promises null. The body throws. The return type is Cart, not Cart | null. It type-checks and it lints clean.

Quoted from the project's README. Read the full README.

Highlights

  • Forty-seven questions ship, most asked in several languages, for 98 rules total, each with a cutoff and a score on its own fixtures.
  • Six findings over two example files cost a tenth of a cent; costs for larger runs are measured in docs/cost.md rather than extrapolated.
  • The key is read only from TYPESAFE_API_KEY or TYPESAFEAI_API_KEY in the environment, never from the config file.
  • jev-lint review judges only lines a diff touched; jev-lint commits judges each message against its diff and the repository's own AGENTS.md or CLAUDE.md.
  • The README says it is not for what compilers, type checkers, or ESLint already decide, and notes it is distinct from huntedman/JevLint.

Quickstart

bash
export TYPESAFE_API_KEY=YOUR_API_KEY
npx -y jev-lint check examples
npx jev-lint init
npx jev-lint check src --dry-run

Watch out

MIT-licensed; needs Node 24+ and npx plus a TypeSafe API key for model calls, though --dry-run, rules, replay, and cached CI runs work with no key.

Questions about this entry

Short answers drawn from the linked project or page.

Reactions & coverage

Posts, threads, and videos about this entry from around the web.

X: Decision outputs in Grep

Hacker News: jevmem keeps Claude Code project memory by asking Jev which turns are worth saving.

avinashjetwani61 pointsJevmem – automatic project memory for Claude Code, built on JevRead the thread on Hacker News

X: A usage router for Grok Bot

X: The compaction plugin, in Chinese

Other listings of this project

Forks and copies of this project in the directory. This entry is the canonical one.

11GitHub stars
Fuzzy linter hook for Claude Code and Codex: after the agent edits a file, it sends the added code to Jev, which answers Noul checks against team rule packs in about 0.3 seconds, letting the agent fix violations before code review.
Jev Tools & CLIs#community#linter#claude-code
A natural-language linter for Node 24+ in which an ast-grep matcher selects the code and a one-sentence Jev rule returns a calibrated verdict. Ships 99 rules covering names, comments, tests, shell scripts, commit messages, and AGENTS.md files.
Jev Tools & CLIs#cli#typescript#guardrails
Community

From the Jev guides

Original write-ups on what this entry is for.

From the Jev AI model community

Posts from builders shipping with Jev right now.

Follow @typesafeai