npm install gotham> Some random React components



Every commit should follow some rules. This leads to better messages, easier to read, leading to a better understanding of the git history. Moreover, the generated changelog is based on those rules.
Each commit message consists of a header, a body and a footer. The header has a special format that includes a type, a scope and a subject:
```
Any line of the commit message cannot be longer 100 characters! This allows the message to be easier to read on GitHub as well as in various git tools.
Must be one of the following:
- 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
- chore: Changes that affect the build system or external dependencies (example scopes: npm). Changes to our CI configuration files and scripts (example scopes: Travis). Other changes that don't modify src or test files
The scope could be anything specifying place of the commit change. For example PaperComponent, Travis, etc.
The subject contains succinct description of the change using the imperative, present tense : "change" not "changed" nor "changes".
Just as in the subject, use the imperative, present tense: "change" not "changed" nor "changes". The body should include the motivation for the change and contrast this with previous behavior.
The footer should contain any information about breaking changes and is also the place to reference GitHub issues that this commit closes.
Breaking changes should start with the words BREAKING CHANGE: with a space or two newlines. The rest of the commit message is then used for this.
- The AngularJS contribution guidelines about commit messages
To make the rules easier to apply, this project include some tools to use while development
Commitizen makes following commit messages convention so simple that a even your Grand'ma could use them. It exposes a little CLI helper prompting for required fields. You just have to answer those questions, fill in some blanks and you're good to go !
Here's how to use :
`bash``
$ git add .
$ git cz
And that's it. Commitizen will now prompt some form field that you have to fill. Once finished, the commit will be sent with a correct formatted message.