Skip to main content

A fun, interactive CLI companion that roasts and praises your code

Project description

🔥 RoastBuddy

Your witty coding companion that roasts, praises, and tracks your development journey!

RoastBuddy is a fun, interactive CLI tool that observes your git activity and gives you humorous roasts and genuine praise. It tracks your coding streaks, monitors code quality, and helps you generate shareable brag content for social media.

✨ Features

  • 🎭 Smart Roasts & Praise: Context-aware commentary on your commits using GitHub Copilot CLI or built-in templates
  • 🔥 Streak Tracking: Monitor clean commits, daily coding habits, and test pass rates (coming soon)
  • 📊 Code Quality Insights: Track your coding trends and improvements over time
  • 🎨 Beautiful CLI: Rich, colorful terminal output with emojis and ASCII art
  • 📜 History Tracking: View all your past roasts and praises
  • ⚙️ Configurable: Customize roast intensity, AI usage, and more
  • 🚀 Shareable Content: Generate LinkedIn, Twitter, and GitHub-ready summaries (coming soon)
  • 🪝 Git Hooks: Optional auto-roast on every commit (coming soon)
  • 🔒 Privacy First: All data stays local, no telemetry

🚀 Quick Start

Installation

# Clone the repository
git clone https://github.com/yourusername/roastbuddy.git
cd roastbuddy

# Install in development mode
python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -e .

Initialize in Your Repository

cd your-project
roastbuddy init

Get Your First Roast!

# Make a commit first
git commit -m "your commit message"

# Then get roasted!
roastbuddy roast

# Or get some praise
roastbuddy praise

# Check your stats
roastbuddy status

# View history
roastbuddy history

📖 Commands

roastbuddy init

Initialize RoastBuddy in a git repository. Creates configuration and database files.

roastbuddy init

roastbuddy roast

Get a witty roast based on your last commit!

roastbuddy roast

Example output:

🔥 Your Roast

🙄 'fixed stuff' - ah yes, the ancient art of commit message poetry. 
Shakespeare would be proud... NOT! Try being specific next time. 📝

roastbuddy praise

Receive well-deserved praise for your work!

roastbuddy praise

Example output:

✨ Your Praise

✨ Beautiful commit! Clear message, focused changes, and just the right size. 
You're a git wizard! 🧙‍♂️

roastbuddy status

View repository statistics and activity summary.

roastbuddy status

Shows:

  • Last commit information
  • Total commits analyzed
  • Clean commit ratio
  • Average files and lines per commit
  • GitHub Copilot availability

roastbuddy history

View your roast and praise history.

roastbuddy history --limit 20

roastbuddy config

Manage RoastBuddy configuration.

# Show current configuration
roastbuddy config --show

# Set a configuration value
roastbuddy config --set roast_intensity spicy
roastbuddy config --set use_copilot never

Configuration options:

  • roast_intensity: light, medium, or spicy
  • use_copilot: auto, always, or never
  • enable_streaks: true or false
  • show_emojis: true or false
  • auto_roast_on_commit: true or false (git hooks, coming soon)

🤖 GitHub Copilot Integration

RoastBuddy works with or without GitHub Copilot CLI:

  • With Copilot: Get dynamic, AI-powered roasts and praise tailored to your specific commits
  • Without Copilot: Use built-in template system with dozens of witty responses

Installing GitHub Copilot CLI (Optional)

  1. Install GitHub CLI: https://cli.github.com/
  2. Install Copilot extension:
    gh extension install github/gh-copilot
    

RoastBuddy will automatically detect and use Copilot when available!

🎯 What Makes a "Clean" Commit?

RoastBuddy evaluates commits based on:

Good Commits:

  • Descriptive message (>10 characters)
  • Reasonable size (<200 lines)
  • Focused changes (≤5 files)
  • Clear intent and purpose

Roast-worthy Commits:

  • Vague messages ("fix", "update", "stuff")
  • WIP indicators in message
  • Massive changes (>500 lines)
  • Too many files changed (>15)

📊 Example Session

$ roastbuddy init
🔥 Initializing RoastBuddy...
✅ RoastBuddy is ready to roast!

$ git commit -m "wip"
[main 1a2b3c4] wip
 1 file changed, 2 insertions(+)

$ roastbuddy roast
🔥 Your Roast

🎭 'WIP' - Working In Progress? More like 'Why Is Perfection' 
so hard to achieve! Clean up that message! ✨

$ git commit -m "Implement user authentication with JWT tokens and refresh logic"
[main 5d6e7f8] Implement user authentication...

$ roastbuddy praise
✨ Your Praise

✨ Beautiful commit! Clear message, focused changes, and just the 
right size. You're a git wizard! 🧙‍♂️

$ roastbuddy status
📊 Repository Status

Last Commit: 5d6e7f8 - Implement user authentication with JWT...
Files: 3 | Lines: +145 -12

Statistics (last 10 commits):
Total Commits      10
Clean Commits      7 (70%)
Avg Files/Commit   3.2
Avg Lines/Commit   87
GitHub Copilot      Available

🧪 Running Tests

# Install development dependencies
pip install -r requirements-dev.txt

# Run tests
pytest

# Run with coverage
pytest --cov=roastbuddy

📋 Requirements

  • Python 3.8+
  • Git repository
  • (Optional) GitHub Copilot CLI for AI-powered roasts

🛣️ Roadmap

  • ✅ Phase 1: Core CLI and configuration
  • ✅ Phase 2: Git integration and analysis
  • ✅ Phase 3: Copilot CLI integration
  • ✅ Phase 4: Fallback template system
  • 🚧 Phase 5: Streak tracking
  • 🚧 Phase 6: Git hooks integration
  • 🚧 Phase 7: Shareable social media content
  • 🚧 Phase 8: Extended testing and polish
  • 🚧 Phase 9: PyPI package distribution

🤝 Contributing

Contributions welcome! Please feel free to submit a Pull Request.

Development Setup

git clone https://github.com/yourusername/roastbuddy.git
cd roastbuddy
python3 -m venv venv
source venv/bin/activate
pip install -e ".[dev]"

📜 License

MIT License - See LICENSE file for details

🎉 Credits

Built with love, Python, and a healthy dose of sarcasm by developers who believe coding should be fun!


Made with ❤️ and a healthy dose of sarcasm

Remember: RoastBuddy roasts your code, not you! All feedback is meant to be fun and educational. 😊

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

roastbuddy-0.1.0.tar.gz (22.9 kB view details)

Uploaded Source

Built Distribution

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

roastbuddy-0.1.0-py3-none-any.whl (24.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for roastbuddy-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a6b9d01f7205cce3a5148e9f233c6b4028ef4baed92c260a2786a2d72444bb98
MD5 9bf759ee316ac4b708f851ed9c61515c
BLAKE2b-256 41bc0e6694161bee1b677ccb6ad1d0f16358349cf1fcab7e31febf265afac23a

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for roastbuddy-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ab99345bcf2554630d585d3626789961f582b9ba30d056395f912a40dad00f20
MD5 85a7d3925902ddc66ff69131b154c0ce
BLAKE2b-256 a1b9ae92dcf4e3462220a766249a039296488170e9438c2d6c8a302b3d5b4009

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