---
date: 2020-11-15
id: e57b1687-eeb8-4d10-b152-015a9d8dcec4
title: Commit guidelines
---

# Commit Message Format

    <type>(<scope>)<!>: <subject>
    <BLANK LINE>
    <body>
    <BLANK LINE>
    <footer>

# !

Append after `<type>(<scope>)` to show commit has a breaking change
(optional)

# Revert

If the commit reverts a previous commit, it should begin with `revert:`,
followed by the header of the reverted commit. In the body it should
say: `This reverts commit <hash>.`, where the hash is the SHA of the
commit being reverted.

# Types

-   **build**: Changes that affect the build system or external
    dependencies (example scopes: gulp, broccoli, npm)
-   **ci**: Changes to our CI configuration files and scripts (example
    scopes: Travis, Circle, BrowserStack, SauceLabs)
-   **docs**: Documentation only changes
-   **feat**: A new feature
-   **fix**: A bug fix
-   **perf**: A code change that improves performance
-   **refactor**: A code change that neither fixes a bug nor adds a
    feature
-   **style**: Changes that do not affect the meaning of the code
    (white-space, formatting, missing semi-colons, etc)
-   **test**: Adding missing tests or correcting existing tests

# Subject

The subject 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

# Footer

The footer should contain any information about **Breaking Changes** and
is also the place to reference GitHub/Gitlab issues that this commit
**Closes**.

**Breaking Changes** should start with the word `BREAKING CHANGE:` with
a space or two newlines. The rest of the commit message is then used for
this.