jeff
Go CLI for Jev that returns numbers to shell scripts, with threshold exit codes and a weighted multi-dimension rank command.
Overview
jeff by saembit is a Go command-line client for Jev, built with cobra so Jev can be used from shell scripts, CI jobs or agents without writing a client each time. State comes from a flag, a file, stdin or a pipe, with JSON sent as structured state. Commands cover noul, choice and score, an eval command that runs a YAML file of questions against one state, and models to list what the account can use; every command supports JSON output and pinning a versioned model.
The rank command is the main reason the tool exists. A YAML spec lists items, weighted dimensions each with a rubric, and shared context; jeff sends one Score question per item per dimension in a single request and sums weight times score in code, so Jev never sees the weights and changing one is just a rerun of the arithmetic. Thresholds such as --fail-under turn probabilities into exit code 10 for scripting. The README includes a section on what Jev is bad at.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Does this commit describe a user facing change? | yes · no |
| Choice | Which team handles this? | billing · technical · sales |
| Score | How frustrated is the customer? | Calm · Frustrated · Very angry |
How it works
- Pipe or pass state to a jeff command
- Jev answers the question(s) in one request
- Threshold flags map results to exit codes
- rank sums weight x score per item in code
Strengths
- Direct use from shell and CI via exit codes
- Weights applied in code, so reweighting costs nothing
- Single request for N items x M dimensions
Caveats
- Requires Go and a TypeSafe key
- Author calls it imperfect but useful
Getting started
`go install github.com/saembit/jeff-cli/cmd/jeff@latest`, `export TYPESAFE_API_KEY=...`, then e.g. `jeff noul "..." --fail-under 0.7`.At a glance
- Type
- CLI
- Status
- beta
- Language
- Go
- Runtime
- CLI
- Has code
- yes
Use cases and integrations
How curated lists describe it
Developer tooling: Go CLI whose rank command asks one Jev `Score` per item per weighted dimension of a YAML spec in a single request and sums weight times score in code to order the items, with noul, choice and score commands that turn a threshold into exit code 10 for shell scripts and CI.
yibie/awesome-jevGo CLI where Jev scores each item on each weighted dimension of a YAML spec in one request and code sums the weights into a ranking, with noul, choice and score commands whose thresholds become exit codes for shell and CI.
cobanov/awesome-jev
Frequently asked questions
What does jeff rank do?
Scores every item on every weighted dimension in one Jev request and sums weight times score in code.
How do I use it in CI?
Use threshold flags like --fail-under, which make jeff exit with code 10 when the gate fails.
Does Jev see my weights?
No, weights are applied in code after scoring.
Related projects
Pipe-friendly CLI that lets shell scripts and agents ask Jev typed questions and gate on the answers with exit codes.
ProjectbetaGoModular JDK 21 client for System One with typed record mapping, a CLI uber-jar for CI, and a testkit module.
LibrarybetaJavaChinese-documented CLI that turns content into script-ready Jev judgments via noul, choice, score and classify commands.
CLIbetaPythonSysOneScript language, Go System One client, semlint semantic code checks and a VS Code Studio for building with Jev judgments.
LibrarybetaGoShell command, jev, that asks Jev noul, choice and score questions about piped text and prints numbers.
CLIbetaTypeScriptOrchvia: local engine with TS and Python SDKs that runs Claude Code and Codex agents as a team, routing tasks by code and typed decisions.
LibrarybetaTypeScript