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, orspicyuse_copilot:auto,always, orneverenable_streaks:trueorfalseshow_emojis:trueorfalseauto_roast_on_commit:trueorfalse(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)
- Install GitHub CLI: https://cli.github.com/
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a6b9d01f7205cce3a5148e9f233c6b4028ef4baed92c260a2786a2d72444bb98
|
|
| MD5 |
9bf759ee316ac4b708f851ed9c61515c
|
|
| BLAKE2b-256 |
41bc0e6694161bee1b677ccb6ad1d0f16358349cf1fcab7e31febf265afac23a
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab99345bcf2554630d585d3626789961f582b9ba30d056395f912a40dad00f20
|
|
| MD5 |
85a7d3925902ddc66ff69131b154c0ce
|
|
| BLAKE2b-256 |
a1b9ae92dcf4e3462220a766249a039296488170e9438c2d6c8a302b3d5b4009
|