jgrep (kyu1204)
Semantic grep for code, git diffs and CSV rows: one Noul per 5-60 line chunk, 16 chunks per Jev request, grep-style file:line output and exit codes for CI lint rules written in…
# jgrep **grep for what code *does*, not what it's called.** ``` jgrep "catches an error and silently ignores it" src/ ``` [](https://www.npmjs.com/package/jevgrep) [](LICENSE) [](package.json) [](https://docs.typesafe.ai) *No index. No embeddings. No LLM round-trips. A whole `src/` tree in ~2 s for about a cent.* <img src="docs/demo.gif" alt="jgrep demo: semantic search over src/ and a git diff" width="900"> </div> --- ## Why | you want to find… | `grep` / `rg` | embeddings | an LLM | **jgrep** | | ------------------------------------------ | :-----------: | :--------: | :----: | :-------: | | an exact name or string | ✅ instant | meh | 🐢 $$ | use grep | | "code that swallows errors" | ❌ | ❌ fuzzy | ✅ slow | ✅ **2 s** | | "endpoint with no auth check" *in my diff* | ❌ | ❌ | ✅ $$ | ✅ **¢** | | needs an index / vector DB | no | yes | no | **no** | jgrep runs on [Jev](https://docs.typesafe.ai), a *System One* model: it never generates text, it answers typed yes/no questions with calibrated probabilities, in parallel, at $0.042 per million input tokens with output free. jgrep packs 16 code chunks and 16 questions into one request and turns the probabilities into `file:line` hits. ## Install ```bash npm i -g jevgrep # installs the `jgrep` command jgrep init # paste your TypeSafe key, pick where to keep it, done ``` `jgrep init` verifies the key against the API, stores it with `chmod 600`, and optionally teaches Claude Code / Codex to use jgrep. Get a key at [console.typesafe.ai](https://console.typesafe.ai). <details> <summary>Prefer not to run init?</summary> ```bash export TYPESAFE_API_KEY=..