Metadata-Version: 2.4
Name: cc-sentiment
Version: 0.2.88
Summary: Local Claude Code session scorer that contributes metrics to sentiments.cc
Author-email: Yasyf Mohamedali <yasyfm@gmail.com>
License: MIT
Project-URL: Homepage, https://sentiments.cc
Project-URL: Repository, https://github.com/yasyf/cc-sentiment
Project-URL: Issues, https://github.com/yasyf/cc-sentiment/issues
Keywords: claude-code,sentiment,mlx,apple-silicon
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.13
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typer>=0.12
Requires-Dist: httpx>=0.27
Requires-Dist: pydantic>=2.7
Requires-Dist: anyio>=4.4
Requires-Dist: rich>=13.0
Requires-Dist: sentry-sdk>=2.20
Requires-Dist: tenacity>=8.0
Requires-Dist: orjson>=3.10
Requires-Dist: textual>=3.0
Requires-Dist: python-gnupg>=0.5.4
Requires-Dist: spacy>=3.8
Requires-Dist: afinn>=0.1
Requires-Dist: zstandard>=0.25.0
Requires-Dist: mlx-lm>=0.31.3; sys_platform == "darwin" and platform_machine == "arm64"
Dynamic: license-file

# cc-sentiment

A macOS CLI that scores your Claude Code conversations on-device and contributes the numbers to an open dashboard at [sentiments.cc](https://sentiments.cc).

Your conversations stay on your Mac. Only anonymous numeric scores are uploaded.

## Run it

```bash
uvx cc-sentiment
```

Needs macOS on Apple Silicon and [uv](https://docs.astral.sh/uv/). The first run links your GitHub account, scores transcripts in `~/.claude/projects/`, and uploads the numbers.

## What gets uploaded

Scoring runs locally on Gemma 4. The client uploads only numbers and timestamps for each 5-minute bucket of a conversation.

- Sentiment score on a 1–5 scale
- Read:edit ratio, edits-without-prior-read %, write:edit ratio, tool calls per turn, subagent spawn rate
- Turn count, thinking present/chars
- Claude model and Claude Code version
- Your GitHub handle, so uploads can be attributed

Your conversation text, file contents, file paths, and tool inputs/outputs never leave your machine.

## Commands

| Command | Description |
|---------|-------------|
| `cc-sentiment` | Run the whole flow. Sets up if needed, then scans and uploads. |
| `cc-sentiment setup` | Link your GitHub account for attributable uploads |
| `cc-sentiment scan --upload` | Score new transcripts and upload |
| `cc-sentiment scan` | Score transcripts without uploading |
| `cc-sentiment upload` | Upload previously scored results |
| `cc-sentiment rescan` | Clear state and re-score everything |

## Links

Dashboard at [sentiments.cc](https://sentiments.cc). Source and issues live on [GitHub](https://github.com/yasyf/cc-sentiment).
