Commit Convention
We follow a standard commit convention followed by Angular's commit convention.
So that we have the following advantages:
- get more readable messages.
 - easy to follow throught project history.
 - generate better change log for Arclix.
 
Commit Message Format
The commit messages should follow the following:
<type>[optional scope]: <description> (#issue id)
[optional body]
[optional footer(s)]
Types
| Type | Description | 
|---|---|
feat | A new feature | 
fix | A bug fix | 
docs | Documentation only changes | 
style | Changes that do not affect the meaning of the code(white-space formatting, missing semi-colons,etc) | 
refactor | A code change that neither fixes a bug nor adds a feature | 
perf | A code change that improves performance | 
test | Adding missing tests or correcting existing tests | 
build | Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) | 
ci | Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) | 
chore | Other changes that don't modify src or test files | 
revert | Reverts a commit | 
Examples
Commit message with description and scope
feat(core): add create project (#1)Commit message with
!to draw attention to breaking changerefactor(core)!: remove create project (#2)Commit message without scope
feat: add create project (#1)
Revert
If the PR reverts a previous commit, it should begin with revert: , followed by the header of the reverted commit.
Example:
revert: feat(core): add create poject (#1)
Scopes
The scope could be anything specifying the place of the commit change. For example core, build, workflow, cli, create, generate, deps, etc...
Commit Message
The commit message contains a succinct description of the change:
- use the imperative, present tense: "change" not "changed" nor "changes"
 - don't capitalize the first letter
 - no dot (.) at the end
 
We use commitlint to restrict the commit messages to follow our convention mentioned above.
So do follow the commit conventions.