Join the discussion
Write your take first — we'll ask for email only when you're ready to publish.
- Hacker News
- > Automatic secret detection: Scans for API keys, passwords, and tokens before committing
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
by bangaladore - The scanning is done on-device. I should've worded it better and said that it scans before any API calls. Too late to edit the post, unfortunately.
- I like that you’ve added secret detection and multi-provider support — that’s something most LLM commit tools miss. Have you benchmarked latency differences between local models (like Ollama) and OpenAI/Anthropic? Would be interesting to see a speed comparison.by avinash-iitb
- "gac" is giving me PTSD flashbacks from having to deal with the "Global Assembly Cache" aeons ago.by rwdf
- That's very cool! I actually built a Claude Code Web alternative* over the last few months and made my own auto-commit solution for it. I reckon though having the prompt is what helps me and the agent generate relevant prompt messages that can explain the why. Anyway even a average commit message is way better than none
*ariana.dev
by AnicetN - Here's the 20 line bash version I whipped up a while back cuz yes lazy about writing good commit messages.
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...
by torqu3e - Hey all - disclaimer I'm one of Cell's friends and encouraged them to release their utility on Pypi for others. It quickly became one of my favorite tools that I use every day.
`git commit` is gone, `uvx gac` is in!
by glitch253 - I've been using LMStudio to run a local LLM (Qwen3-4B) to generate commit messages using this command:
```
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"
```
by ah27182 - Chiming in with my alternative, like others' but uses simonw's `llm`:
However, in practice, I notice the generated messages focus more on the what than the why. So it's rare I use them verbatim.git upstream-diff | llm --system-fragment cl-description.mdby paulirish - Neat project. If you're looking for something simpler just to use w/ Claude Code, a simple call to "claude -p" can work: https://github.com/nicksergeant/dotfiles/blob/master/zshrc#L...by nicksergeant
- Thanks! Can definitely do that, but GAC is faster than calling claude or another agent as they will take multiple api calls to look at git status, git diffs, etc. vs a single api call with GAC. Plus, GAC won't eat up your weekly limits! ;)
- There's three types of people: those who already write excellent commit messages explaining the why, those who write decent ones explaining the what, and those who write garbage commit messages. Empirically, the first set is small. This tool will help the middle type be more efficient, and help the last type drastically.
Well done OP.
by cypriss9 - I don’t get these kind of tools. A commit should be the why of a change, not a summary of what it is, anyone can either get that themselves or just read the code if they desire. What you can not get from the code is the _why_ which only you as the author can put.
- That's a PR description. Commit messages describing why is pretty annoying and useless.by nsonha
- I do often ask Claude Code or Gemini CLI to write commits. I agree with you on why being important. Majority of these being bug fixes accompanied tests where the why is easily inferred from the change/newly added tests and their comments.by nvartolomei
- There are plenty of commits that don't need an explanation like mechanical cleanups or refactoring. If your code is appropriately documented then an LLM can often extract the explanation too.by Ferret7446
- I often start a change by having Cursor read the Slack thread (via MCP) that is motivating the change. In the same Cursor thread, after making the change, it has fairly good context on the _why_ and writes a helpful commit message.by derwiki