Skip to main content

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

TypeDescription
featA new feature
fixA bug fix
docsDocumentation only changes
styleChanges that do not affect the meaning of the code(white-space formatting, missing semi-colons,etc)
refactorA code change that neither fixes a bug nor adds a feature
perfA code change that improves performance
testAdding missing tests or correcting existing tests
buildChanges to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
ciChanges to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
choreOther changes that don't modify src or test files
revertReverts a commit

Examples

  1. Commit message with description and scope

    feat(core): add create project (#1)
  2. Commit message with ! to draw attention to breaking change

    refactor(core)!: remove create project (#2)
  3. 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
danger

We use commitlint to restrict the commit messages to follow our convention mentioned above.

So do follow the commit conventions.