Repo of the Day
dzhng/jevgrep
Published: Oct 2, 2026
Open repository ↗Find code by asking what it does. A CLI for coding agents that uses Jev to discover relevant files and source context
Summary
jevgrep is a TypeScript CLI (invoked as jg) that helps coding agents locate relevant source files by describing what the code does in natural language. It uses the Jev model through a configurable provider (Vercel AI Gateway, TypeSafe, OpenRouter, OpenCode Zen, or a custom TypeSafe-compatible endpoint) to judge relevance across folders, files, and declarations, then prints a summary, file list, and verbatim excerpts with line references on stdout. The project is released under the MIT license.
What it is useful for
jevgrep fits the "finding the right files" phase of unfamiliar work. The README shows questions like "Where is authentication checked before a request reaches a handler?", "How are database connections created, pooled, and closed?", and "Which tests cover retry behavior when a request times out?" as typical input. It hands evidence — file lists, excerpts, and declaration and call locations — to a coding agent (Claude Code, Codex, OpenCode and others) rather than producing a final answer.
Declaration parsing is supported for Python, TypeScript/JavaScript, Go, and Rust; other languages use a text fallback. The README notes that when you already know an exact symbol or path, a direct read or rg search may be all you need, so jevgrep is most useful for questions that span unfamiliar files. Its output is explicitly described as evidence, not a generated answer or a guarantee that every relevant file was found.
How engineers can use it
The CLI requires Node.js 22+ and runs on macOS, Linux, or Windows. The documented setup is:
npm install -g @dzhng/jevgrep
jg auth
jg skill
jg "How are telemetry events recorded and sent?" ./my-project
jg auth prompts for a provider and saves its key in an owner-only config file. jg skill is required so your coding agent knows how to invoke jg; it detects supported agents and asks where to install, with --global or --yes available. Alternatively, npx skills add dzhng/jevgrep --skill jevgrep installs the skill without the CLI first.
Before searching an unfamiliar tree, jg files [root] reports how many files a search would consider, grouped by top-level directory, with no provider key or network request. Default filters respect ignore files and exclude hidden, dependency, build, binary, and obvious credential files. The README flags this as a filter, not a guarantee that sensitive information has been removed, and recommends passing --exclude with gitignore patterns for one-off path skips (for example --exclude '**/*.test.ts').
There is no jg upgrade command. Reinstall with npm install -g @dzhng/jevgrep@latest and rerun jg skill to update the binary and skill separately; the npm upgrade does not overwrite installed skill files. Run jg --help for cache controls and other flags.