shipwithjev

Catalog / Tools & apps

0134GitHub

jevkit

A Rust CLI for Jev, with a linter that checks questions before you pay.

ariel-frischer/jevkitREADME ↗
██ ██████ ██  ██ ██ ▄█▀ ██ ██████ 
   ██ ██▄▄   ██▄▄██ ████   ██   ██   
████▀ ██▄▄▄▄  ▀██▀  ██ ▀█▄ ██   ██   
</pre>

**Typed decisions from the command line.**

[](https://github.com/ariel-frischer/jevkit/actions)
[](LICENSE)

</div>


[TypeSafe’s Jev](https://docs.typesafe.ai) returns typed decisions instead of
prose. `jevkit` is a CLI for it: ask Jev questions about a passage, get back
probabilities, labels, and scores. `jev lint` validates a question set offline,
before you spend anything on a call.

## Install

```sh
curl -fsSL https://raw.githubusercontent.com/ariel-frischer/jevkit/main/install.sh | sh
```

More ways to install: see [Installation details](#installation-details).

## Usage

```console
$ jev ask -q severity.yaml "The deploy script drops the production database with no confirmation."
{
  "risky": 0.96,
  "severity": "high",
  "urgency": 2.82
}
```

No file, either: a question set passed inline is a one-liner.

```console
$ jev ask --question-set '{"risky":{"type":"noul","instructions":"Is this risky?"}}' "jumping into a volcano"
{
  "risky": 0.97
}
```

**Built for AI agents too.** `jev` ships with an [agent skill](#the-agent-skill)
that teaches a coding agent to drive the CLI; agents can also consume it via
`npx skills add ariel-frischer/jevkit`.

## Features

- 🎯 **Typed questions**: `noul` (probability), `choice` (label), `score` (level), sent in terse YAML or JSON, by file, stdin, or `--question-set` inline
- 🦀 **Offline linting**: 13 rules that catch billed-but-useless questions before a call; documented exit codes for CI
- 🔩 **Machine-first I/O**: JSON on stdout (compact when piped, pretty on a TTY; `--compact`/`--pretty` to force), diagnostics on stderr, `0/1/2` exit codes (ok / usage·API / lint-rejected)
- 📊 **Usage ledger**: `jev ask --

Also filed under Tools & apps

  1. 0573

    Support chat: agent offered a human escalation path

    A frustrated customer hits a bot loop twice; the judge checks whether a human handoff was offered.

    everyai-com · Tools & apps

  2. 0572

    Subscription cancel: effective date is explicit

    An agent cancels a subscription; the judge checks the exact date the cancellation takes effect.

    everyai-com · Tools & apps

  3. 0571

    Sales quote: numbers match the official price list

    An agent quotes $29/seat against a price list; the judge checks the quote matches exactly.

    everyai-com · Tools & apps

  4. 0570

    Refund chat: agent stated the amount before issuing it

    A support agent issues a $42.50 refund; the judge checks the exact amount was stated before the refund was confirmed.

    everyai-com · Tools & apps