Ah this again?<p>Commit message is not just a quick summary of what, it's also a historical record of why. Can't generate the latter from the diff.
This sort of thing probably doesn't work particularly well with file auto-saving, which is almost necessary for some language servers to reprocess files to reflect "real-time" in VSCode. Aren't you also just committing half-baked work and totally menial changes?
I tried this with a random commit from one of my projects: <a href="https://github.com/masto/LED-Marquee/commit/775d48fc0dd969de2dfb3c7212b6c900d83cdd2d">https://github.com/masto/LED-Marquee/commit/775d48fc0dd969de...</a>. You can read my human-crafted message there. By comparison, what follows is the one that Gemini came up with which is A: useless, and B: wrong. I don't want to be mean, but I would put this up there as almost the perfect example of what generative AI should never be used for. It cannot read your mind, and the commit description is where you say what the intention of the change is, not summarize what it contains.<p><pre><code> Fix: Remove platformio.ini from .gitignore and rename platformio.ini.dist
This commit removes platformio.ini from the .gitignore file and renames
platformio.ini.dist to platformio.ini. This allows the project's PlatformIO
configuration to be tracked by Git and ensures consistent build settings across
development environments. It also adds comments explaining how to configure OTA
updates and override settings with a separate marquee.ini file.</code></pre>
Please don't jump on me:<p>Am I the only person in this world who is an accomplished engineer and thinks commit messages are worthless? That if I want to roll back or dissect, I do it at the PR and not individual commit level?<p>The need for very accurate comment messages occurs so rarely in my workflow that the value of crafting them correctly is not there.<p>I ask honestly: Am I missing something here? Why? Is it something peculiar to my workflow I'm missing?
For commit messages, the world seems full of bad commit messages, and commit hygiene. Does this do anything to help improve that? What I really want is a bot that groups my changes into logical commits. I.e. I tell what kind of change I want committed, and it stages only those patches.<p>I noticed today that one of the big hardware stores in Switzerland has started using LLMs to generate descriptions. As expected, it's just drivel:<p>> Do you need a new sealing ring for your washbasin siphon? No problem. The Geberit plug-in seal is exactly what you need. With a diameter of 32/46 mm, it fits perfectly and ensures that everything is tight. It has a height of 5.5 cm and a length of 2.3 cm, making it easy to handle and quick to install. It's simply worth its weight in gold when everything fits at the first attempt and you don't have to worry about whether the quality is right.
So, whenever your washbasin siphon needs a refresh, the Geberit plug-in seal with its 3.2 cm is your first choice. Simply insert and you're done.<p><a href="https://www.jumbo.ch/de/bad-sanitaer/installationsmaterial/dichtungen-dichtmittel/geberit-steckdichtung---32--46-mm/p/4437440" rel="nofollow">https://www.jumbo.ch/de/bad-sanitaer/installationsmaterial/d...</a>
The Auto-Commit Bot is a Python-based tool that automatically monitors a directory for changes, generates meaningful commit messages using the Google Gemini API, and commits the changes to a Git repository. It’s perfect for automating repetitive Git tasks and ensuring consistent commit messages.
"feat: Enhance Auto-Commit Bot with new features and improvements"<p>It's definitely _a_ commit message. Not sure it beats "asdasd" or "do stuff" though.
Cursor has this conveniently built in. I find it pretty handy, specially for wip commits<p>It doesn’t know the intent of the commit though, so if you change X because of Y, it will just tell that X changed, without explaining why.<p>Adding more context about what the ticket is about can probably solve that