Skip to content

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.

ProjectbetaMIT

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

TypeQuestionAnswers
ScoreHow much can this diff alter the outcome of this test?—

How it works

  1. Read git diff against a base branch
  2. One Jev request with a question per test
  3. Select tests above the threshold and format runner arguments
  4. 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 run

At 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-projects
  • 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.

    hellogumbo/awesome-jev
  • Reads 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 serverbetaTypeScript
  • Semantic 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 skillbetaTypeScript
  • MCP 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 serverbetaTypeScript
  • Six evidence-oriented Jev tools for pi, omp and any MCP client: ask about code, find files, locate ranges, check diffs and select tests.

    ServicebetaTypeScript