Skip to main content

๐Ÿ”ฅ AI-powered code roaster โ€” let git blame expose your teammates

Project description

๐Ÿ”ฅ gitblame-ai

AI-powered code roaster. git blame was always personal โ€” now it's savage.

pip install .
gitblame-ai --roast .

What is this?

gitblame-ai scans your repo with git blame, identifies each author's most suspicious code, and sends it to Claude AI for a brutally honest roast.

Perfect for:

  • ๐Ÿคฃ Team standups
  • ๐Ÿ’€ Code review sessions
  • ๐Ÿ† Friday afternoon vibes
  • ๐Ÿ˜ฌ Holding people accountable in the funniest way possible

Demo

  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•—      โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—      โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•—
 โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ• โ–ˆโ–ˆโ•‘โ•šโ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•     โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘
 ...

  Target: ./my-project
  Mode:   roast
  Top:    3 authors

  ๐Ÿ” Roasting alice@dev.com... done (3/10)
  ๐Ÿ” Roasting bob@dev.com... done (7/10)
  ๐Ÿ” Roasting john@dev.com... done (2/10)


โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
  ๐Ÿ”ฅ  ROAST RESULTS  ๐Ÿ”ฅ
โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  ๐Ÿ‘ค john@dev.com  (847 lines of... code)
  โ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘  ๐Ÿ’€ 2/10
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  John, your `except: pass` blocks aren't error handling โ€”
  they're crime scenes. You've written `TODO: fix this later`
  17 times across 3 files, which is impressive dedication to
  procrastination. The variable named `data2` next to `data`
  is genuinely haunting. I've seen better architecture in
  a kindergarten Lego set.

  Verdict: 2/10 ๐Ÿ’€


  ๐Ÿ† Hall of Shame: john@dev.com
  Congratulations. You've earned it.

How it works

  1. Runs git blame --line-porcelain on all code files.
  2. Groups lines by author and filters out uncommitted changes.
  3. Scores each line for "badness" (TODOs, bare excepts, long lines, etc.) using modular heuristics.
  4. Sends the worst offenders to Claude AI (using claude-3-5-sonnet).
  5. Renders a beautiful terminal roast card per author.

Installation

Clone the repo and install it in editable mode:

git clone https://github.com/yourusername/gitblame-ai.git
cd gitblame-ai
pip install -e .

Set your Anthropic API key:

export ANTHROPIC_API_KEY=sk-ant-...

Usage

# Roast the whole repo (default: top 3 authors)
gitblame-ai .

# Roast a single file
gitblame-ai gitblame_ai/main.py

# Different modes
gitblame-ai . --mode gentle   # Kind but disappointed
gitblame-ai . --mode poetic   # Shakespearean tragedy
gitblame-ai . --mode roast    # Pure savagery (default)

# Top 5 authors
gitblame-ai . --top 5

Modes

Mode Vibe
roast Brutal, savage, funny. No mercy.
gentle Constructive. Like a disappointed parent.
poetic Shakespeare reviews your spaghetti code.

Project Structure

gitblame-ai/
โ”œโ”€โ”€ gitblame_ai/       # Core package
โ”‚   โ”œโ”€โ”€ git.py         # Git blame parsing & file discovery
โ”‚   โ”œโ”€โ”€ ai.py          # Anthropic API integration
โ”‚   โ”œโ”€โ”€ roaster.py     # Heuristics & Terminal UI
โ”‚   โ””โ”€โ”€ main.py        # CLI Entry point
โ”œโ”€โ”€ pyproject.toml     # Package configuration
โ””โ”€โ”€ README.md          # This file

Requirements


Contributing

PRs welcome. Especially:

  • New "badness" heuristics
  • More roast modes
  • Export to markdown/HTML report
  • GitHub Action integration

License

MIT โ€” roast freely, roast often.


"With great git blame comes great responsibility." โ€” probably someone

โญ Star this if your teammates deserve it

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

gitblame_ai-0.1.0.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

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

gitblame_ai-0.1.0-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file gitblame_ai-0.1.0.tar.gz.

File metadata

  • Download URL: gitblame_ai-0.1.0.tar.gz
  • Upload date:
  • Size: 8.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for gitblame_ai-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e7faca57a5288793fc01fe778f77ea02eb29ee5ad17dda18c1c5cef2477dd990
MD5 9be5459182ba2a475721b50d4d2af94e
BLAKE2b-256 e9d074b650de1571aad6ee02106bc8c36f3e522539981f2f127de48ad2b44543

See more details on using hashes here.

File details

Details for the file gitblame_ai-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: gitblame_ai-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for gitblame_ai-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1915e04860d462bccbfe5c29c54ef5cc338d0f44d7aeef2e58944297b99a45ed
MD5 21fab9e407934bcad9e00123f418dfde
BLAKE2b-256 676b7e22e9a85a241c6fd577d12a2eb9515b4c0877189a02bb50e2aa732b7a12

See more details on using hashes here.

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