The Conventional Commits specification is a lightweight convention on top of commit messages. It provides an easy set of rules for creating an explicit commit history; which makes it easier to write automated tools on top of. This convention dovetails with SemVer, by describing the features, fixes, and breaking changes made in commit messages.
The commit message should be structured as follows:
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
feat: create a subscription button
Create new subscritpion button on main page
Team: @frontendteam
A new feature
A bug fix
Documentation only changes
Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
A code change that neither fixes a bug nor adds a feature
A code change that improves performance
Adding missing tests or correcting existing tests
Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
Other changes that don't modify src or test files
Reverts a previous commit