I was tired of writing 'fix' as my commit message so I built this in one afternoon
Source: Dev.to
Every developer knows this feeling
You just spent 3 hours building a feature.
You’re tired. You just want to push and go to sleep.
Then git asks you:
Enter commit message:And you type… “fix”, or maybe “update”, “changes”, or my personal favourite — “asdfgh”.
The daily pain nobody talks about
It’s not just commit messages. Every single day as a developer you have to write three things that have nothing to do with actual coding:
- Commit messages – every time you save code to git
- Daily standup – every morning “what did I do yesterday?”
- PR descriptions – explaining your changes all over again to your team
These three things happen every day. They’re not hard but they’re annoying, repetitive, and eat up 10‑15 minutes of your day doing mental work that adds zero value.
What I built
I built commitgpt – a CLI tool that reads your git diff and automatically writes all three for you using AI.
git add .
cmtOutput
✨ feat(auth): add Google OAuth2 login with session timeout
- Implemented OAuth2 flow using Google provider
- Sessions expire after 30 mins of inactivity
- Fixed bug where users stayed logged in after password change
- Added redirect to dashboard on successful loginThat’s a real, professional conventional commit message — written in 2 seconds from your actual code changes.
All 3 commands
Commit message
git add .
cmtDaily standup
cmt standupOutput
Yesterday: Implemented OAuth2 login flow, fixed session expiry bug
Today: Writing tests for auth middleware, reviewing PR #42
Blockers: NonePR description
cmt prOutput
## What changed
Added Google OAuth2 login with automatic session timeout.
## Why
Users were staying logged in indefinitely, creating a security risk.
## Testing
- Manual: tested login, logout, session expiry
- Unit: auth middleware coverage at 94%How to use it
Install
pip install commitgpt-nikeshGet a free GitHub token
- Go to github.com → Settings → Developer Settings
- Personal Access Tokens → Generate new token
- No scopes needed.
Create a .env file
GITHUB_TOKEN=ghp_your_token_hereRun the commands
git add .
cmt # commit message
cmt standup # daily standup
cmt pr # PR descriptionHow I built it
- About 300 lines of Python.
clickfor the CLI.- OpenAI SDK pointing to GitHub Models API.
subprocessto call git commands.python-dotenvto load the API key.
The hardest part was writing the right prompts to get consistent, high‑quality output every time.
What’s next
- Support for Jira ticket numbers in commit messages
- VS Code extension
- Support for more AI providers
Try it
pip install commitgpt-nikeshGitHub:
Feel free to leave feedback in the comments – what features would you like to see next?