From e45d7c4ab165c65f423fc9540ba939cd36ebb49d Mon Sep 17 00:00:00 2001 From: Alex Muramoto Date: Wed, 17 Aug 2016 00:09:06 -0700 Subject: [PATCH] docs(): Adds commit message guidelines (#447) --- DEVELOPER.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/DEVELOPER.md b/DEVELOPER.md index 57e86bc12..24857dc5c 100644 --- a/DEVELOPER.md +++ b/DEVELOPER.md @@ -113,3 +113,32 @@ You need to run `npm run lint` to analyze the code and ensure it's consistency w ### 'Wrapping' Up That's it! The only thing left to do is rigorously document the plugin and it's usage. Take a look at some of the other plugins for good documentation styles. + +## Commit Message Format + +We have very precise rules over how our git commit messages can be formatted. This leads to more readable messages that are easy to follow when looking through the project history. But also, we use the git commit messages to generate the our change log. (Ok you got us, it's basically Angular's commit message format). + +`type(scope): subject` + +#### Type +Must be one of the following: + +* **fix**: A bug fix +* **feat**: A new feature +* **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 +* **chore**: Changes to the build process or auxiliary tools and libraries such as documentation generation + +#### Scope +The scope could be anything specifying place of the commit change. For example, the name of the plugin being changed + +#### Subject +The subject contains succinct description of the change: + +* use the imperative, present tense: "change" not "changed" nor "changes" +* do not capitalize first letter +* do not place a period (.) at the end +* entire length of the commit message must not go over 50 characters \ No newline at end of file