A framework for generating changelogs and enforcing structured commit messages from git history.
git-journal is a Git extension framework that automates changelog creation by parsing structured commit messages from your repository's history. It solves the problem of manual, error-prone changelog maintenance by enforcing a consistent commit syntax and generating formatted Markdown output directly from git logs.
Developers and maintainers of software projects who want to automate changelog generation, enforce commit message conventions, and maintain a clean git history.
It eliminates the manual work of writing changelogs by leveraging git history, ensures consistency with commit message validation, and offers flexible templating for customized output.
The Git Commit Message and Changelog Generation Framework :book:
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Parses git history to produce formatted Markdown changelogs automatically, eliminating manual maintenance as shown in the default output examples.
Validates commit messages against RFC0001 via installed git hooks, ensuring consistent categorization like [Added] or [Fixed] across the team.
Supports custom TOML templates for organizing output by tags and sections, allowing tailored changelog formats as demonstrated in the template output section.
Includes multi-threading, custom categories, and various output options such as short/long formats and date ranges, detailed in the Current Features list.
Requires Rust and cargo for installation, adding complexity for teams not already using Rust, as noted in the Installation section.
Enforces its own RFC0001 standard, which isn't widely adopted and may conflict with existing conventions, limiting interoperability with other tools.
Setup involves configuring git hooks and a TOML file, which can clash with pre-existing hooks and requires manual verification, as mentioned in the commit message preparation section.