0140GitHub
jev-pruner
Trims long Bash output with Jev before Claude reads it.
tamaratran/jev-prunerREADME ↗
# jev-pruner
A Claude Code plugin that uses TypeSafe's Jev to trim noisy Bash output **after
the command runs, but before its result is sent back to the main LLM**. This
reduces the output carried into later turns without generating a summary.
Using Codex? See [Codex installation and usage](#codex).
```text
Claude requests a Bash command → Command runs → Jev prunes stdout → Claude receives the result
```
1. A `tool.call` hook wraps the Bash tool's `next()` result.
2. Stdout of **10,000 estimated tokens or fewer** passes through untouched,
without reading history, writing an archive, or calling Jev. The gate uses
`estimateTokens` on raw stdout, not a character count or an exact model tokenizer.
`minTokens` can raise this threshold but cannot lower it. If Claude already saved
the output to a file, the hook reads and counts that full output instead of its
short preview. Errors, JSON/XML/YAML/diff/binary output,
whole-document commands (`cat`, `jq`, `git diff`, `git show`, `base64`, and
`openssl`) are left untouched. Recognized documentation, source code, and
disassembly are also preserved, regardless of which command printed them.
3. Output is split into chunks of `chunkLines` lines, capped at 200 chunks;
lines longer than 2,000 characters are split first.
The opt-in `chunkChars` setting groups these lines toward a character target
instead. Adjacent groups merge as needed to retain the 200-chunk cap, so the
target is not a hard maximum. Neither mode bypasses the token floor or
document/error protections.
4. Jev receives `{ context, task, history, command, chunks }`, plus `category` and
`categoryGuidance` for recognized build/test/install or search/excerpt commands,
and one noul question
per chunk: “does any line in this c