Skip to content

Getting started

npm (macOS, Linux, Windows)
npm i -g @muthuishere/jevx
macOS / Linux
curl -fsSL https://muthuishere.github.io/jevx/install.sh | sh
Windows
curl -fsSLo install.cmd https://muthuishere.github.io/jevx/install.cmd && install.cmd

Each one puts the jevx binary on your PATH, copies the agent skill into ~/.claude/skills, ~/.agents/skills and ~/.codex/skills (if that folder exists), and adds the Claude Code hook entries, which stay disabled. JEVX_NO_HOOK=1 installs the skills only. Details in Install.

jevx talks to hosted Jev out of the box. There is nothing to configure: put your key in the environment and you are done.

~/.zshrc or ~/.bashrc
export TYPESAFE_API_KEY=... # your key from typesafe.ai

jevx reads the variable when a request is sent and never writes it anywhere. Without it, every call stops with a clear message and exit code 4 (never a fake “no”):

Terminal window
$ echo "Prod is down" | jevx is "Is this urgent?"
jevx: set your Jev API key: export TYPESAFE_API_KEY=... (from typesafe.ai). Or use another endpoint: jevx profile add NAME URL --model M --header 'Authorization: Bearer $YOUR_VAR' && jevx profile use NAME

Only if you run a different System One endpoint (a self-hosted model, a personal model on your machine, another provider), add a profile: a URL, a model and headers. $VAR in any of them is expanded at request time, so keys stay out of the config file.

Terminal
jevx profile add local http://127.0.0.1:21131/v1/systemone --model myjev # a local model: no key needed
jevx profile add acme https://jev.acme.dev/v1/systemone --model jev-latest --header "Authorization: Bearer $ACME_KEY"
Terminal window
$ jevx profile list
* jev https://api.typesafe.ai/v1/systemone model=jev-latest Authorization: Bearer $TYPESAFE_API_KEY (built in)
local http://127.0.0.1:21131/v1/systemone model=myjev
(* = default; change with: jevx profile use NAME)

The built-in jev stays the default. Use a custom one for a single call with --profile local, or make it the default with jevx profile use local.

Terminal window
$ echo "Prod is down" | jevx is "Is this urgent?"; echo "exit $?"
yes 0.92
exit 0

The word is the verdict, the number is P(yes). Exit 0 means yes, 1 no, 3 unsure, 4 an error. See Ask for every form.

Nothing more to do. The skill is installed, and Claude Code or Codex loads it when a task matches its description (classify, triage, filter, rank, “is this X”, “which of these”). Using it from an agent shows what the agent is told.

Something wrong or unclear on this page?Open an issue on GitHub.