How we reviewed this: we ran it in Docker offline, pointing it at a local stand-in through the base-URL override it already supports — no patching needed, which is more than most of this batch managed. We made no Jev calls.
What it does
It asks the questions a linter cannot: does this function do what its name promises, is this comment still true, does this test verify what it claims. Findings carry a probability and each rule has its own cutoff, so a rule that fires loosely can be tuned without touching the others.
One run, two ideas of what’s in scope
Files reach the model by three paths, and they do not agree.
The ast-grep matching path uses ast-grep’s own traversal, which reads .gitignore. The other two — block rules with an extensions: list, and the paired-arm rule that goes looking for a test file — use the project’s own file index, which does not:
export const SKIPPED_DIRECTORIES = new Set([
"node_modules", "dist", "build", "out", "target", "coverage", "vendor", "tmp",
]);
plus a skip for anything starting with a dot. So within a single invocation, a gitignored file is out of scope for one half of the rules and in scope for the other. Whether a given file’s contents are sent depends on which rule happened to match it, which is not a property anyone would guess from the documentation.
The dot-file skip does cover .env, .git and .ssh, which is the important part. But as with the others in this batch, a credential file without a leading dot is just a file.
Verdict
The rule idea is sound and the cutoff-per-rule design is a genuine improvement over a single global threshold. Supporting a base-URL override is a small thing that made this the easiest project in the batch to examine, and more projects should do it.
Against that: no CI whatsoever — there is no .github directory — and npm is on 0.4.0 while the newest git tag is v0.2.1, so what is published is three versions ahead of anything tagged, with no automated tests gating it.
For the single-scope version of this, see JevLint, and for the call-graph version, perch.
See how it compares with other tools in Best Jev tools, tested hands-on.
Review updated Sep 20, 2026. Numbers quoted from the project are its author's own; we don't publish our own measurements of Jev.