typesafe-jev-tools
Claude Code hook that, when you write an LLM call or classifier, injects a three-way test: plain code, frontier model or Jev.
Overview
typesafe-jev-tools is a Claude Code PreToolUse hook that fires when the agent writes code containing an LLM call or a hand-written classifier in TypeScript, JavaScript or Python. It injects a three-way test into the agent's context: if a regex, DNS lookup or database query can answer it, write code; if it needs multi-step reasoning, domain knowledge or prose, use a frontier model; if a sensible person could answer it in under a second from visible text, it is the System One band where Jev fits. It never blocks and recommends plain code at least as often as a model.
The README is unusually self-critical: it explains its regex triggers and measured hit rates on sample names, fires only once per file per mode per session, logs every firing so its own precision is measurable, and admits the hook is itself a name-based heuristic. Per the list summary, it also includes a measured 149-row comparison of Jev against Claude Haiku 4.5. MIT licensed.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Does this decision belong to plain code, a frontier model, or the System One band? | plain code · frontier model · System One (Jev) |
How it works
- The agent writes or edits a .ts, .js or .py file.
- Regex triggers detect LLM calls or decision-shaped function names.
- The hook injects the three-way test into context (once per file per session).
- Each firing is logged for later precision review.
Strengths
- Steers agents away from using a model where code would do.
- Never blocks; low friction.
- Logs make the hook's own precision measurable.
Caveats
- Triggers are name-based regexes with known misses and false hits.
- Needs tuning per codebase.
Getting started
curl the hook into .claude/hooks/typesafe-check.sh, chmod +x, and merge settings.example.json into .claude/settings.json.At a glance
- Type
- Hook
- Status
- beta
- Language
- Bash
- Runtime
- Claude Code hook
- Has code
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
A Claude Code hook that asks whether the decision you are writing needs a model at all. Includes a measured 149-row comparison of TypeSafe Jev against Claude Haiku 4.5.
logicrw/awesome-jev-projects
Frequently asked questions
What does the hook decide?
It prompts the agent to decide whether a decision needs plain code, a frontier model or Jev.
Does it block edits?
No, it only adds context.
How noisy is it?
It fires once per file per mode per session and logs firings so you can measure and tune it.
Related projects
CLI and agent commands auditing a git diff against YAML standards packs, scoring each hunk with Jev so agents fix only flags.
Agent skillbetaTypeScriptLocal MCP review engine where each rule becomes a Jev YES/NO/N/A Choice over agent-supplied diff chunks, with located evidence.
MCP serverbetaTypeScriptSelf-hosted Jev server plus CLIs, agent skills and a Pi tool for typed code questions and per-file diff review triage.
Agent skillbetaPythonZero-dependency Python toolkit of nine agent skills whose typed decisions pass a code gate and are sealed in a hash-chained ledger.
ProjectbetaPythonClaude Code skills that wait for AI pull-request reviewers and judge whether their reports actually permit a merge, never inferring a pass.
ProjectbetaSemantic code search and plain-English review rules that send repository chunks to Jev and return scored source locations.
ProjectbetaTypeScript