DEV Community

bhargavirengarajan21
bhargavirengarajan21

Posted on

git-commit-at: Generate conventional commit messages locally with AI (no API key needed)

We all know the commit history that looks like this:

fix
wip
actually fix
update
FINAL fix
AI tools can help, but most of them send your code diff to the cloud and require a paid API key. That's a non-starter for private repos or sensitive codebases.

What I built
git-commit-at is an npm CLI that analyzes your staged diff and suggests 3 conventional commit messages using a locally-running AI model. Nothing leaves your machine.

npm install -g git-commit-at
Then, in any git repo:

git add .
git-commit-at
You get an interactive prompt to pick a message, optionally add a ticket number (JIRA, Linear, etc.), and confirm. Done.

How it works under the hood

git-commit-at (CLI)

├── Checks if Docker services are running
│ ├── Ollama — runs qwen2.5-coder:1.5b locally (port 11434)
│ ├── Redis — session + cache (port 6379)
│ └── Gradio — web UI for login/history (port 7860)

├── Reads your staged git diff
├── Streams 3 commit suggestions from Ollama
├── You pick one (and optionally add a ticket prefix)
└── Runs git commit
On first run, Docker pulls the model (~1 GB) and starts the services. After that, suggestions take about 5–10 seconds.

Features
Feature Details
AI suggestions 3 per run, based on your actual diff
Conventional commits feat:, fix:, refactor:, chore:, etc.
Ticket integration Prefix with JIRA/Linear ticket numbers
Branch visualizer Live git DAG in the web UI
Commit history Tracked across all your repos
Fully offline After first model download
Privacy 100% local — no data sent anywhere
Requirements
Docker (all backend services run in containers)
Node.js 18+
That's it. No Ollama install, no Python setup, no API keys.

Install

npm install -g git-commit-at
GitHub: https://github.com/bhargavirengarajan21/git-commit-at
npm: https://www.npmjs.com/package/git-commit-at
Hugging face: https://huggingface.co/spaces/build-small-hackathon/git-commit-app
fine-tune: https://huggingface.co/Bhargavi5q1/git-commit-messages/tree/main

Feedback welcome — especially on the Docker requirement and model choice. I'm considering making the model configurable as a first-class setting.

Both posts are ready to copy-paste. For dev.to, paste as Markdown and set the tags to git, ai, opensource, devtools. Add a cover image and a demo GIF if you have one — posts with visuals get significantly more reach there.

Top comments (0)