aicom (I Hate Writing Commit Messages, So I Automated Them)
I was deep in a refactor — moving files, updating imports, tweaking types. Flow state.
Then I had to stop and write a commit message.
"What did I even change? Was it 'refactor' or 'chore'? Do I need a scope?"
Five minutes gone. Flow broken.
I tried existing tools — they were either too slow, too chatty, or required me to describe my changes anyway. Which defeats the point.
The idea: What if a CLI just read the diff and committed for me? No prompts. No thinking. Just aicom.
Building It (The Messy Middle)
First version: 50 lines of Node.js
I hacked together a script that:
- Ran git diff --cached
- Sent it to OpenAI's API
- Committed with the response
It worked. Barely.
The problems I hit:
1. API keys are friction
I didn't want people to sign up for OpenAI just to try this. Found OpenRouter — it aggregates multiple models and has free tier credits. Perfect.
2. Large diffs killed the context window
A big refactor would blow past token limits. Solution: truncate smartly, prioritize changed lines over context.
3. The AI was too verbose
Early commits looked like: "This commit refactors the authentication module by extracting..."
I tuned the prompt: "One line. Conventional commits format. No preamble."
4. Zero dependencies was non-negotiable
I wanted this to install fast and work everywhere. No frameworks. Pure Node (later Bun). Just the essentials.
Shipping & Reality Check
Launch day: 10 downloads
Posted on X/Twitter. One comment: "Why not just use Copilot?"
Fair question. But Copilot requires context switching and it's paid. This doesn't.
The turning point: Developers who actually used it
Started getting GitHub stars from people I didn't know. One guy opened an issue: "Works great, but can it support gitmoji?"
That's when I realized — people were actually integrating this into their workflow.
1,000 downloads later:
- Developers using it in CI pipelines
What I learned:
Tools don't need to be perfect. They need to solve one problem really well.
What's Next
The tool works. But it's not done.
On the roadmap:
- Streaming responses — so you see the commit message before it commits
- Gitmoji support — because some people like their commits with 🎨 and 🐛
- Custom templates — let people define their own commit format
It's open source for a reason:
I built this for my workflow. But if it helps yours too, contribute. Fix what bugs you. Add what you need.
👉 Try it: npm i -g aicom
👉 Repo: github.com/olllayor/aicom