Skip to content

jev-pref

Turns AGENTS.md preferences into a Jev-powered semantic linter for diffs, staged files or PRs, feeding findings back to coding agents.

ProjectbetaMIT

Overview

jev-pref lets you define project-specific semantic rules, check code changes against them with Jev, and feed results back to your coding agent. It sits alongside TypeScript (type invariants), ESLint (static rules) and tests (behaviour) as the layer for semantic project rules. Rules live in jev-pref.json and are run against diff hunks, staged files or pull requests, returning blocking (fix_now) or advisory findings and a nonzero exit code on blocking ones.

Setup is agent-facing: telling your coding agent to run npx jev-pref setup has it inspect the repository, explain the system, ask questions, translate your AGENTS.md preferences into checks, decide which are blocking, and add persistent instructions. The README stresses good questions name evidence-grounded checks, such as whether a diff introduces new mutable module-level state or removes an exported symbol, or classifies API impact as none, additive, behavioural or breaking, rather than asking whether code is good.

What the decision model decides

TypeQuestionAnswers
Yes / noDoes this diff introduce new mutable module-level state?yes · no
Yes / noDoes this change remove or rename an existing exported symbol?yes · no
ChoiceClassify the API impactnone · additive · behavioral · breaking

How it works

  1. Run npx jev-pref setup via your coding agent
  2. Agent writes jev-pref.json rules from your preferences
  3. After changes, the agent runs jev-pref review on hunks
  4. Findings come back as blocking or advisory
  5. The agent fixes and re-runs until approved

Strengths

  • Encodes project-specific semantic rules
  • Clear guidance on writing evidence-based questions
  • Works with any coding agent; no global install

Caveats

  • Probabilistic checks can miss or misflag
  • Requires a Jev provider key
  • Rule quality depends on how preferences are phrased

Getting started

Tell your coding agent: Run `npx jev-pref setup` and follow the instructions it prints.

At a glance

Type
Project
Status
beta
Language
TypeScript
Runtime
Node CLI (npx)
Has code
yes
License
MIT

Use cases and integrations

How curated lists describe it

  • Code review: turns the preferences in a project's AGENTS.md into `jev-pref.json` rules that Jev checks against each diff hunk, staged file set, or pull request, returning `fix_now` or advisory findings to the coding agent and a nonzero exit code on blocking ones.

    yibie/awesome-jev
  • Turn AGENTS.md preferences into a Jev-powered AI linter: project-specific semantic review rules in `jev-pref.json`, checked against hunks, staged files, or PRs, with findings fed back to your coding agent. `npx jev-pref setup`.

    AnotiaWang/awesome-decision-models
  • Turns AGENTS.md preferences into rules checked by Jev against hunks, staged files or PRs.

    logicrw/awesome-jev-projects
  • Linter that has Jev check code changes against project preferences from `jev-pref.json` and feeds findings back to coding agents.

    cobanov/awesome-jev
  • Turn your AGENTS.md preferences into a fast, Jev-powered AI linter.

    hellogumbo/awesome-jev

Frequently asked questions

What does Jev decide?

Whether a change matches each project-specific semantic rule, such as removing exports or adding mutable state.

What makes a good rule?

One grounded in visible evidence, not 'is this good architecture?'

Does it fix code?

No. It is the linter; your coding agent is the fixer.

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