cliff.toml 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. # configuration file for git-cliff (0.1.0)
  2. [changelog]
  3. # changelog header
  4. header = """
  5. # Changelog
  6. All notable changes to this project will be documented in this file.\n
  7. """
  8. # template for the changelog body
  9. # https://tera.netlify.app/docs/#introduction
  10. body = """
  11. {% if version %}\
  12. ## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
  13. {% else %}\
  14. ## [unreleased]
  15. {% endif %}\
  16. {% for group, commits in commits | group_by(attribute="group") %}
  17. ### {{ group | upper_first }}
  18. {% for commit in commits %}
  19. - {{ commit.message | upper_first }}\
  20. {% endfor %}
  21. {% endfor %}\n
  22. """
  23. # remove the leading and trailing whitespaces from the template
  24. trim = true
  25. # changelog footer
  26. footer = """
  27. <!-- generated by git-cliff -->
  28. """
  29. [git]
  30. # allow only conventional commits
  31. # https://www.conventionalcommits.org
  32. conventional_commits = true
  33. # regex for parsing and grouping commits
  34. commit_parsers = [
  35. { message = "^feat", group = "Features"},
  36. { message = "^fix", group = "Bug Fixes"},
  37. { message = "^doc", group = "Documentation"},
  38. { message = "^perf", group = "Performance"},
  39. { message = "^refactor", group = "Refactor"},
  40. { message = "^style", group = "Styling"},
  41. { message = "^test", group = "Testing"},
  42. { message = "^chore\\(release\\): prepare for", skip = true},
  43. { message = "^chore", group = "Miscellaneous Tasks"},
  44. { body = ".*security", group = "Security"},
  45. ]
  46. # filter out the commits that are not matched by commit parsers
  47. filter_commits = false
  48. # glob pattern for matching git tags
  49. tag_pattern = "v[0-9]*"
  50. # regex for skipping tags
  51. skip_tags = "v0.1.0-beta.1"