Skip to content
MrJev

SemDecide

Unix-style CLI for typed semantic decisions: classify, score, filter, and guard inside shell scripts, CI, and data pipelines.

View on GitHub →

Hands-on review

grep for meaning and jq for judgment, with exit codes a CI job can branch on. Small, dependency-free, and it does the boring parts for you.

Good for

  • Putting a judgment in a shell pipeline without writing any glue
  • CI gates: a stable exit code per outcome, including 'not sure'
  • All three question types from the command line, over text or JSONL

Watch out for

  • Whatever you pipe in is what gets sent; there is no redaction
  • Six stars, version 0.2.1, one maintainer
  • A judgment per record: a long JSONL stream is a long bill

Tested Sep 20, 2026 at 33cf5c03c50e · Python 3.12 in Docker, offline; 34 tests plus 6 subtests

How we reviewed this: we installed it in Docker on Python 3.12 and ran its tests offline. We made no Jev calls.

What it does

SemDecide, by Sharvil Saxena, is a command-line front end for typed decisions:

printf '%s' 'Login from a new country, followed by payout changes.' \
  | semdecide is 'This describes a plausible account takeover'

is asks a Noul, route a Choice, score a Score, and there’s a filter mode for JSONL streams. What you get back is a predicate, a route, a score and — the part that makes it useful in CI — a stable process exit code, including a distinct one for “not confident enough”.

It has no runtime dependencies, ships a changelog, a security policy and a contributing guide, and its 34 tests pass offline in a quarter of a second.

What to know

The state is whatever you piped in, unredacted, and it’s one judgment per record — so a filter over a large JSONL file is a call per line.

Verdict

An honest little tool that removes exactly the glue you’d otherwise write: prompt shape, retry, confidence handling, exit codes. If you already think in pipelines, it will fit your hand immediately.

For searching rather than deciding, see semgrep.

See how it compares with other tools in Best Jev tools, tested hands-on.

Review updated Sep 20, 2026. Numbers quoted from the project are its author's own; we don't publish our own measurements of Jev.

More in Command-Line Tools

jevgrep (dzhng)

★ 3.1k▲ 239

dzhng/jevgrep

Finds code by what it does rather than what it matches: a CLI for coding agents that asks which files and which regions are relevant to a description. Unrelated to the JevGrep above, which has the same name.

TypeScriptReviewed

webctl

★ 163▲ 1

dorkitude/webctl

Search CLI for agents: results from up to three backends are scored by Jev against your query and an explicit --goal, and only the relevant ones reach the agent's context. Its benchmark excludes an arm it could not observe.

GoReviewed

sys1grep

★ 150

uehaj/sys1grep

Greps by meaning rather than pattern, scoring every line against a description and combining meanings with AND, OR and NOT; a single dependency-free Node file. Japanese and English. Formerly jev-semgrep.

JavaScriptReviewed

Get new Jev projects every week

New Jev releases, pricing changes, and the best new projects, once a week. No spam; unsubscribe anytime.

Powered by Buttondown. See our privacy policy.