jevgrep (dzhng)
★ 3.1k▲ 239dzhng/jevgrep
Finds code by what it does rather than what it matches: a CLI for coding agents that asks which files and which regions are relevant to a description. Unrelated to the JevGrep above, which has the same name.
Sorts lines along a plain-English dimension by judging them in pairs, so the sort key is a description rather than a field.
View on GitHub →Checked, not fully reviewed
Sorts lines, files or CSV fields along a phrase like "more urgent" by asking Jev about pairs. Checked, not fully reviewed: slow to fail when the API is down.
Good for
Watch out for
Tested Oct 29, 2026 at 6a402c90e046 · python:3.12-slim in Docker on 2 CPU cores and 6 GB; its test suite from the repo (jevkit-runtime 0.4.2 from uv.lock), and the published jev-sort 0.5.1 (jevkit-runtime 0.4.3) against a local stand-in for /v1/systemone through the runtime's JEV_URL setting
Checked, not fully reviewed. We ran its test suite, and ran the published jev-sort 0.5.1 in Docker
against a local stand-in for Jev. The stand-in answered from a hidden score we tagged in each line, so
we knew the right order. No Jev calls. The README’s benchmarks, timings and costs are the author’s.
jsort sorts lines, paragraphs, files, or one CSV or JSONL field along a description such as “more urgent”.
It shows Jev two texts at a time with one noul question, “Text A ranks higher than text B on this
criterion”, and fits a Bradley-Terry scale to the answers. Each request carries only the two texts, cut
to --max-chars, and the question. The other CSV columns were never sent. The key comes from the
environment or ~/.config/jev/, goes only in the Authorization header, and is not written to the
cache.
What we saw. 156 tests passed. It put our 20 lines in the hidden order and answered a rerun from
the cache. A saved scale placed new lines, and refused when the stand-in began naming a different model.
Bad JSON, missing or out-of-range answers and a redirect were reported as failed comparisons. A 401 or
402 stopped the run. When every third request got a 503, it retried and finished. Two rough edges. With
the API down, the budget holds requests back until one has been charged, so comparisons went one at a
time: 20 lines took nearly three minutes to fail, against 17 seconds with --budget none. And the error
says “gave up after 15s” when it stopped after four attempts.
The HTTP, cache and budget code is in jevkit-runtime, the author’s shared library, also used by jgrep. MIT. 28 stars.
See how it compares with other tools in Best Jev tools, tested hands-on.
Review updated Oct 29, 2026. Numbers quoted from the project are its author's own; we don't publish our own measurements of Jev.
dzhng/jevgrep
Finds code by what it does rather than what it matches: a CLI for coding agents that asks which files and which regions are relevant to a description. Unrelated to the JevGrep above, which has the same name.
dorkitude/webctl
Search CLI for agents: results from up to three backends are scored by Jev against your query and an explicit --goal, and only the relevant ones reach the agent's context. Its benchmark excludes an arm it could not observe.
uehaj/sys1grep
Greps by meaning rather than pattern, scoring every line against a description and combining meanings with AND, OR and NOT; a single dependency-free Node file. Japanese and English. Formerly jev-semgrep.
New Jev releases, pricing changes, and the best new projects, once a week. No spam; unsubscribe anytime.
Powered by Buttondown. See our privacy policy.