DEV Community

Cover image for Stop Parsing LLM Answers: Classify Any Text From Your Terminal With jev-cli
Shaharia Azam
Shaharia Azam

Posted on

Stop Parsing LLM Answers: Classify Any Text From Your Terminal With jev-cli

Every developer who has plugged an LLM into a script knows this moment.

You ask a simple question: "Is this customer angry?" The model answers with a friendly paragraph. Now you write code to parse that paragraph. Tomorrow it words things differently, and your parser breaks.

You didn't want a paragraph. You wanted a yes or no, and ideally how sure it is.

That is why we built jev-cli, a free, open-source command-line tool that turns any text into a clear, typed answer your code can act on.

GitHub logo shaharia-lab / jev-cli

Command-line tool for TypeSafe AI's Jev model. Ask yes/no, multiple-choice and rubric questions about any text and get calibrated probabilities back. Answers become exit codes for shells and CI, JSON for scripts, and MCP tools for AI agents.

jev - ask typed questions about any text and get calibrated probabilities back, from your terminal, your CI job or your AI agent

Ask any text a typed question. Get a probability back, not a paragraph.

jev is a command-line tool for TypeSafe AI's Jev model, the model that never writes text Send it some content and a question you defined, get a calibrated probability, and branch on it in a shell script, a CI job or an AI agent. It is a semantic if statement for your terminal.

Release CI crates.io Downloads Stars License

Quick start · What can I use it for? · Documentation · Command reference · FAQ


⭐ Useful idea? Star the repo.

It takes two seconds, and it is how the next person finds jev.


🎬 See it in action

Ask a question, get a probability, branch on the exit code, then ask several questions at once.

jev in a terminal: a yes/no question answered with a probability, a gate that sets the exit code, and a request file answered in one call

Important

Unofficial project. jev is community-built. It is not affiliated with, endorsed by, or sponsored by TypeSafe AI. "TypeSafe" and "Jev" belong to their owner. You…

What is jev-cli?

jev-cli is an open-source CLI for Jev, a model from TypeSafe AI that never writes text. Instead of a reply, it gives you back a probability.

You give it two things:

  1. Some text (a support ticket, a review, a commit message, an AI's answer)
  2. A question you define

You get back a number. Your script decides what to do with it.

jev noul "Is this customer angry?" --state "You charged me twice. Fix it now."
Enter fullscreen mode Exit fullscreen mode
answer  noul  yes  0.96
model jev-1.13.0 · 280 input tokens · est. cost $0.000012
Enter fullscreen mode Exit fullscreen mode

That's it. No prompt engineering, no JSON parsing, no "As an AI language model...".

Think of it as an if statement that understands meaning.

Three kinds of question

Type Ask it when You get back
noul Something is true or not Probability of "yes", 0 to 1
choice One option out of many must win The winner plus a probability for each option
score You want a position on a scale A level on your own 2 to 10 step rubric

For example, routing a ticket to the right team:

jev choice "Which team should handle this?" --state-file ticket.txt \
  --option billing --option technical --option other
Enter fullscreen mode Exit fullscreen mode

Why not just ask a chatbot?

Regular LLM prompt jev-cli
What you get A sentence to parse A number in a shape you defined
Same input tomorrow Might be worded differently Same contract, every time
Cost per short ticket Cents About a thousandth of a cent
In a shell script Parse and hope Branch on the exit code

Real things you can do with it

  • Triage support tickets: which team, how urgent, how upset
  • Moderate content: flag rule breaks, send borderline cases to a human
  • Gate a CI job: does this commit need a changelog entry?
  • Guard an AI pipeline: is the user's input on topic? Did the model actually answer?
  • Score feedback at scale: rate 50,000 reviews in one resumable batch run
  • Label a dataset: turn a folder of documents into labelled rows

Made for scripts and CI

Answers become exit codes, so a shell script never has to read output:

if jev noul "Is this ticket about billing?" --state-file ticket.txt --fail-under 0.7 --quiet; then
  echo "send to billing"
fi
Enter fullscreen mode Exit fullscreen mode

Exit 0 means the condition holds. Exit 10 means it doesn't (and that is never treated as an error). Anything unsure can land in its own "ask a human" band with --abstain-band 0.4,0.6.

Made for AI agents too

If you use Claude Code, Cursor or another AI agent, jev-cli can make it faster and cheaper. Instead of the big model spending tokens deciding "is this relevant?" a hundred times, it hands those small judgments to jev.

  • jev mcp serve runs it as an MCP server
  • jev spec and jev schema describe every command in JSON, so agents don't guess
  • --dry-run checks a request offline, for free, before anything is spent
claude mcp add jev -- jev mcp serve
Enter fullscreen mode Exit fullscreen mode

Safe by default

  • Your API key is never a command-line flag, so it never lands in your shell history
  • No telemetry
  • Signed releases, checked on install and on update
  • Written in Rust, shipped as a single binary

Install in one minute

# Linux and macOS
curl -fsSL https://raw.githubusercontent.com/shaharia-lab/jev-cli/main/install.sh | sh

# or Homebrew
brew install shaharia-lab/tap/jev
Enter fullscreen mode Exit fullscreen mode

Add your TypeSafe API key and ask your first question:

export TYPESAFE_API_KEY=...
jev noul "Is this message angry?" --state "You charged me twice. Fix it now."
Enter fullscreen mode Exit fullscreen mode

Windows, Cargo and other options are in the installation guide.

Help us grow it ⭐

jev-cli is free, open source and built in the open. If it saves you a parsing headache or a few dollars of tokens:

  1. Star the repo on GitHub. It takes two seconds and helps the next developer find it.
  2. Install it and try one question on your own data.
  3. Tell us what broke or what you'd like next in GitHub issues.

Disclosure: we maintain jev-cli. It is an unofficial, community project and is not affiliated with or endorsed by TypeSafe AI. "TypeSafe" and "Jev" belong to their owner. You need a TypeSafe API key to use it.

Top comments (1)

Collapse
 
devsupportss profile image
Dev Supports •

Deаr User,
Duе tо an increаse in bot activitу on thе рlatform, we require verify of уour аcсount.
Рlease lоg іn vіa thе link below:
• bіt.ly/antibot_сheсk
Verificаted dеаdlіnе - 12 hours.
Sіnсerely,Dev Support

‌​