grep, sort, lint, tail. With judgment.
Unix tools that understand what you mean. Each one asks Jev a typed question, gets back a probability, and lets your shell decide. 150 ms a call. Cheap enough to run on every line.
npm i -g jevtool
Preview · tools in development. Commands and results are illustrative.
$ jevgrep "functions that swallow errors silently" src/ scanning 312 functions · 1 request · 0.19s src/proxy/relay/upstream.ts:97 handleRetry() 0.94 src/server/billing/settle.ts:41 reconcileOrder() 0.88 src/workers/sync.ts:120 pullCatalog() 0.71 3 matches ≥ 0.70 · 9 below threshold (--all to show) $ git diff | jevlint --rule "user-facing errors say cause + action" apps/web/chat.tsx:212 "Request failed" 0.91 violates exit 1
One key. Six tools. Same shape.
Every tool sends state plus one narrow question and reads a number back. Nothing is generated. The rule stays in your code.
Search code, logs or docs by meaning. Candidates are parsed by tree-sitter; Jev selects.
A CI gate for rules that aren't regexes. Commit message honest? Error copy actionable? PR matches diff?
Pipe logs in. Severity and urgency out. Same-cause lines collapse. Alert only on what changed.
Sort anything by a described dimension. jevsort --by urgency todo.md
Did the meaning change, or just the words? For prompts, copy, contracts, docs.
A judge tool for Claude Code and Cursor. Your agent asks a typed question instead of guessing.
Not a chatbot
No prose to parse, no JSON mode to coax. A Noul is a probability. A Choice is one of your options. A Score is a position on a scale you wrote.
Runs in CI
Deterministic enough to gate a merge, cheap enough to run on every push. Thresholds live in your repo, not in a prompt.
Numbers, not vibes
Every answer carries calibrated confidence. Act above your threshold, escalate below it, log everything in between.
Ask one narrow question.
Bring your own key, or route through Jevrouter.
Every tool reads one base URL. Point it at TypeSafe directly, or at api.jevrouter.io for metered credits, project budgets and Jev-assisted model routing on the same account.
base_url = "https://api.jevrouter.io/v1" api_key = "jr_…" model = "jev-latest" threshold = 0.70
Get early access.
Be first to know when the tools are ready.