go-jev
Go SDK for TypeSafe Jev with a jev-cli built for UNIX pipelines, supporting single and batched typed questions.
Overview
go-jev is a Go SDK for TypeSafe's Jev that returns typed answers (yes/no probability, choice, score) instead of text, plus jev-cli, a command-line tool built on it for UNIX pipelines. Client.Ask sends one question and returns an answer; Client.Evaluate sends a map of questions in one request, and state may be any JSON value. Options preserve choice order, and a nil description is sent as null.
The client is configured through functional options for API key, model (default jev-latest), endpoint URL, per-request timeout including retries, HTTP client and retry count on 429 and 529 responses. The package deliberately reads no environment variables itself. Without an API key no Authorization header is sent, and the default endpoint is TypeSafe's /v1/systemone, which can be changed to point at compatible servers.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which team should handle this? | billing · technical · sales |
| Yes / no | Is this urgent? | yes · no |
| Score | How frustrated? | Calm · Frustrated · Very angry |
How it works
- go get github.com/mattn/go-jev
- Create a client with options
- Call Ask or Evaluate
- Use typed answers or pipe jev-cli output
Strengths
- Idiomatic Go API
- Pipeline-friendly CLI
- Explicit configuration, no hidden env reads
Caveats
- Community SDK
Getting started
go get github.com/mattn/go-jev, then jev.NewClient(jev.WithAPIKey(os.Getenv("TYPESAFE_API_KEY"))).At a glance
- Type
- CLI
- Status
- beta
- Language
- Go
- Runtime
- library + CLI
- Has code
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
Go SDK and CLI for TypeSafe Jev: typed decisions (yes/no, choice, score) from a model
logicrw/awesome-jev-projectsGo SDK and CLI for TypeSafe Jev: typed decisions (yes/no, choice, score) from a model.
hellogumbo/awesome-jevGo SDK with a `jev-cli` built on it, shaped for UNIX pipelines.
MrJev/awesome-jev
Frequently asked questions
Does it read TYPESAFE_API_KEY automatically?
No, the package reads no environment variables; pass the key explicitly.
Can I batch questions?
Yes, with Client.Evaluate.
Is there a CLI?
Yes, jev-cli for UNIX pipelines.
Related projects
Hack Club's lightweight LLM proxy, listed for adding a Jev forwarding endpoint behind its auth, limits and usage logging.
MCP serverproductionTypeScriptAx, a DSPy-style multi-language LLM framework, listed with a native TypeSafe provider for Boolean, Choice, Score and raw Jev questions.
PluginproductionTypeScriptEffect TypeScript library whose @effect/ai-typesafe package maps classify, probability and rating operations to Jev questions.
ProjectproductionTypeScriptPHP monorepo whose Polyglot module adds a TypeSafe driver for typed Noul, Choice and Score decisions alongside LLM inference.
ProjectproductionPHPGo MCP server giving any client typed Jev decisions via OpenRouter or TypeSafe, with validated answers and no paid retries.
MCP serverproductionGoSimon Willison's LLM plugin that adds Jev as a model for yes/no, choice and score questions from the command line.
PluginproductionPython