When you connect a Github repository it uses the Github API to download all the diff changes from each commit. Then it uses an LLM to analyze each commit's material changes (ignoring lock files, compiled directories, vendor dependencies, etc.) to write a markdown diff-summary before discarding the commit data (as part of my zero retention policy).
Finally, it uses those diff-summary markdowns to write a changelog entry for each relevant period (e.g. daily, weekly, or monthly changelog summaries).
The pipeline uses Inngest for durability to fetch the diffs, write the summaries, and write the changelog entries. I use Inngest to manage all the pipelines so things keep processing smoothly regardless of Github or LLM API rate limits.
You can brink your own LLM keys for unlimited commits (and more privacy) or use the one I provide with limits on each plan.
Finally, it uses those diff-summary markdowns to write a changelog entry for each relevant period (e.g. daily, weekly, or monthly changelog summaries).
The pipeline uses Inngest for durability to fetch the diffs, write the summaries, and write the changelog entries. I use Inngest to manage all the pipelines so things keep processing smoothly regardless of Github or LLM API rate limits.
You can brink your own LLM keys for unlimited commits (and more privacy) or use the one I provide with limits on each plan.
Here's an example of the final output https://changelog.suprlogs.app/