π§ cmtmsg-tool
Zero-effort, AI-generated commit messages. Powered by OpenAI.
Output Example
β cmtmsg-tool git:(main) β cmtmsg
[CONFIG] .env loaded from /Users/ataxali/dev/cmtmsg-tool/.env
[AUTH] OPEN_AI_KEY starts with: sk-proj-...
[MODEL] Using model: gpt-4o
[SCAN] Collecting working tree changes
[PROC] Transmitting to OpenAI API... COMPLETE
[OUTPUT] Generated commit message:
chore(cmtmsg): update ASCII art to celebration
Replaced sunflower ASCII art with a celebration motif to enhance script output.
[CONFIRM] Commit with this message? (y/N) y
[COMMIT] Committed to main
[PUSH] Push to origin/main? (y/N) y
[PUSH] Changes pushed to origin/main
\ | /
-- @ --
/ | \033[0m
|
|
POWER
UP!
β cmtmsg-tool git:(main)
π€ Why
Stop writing commit messages.
Let your code explain itself.
β‘οΈ What It Does
- Parses your working
git diff
- Sends it to OpenAIβs GPT (configurable model)
- Returns a Conventional Commit message
- Optionally commits and pushes it β fully hands-free
π Quick Start
# clone your fork
git clone https://github.com/oldmill1/cmtmsg.git
cd cmtmsg
# add your OpenAI API key
cp .env.example .env
.env
file contents:
OPEN_AI_KEY=sk-xxx
MODEL=gpt-4o
Make changes to your repo, then run:
./cmtmsg.sh # interactively review
./cmtmsg.sh --confirm # fire-and-forget mode
β Requirements
git
bash
curl
jq
- OpenAI API key
βοΈ Config Options (.env
)
Key | Purpose | Default |
---|---|---|
OPEN_AI_KEY |
Your OpenAI API key | β |
MODEL |
GPT model for description | gpt-4o |
π§ͺ Example Output
π¬ Commit message:
feat(cli): add OpenAI-powered commit message generation
Uses current Git diff and generates meaningful Conventional Commits.
π¦ License
MIT Β© @oldmill1
π Contributing
Pull requests, issues, and ideas are welcome.
This is built to be simple β letβs keep it that way.