Writing a good Git commit messages is a small but repetitive work of software development.
I often found myself spending time deciding whether a change should be feat, fix or chore, and then trying to write a description.
So I decided to build a small cli tool to help.
cmt-cli Git Commit assistant that analyzes your staged changes and generates a commit message.
A commit message saying updated stuff or wip doesn't tell us much when looking through Git history.
A good commit message should be like:
I wanted to automate the repetative part while still keeping the developer in control of the final message.
The flow is simple:
cmt suggest
OpenAI
cmt-cli
Install it directly from PyPi
uv tool install cmt-cli
Then configure your OpenAI API key and preferred model (default is gpt-4o-mini)
cmt config set
Now got to any Git repository, stage your changes and run
cmt suggest
That's it.
If you want to try cmt-cli:
GitHub: https://github.com/bijaydas/cmt
PyPi: https://pypi.org/project/cmt-cli/