Skip to content

Commit 0f7dee3

Browse files
committed
docs: added commit message guidelines for changelog generation
1 parent 6316a0c commit 0f7dee3

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

CONTRIBUTING.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,32 @@ The project uses the following guidelines:
7373

7474
If in doubt, skim through the existing source code to get a feel for it.
7575

76+
## Conventional Commits for Changelogs
77+
78+
From version 17, the project uses the following commit message guidelines to auto-generate changelogs, based on [Conventional Commits 1.0.0](https://www.conventionalcommits.org/en/v1.0.0/):
79+
80+
* **build: message** -- change affects the build system, configuration files, scripts, or external dependencies
81+
* **docs: message** -- change affects documentation **only**
82+
* **feat: message** -- change adds a new feature
83+
* **fix: message** -- change fixes a bug
84+
* **perf: message** -- change improves performance
85+
* **refactor: message** -- change cleans up or restructures code
86+
* **test: message** -- change that adds new or updates existing tests
87+
* **repo: message** -- change that is related to repository maintenance
88+
89+
Examples:
90+
91+
* `build: use JDK 17 as baseline`
92+
* `docs: update description of method X to match behavior`
93+
94+
If the commit type follows a `!`, then it is a breaking change.
95+
Example: `refactor!: removed deprecated methods X and Y`
96+
97+
Optionally, the change scope can be provided. Example: `feat(core): message`.
98+
99+
If a commit does not follow the guidelines (i.e. no `:` character), then it is excluded from the changelog.
100+
Hence, the `:` character is banned from non-changelog commit messages.
101+
76102
## Community Roles
77103

78104
Community developers may apply to any of these roles by opening an issue or discussing in the [community chat](https://gitter.im/AlmasB/FXGL). Each role is allocated based on discussions with the individual. The individual is expected to be **committed** to the role guidance. However, the role descriptions are merely a guidance and not binding in any way. The role may be revoked at the request of the individual or due to violation of the [Code of Conduct](CODE_OF_CONDUCT.md).

0 commit comments

Comments
 (0)