a fancy pants keyboard i'm making
at main 2.9 kB view raw
1# git-cliff ~ default configuration file 2# https://git-cliff.org/docs/configuration 3# 4# Lines starting with "#" are comments. 5# Configuration options are organized into tables and keys. 6# See documentation for more information on available options. 7 8[changelog] 9# template for the changelog body 10# https://keats.github.io/tera/docs/#introduction 11body = """ 12# Changelog 13 14{% if version %}\ 15 **Full Commit Log**: <REPO>/commits/{{ version }}\n 16 ## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }} 17{% else %}\ 18 ## [unreleased] 19{% endif %}\ 20{% for group, commits in commits | group_by(attribute="group") %} 21 ### {{ group | striptags | trim | upper_first }} 22 {% for commit in commits %} 23 - {% if commit.scope %}*({{ commit.scope }})* {% endif %}\ 24 {% if commit.breaking %}[**breaking**] {% endif %}\ 25 {{ commit.message | upper_first }}\ 26 {% endfor %} 27{% endfor %}\n 28""" 29 30# remove the leading and trailing s 31trim = true 32# postprocessors 33postprocessors = [ 34 { pattern = '<REPO>', replace = "https://github.com/taciturnaxolotl/thyme" }, # replace repository URL 35] 36 37[git] 38# parse the commits based on https://www.conventionalcommits.org 39conventional_commits = true 40# filter out the commits that are not conventional 41filter_unconventional = true 42# process each line of a commit as an individual commit 43split_commits = false 44# regex for parsing and grouping commits 45commit_parsers = [ 46 { message = "^feat", group = "<!-- 0 -->🚀 Features" }, 47 { message = "^fix", group = "<!-- 1 -->🐛 Bug Fixes" }, 48 { message = "^doc", group = "<!-- 3 -->📚 Documentation" }, 49 { message = "^perf", group = "<!-- 4 -->⚡ Performance" }, 50 { message = "^refactor", group = "<!-- 2 -->🚜 Refactor" }, 51 { message = "^style", group = "<!-- 5 -->🎨 Styling" }, 52 { message = "^test", group = "<!-- 6 -->🧪 Testing" }, 53 { message = "^chore\\(release\\): prepare for", skip = true }, 54 { message = "^chore\\(deps.*\\)", skip = true }, 55 { message = "^chore\\(pr\\)", skip = true }, 56 { message = "^chore\\(pull\\)", skip = true }, 57 { message = "^chore|^ci", group = "<!-- 7 -->⚙️ Miscellaneous Tasks" }, 58 { body = ".*security", group = "<!-- 8 -->🛡️ Security" }, 59 { message = "^revert", group = "<!-- 9 -->◀️ Revert" }, 60] 61# protect breaking changes from being skipped due to matching a skipping commit_parser 62protect_breaking_commits = false 63# filter out the commits that are not matched by commit parsers 64filter_commits = false 65# regex for matching git tags 66# tag_pattern = "v[0-9].*" 67# regex for skipping tags 68# skip_tags = "" 69# regex for ignoring tags 70# ignore_tags = "" 71# sort the tags topologically 72topo_order = false 73# sort the commits inside sections by oldest/newest order 74sort_commits = "oldest" 75# limit the number of commits included in the changelog. 76# limit_commits = 42