I started working on GitChronicler mostly to learn how I could integrate AI into my workflow in a way that would actually spare me doing boring stuff, like writing the git commit message. The tool feeds a patch to a language model via the OpenRouter API and gets back a commit message that reflects what the code actually does — saving the mechanical step of describing changes that are already fully visible in the diff, while still leaving the developer in control of what gets committed.

GitChronicler is a very simple tool that feeds a patch to the OpenRouter API and asks for a git commit message. In addition to the simple use case, there are a few more features, like checking that a commit message really describes what a patch does or write up a summary for a branch so that it can be used in a pull request description.

Write a commit message#

Let’s look at the main use case for GitChronicler. Instead of writing:

1
git commit -s -m "Done something"

You can just run:

1
git-chronicler write -s

If you want to commit only the staged changes, pass --cached, and if you want to edit the log message before committing it, use -i.

Check a commit message#

Another useful function is the possibility to check that the commit message reflects what the code does:

1
git-chronicler check

It also implements a few tools that are used with models supporting them. The tool permits the AI model to access more files in the git repository if needed.

Describe a branch#

It is sometimes useful to get a summary of a series of patches, so that for example it can be used as the description for a pull request:

1
git-chronicler describe origin/main

Source repository#

If you are interested to try it out, check its code here: https://github.com/giuseppe/git-chronicler