https://github.com/jasonlovesdoggo/roastme
A witty CLI tool that analyzes your shell history and brutally roasts your command-line habits using AI to keep your ego in check.
https://github.com/jasonlovesdoggo/roastme
ai bash bubbletea cli developer-tools fish go golang humorous llm shell-history terminal tui zsh
Last synced: 3 months ago
JSON representation
A witty CLI tool that analyzes your shell history and brutally roasts your command-line habits using AI to keep your ego in check.
- Host: GitHub
- URL: https://github.com/jasonlovesdoggo/roastme
- Owner: JasonLovesDoggo
- License: mit
- Created: 2025-03-08T03:56:00.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-03-08T03:59:32.000Z (3 months ago)
- Last Synced: 2025-03-08T04:27:59.393Z (3 months ago)
- Topics: ai, bash, bubbletea, cli, developer-tools, fish, go, golang, humorous, llm, shell-history, terminal, tui, zsh
- Language: Go
- Homepage:
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GoRoastMe
### Get roasted by AI for your terminal habits

[](https://pkg.go.dev/github.com/jasonlovesdoggo/roastme)
[](https://goreportcard.com/report/github.com/jasonlovesdoggo/roastme)
[](https://opensource.org/licenses/MIT)## 📖 Overview
**GoRoastMe** is a fun CLI tool that analyzes your command history and generates humorous "roasts" based on your
terminal habits.Whether you're making the same typos, using excessively complex commands, or spending too much time on social media sites through the terminal, RoastMe will call you out with style.
![]()
## ✨ Features
- 🔍 Analyzes your shell command history (supports Bash, Zsh, and Fish)
- 🤖 Generates personalized roasts using AI (Google Gemini, OpenAI, or Anthropic)
- 🏠 Works locally without API keys or internet connection
- 🎨 Beautiful TUI using Bubble Tea and Lip Gloss
- 🧩 Extensible with custom AI providers## 🚀 Installation
### Using Go
```bash
go install github.com/jasonlovesdoggo/roastme@latest
```### Pre-built binaries
Download the [latest release](https://github.com/jasonlovesdoggo/roastme/releases/latest) for your platform.
## 💻 Usage
### Basic Usage
Simply run:
```bash
roastme
```This will analyze your recent command history and generate a humorous roast using the local (non-AI) engine.
### Advanced Usage
```bash
# Get a deeper analysis of your command history
roastme --deep# Configure your AI provider settings
roastme config
```## ⚙️ Configuration
RoastMe supports multiple AI providers, with Google Gemini set as the default. You can configure your preferred provider in two ways:
### 1. Interactive Configuration
Run the configuration UI:
```bash
roastme config
```This will open an interactive terminal UI where you can:
- Select your preferred AI provider (local, Google Gemini, OpenAI, Anthropic, or custom)
- Enter your API credentials
- Set model preferences### 2. Manual Configuration
Edit `~/.roastme.toml`:
```toml
[ai]
provider = "gemini" # Options: local, gemini, openai, anthropic, custom[ai.openai]
api_key = "your-openai-api-key"
base_url = "https://api.openai.com/v1"
model = "gpt-3.5-turbo"[ai.gemini]
api_key = "your-gemini-api-key"
base_url = "https://generativelanguage.googleapis.com"
model = "gemini-pro"[ai.anthropic]
api_key = "your-anthropic-api-key"
base_url = "https://api.anthropic.com"
model = "claude-2"[ai.custom]
api_key = "your-custom-api-key"
base_url = "https://api.your-provider.com"
model = "your-model"[ui]
colorTheme = "dark" # Options: dark, light
style = "rounded" # Options: rounded, double, thick
```## 🔎 What RoastMe Analyzes
RoastMe looks for patterns in your command history, including:
- **Repeated commands** - Are you running the same command over and over?
- **Failed commands** - Typos and error patterns
- **Complex commands** - Extremely long one-liners or pipe chains
- **Indecision** - Excessive use of cd, ls, and other navigation commands
- **Time wasters** - Commands that access time-wasting websites
- **Skill level** - Command complexity to determine your terminal proficiency## 🤝 Contributing
Contributions are welcome! Here's how you can contribute:
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request## 📝 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## 🙏 Acknowledgments
- [Bubble Tea](https://github.com/charmbracelet/bubbletea) and [Lip Gloss](https://github.com/charmbracelet/lipgloss) for the beautiful TUI
- [LangChain Go](https://github.com/tmc/langchaingo) for AI integrations
- [Viper](https://github.com/spf13/viper) for configuration management
- [Cobra](https://github.com/spf13/cobra) for CLI commandsMade with ❤️ and a sense of humor