Config file
jevx keeps everything it writes in one JSON file, ~/.config/jevx/config.json (override the path with JEVX_CONFIG). The commands (profile, question, defaults, plugin) edit it for you; you can also edit it by hand. It never holds a key’s value, only the $VAR reference.
An illustrative file with every top-level field (values are examples, not defaults):
{ "default_profile": "jev", "profiles": { "jev": { "url": "https://your-endpoint/v1/systemone", "model": "MODEL", "headers": { "Authorization": "Bearer $YOUR_KEY_VAR" } }, "local": { "url": "http://127.0.0.1:21131/v1/systemone", "model": "my-model", "defaults": { "parallel": 4 } } }, "defaults": { "yes": 0.85 }, "questions": { "urgent": { "type": "noul", "instructions": "Is this urgent for the person receiving it?", "yes": 0.85 } }, "plugins": {}, "local_context_section": "Jev"}Top-level fields
Section titled “Top-level fields”| field | meaning |
|---|---|
default_profile |
the profile used when --profile is not given |
profiles |
name → profile (below) |
defaults |
settings that override the built-ins; see Settings |
questions |
named questions: jevx ask NAME |
plugins |
name → plugin; see Plugins |
local_context_section |
the section heading, global and folder (default Jev; any level) |
local_context_file |
file holding the folder section (default AGENTS.md, then CLAUDE.md) |
global_context_file |
global files holding the section (comma list, ~ expanded) |
Profile
Section titled “Profile”| field | meaning |
|---|---|
url |
the System One endpoint |
model |
the model name sent with each request |
headers |
header name → value; $VAR / ${VAR} expanded per request |
questions |
optional question pack (JSON) for judge |
defaults |
settings that apply only when this profile is used |
note |
free text |
endpoint, key_env |
legacy names, still read |
Question
Section titled “Question”| field | meaning |
|---|---|
type |
noul (yes/no), choice or score |
instructions |
the question text |
criteria |
noul {true, false} · choice {key: desc} · score [levels], lowest first |
context |
background for this question only, sent ahead of its instructions |
yes, no, min_confidence |
this question’s own thresholds |
Per-repo files
Section titled “Per-repo files”The nearest .jevx/ directory from the working directory up (found like .git) can hold:
.jevx/questions.json: questions with the same shape asquestionsabove, written byquestion add --local..jevx/plugins.json: plugins, written byplugin add --local.
A local entry wins over a global one of the same name. Both files are meant to be committed.
Something wrong or unclear on this page?Open an issue on GitHub.