Show HN: Git Auto Commit (GAC) – LLM-powered Git commit command line tool (github.com)
GAC is a tool I built to help users spend less time summing up what was done and more time building. It uses LLMs to generate contextual git commit messages from your code changes. And it can be a drop-in replacement for `git commit -m "..."`.
Example:
feat(auth): add OAuth2 integration with GitHub and Google
- Implement OAuth2 authentication flow
- Add provider configuration for GitHub and Google
- Create callback handler for token exchange
- Update login UI with social auth buttons
Don't like it? Reroll with 'r', or type `r "focus on xyz"` and it rerolls the commit with your feedback.You can try it out with uvx (no install):
uvx gac init # config wizard
uvx gac
Note: `gac init` creates a .gac.env file in your home directory with your chosen provider, model, and API key.Tech details:
14 providers - Supports local (Ollama & LM Studio) and cloud (OpenAI, Anthropic, Gemini, OpenRouter, Groq, Cerebras, Chutes, Fireworks, StreamLake, Synthetic, Together AI, & Z.ai (including their extremely cheap coding plans!)).
Three verbosity modes - Standard with bullets (default), one-liners (`-o`), or verbose (`-v`) with detailed Motivation/Architecture/Impact sections.
Secret detection - Scans for API keys, tokens, and credentials before committing. Has caught my API keys on a new project when I hadn't yet gitignored .env.
Flags - Automate common workflows:
`gac -h "bug fix"` - pass hints to guide intent
`gac -yo` - auto-accept the commit message in one-liner mode
`gac -ayp` - stage all files, auto-accept the commit message, and push (yolo mode)
Would love to hear your feedback! Give it a try and let me know what you think! <3GitHub: https://github.com/cellwebb/gac
22 comments
[ 3.1 ms ] story [ 56.2 ms ] threadJust installed gac; they nailed the UI/UX.
And so far, it works quite well.
Getting started is as easy as installing claude/codex/gemini: npm install -g aicommit2
I'm excited to give gac a try and see how it stacks up! The steering hints with gac might give it an edge.
```
git diff --staged --diff-filter=ACMRTUXB | jq -Rs --arg prompt 'You are an assistant that writes concise, conventional commit messages. Always start with one of these verbs: feat, fix, chore, docs, style, refactor, test, perf. Write a short!! message describing the following diff:' '{model:"qwen/qwen3-4b-2507", input:($prompt + "\n\n" + .)}' | curl -s http://localhost:1234/v1/responses -H "Content-Type: application/json" -d @- | jq -r ".output[0].content[0].text"
```
Well done OP.
`git commit` is gone, `uvx gac` is in!
https://github.com/m7medVision/lazycommit
Surely this is done on-device right? Or is the prompt asking the LLM if there are secrets in the changes.
Arguably I trust Github / Gitlab / etc more than OpenAI / Anthropic / etc
Supports claude and gemini with model selection and goes into the githook such that when you type `git commit` it invokes and generates the message.
https://gist.github.com/torqu3e/c08f4aa4e80fba66dce6c35d63dd...
*ariana.dev