Skip to content

Back to the catalog

dzhng/jevgrep
github.comrepo

dzhng/jevgrep

Jevgrep (the `jg` CLI) lets a coding agent ask a natural-language question about a repository and get back relevant files, reading leads, and verbatim source excerpts in one response, using an LLM (Jev) to judge relevance across folders, files, and declarations instead of relying on grep/ripgrep alone. It ships an installable "skill" for Claude Code, Codex, OpenCode and other agents that teaches them when to call jg versus their normal tools, and requires a key for Vercel AI Gateway, TypeSafe, OpenRouter, or OpenCode Zen. A reported ten-task SWE-bench repeat found ~40% lower coding-agent cost ($7.62 to $4.52) but a lower solve rate (7/10 vs 8/10 baseline), explicitly framed as a cost/quality tradeoff rather than a win.

TL;DR CLI + agent skill that answers "where does X happen in this repo?" using an LLM relevance judge instead of plain grep, at a reported cost/quality tradeoff on SWE-bench.
Document

How to use it

Install and wire it into an agent:

npm install -g @dzhng/jevgrep
jg auth
jg skill
jg "How are telemetry events recorded and sent?" ./my-project

Requires Node.js 22+, macOS or Linux. No separate Python, Bun, or ripgrep install is needed. Provider selection (Vercel AI Gateway, TypeSafe, OpenRouter, or OpenCode Zen) needs version 0.3.0+; upgrade with npm install -g @dzhng/jevgrep@latest. There is no jg upgrade command. jg auth saves the provider key to an owner-only config file; re-running it replaces the setup, and jg doctor checks it with synthetic input. Environment-based credentials and endpoint overrides are not used — if you relied on them before, run jg auth.

The skill is separate from the CLI and must be installed from the project where the agent works. jg skill delegates to the skills CLI (needs npm/npx plus network) and detects Claude Code, Codex, OpenCode and others; add --global for user-wide or --yes for unattended. You can run the installer without the CLI:

npx skills add dzhng/jevgrep --skill jevgrep

Updating the npm package does not overwrite skill files in projects; rerun jg skill to update them.

How it works

jg walks the repository hierarchy and follows qualifying branches, selecting files by content previews, then identifying source units and surrounding context. Output order is summary, file locations, reading leads, then selected source with line references. It keeps qualifying file locations even when it cannot confidently return an excerpt — no fixed top-two list. Declaration parsing exists for Python and TypeScript/JavaScript; other text uses a fallback. Output is stdout only (no report files), evidence rather than a generated answer, and answers are cached locally by default.

Evidence

Beyond the headline ($7.62→$4.52, 7/10 vs 8/10 baseline): an earlier run of the same corrected runtime solved 6/10 at $5.54. Baselines were run once and reused; runs were never pooled, and both failed the original quality gate. The sample is a tuned Python subset evaluated with Sol, so it establishes nothing about general savings, speed, or other agents.

Limits

Searches send eligible source content to Jev through the selected provider — this crosses a trust boundary. Default filtering respects ignore files and excludes hidden, dependency/build, binary, and obvious credential files, but the page states this is not a guarantee that all sensitive data is removed; choose a search root you intend to send. The authors themselves note that when you know an exact symbol or path, a direct read or rg may suffice — jg is for questions spanning unfamiliar files.

flowchart TD
    Q[jg question + root] --> F[filesystem filter: skip hidden/deps/credentials]
    F --> B{crosses trust boundary}
    B -->|sends source| J[Jev via chosen provider]
    J --> O[stdout: summary, locations, leads, excerpts]
    O --> A[agent implements/tests, fills gaps with rg/read]

Organisations named here

  • Vercel
  • OpenRouter
  • OpenCode Zen
  • TypeSafe
  • Claude Code
  • Jev
  • OpenCode

Technologies named here

  • Jevgrep
  • Jev
  • npm
  • npx skills
  • Claude Code
  • Codex
  • OpenCode
  • Bun
  • Turborepo
  • Docker
  • ripgrep
  • Node.js
  • TypeScript
  • Vercel AI Gateway
  • SWE-bench
  • GPT-5.6 Sol
  • Python

Techniques named here

  • Repository hierarchy exploration
  • Declaration parsing with fallback
  • Local result caching
  • Default filesystem filtering
  • Evidence-only retrieval for agents