git-roast-cli
v1.0.1
Published
<div align="center">
Readme
🎭 Git Roast CLI
The snarkiest commit assistant that roasts your terrible code before generating conventional commits.
██████╗ ██╗████████╗ ██████╗ ██████╗ █████╗ ███████╗████████╗
██╔════╝ ██║╚══██╔══╝ ██╔══██╗██╔═══██╗██╔══██╗██╔════╝╚══██╔══╝
██║ ███╗██║ ██║ ██████╔╝██║ ██║███████║███████╗ ██║
██║ ██║██║ ██║ ██╔══██╗██║ ██║██╔══██║╚════██║ ██║
╚██████╔╝██║ ██║ ██║ ██║╚██████╔╝██║ ██║███████║ ██║
╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝ ╚═╝ Tired of boring git commit -m "fix bug" messages? Git Roast takes a look at your messy staging area, brutally roasts your development skills using heuristic-based AI typing animations, and then forces you to generate a proper Conventional Commit.
✨ Features
- 🔥 Heuristic Roasts: It actively looks at what you are committing. Committing
.env? It will mock you for leaking secrets. Committingconsole.log? It will call out your amateur debugging. - 🤖 Typewriter Animations: Simulates a sentient, highly judgmental AI typing out its disappointment in real-time.
- 📦 Interactive Staging: Lets you interactively select unstaged files to add directly from the CLI.
- 📝 Conventional Commits: Enforces standard commit formatting (
feat:,fix:,chore:) to keep your repo history pristine. - 🎨 Beautiful Aesthetics: Full of emojis, colors, and satisfying terminal rendering powered by
inquirer.
🚀 Installation
You can run it instantly without installing:
npx git-roast-cliOr install it globally to replace your boring git commit workflow forever:
npm install -g git-roast-cli🎮 Usage
Simply run the command in any git repository:
git-roastFlow:
- It analyzes your
git status. - It lets you interactively select which files to stage.
- It visibly judges you and types out a personalized roast based on your file choices.
- It presents you with a list of pre-formatted, passive-aggressive Conventional Commit messages (or lets you write your own).
- It commits the files.
🛠️ How it works
- Interfaces directly with your local
gitbinary usingchild_process.execSync. - Uses regex heuristics to scan the filenames you selected (e.g., matching
package.jsonvs.tsxvs.env). - Generates a dynamic insult.
- Spawns an interactive
inquirerprompt to handle the commit message.
Architected by @lakshanmuruganandam
Built for developers who need a little tough love.
