grev
Unix filters (grev, tagv, rank, sortv, cutv, uniqv and more) that select, label and rank lines by meaning with Jev.
Overview
grev is a set of Unix filters that ask questions instead of matching patterns. grev 'is a vegan meal' menu.txt keeps lines whose Jev Noul clears 0.5. Sibling tools label and route with Choice (tagv, optionally splitting into files), rank by Score (rank), sort by a described order (sortv), pick relevant passages (pickv), cut fields by meaning (cutv), deduplicate by meaning (uniqv), bisect a log by meaning (lookv), edit characters by context (trv), and guard commits with an exit code (isv), among others.
Because Jev answers typed questions rather than generating text, output is always your own input, with labels and scores only as explicit columns. The README says a few thousand lines cost fractions of a cent and take seconds, and examples include searching nginx and journal logs, filtering commit messages and refusing commits that add a secret. It installs with Go or from source with man pages and shell completions, and includes an agent skill for Claude Code and other agents.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Does this line match the description (e.g. is a vegan meal)? | yes · no |
| Choice | Which label fits this line (tagv)? | — |
| Score | How urgent is this ticket (rank)? | not urgent · soon · urgent · critical |
How it works
- Pipe text into a grev tool with a question
- Tool batches lines to Jev
- Keep, label, rank or sort lines by the answers
- Output only original input lines plus optional columns
Strengths
- Output never contains generated text
- Composable Unix pipeline tools
- Very low cost per thousand lines
Caveats
- Lines are sent to TypeSafe
- 0.5 default threshold may need tuning
Getting started
go install github.com/aurorainfra/grev/cmd/...@latest, set TYPESAFE_API_KEY, then grev 'is a vegan meal' menu.txt.At a glance
- Type
- CLI
- Status
- beta
- Language
- Go
- Runtime
- CLI tools
- Has code
- yes
- License
- MIT OR Apache-2.0
Use cases and integrations
How curated lists describe it
Developer tooling: grep, sort, cut and uniq that match by meaning — `grev 'is a vegan meal' menu.txt` keeps the lines whose Jev `Noul` clears 0.5, sibling filters route by `Choice` and rank by `Score`, and the output is always your own input, never generated text.
yibie/awesome-jevUnix filters that ask a question instead of matching a pattern, so a pipe can select its lines by meaning.
MrJev/awesome-jev
Frequently asked questions
Can grev invent text?
No, output is always your input; labels and scores appear only as columns.
Can it guard commits?
Yes, isv returns an exit code, e.g. to refuse commits that add a secret.
How do I install it?
With go install or from source with make.
Related projects
Splunk search command that asks Jev typed questions about events and adds probabilities, choices and scores as fields.
AppbetaPythonSix evidence-oriented Jev tools for pi, omp and any MCP client: ask about code, find files, locate ranges, check diffs and select tests.
ServicebetaTypeScriptClaude Code plugin that finds fuzzy decision points in an app and ranks where a Jev question could replace them, with precedents.
ProjectbetaPythonSkill and MCP service that audits an app for AI calls that are really decisions and shadow-tests migrating them to Jev.
MCP serverbetaTypeScriptGo CLI that gives coding agents Jev-powered lookups and calibrated yes/no or choice verdicts instead of reading whole files.
CLIbetaGoCLI that searches code, docs and logs by natural-language condition, asking Jev a yes/no question per candidate with a threshold.
CLIbetaTypeScript