Skip to main content

Your best training data is rotting in ~/.claude.

Project description

cc-steer

Your best training data is rotting in ~/.claude. cc-steer mines every correction, interrupt, and rejected plan from your transcripts into judge-refined, TRL-ready SFT/DPO/KTO pairs on HuggingFace.

CI PyPI License: PolyForm Noncommercial

Get started

uvx cc-steer scan

One pass over ~/.claude/projects fills ~/.cc-steer/feedback.db with every correction you typed, every plan you rejected, and every inline review comment — conversational context included. stats shows what landed:

Terminal running 'uvx cc-steer stats' — 980 steering events counted across four source kinds

Driving with an agent? Paste this:

Run `uvx cc-steer scan` to mine my Claude Code transcripts into ~/.cc-steer/feedback.db.
Then run `uvx cc-steer stats` and report how much steering was collected per source kind.
Docs: https://yasyf.github.io/cc-steer/

Use cases

Build a training set from feedback you already gave

You've spent months telling Claude "no, not like that", and that signal evaporates as transcripts rotate out. Judge the corpus, then distill the accepted events into atomic pairs, the corrective ones grounded in the code they fault:

uvx cc-steer triage
uvx cc-steer refine
uvx cc-steer enrich

uvx cc-steer pairs prints the deliverable: training pairs distilled from your own steering, each carrying the conversational window and code evidence behind it.

See how you actually steer, across every project

Your taste is mostly tacit — you notice a rule when it's violated. The corpus makes it legible:

uvx cc-steer list --source plan_review

On my machine the split is 698 mid-session corrections, 219 rejected plans, 41 review comments, and 22 interrupts. Another machine's history folds in too: mirror it with rsync and point scan --transcripts at it (repeatable, so several mirrors fold into one scan).

Push a private SFT/DPO/KTO dataset to your HuggingFace namespace

A judged corpus in SQLite trains nothing. Export projects it into TRL-ready configs:

uvx cc-steer export --push
traces: train 1156  test 115
sft: train 499  test 67
dpo: train 363  test 44
kto: train 1156  test 115

Four configs land as per-split parquet in a private <hf-user>/cc-steer-traces, next to a generated dataset card. Splits group on the session hash, so a session never straddles train and test.

More in the docs

  • Incremental scanning — content digests and one-transaction commits make re-scans cheap and interrupt-safe — scan
  • Judge, audit, eval — prompt-versioned triage, a seeded audit sample, and mechanical metrics with no LLM calls — triage
  • Pair dashboard — browse refined pairs and their full lineage in a local web UI — view-samples
  • Python API — drive the scanner and the feedback store from your own code — reference

Status: alpha — the pipeline runs end to end; the judge prompt still iterates (v6 today).

Read the docs for the full guide. Licensed under PolyForm Noncommercial 1.0.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cc_steer-0.10.0.tar.gz (68.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cc_steer-0.10.0-py3-none-any.whl (80.6 kB view details)

Uploaded Python 3

File details

Details for the file cc_steer-0.10.0.tar.gz.

File metadata

  • Download URL: cc_steer-0.10.0.tar.gz
  • Upload date:
  • Size: 68.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cc_steer-0.10.0.tar.gz
Algorithm Hash digest
SHA256 70fb858b7612085055ceaa13fe2d3d0d61d1f63f57bd0d85731d4c7b25628d3a
MD5 9beff6a8e851fe4c64af521706081b48
BLAKE2b-256 f7f55192424661b0bb104285bf2937ede43821f9414eb7e9676bd737dd0beed6

See more details on using hashes here.

Provenance

The following attestation bundles were made for cc_steer-0.10.0.tar.gz:

Publisher: release-pypi.yml on yasyf/cc-steer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cc_steer-0.10.0-py3-none-any.whl.

File metadata

  • Download URL: cc_steer-0.10.0-py3-none-any.whl
  • Upload date:
  • Size: 80.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cc_steer-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 52d54a8d368cdb28ef84d313b90aefb4e90b190fe5444beb5eaa33e67bc0a5bf
MD5 dbf08ec847afa273e13752bec43935a1
BLAKE2b-256 5027db2de68d654d0b7b75396894e1e31303ee966fd81317ebfc8b0e0a635e4f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cc_steer-0.10.0-py3-none-any.whl:

Publisher: release-pypi.yml on yasyf/cc-steer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page