Contribute your data

One command. cc-sentiment sets up a verification key, scores your sessions, and uploads only aggregate numeric metrics to sentiments.cc.

Run it

Requires uv.

uvx cc-sentiment

On macOS, set it up on a launchd schedule:

uv tool install cc-sentiment
cc-sentiment install

Runs once a day in the background on macOS. On Linux or Windows, use cron or your platform's scheduler to run cc-sentiment run. Undo the macOS schedule any time with cc-sentiment uninstall.

The wizard sets up a verification key, scores your sessions with the best available engine, and uploads the numeric scores. If anything's missing, it'll guide you through setup.


What happens

  1. Finds your Claude Code transcripts in ~/.claude/projects/
  2. Scores each conversation locally when the local engine is available, otherwise asks before using the configured fallback engine
  3. Signs each upload with a key you control and a public verification handle (GitHub username or GPG fingerprint) used only to find a public key and verify signatures
  4. Uploads only the numeric scores and timestamps to the dashboard

Privacy

Your conversations are not uploaded to sentiments.cc. The private signing key stays on your machine. What gets uploaded: a score from 1-5, a timestamp, and a public verification handle (GitHub username or GPG fingerprint) used only to find a public key and verify signatures. What doesn't: conversation text, file contents, file paths, prompts, tool inputs, or tool outputs.