Skip to content

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.

HookbetaMIT

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

TypeQuestionAnswers
ChoiceDoes this decision belong to plain code, a frontier model, or the System One band?plain code · frontier model · System One (Jev)

How it works

  1. The agent writes or edits a .ts, .js or .py file.
  2. Regex triggers detect LLM calls or decision-shaped function names.
  3. The hook injects the three-way test into context (once per file per session).
  4. 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 skillbetaTypeScript
  • Local MCP review engine where each rule becomes a Jev YES/NO/N/A Choice over agent-supplied diff chunks, with located evidence.

    MCP serverbetaTypeScript
  • Self-hosted Jev server plus CLIs, agent skills and a Pi tool for typed code questions and per-file diff review triage.

    Agent skillbetaPython
  • Zero-dependency Python toolkit of nine agent skills whose typed decisions pass a code gate and are sealed in a hash-chained ledger.

    ProjectbetaPython
  • Claude Code skills that wait for AI pull-request reviewers and judge whether their reports actually permit a merge, never inferring a pass.

    Projectbeta
  • Semantic code search and plain-English review rules that send repository chunks to Jev and return scored source locations.

    ProjectbetaTypeScript