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.
Semantic "did you mean?" for any command: wraps a CLI and proposes the correction a typo was reaching for. Experimental, by its author's own note.
View on GitHub →Checked, not fully reviewed
Fixes mistyped subcommands with one Jev choice question. Checked, not fully reviewed: the denylist holds in auto mode, and your arguments stay local.
Good for
Watch out for
Tested Oct 5, 2026 at f0bed70ebdcc · Go 1.27 in Docker; its tests, and the jym binary wrapping a fake CLI under a real pseudo-terminal, against a local stand-in endpoint
Checked, not fully reviewed. We built it, ran its tests (all pass), and wrapped a fake CLI whose every invocation is logged, under a real pseudo-terminal, against a stand-in that answered every typo with 0.99. No Jev calls.
jym git psuh origin main checks the subcommand against the command’s own --help before running
anything. Only an unknown token reaches Jev, as one choice question whose options are the documented
subcommands plus a __none__ escape. What went over the wire for that command was
{"command":"fakegit","subcommand_path":null,"typed":"psuh"} and the four options with their help descriptions —
origin main was not sent, which is the documented default (context_args = "none").
The part worth checking was the safety catch, and it holds:
| mode | typo → guess at 0.99 | what ran |
|---|---|---|
| auto | stauts → status |
status origin main, no prompt |
| auto | psuh → push |
nothing — push is denylisted, so it asked instead |
| prompt | psuh → push, key n |
nothing |
| prompt | psuh → push, key 1 |
push origin main |
| stderr not a terminal | stauts |
stauts origin main, as typed, silently |
With the endpoint unreachable it fell back to edit distance, labelled “(offline matching)”, and found both corrections. Without a terminal on stdin, prompt and auto degrade to printing a hint and running as typed, as the README says — so a script never blocks on it.
One small surprise: y is not an answer. The prompt waits for Enter, a digit, o (run as typed)
or n/Esc, and ignores anything else, which is safe but will catch the hand that types y out of
habit.
MIT, 16 stars, Go. The scope is deliberately narrow — no flag correction, no gti → git — and that
is the right call for a tool that sits in front of git push.
See how it compares with other tools in Best Jev tools, tested hands-on.
Review updated Oct 5, 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.