Use the following structure: <type>(<scope>): <subject>
See full examples here
i.e: if you are integrating a new language to your project, the commit would be
feat(lang): spanish language added
i.e: if you are fixing some bug on a form, the commit would be
fix(contact): email input validated
feat(lang): spanish language added
^--^^-----^^---------------------^
| | |
| | +--> Summary in past simple tense.
| |
| +---------> Optional scope about task, file, package, etc.
|
+-------------> Type: feat, fix, chore, build, ci, docs, style, refactor, perf, test
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 changesfeat
: A new feature for the user, not a new feature for building scriptsfix
: A bug fix for the user, not a fix to a build scriptperf
: A code change that improves performancerefactor
: A code change that neither fixes a bug nor adds a featurestyle
: 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; not production codechore
: Updating packages or configurations; no production code change