ratchet
Audits your codebase, turns the findings into a prioritized backlog, then works through it one item at a time, checking each change against its acceptance criteria and committing it only once it passes. Its state lives in a markdown file, so you can stop and resume without losing your place.

