jevc
Compiler that turns agent rules in CLAUDE.md and similar files into testable Jev programs: typed questions plus a coded verdict.
Overview
jevc targets a familiar problem: an agent instruction file says never commit unless the user explicitly asks, and the agent commits anyway, because a Markdown rule is a suggestion the model re-reads each turn. jevc compiles such a rule into a Jev program, a few narrow typed questions answered by jev-1.13.0 plus a reducer that computes the verdict in ordinary code, so the rule becomes an invariant you can read, diff and unit-test. It is aimed at anyone shipping a gate an LLM currently judges, such as a Claude Code PreToolUse hook, a tool-call guard, a model router or an output verifier.
jevc scan finds the instruction files agent harnesses read (CLAUDE.md, AGENTS.md, GEMINI.md, .cursorrules, Copilot instructions, Claude skills and agents) and sorts rules into decidable, procedure and generation; only decisions compile, procedures belong in code, and generation never compiles because Jev emits no text. compile --lift hands a request to the agent you already have open, needing no second key. jevc check replays a recorded corpus offline (58 fixtures passing in the README). It is on npm as jev-compiler and available as a Claude Code plugin with a skill that asks before installing a gate.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Did the user explicitly ask for a commit? (example compiled evidence question)(inferred) | — |
| Yes / no | Is this command dangerous / does it delete tracked files?(inferred) | — |
How it works
- Scan instruction files and classify rules
- Compile decidable rules into typed evidence questions plus a reducer
- Wire the program into a hook or guard
- Replay recorded fixtures offline in CI; optionally run live
Strengths
- Turns prose rules into testable, diffable gates
- Offline replay with no key or network
- Clear split of decision, procedure and generation
- Claude Code plugin integration
Caveats
- Scan classification is a text heuristic
- Only decision-type rules compile
Getting started
npm install -g jev-compiler, then `jevc check` and `jevc scan .`.At a glance
- Type
- Project
- Status
- beta
- Language
- TypeScript
- Runtime
- Node CLI / Claude Code plugin
- Has code
- yes
- Has tests
- yes
Use cases and integrations
How curated lists describe it
Compile agent policy prose into deterministic verdict programs: narrow evidence questions for the model, the verdict computed in code. Install: npm i -g jev-compiler.
hellogumbo/awesome-jev
Frequently asked questions
Can jevc compile a whole prompt?
No. Only decision rules compile; procedures belong in code and generation cannot be compiled.
Does testing need an API key?
No, `jevc check` replays recorded fixtures offline.
Which files does scan read?
CLAUDE.md, AGENTS.md, GEMINI.md, .cursorrules, Copilot instructions and Claude skills and agents.
Related projects
Local guard layer for coding agents that blocks dangerous tool calls by deterministic rules, with optional Jev judgments.
CLIbetaTypeScriptSecurity hook giving Codex, Copilot, Gemini, Cursor, pi, OpenCode and ACP an auto-mode-like guard via three Jev questions.
LibrarybetaTypeScriptTool-call firewall for Claude Code hooks and MCP servers: Jev answers seven risk questions and code maps them to allow, ask or deny.
MCP serverbetaTypeScriptCoding-agent hook that asks Jev one yes/no per project rule on every edit or turn and makes the agent fix any violation.
HookbetaTypeScriptClaude Code plugin adding Jev judgments to Bash, Write and Edit calls and their outputs; a semantic guardrail, not a sandbox.
PluginbetaAgent-ergonomic Jev CLI and PreToolUse hook that scores shell commands for hazards and screens fetched text for injection.
PluginbetaTypeScript