diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index be5393e490..c760e2419c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,4 +1,4 @@ -default_stages: [pre-commit, pre-push] +default_stages: [pre-commit, pre-push, commit-msg] fail_fast: false exclude: ^(manim/grpc/gen/|docs/i18n/) repos: @@ -43,3 +43,9 @@ repos: types-setuptools, ] files: ^manim/ + + - repo: https://github.com/commitizen-tools/commitizen + rev: v3.27.0 + hooks: + - id: commitizen + stages: [commit-msg] diff --git a/docs/source/contributing/commits.md b/docs/source/contributing/commits.md new file mode 100644 index 0000000000..d7bfe9318d --- /dev/null +++ b/docs/source/contributing/commits.md @@ -0,0 +1,165 @@ +## Commit Message Format + +We have precise rules over how our Git commit messages must be formatted. +This format leads to **easier to read commit history** and enables automated changelog generation and semantic versioning. + +Each commit message consists of a **header**, a **body**, and a **footer**. + +``` +
+ + + +