This is a very simple Git changelog generator, but it is by far the best Git changelog generator that I have ever written.
It does not rely on any specific style of commit messages (such as "conventional commits") and assumes that you're using GitHub pull requests as the main path to feature integration.
It figures out what the commit range is you are trying to generate a changelog for, then gathers all the associated pull request data, then generates tagged summaries via OpenAI.
Once all that data is gathered, it will output a markdown based changelog with links to relevant PRs.
$ cargo install git-glance
In order to get the PR data, it assumes that you have gh
cli tool setup and that we can execute it.
It also uses OpenAI to help with classification and summarization. You will need an OpenAI key or it will bail.
$ git config --global --add glance.openai.key sk_blahblahblah
You can see if these things are set with git-glance --check
:
This is horrible, horrible software and it will probably break. I'm not great at Rust and I've done little testing. It works for me, but if you're looking for solid code, this isn't a great place to look. Have fun. :)
- Add executive overview
- Capitalize everything
- Always do 'features' first
- Sort by something (date? size of diff?)
- Send diffs if we don't have much of a description