Git Standards
===

<img align="right" width="25%" style="margin-bottom: 2em" src="https://owlbert.io/images/owlberts-png/Waiter.psd.png">

### Releases

This repository [uses `semantic-release`](https://github.com/readmeio/ui/blob/master/.github/workflows/nodejs.yml#L36-L41) to automate publication to the [NPM package registry](). Merging **`next`** in to the `master` branch will version the package and tag a new release based on your commit messages. It will also rebuild the styleguide, and generate a neat page of [release notes](https://github.com/readmeio/ui/releases). (Merging in to `next` will create a new prerelease.)

### Commit Conventions

When pushing or merging PRs in to master, your commit message should follow the [Angular commit conventions](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#-git-commit-guidelines). At it's simplest, this looks something like `{type}: change this, add that`, where the commit `{type}` can be one of the following:

| Commit Type    |                                                | Triggers |
|:-------------- |:-----------------------------------------------|:--------:|
| **`chore`**    | assorted minor changes                         |          |
| **`docs`**     | documentation updates                          |          |
| **`test`**     | adding and updating existing tests             |          |
| **`style`**    | aesthetic changes; stylesheet updates          | _patch_  |
| **`fix`**      | bug fixes; security updates                    | _patch_  |
| **`add`**      | enhancements and smaller feature additions     | _patch_  |
| **`feat`**     | new elements; major features and updates       | _minor_  |
| **`BREAKING`** | major changes that aren't backwards-compatible | _major_  |

You can also optionally note the `{subject}` of your changes in an additional parenthetical. If your changes require a longer description, feel free to add a commit message with further details! Combining all of these together, you might end up with something like:

```text
style(Button): add color variants

- some more details
- about the changes
```
