Commit Gen — AI Commit Messages
Generate properly formatted conventional commit messages directly in VSCode — from your staged changes or a plain English description.
Built by Attah Kelechi — Frontend Engineer.
Features
- Generate from staged changes — automatically reads your
git diff and generates a commit message
- Generate from description — describe what you changed in plain English and get a formatted commit
- Editable output — review and tweak the message before it's inserted
- Auto-inserts into SCM — the message goes straight into VSCode's Source Control commit box
- Conventional commits format — always outputs
type(scope): subject with optional body
Setup
1. Get a free Groq API key
Go to console.groq.com → sign up for free → create an API key.
Groq's free tier gives you 14,400 requests per day — more than enough for daily commits.
2. Add your API key to Commit Gen
Open the command palette (Ctrl+Shift+P) and run:
Commit Gen: Configure API key
Paste your Groq API key when prompted. It's saved globally — you only do this once.
Usage
Generate from staged changes (recommended)
- Stage your files: git add . or use VSCode's Source Control panel
- Open command palette: Ctrl+Shift+P
- Run: Commit Gen: Generate from staged changes
- Review and edit the message if needed
- Press Enter — it's inserted into the Source Control commit box
Keyboard shortcut: Ctrl+Shift+G Ctrl+Shift+G
Generate from description
- Open command palette: Ctrl+Shift+P
- Run: Commit Gen: Generate from description
- Type what you changed in plain English
- Review and edit — press Enter to confirm
Commit types
| Type |
When to use |
| feat |
New feature |
| fix |
Bug fix |
| refactor |
Code restructure without behavior change |
| chore |
Maintenance, dependencies |
| docs |
Documentation only |
| style |
Formatting, no logic change |
| test |
Adding or updating tests |
| perf |
Performance improvement |
| ci |
CI/CD changes |
| build |
Build system changes |
| revert |
Reverting a previous commit |
Settings
| Setting |
Default |
Description |
| commitGen.apiKey |
"" |
Your Groq API key |
| commitGen.model |
llama-3.3-70b-versatile |
Groq model to use |
| commitGen.includeBody |
true |
Include bullet point body |
| commitGen.autoInsert |
true |
Auto-insert into SCM input box |
Examples
From staged changes:
feat(auth): add JWT refresh token rotation
- generate new refresh token on each use
- invalidate previous token after rotation
- store token hash in database instead of raw value
From description ("fixed the navbar not closing on mobile"):
fix(navbar): close menu on mobile link click
- add click handler to each nav link
- call setMenuOpen(false) on navigation
Privacy
Your code is sent to Groq's API (https://groq.com) for processing. Groq does not train on API data. No data is sent to any other server.
License
MIT — built by Attah Kelechi (https://attah-dev.vercel.app)