Skip to content

jev-retrieval

Grep-shaped Rust CLI for coding agents: BM25 recall plus Jev Noul window checks and a listwise Choice return path:line results with scores.

CLIbetaApache-2.0

Overview

jevr (jev-retrieval) is a lightweight information-retrieval CLI for codebases and plain-text document collections, built from two ingredients: a local, stateless BM25 pass for recall and Jev's calibrated judgments for precision. There are no embeddings, vector database, index directory or repository state. You ask a plain-language question such as where the websocket reconnect logic is, and get ranked path:start-end ranges with a calibrated relevance score.

Per the list summaries, Jev Noul membership questions score 100-line windows for code and 20-line windows for docs (kept at 0.90 and 0.60 respectively), and one listwise Choice per lane orders the kept files. The interface deliberately mimics grep, including exit codes, so coding agents can use it without instructions, and it ships as a Claude Code skill and plugin. The README reports 0.900 any-gold@10 on SWE-bench Lite file localisation, gains over published BM25 and cross-encoder baselines on BEIR, and second place of 90 on the HAKARI-Bench NanoRTEB reranking leaderboard, at about 2 seconds and a cent per cold query.

What the decision model decides

TypeQuestionAnswers
Yes / noDoes this code or document window match the query?yes · no
ChoiceWhich kept file best matches the query (listwise ordering)?—

How it works

  1. Run a local BM25 pass to recall candidate files
  2. Split candidates into windows and ask Jev a Noul per window
  3. Keep windows above the code or doc threshold
  4. Order kept files with a listwise Choice
  5. Print path:start-end score lines with grep exit codes

Strengths

  • No index or embeddings to maintain
  • Calibrated scores per result
  • Familiar grep interface for agents
  • Strong reported benchmark results

Caveats

  • About 2 seconds and a cent per cold query
  • File contents are sent to TypeSafe
  • Requires Rust toolchain or crates.io install

Getting started

cargo install jevr, export TYPESAFE_API_KEY, then jevr "where is the websocket reconnect logic?"

At a glance

Type
CLI
Status
beta
Language
Rust
Runtime
CLI and Claude Code plugin
Has code
yes
Has tests
yes
License
Apache-2.0

Use cases and integrations

How curated lists describe it

  • Coding agents: Rust CLI (`jevr`) that turns a natural-language query into grep-style `path:start-end` targets — a stateless local BM25 pass proposes candidates, Jev `Noul` membership questions score their 100/20-line windows (kept at 0.90 for code, 0.60 for docs), and one listwise `Choice` per lane orders the keepers — ships as a Claude Code skill and plugin, and placed 2nd of 90 models on the HAKARI-Bench NanoRTEB reranking leaderboard.

    yibie/awesome-jev
  • Grep-shaped Rust CLI for coding agents that finds files matching a plain-language concept: a local BM25 pass recalls candidates, Jev verifies each file window-by-window with Noul gates, and one listwise Choice per lane reranks the kept files into \`path:line score\` output with calibrated probabilities. (Author-submitted: I am the maintainer.)

    logicrw/awesome-jev-projects
  • Semantic code and document search CLI — BM25 recall + TypeSafe Jev calibrated…

    wh000wh000/awesome-jev-live
  • Semantic code and document search CLI for coding agents: a stateless BM25 pass recalls candidate files, Jev Nouls verify each one window-by-window against the query, and one listwise Choice reranks the survivors into grep-style path:line output with calibrated relevance scores.

    hellogumbo/awesome-jev

Frequently asked questions

What does Jev decide?

Whether each window of a candidate file matches the query, and the final order of kept files.

Do I need to build an index?

No. BM25 runs statelessly on each query.

How well does it perform?

The README reports 0.900 any-gold@10 on SWE-bench Lite file localisation.

Related projects

  • Claude Code plugin that adds Jev as an independent judge for review findings, debugging hypotheses, design options and search hits.

    Pluginbeta
  • Single MCP tool that indexes a repo and has Jev rank a shortlist so a coding agent reads the right files and lines instead of grepping.

    MCP serverbetaPython
  • CLI and MCP server giving coding agents Jev-powered semantic search, focused reads and list picking in about a second for about a cent.

    BenchmarkbetaPython
  • Deterministic code-graph context for coding agents on Postgres, AGE and pgvector, with optional Jev or local re-selection of symbols.

    MCP serverbetaPython
  • Retrieval layer for Codex that finds evidence locally, optionally ranks sanitized excerpts with Jev, and returns bounded, cited evidence.

    Projectbeta
  • Pipe grep or file lists into Jev to get every candidate scored, sorted and cut at a calibrated threshold, so agents read only what matters.

    ProjectbetaTypeScript