jev-test-filter
CLI that scores every test against a git diff with Jev and emits filter arguments for vitest, jest, node, Playwright, cargo, go and rspec.
Overview
jev-test-filter reads a git diff and asks Jev how much the change could alter the outcome of each test in the repository, using one shared state (the diff), one question per test and one round trip, with no agent loop and no file reading by the model. It then prints, or with --exec appends directly to your command, the filter arguments your existing runner understands, so the run covers the tests the change could plausibly break instead of all of them.
Supported runners include vitest, jest, node --test, bun test, Playwright, cargo test, go test and rspec. Every failure path runs the whole suite instead, including a diff too large for the state budget. An advisory review mode flags low-confidence answers without failing CI. It is published as an npm package, an agent skill for Claude Code, Codex and Cursor, and a Claude Code plugin with a /filter-tests command; the README notes that installing the skill does not install the command.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Score | How much can this diff alter the outcome of this test? | — |
How it works
- Read git diff against a base branch
- One Jev request with a question per test
- Select tests above the threshold and format runner arguments
- Run them via --exec; on any failure or oversized diff, run the full suite
Strengths
- Works with runners you already use
- Fails safe by falling back to the full suite
- Single round trip, no agent loop
- Skill and plugin teach agents correct usage
Caveats
- Requires Node 24+ and a TypeSafe key
- Selection quality depends on the diff fitting the input budget
Getting started
npx jev-test-filter --base main --exec -- vitest runAt a glance
- Type
- Project
- Status
- beta
- Language
- TypeScript
- Runtime
- Node CLI / agent skill
- Has code
- yes
- Has tests
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
Score every test against a git diff with Jev, and emit the filter arguments vitest, node:test, Playwright, cargo test and go test already understand
logicrw/awesome-jev-projectsScore every test against a git diff with Jev, and emit the filter arguments vitest, node:test, Playwright, cargo test and go test already understand.
hellogumbo/awesome-jevReads a Git diff, scores every test for whether the change can alter its outcome, and prints the arguments your runner already understands. Every failure path runs the whole suite instead, including a diff that did not fit the state budget.
MrJev/awesome-jev
Frequently asked questions
What happens if something goes wrong?
Every failure path, including an oversized diff, runs the whole suite instead.
Which test runners are supported?
vitest, jest, node --test, bun test, Playwright, cargo test, go test and rspec.
Does the model read my source files?
No. It sees the diff and test identifiers, plus test source when it fits the budget.
Related projects
Gives Claude Code, Codex, Pi and OpenCode five typed Jev tools (classify, check, score, rank, ask) plus a skill on when to use them.
MCP serverbetaTypeScriptSemantic grep for code, diffs and CSV rows that packs 16 chunks per Jev request and prints file:line hits with CI-friendly exit codes.
Agent skillbetaTypeScriptMCP server that finds relevant code with Jev Choice and Noul checks instead of grep sweeps, and audits diffs against task intent.
MCP serverprototypePython- Supercov★ 154
Coverage, security and quality CLI where Jev answers yes/no property questions per file so agents know what to fix first.
CLIproductionRust CLI, MCP server and Claude Code plugin for closed-form yes/no, choice, score and rank decisions via Jev, OpenAI Decisions or Claude.
MCP serverbetaTypeScriptSix evidence-oriented Jev tools for pi, omp and any MCP client: ask about code, find files, locate ranges, check diffs and select tests.
ServicebetaTypeScript