8000 docs: lead with where jev-router shines by dominicrico · Pull Request #5 · dominicrico/jev-router · GitHub
[go: up one dir, main page]

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 27 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,34 @@

**jev-router is a free, open-source Claude Code plugin that routes every prompt, step and subagent to the right Claude model (Haiku, Sonnet, Opus, Fable) and the right reasoning effort.** It asks [TypeSafe Jev](#how-it-works) which model a task needs, caps the effort so hard tasks do not burn tokens, protects your prompt cache from needless model switches, and shows the choice in a live status band above the prompt. Use it to cut Claude Code cost on easy work without giving up Opus when a task needs it.

You know the problem. You rename one variable and your most expensive model thinks about it for a minute. Or you start a gnarly refactor and a bargain model happily shrugs. jev-router puts a switchman in front of your session: before every task he reads it, asks Jev, pulls the lever, and the turn runs on the model and effort that fit.
## Where jev-router shines

**Contents:** [Status band](#the-status-band) · [Features](#features-model-routing-effort-cap-cache-guard-subagents) · [Does it reduce costs?](#does-it-reduce-claude-code-costs) · [How it works](#how-it-works) · [Install](#install-the-claude-code-plugin) · [Commands](#commands) · [Options](#options) · [Privacy](#privacy) · [FAQ](#faq)
If your default is Opus, most of your prompts pay for more model than they need. A rename does not need the model that designs your queue. Measured with real Claude Code runs, against **always using Opus**:

| Your work | What jev-router does | Result |
| --- | --- | --- |
| Small tasks: renames, typos, lookups, version bumps | Haiku at low effort | **−97% cost** |
| Everyday features, tests and refactors | Sonnet | **−65% cost** |
| Multi-step agent runs with tools and subagents | Re-routes each step, picks a model per subagent | **18/18 done at 47% of the cost** |
| Hard tasks, with `ceiling: sonnet` | Sonnet, Opus only when Jev is 90% sure | **20/20 done at −50% cost** |
| A mixed bag of 30 tasks, default settings | Effort capped at `high` | **−1% to −64%** by mode, never above Opus |

**Best for:** Opus-by-default users, mixed workloads full of small prompts, agent runs with subagents, and anyone who wants to *see and steer* which model runs (the band, `!opus`, `!full`, `/jev ceiling`).

**Not for:** long sessions on one big warm context. There, routing cost +24% against Opus even with the cache guard, because switching models re-writes the cache; use `ceiling: sonnet` or plain Sonnet. And if plain Sonnet already does all your work, it is cheaper than routing. Every figure above comes from the [benchmarks](#does-it-reduce-claude-code-costs), including the ones that went against it.

### Install in 30 seconds

```
/plugin marketplace add dominicrico/jev-router
/plugin install jev-router@jev-router
```

Then `/jev key <your TypeSafe key>` and `/jev status`. Full setup in [Install](#install-the-claude-code-plugin).

You know the problem: you rename one variable and your most expensive model thinks about it for a minute. jev-router puts a switchman in front of your session. Before every task he reads it, asks Jev, pulls the lever, and the turn runs on the model and effort that fit.

**Contents:** [Where it shines](#where-jev-router-shines) · [Status band](#the-status-band) · [Features](#features-model-routing-effort-cap-cache-guard-subagents) · [Does it reduce costs?](#does-it-reduce-claude-code-costs) · [How it works](#how-it-works) · [Install](#install-the-claude-code-plugin) · [Commands](#commands) · [Options](#options) · [Privacy](#privacy) · [FAQ](#faq)

## The status band

Expand Down
12 changes: 12 additions & 0 deletions docs/index.html 8000
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,18 @@ <h2 id="what">What is jev-router?</h2>
<p>Using one model for everything wastes money: an expensive model renames a variable, a cheap one stalls on a hard refactor. <strong>jev-router</strong> is a Claude Code plugin (a "mod") that asks <a href="https://typesafe.ai">TypeSafe Jev</a> which Claude model and effort a task needs, then runs the turn on that choice. It works per prompt, again before each step of a long task, and once for every subagent.</p>
<img class="shot" src="assets/band.gif" alt="The jev-router band above the Claude Code prompt, stepping through its states: idle, running, haiku, sonnet, capped opus, pinned, escalated, paused" width="880" height="141">

<h2 id="shines">Where jev-router shines</h2>
<p>If your default is Opus, most prompts pay for more model than they need. Measured with real Claude Code runs, against always using Opus:</p>
<table>
<tr><th>Your work</th><th>What it does</th><th>Result</th></tr>
<tr><td>Small tasks: renames, typos, lookups</td><td>Haiku, low effort</td><td><strong>−97% cost</strong></td></tr>
<tr><td>Everyday features, tests, refactors</td><td>Sonnet</td><td><strong>−65% cost</strong></td></tr>
<tr><td>Multi-step agent runs with tools and subagents</td><td>Routes each step and subagent</td><td><strong>18/18 done at 47% of the cost</strong></td></tr>
<tr><td>Hard tasks with <code>ceiling: sonnet</code></td><td>Sonnet unless Jev is 90% sure</td><td><strong>20/20 done, −50% cost</strong></td></tr>
<tr><td>30 mixed tasks, default settings</td><td>Effort capped at high</td><td><strong>−1% to −64%</strong>, never above Opus</td></tr>
</table>
<p><strong>Best for:</strong> Opus-by-default users, workloads full of small prompts, agent runs with subagents, and anyone who wants to see and steer which model runs. <strong>Not for:</strong> long sessions on one big warm context (routing cost +24% against Opus even with the cache guard), or work where plain Sonnet is already enough.</p>

<h2 id="install">Install</h2>
<p>You need Claude Code with plugin support and a TypeSafe API key.</p>
<pre><code>/plugin marketplace add dominicrico/jev-router
Expand Down
Loading
0