cliff.toml 1.8 K raw
1
# git-cliff ~ configuration file
2
# https://git-cliff.org/docs/configuration
3
4
[changelog]
5
header = """
6
# Changelog\n
7
All notable changes to this project will be documented in this file.\n
8
"""
9
body = """
10
{% if version %}\
11
    ## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
12
{% else %}\
13
    ## [unreleased]
14
{% endif %}\
15
{% for group, commits in commits | group_by(attribute="group") %}
16
    ### {{ group | striptags | trim | upper_first }}
17
    {% for commit in commits %}
18
        - {% if commit.scope %}*({{ commit.scope }})* {% endif %}\
19
            {% if commit.breaking %}[**breaking**] {% endif %}\
20
            {{ commit.message | upper_first }}\
21
    {% endfor %}
22
{% endfor %}\n
23
"""
24
trim = true
25
footer = """
26
<!-- generated by git-cliff -->
27
"""
28
29
[git]
30
conventional_commits = true
31
filter_unconventional = true
32
split_commits = false
33
commit_preprocessors = []
34
commit_parsers = [
35
  { message = "^feat", group = "<!-- 0 -->Features" },
36
  { message = "^fix", group = "<!-- 1 -->Bug Fixes" },
37
  { message = "^doc", group = "<!-- 3 -->Documentation" },
38
  { message = "^perf", group = "<!-- 4 -->Performance" },
39
  { message = "^refactor", group = "<!-- 2 -->Refactor" },
40
  { message = "^style", group = "<!-- 5 -->Styling" },
41
  { message = "^test", group = "<!-- 6 -->Testing" },
42
  { message = "^chore\\(release\\): prepare for", skip = true },
43
  { message = "^chore\\(deps.*\\)", skip = true },
44
  { message = "^chore\\(pr\\)", skip = true },
45
  { message = "^chore\\(pull\\)", skip = true },
46
  { message = "^chore|^ci", group = "<!-- 7 -->Miscellaneous Tasks" },
47
  { body = ".*security", group = "<!-- 8 -->Security" },
48
  { message = "^revert", group = "<!-- 9 -->Revert" },
49
]
50
protect_breaking_commits = false
51
filter_commits = false
52
tag_pattern = "v[0-9].*"
53
skip_tags = ""
54
ignore_tags = ""
55
topo_order = false
56
sort_commits = "oldest"