# git-cliff configuration — generate CHANGELOG.md from Conventional Commits (D20). # Run via packaging/changelog.sh. [changelog] header = """ # Changelog All notable changes to RigDoctor are recorded here. Format follows [Keep a Changelog](https://keepachangelog.com/); versioning is SemVer-style (`MAJOR.MINOR.PATCH`, pre-1.0). `__version__` and `pyproject.toml` must match the git release tag (so the auto-updater, D18, can compare versions). """ body = """ {% for group, commits in commits | group_by(attribute="group") %} ## {{ group | upper_first }} {% for commit in commits %}\ - {{ commit.message | upper_first }}\ {% endfor %} {% endfor %} """ trim = true [git] conventional_commits = true filter_unconventional = false commit_parsers = [ { message = "^feat", group = "Added" }, { message = "^fix", group = "Fixed" }, { message = "^docs", group = "Documentation" }, { message = "^perf", group = "Performance" }, { message = "^refactor", group = "Changed" }, { message = "^chore\\(release\\)", skip = true }, { message = "^chore|^build|^ci|^style|^test", group = "Internal" }, { message = ".*", group = "Other" }, ] tag_pattern = "v[0-9]*" sort_commits = "oldest" [bump] # Pre-1.0 rules (D21): feat -> minor, fix -> patch, breaking -> minor (not major). features_always_bump_minor = true breaking_always_bump_major = false