GitHub Finish-Up-A-Thon 2026

๐Ÿ’€
git-regret

A Python CLI that reads your git history and finds the shame โ€” secrets, WIP commits, fix chains, giant blobs, and messages you wish you'd never written.

~/my-project โ€” git-regret --copilot

Eight months of shame.
One weekend to fix it.

Before hackathon night, ~2am
git-audit-tool/
  โ”œโ”€โ”€ main.py โ† 87 lines of spaghetti
  โ”œโ”€โ”€ requirements.txt โ† just "gitpython"
  โ””โ”€โ”€ README.md โ† "TODO: write this."
Lines of code
87
Pattern types
1
Tests
0
Crashes on repos >10 commits
Yes
After git-regret v1.0.0
git-regret/
  โ”œโ”€โ”€ git_regret/
  โ”‚  โ”œโ”€โ”€ analyzer.py โ† 6 pattern types
  โ”‚  โ”œโ”€โ”€ cli.py โ† typer + flags
  โ”‚  โ”œโ”€โ”€ ui.py โ† rich terminal output
  โ”‚  โ””โ”€โ”€ __init__.py
  โ”œโ”€โ”€ tests/
  โ”‚  โ””โ”€โ”€ test_git_regret.py โ† 35 assertions
  โ””โ”€โ”€ pyproject.toml โ† pip installable
Lines of code
~500
Pattern types
6
Tests passing
35/35
pip installable
Yes

Six flavours of git regret.

๐Ÿ”‘
Hardcoded secrets
AWS keys, Stripe tokens, GitHub PATs, database URLs, private keys โ€” 13 regex patterns scanning every diff line.
HIGH
๐Ÿ˜
Giant commits
Commits with 500+ lines or 20+ files changed. A good commit fits in your head.
HIGH / MED
๐Ÿ”—
Fix chains
3+ consecutive fix: commits in a row. A root cause that needed four hotfixes was never actually fixed.
HIGH
๐Ÿšง
WIP commits
"wip payments", "do not merge", "draft", "tmp" โ€” work in progress that somehow made it to main.
MEDIUM
๐Ÿ˜ฌ
Regret messages
"fix fix fix omg", "oops", "...", "lol bruh", "asdfgh" โ€” commit messages that tell a story of despair.
MEDIUM
๐Ÿค–
Copilot prompt
Run with --copilot and get a ready-to-paste Copilot Chat prompt to plan the remediation.
BONUS

One flag. A full remediation plan.

Run git-regret --copilot and the tool generates a prompt calibrated to your actual findings โ€” paste it into Copilot Chat and get a step-by-step cleanup plan in 30 seconds.

โšก Auto-generated Copilot prompt
You are a senior engineer reviewing my git history. I ran git-regret and found these issues: - Patterns detected: secret, giant commit, wip commit, regret message - Problematic commits: e046b64, 9306da5, 78c7330, 4217b81 Please help me: 1. Write a plan to clean up this git history using interactive rebase 2. Suggest .gitignore and pre-commit hook rules to prevent these issues 3. Draft better commit messages for the problematic commits above 4. Recommend a branching strategy that would have prevented these regrets

10 seconds to see your shame.

$pip install git-regret

$git-regret --copilot

Requires Python 3.10+ ยท MIT License ยท Works on any git repo

โ˜… Star on GitHub Read the DEV post โ†—