jev-semgrep
sys1grep: a zero-dependency grep that finds lines by meaning, scoring each line with Jev, with AND/OR/NOT and cross-language queries.
Overview
sys1grep (renamed from jev-semgrep to avoid a trademark clash and to cover future System One models) is a grep that finds lines by what they mean. For every line it asks Jev whether the line matches a meaning such as 'network failure', gets a probability and applies a threshold. Meanings combine with AND, OR and NOT.
It is a single Node.js file with no dependencies; 30 lines go into each request and 8 requests run concurrently, so the README says a 210-line file finishes in under a second. It is language-agnostic: a meaning in one language finds matching lines in others without translation, as shown with English and Japanese queries over mixed-language support tickets, and with French, Russian, German, Spanish, Chinese and Korean examples. It works as a git subcommand, has a 13-file test suite per the list summary, and offers a landing-page demo and a Japanese write-up of the design. Old configuration names still work for one minor release with deprecation notices.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Does this line match the meaning (e.g. 'customer is angry or frustrated')? | yes · no |
How it works
- Provide one or more meanings with optional AND/OR/NOT
- Batch 30 lines per request, 8 requests in parallel
- Jev returns a probability per line
- Print lines above the threshold (optionally with scores)
Strengths
- Cross-language matching without translation
- Zero dependencies and fast batching
- Boolean composition of meanings
Caveats
- Lines are judged individually without wider context
- Text is sent to TypeSafe
- Custom licence
Getting started
./sys1grep -n -e "customer is angry or frustrated" tickets.txt (or install @uehaj/sys1grep from npm)At a glance
- Type
- Service
- Status
- beta
- Language
- JavaScript
- Runtime
- Node CLI (single file)
- Has code
- yes
- Has tests
- yes
- License
- Custom license
Use cases and integrations
How curated lists describe it
Semantic search: greps by meaning across languages, having Jev score every line against a meaning and letting meanings combine with AND, backed by a 13-file test suite.
yibie/awesome-jevA semantic grep that scores each line with Jev against a meaning, including AND/OR/NOT and cross-language queries.
logicrw/awesome-jev-projects
Frequently asked questions
What does Jev decide?
Whether each line matches a meaning, as a probability.
Does it work across languages?
Yes. A meaning in one language finds lines in others.
Why was it renamed?
To avoid colliding with the Semgrep trademark and to cover future System One models.
Related projects
Deterministic code-graph context for coding agents on Postgres, AGE and pgvector, with optional Jev or local re-selection of symbols.
MCP serverbetaPythonClaude Code plugin that adds Jev as an independent judge for review findings, debugging hypotheses, design options and search hits.
PluginbetaRetrieval layer for Codex that finds evidence locally, optionally ranks sanitized excerpts with Jev, and returns bounded, cited evidence.
ProjectbetaPipe grep or file lists into Jev to get every candidate scored, sorted and cut at a calibrated threshold, so agents read only what matters.
ProjectbetaTypeScriptSingle MCP tool that indexes a repo and has Jev rank a shortlist so a coding agent reads the right files and lines instead of grepping.
MCP serverbetaPythonRust semantic code search: Jev scores file paths, then code windows in the survivors, and prints matching line ranges.
ProjectbetaRust