[{"data":1,"prerenderedAt":4},["ShallowReactive",2],{"readme:jevgrep":3},"\u003Cp>\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fdzhng\u002Fjevgrep\u002FHEAD\u002Fassets\u002Fcover.png\" alt=\"jevgrep — Same intelligence. About 30% lower cost.\" \u002F>\u003C\u002Fp>\n\u003Ch1>jevgrep\u003C\u002Fh1>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@dzhng\u002Fjevgrep\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002F@dzhng\u002Fjevgrep?style=flat-square&amp;color=ef5638\" alt=\"npm\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdzhng\u002Fjevgrep\u002Fblob\u002FHEAD\u002FLICENSE\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue?style=flat-square\" alt=\"MIT license\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdzhng\u002Fjevgrep\u002Fblob\u002FHEAD\u002Fapps\u002Fcli\u002FREADME.md\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNode.js-22%2B-339933?style=flat-square\" alt=\"Node.js 22+\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdzhng\u002Fjevgrep\u002Factions\u002Fworkflows\u002Fpublish.yml\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fdzhng\u002Fjevgrep\u002Fpublish.yml?style=flat-square&amp;label=release\" alt=\"Release\" \u002F>\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Same intelligence. ~30% lower cost.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Find code by asking what it does. In our ten-task SWE-bench comparison, Jevgrep\nsuccessfully completed the same 8 of 10 tasks as the baseline, at lower cost.\u003C\u002Fp>\n\u003Cp>Coding agents spend part of every unfamiliar task finding the right files.\nJevgrep gives them a place to start: ask a repository question, and \u003Ccode>jg\u003C\u002Fcode> returns\nrelevant files, reading leads, and verbatim source excerpts in one stdout response.\nIt uses \u003Ca href=\"https:\u002F\u002Fvercel.com\u002Fai-gateway\u002Fmodels\u002Fjev\" rel=\"nofollow ugc noopener\">Jev\u003C\u002Fa> to judge relevance across\nfolders, files, and declarations. Your coding agent then implements and tests the change.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-sh\">npm install -g @dzhng\u002Fjevgrep\njg auth\njg skill\njg \"How are telemetry events recorded and sent?\" .\u002Fmy-project\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Requires \u003Cstrong>Node.js 22+\u003C\u002Fstrong>, \u003Cstrong>macOS, Linux, or Windows\u003C\u002Fstrong>, and a key for \u003Cstrong>Vercel AI Gateway, TypeSafe, OpenRouter, OpenCode Zen, or a custom TypeSafe-compatible endpoint\u003C\u002Fstrong>.\nNo separate Python, Bun, or ripgrep installation is required to use \u003Ccode>jg\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Provider selection requires \u003Cstrong>0.3.0 or newer\u003C\u002Fstrong>. Upgrade an older installation with\n\u003Ccode>npm install --global @dzhng\u002Fjevgrep@latest\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch2>Install the agent skill — required for agent setup\u003C\u002Fh2>\n\u003Cp>Installing the CLI alone does not teach your coding agent to use it. \u003Cstrong>Install\nthe skill as well\u003C\u002Fstrong>, from the project where your agent works:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-sh\">jg skill\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The installer detects your coding agents (Claude Code, Codex, OpenCode and\nothers) and asks where to install. Add \u003Ccode>--global\u003C\u002Fcode> for a user-wide install, or\n\u003Ccode>--yes\u003C\u002Fcode> for unattended installation. The\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdzhng\u002Fjevgrep\u002Fblob\u002FHEAD\u002Fskills\u002Fjevgrep\u002FSKILL.md\" rel=\"nofollow ugc noopener\">skill\u003C\u002Fa> explains installation, invocation and the meaning of returned context.\nIt leaves research and implementation decisions to the calling agent. The current repository skill\nchecks for \u003Ccode>jg\u003C\u002Fcode> and installs the CLI if it is missing; authentication still needs\nyour selected provider’s key. The skill installer itself does not configure credentials.\u003C\u002Fp>\n\u003Cp>\u003Ccode>jg skill\u003C\u002Fcode> delegates to the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fvercel-labs\u002Fskills\" rel=\"nofollow ugc noopener\">skills CLI\u003C\u002Fa>\nand needs npm\u002Fnpx plus network access. You can also run that installer directly,\nwithout the CLI installed:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-sh\">npx skills add dzhng\u002Fjevgrep --skill jevgrep\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>In 0.1.0, \u003Ccode>jg skill\u003C\u002Fcode> only prints the bundled skill; use \u003Ccode>npx skills\u003C\u002Fcode> with that version.\u003C\u002Fp>\n\u003Ch3>Upgrade\u003C\u002Fh3>\n\u003Cp>There is currently no \u003Ccode>jg upgrade\u003C\u002Fcode> command. Upgrade the CLI with npm:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-sh\">npm install -g @dzhng\u002Fjevgrep@latest\njg --version\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Update the installed skill separately by rerunning \u003Ccode>jg skill\u003C\u002Fcode>. Updating the npm package does not\noverwrite skill files in your projects. See the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdzhng\u002Fjevgrep\u002Fblob\u002FHEAD\u002Fapps\u002Fcli\u002FREADME.md\" rel=\"nofollow ugc noopener\">package guide\u003C\u002Fa>\nfor authentication details.\u003C\u002Fp>\n\u003Ch2>Start with a question, leave with source\u003C\u002Fh2>\n\u003Cp>Use \u003Ccode>jg\u003C\u002Fcode> when you know the behavior you need to understand but not where it lives:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-sh\">jg \"Where is authentication checked before a request reaches a handler?\" .\njg \"How are database connections created, pooled, and closed?\" .\u002Fsrc\njg \"Which tests cover retry behavior when a request times out?\" .\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Jevgrep explores the repository hierarchy and follows qualifying branches. It\nselects files using content previews, then identifies useful source units and\nsurrounding context. It keeps qualifying file locations even when it cannot\nconfidently return an excerpt; it does not force every search into a fixed top-two\nlist.\u003C\u002Fp>\n\u003Cp>The summary and compact file list come first, followed by selected source with\nline references, then detailed declaration and call locations.\u003C\u002Fp>\n",1791762981488]