Skip to content

Deeds

CLI and Claude Code plugin that reads each commit diff and counts capabilities gained, fixes and upkeep using narrow model judgments.

PluginbetaMIT

Overview

Deeds measures work in a repository by what got better rather than by PR or commit counts. It reads the diff of every commit in a window and classifies each improving change as a cap (capability gained or deepened), a fix (broken to working, including security fixes) or tend (refactors, dependency bumps, tests). Renames, reverts and busywork produce nothing, commit messages are never read, and the three counts are kept separate. Reports come as text, JSON or a self-contained HTML page; the README shows a run over 1,065 commits of golang/go.

Each commit passes four layers: code extracts exact facts from the diff, a judgment model answers narrow questions in two waves, and ordered written rules turn facts and answers into deeds, so the model never makes the final call. The directory listing describes it as needing only a Jev key, but the current README says it uses Cloudflare's Clef on Workers AI in your own account.

What the decision model decides

TypeQuestionAnswers
Yes / noNarrow questions about the diff, e.g. does this change add a user-facing capability?(inferred)yes · no
ChoiceWhich kind of deed is this change: cap, fix or tend?(inferred)cap · fix · tend

How it works

  1. Code extracts facts (routes, exports, tests) from each diff
  2. Judgment model answers narrow questions in two waves
  3. Ordered rules map facts and answers to deeds
  4. Emit text, JSON or HTML reports

Strengths

  • Ignores commit messages; judges actual diffs
  • Model never makes the final call
  • Only diffs and file paths are sent
  • Checksum-verified installer

Caveats

  • Current README uses Clef on Cloudflare rather than Jev
  • Requires bun and a Cloudflare account

Getting started

curl -fsSL https://raw.githubusercontent.com/danielmiessler/deeds/main/install.sh | sh, set CLOUDFLARE_ACCOUNT_ID and CLOUDFLARE_API_TOKEN; or /plugin install deeds@workdeeds.

At a glance

Type
Plugin
Status
beta
Language
TypeScript
Runtime
CLI (bun), Claude Code plugin
Has code
yes
License
MIT

Use cases and integrations

How curated lists describe it

  • CLI and Claude Code plugin that reads each commit's diff and counts capabilities gained, fixes and upkeep, ignoring commit messages. Needs only a Jev key; only diffs and file paths are sent.

    MrJev/awesome-jev

Frequently asked questions

What is a deed?

A change that made the product better: a capability, a fix, or upkeep.

Does it use Jev?

The listing says so, but the current README uses Cloudflare's Clef judgment model.

Does it read commit messages?

No, only diffs and file paths.

Related projects

  • Neovim popup showing jev-lens verdicts after Claude Code edits: whether to look, which files, and debris to strip.

    ProjectbetaLua
  • Claude Code plugin that adds Jev as an independent judge for review findings, debugging hypotheses, design options and search hits.

    Pluginbeta
  • Rust CLI that classifies Git commit diffs with Jev into bug fixes, security fixes with CWEs, and change types.

    CLIbetaRust
  • Git tool that stages only the hunks matching a plain-language description, using Jev include/exclude/mixed probabilities per hunk.

    ProjectbetaTypeScript
  • CLI that scores every test against a git diff with Jev and emits filter arguments for vitest, jest, node, Playwright, cargo, go and rspec.

    ProjectbetaTypeScript
  • Claude Code plugin that logs your prompts locally and later has Jev score how well you prompt the coding agent over time.

    PluginbetaTypeScript