cursor-clijev-compaction
Cursor CLI plugin that asks Jev keep-or-drop nouls for each tool call and result, then re-injects kept facts after compaction.
Overview
cursor-clijev-compaction is built for the Cursor CLI agent. Cursor's preCompact hook can only observe, so this plugin captures tool inputs and outputs during the session, scores them with Jev when compaction approaches, and re-injects the kept facts verbatim into the next turn through the stop and sessionStart hooks. Native summarisation still runs; the plugin adds a dense recovery block so file paths, test failures and constraints are not lost to summary drift.
Every non-pinned tool call yields two atomic noul questions: should knowing this call was made stay in context, and should the full output stay verbatim or can it be re-run. Answers at or above 0.5 keep the result, keep only the call with a short head, or drop it. It installs opt-in via --plugin-dir or a cursor-jev wrapper and does not modify the user's global hooks file.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Should knowing this call was made (and its arguments) stay in context? | yes · no |
| Yes / no | Should the full output stay in history verbatim, or can the assistant re-run it? | yes · no |
How it works
- postToolUse hooks capture tool I/O to a local store
- preCompact merges transcript and store and sends nouls to Jev
- Thresholds at 0.5 decide keep verbatim, keep call only, or drop
- stop/sessionStart hooks re-inject the kept facts after compaction
Strengths
- Keeps exact facts across compaction instead of relying on summaries
- No changes to global Cursor hooks
- Small, atomic questions per tool call
Caveats
- Cursor CLI only
- Tool outputs are sent to TypeSafe
- Fixed 0.5 threshold
Getting started
cursor-jev agent -- to start an interactive session with the plugin enabled.At a glance
- Type
- CLI
- Status
- beta
- Language
- TypeScript
- Runtime
- Cursor CLI plugin
- Has code
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
TypeSafe Jev-scored context recovery for Cursor CLI (agent). Capture tool I/O, score keep/drop, re-inject after native compact.
logicrw/awesome-jev-projects
Frequently asked questions
What does Jev decide?
Whether each tool call and its output should be kept verbatim, partially kept, or dropped across compaction.
Does it replace Cursor's summary?
No, native compaction still runs; the plugin re-injects kept facts afterwards.
Does it modify my Cursor config?
No, it is opt-in via --plugin-dir or the cursor-jev wrapper.
Related projects
MCP server with record and recall tools: facts are logged during a session and Jev keeps only those relevant to the next task.
MCP serverbetaTypeScript- fast-jev-compaction★ 7,616
Claude Code plugin and npm library that replaces the compaction summary with Jev keep, truncate or drop scores for every tool call.
PluginbetaTypeScript Codex plugin that builds handoff packets by asking Jev whether each old read-only tool record should stay, keeping retained text verbatim.
ProjectbetaJavaScriptDeepSeek Harness plugin that asks Jev which tool results can be pruned early, delaying or avoiding lossy compaction.
ProjectbetaTypeScriptDeepSeek Harness compaction backend that asks Jev which tool calls and outputs to keep, preserving everything else verbatim.
ProjectbetaJavaScriptDeepSeek Harness compaction plugin where Jev decides which tool results are still needed and code writes deterministic receipts.
ProjectbetaTypeScript