jev-lint
Fuzzy linter hook for Claude Code and Codex where Jev checks each written file against team rules and reports violations at edit time.
Overview
jev-lint is a fuzzy linter for coding agents. When the agent writes a file, a hook asks Jev Noul questions about each applicable team rule in the .jev-lint/ folder and reports violations about 0.3 seconds later, so the agent fixes them before code review. It targets rules that need judgement rather than a regex, such as 'don't derive state in useEffect', 'a test must be able to fail' or 'never trust a client-sent userId'. Local thresholds decide what is reported, and API errors fail open.
The README reports that with the hook on, violations per task fell from 2.38 to 1.21 in Claude Code over 96 runs and from 1.67 to 0.92 in Codex over 48 runs, with method and results in an experiment notebook. It supports generating rules for a repository, learning from what it catches, rule packs with environment-variable options, optional Cloudflare Clef or OpenAI Decisions backends, local models, and an evaluation harness. A website is at jevlint.dev.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Does this file break this team rule? | — |
How it works
- Agent writes a file
- Hook selects applicable rules from .jev-lint/
- Jev answers a Noul per rule; local thresholds filter
- Report violations so the agent fixes them; fail open on errors
Strengths
- Catches judgement-based rule violations early
- Measured reduction in violations per task
- Multiple backends including local models
Caveats
- Demo video scene is illustrative
- Rules need good wording and thresholds
Getting started
See the Install and 'Set it up with your agent' sections; website at https://jevlint.dev.At a glance
- Type
- Hook
- Status
- beta
- Language
- TypeScript
- Runtime
- Claude Code and Codex hook
- Has code
- yes
- Has tests
- yes
Use cases and integrations
How curated lists describe it
Software engineering: uses Jev `Noul` judgments and local thresholds to flag team-rule violations as Claude Code and Codex edit, helping agents fix them before code review with configurable rule packs and repository-specific rules.
yibie/awesome-jevUnofficial fuzzy linter for Claude Code and Codex that uses Jev to flag team-rule violations at edit time, with configurable rule packs and repository-specific rules so agents can fix issues before code review
AnotiaWang/awesome-decision-modelsAsks Jev Noul questions about team-rule violations as Claude Code and Codex edit, using configurable rules and local thresholds to return feedback before code review; API errors fail open.
cobanov/awesome-jevA fuzzy linter for coding agents. It checks the code your agent writes against your team's best practices while the agent is still working, not at code review.
hellogumbo/awesome-jevFuzzy linter for coding agents: a hook checks each file the agent writes against your team's rules in `.jev-lint/` with Jev and reports violations while the agent is still working.
MrJev/awesome-jev
Frequently asked questions
What does Jev decide?
Whether each written file breaks each team rule.
Does it reduce violations?
The README reports roughly halving violations per task in Claude Code and Codex runs.
What if Jev is down?
The hook fails open.
Related projects
Coding-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.
HookbetaSemantic code linter that reads each method with its callers and callees and asks decision models about defects, kind, line and severity.
CLIbetaTypeScriptCLI and agent commands auditing a git diff against YAML standards packs, scoring each hunk with Jev so agents fix only flags.
Agent skillbetaTypeScriptCheap Jev checks beside a Claude coding session: per-function code rules, doc contradiction checks and context retrieval.
ProjectbetaPythonFuzzy linter CLI that checks a code tree against plain-language rules in one markdown file, judged by Jev via a swappable interface.
ProjectbetaTypeScript