jevable
Bash-native CLI that filters any stream by meaning with Jev, like grep for semantics, so an agent wakes only for lines that matter.
Overview
jevable gives an agent Jev as an atomic tool: a bash-native CLI that filters any stream by meaning. You pipe in lines and ask one plain-English question, such as does this line report that a dependency is down; matching lines pass through unchanged, with grep-style exit codes, an optional JSON mode with scores, a stricter threshold flag and an invert flag. Rules can mix ordinary CEL conditions with judge.boolean, judge.choice and judge.score calls, and ordinary conditions short-circuit so many lines never reach the model. Identical questions on identical material are cached within a run, and only the material passed to judge leaves the machine, truncated for long strings.
The main use is making an agent's monitor smart: instead of waking a coding agent on a fixed heartbeat, jevable watches logs and wakes it only for relevant events. In the author's 334-event benchmark across five streams, it cut always-on cost from an estimated $40.06 for a 30-minute heartbeat to $5.44 while catching 44 of 52 relevant events (85%). A guide command walks an agent through setup and covers Claude Code, Codex, OpenClaw, Hermes, pi and dsh. It works with TypeSafe, OpenRouter or Vercel AI Gateway keys and has CI and an npm package.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Does this line report that a dependency is down? (any user-supplied yes/no question) | — |
| Choice | Which category does this line belong to (judge.choice)? | — |
| Score | Where does this line fall on an ordered scale (judge.score)? | — |
How it works
- Pipe a stream into jevable with a question or rule
- Plain conditions run first; remaining lines sent to Jev
- Lines above the threshold pass through unchanged
- Agent is woken only by matches
Strengths
- Composes with any shell pipeline
- README reports 86% lower always-on cost than a heartbeat
- Caching and short-circuiting reduce calls
- Works across several agent runtimes
Caveats
- Recall was 85% in the benchmark, so some relevant events are missed
- Cost figures are replay estimates
Getting started
npx -y jevable key YOUR_API_KEY, then `tail -n 0 -F app.log | npx -y jevable "Does this line report that a dependency is down?"`.At a glance
- Type
- Project
- Status
- beta
- Language
- TypeScript
- Runtime
- Node CLI
- Has code
- yes
- Has tests
- yes
Use cases and integrations
How curated lists describe it
Grep that reads meaning. Make your agent's monitor smart: Jev judges each line, and only what matters wakes the agent.
hellogumbo/awesome-jev
Frequently asked questions
How is it like grep?
Matching lines pass through unchanged and exit codes follow grep: 0 match, 1 none, 2 error.
How much does it save?
In the author's benchmark, $5.44 versus $40.06 for a 30-minute heartbeat, with 85% recall.
What data leaves my machine?
Only the material passed to judge, truncated for long strings.
Related projects
Pre-flight hook for WorkBuddy and Hermes Agent where Jev classifies each prompt on nine dimensions and injects routing cues.
ProjectbetaPythonAdaptive thinking-level router for Pi: Jev or local rules pick low/medium/high/xhigh at task start, on reasoning failures and when stable.
ProjectbetaTypeScriptCost-, cache- and quota-aware LLM router that classifies each turn with a Jev-class model, prices every route, and checks cheap answers.
ProjectprototypePythonTypeScript/Bun launcher that asks Jev which model and reasoning effort each Codex, Claude Code or Pi turn should use.
ProjectbetaTypeScriptScores OpenTelemetry logs with Jev for diagnostic value, priority and routing before any expensive LLM analysis.
ProjectbetaTypeScriptDeterministic-first 'System 1.5' gate for coding agents: triages test failures, breaks doom loops and governs effort, with optional Jev.
CLIbetaPython