JevX
CLI and MCP tool that finds hard-coded judgment calls in your code, scores how well Jev fits, and replaces strong fits with a fallback.
Overview
JevX looks for hard-coded rules in a codebase that are really judgment calls, such as regexes guessing what an error means, keyword lists guessing customer intent, or slice(0, 3) guessing what is best. It scores each candidate three ways (your own AI, TypeSafe's Jev, and patterns learned from real Jev projects) and replaces strong fits, 70% or more by default, with a Jev noul, choice or score decision while keeping the old rule as the fallback.
Safety is built into the tool: only strong fits change by default, files you are editing are skipped, your tests run before and after with automatic revert of what breaks, and jevx undo restores everything. A dry run previews scorecards and diffs. It uses your own xAI or OpenRouter key and sends code only to your AI; an opt-in share flag sends generic patterns without code or names. It also installs as an MCP server for Claude Code, Claude Desktop, Cursor, Windsurf, VS Code, Gemini CLI and Codex. The repository has about 240 offline tests.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Score | How strongly does this hard-coded rule fit a Jev decision? | — |
| Choice | Which Jev primitive (noul, choice or score) should replace this rule? | noul · choice · score |
How it works
- Run jevx --dry-run to scan and score candidates
- Review scorecards and diffs
- Run jevx to apply strong fits with the old rule as fallback
- Tests run before and after; failing changes are reverted
- jevx undo restores everything
Strengths
- Keeps the original rule as a fallback
- Automatic test-based revert
- Works from the CLI or many AI hosts via MCP
- Private by default
Caveats
- Introduces a hosted API dependency into your code
- Fit scores come from AI judgments
- Requires your own xAI or OpenRouter key
Getting started
npm i -g @vij-sameerb5/jevx, then jevx --dry-run in your project.At a glance
- Type
- Project
- Status
- beta
- Language
- TypeScript
- Runtime
- CLI and MCP server
- Has code
- yes
- Has tests
- yes
Use cases and integrations
How curated lists describe it
When and Where Actually to use Jev in your code base.
hellogumbo/awesome-jev
Frequently asked questions
What does JevX change in my code?
Hard-coded judgment rules that score as strong fits are replaced with Jev decisions, keeping the old rule as fallback.
What if a change breaks something?
Your tests run before and after, failing changes are reverted, and jevx undo restores everything.
Does it send my code anywhere?
Only to your own configured AI; opt-in sharing sends generic patterns without code.
Related projects
CLI, MCP server and Claude Code plugin for closed-form yes/no, choice, score and rank decisions via Jev, OpenAI Decisions or Claude.
MCP serverbetaTypeScriptPython FastMCP server wrapping Jev's noul, choice and score judgments, with configs for many coding agents and an OpenCode Zen route.
MCP serverbetaPythonMCP server exposing a judge tool for typed noul, choice and score questions over JSON state, backed by Jev.
MCP serverbetaTypeScriptAgent skill and CLI that converts plain requirements, LLM prompts or prompt-calling code into a typed Jev request and runnable script.
Agent skillbetaPythonLocal MCP server giving Claude Code, Codex, Cursor and OpenCode per-dimension Jev quality scores on their code while they work.
ServicebetaTypeScript- Building with Jev★ 155
Agent skill for writing and improving programs that call Jev: question design, state structure, thresholds and diagnosing wrong answers.
Agent skillproduction