1 | # Contributing
|
2 |
|
3 | * When submitting an issue, please make sure the plugin is up-to-date, and provide the command(s) and/or configurations that cause the issue.
|
4 | * When submitting a PR, make sure that the commit message matches the [AngularJS conventions][commit-message-format] (see below).
|
5 | * When submitting a bugfix, write a test that exposes the bug and fails before applying your fix. Submit the test alongside the fix.
|
6 | * When submitting a new feature, add tests that cover the feature.
|
7 |
|
8 | ## Git Commit Guidelines
|
9 |
|
10 | These rules are adopted from the AngularJS project with the exception that the scope part is optional.
|
11 |
|
12 | ### Commit Message Format
|
13 | Each commit message consists of a **header**, a **body** and a **footer**. The header has a special
|
14 | format that includes a **type**, a **scope** and a **subject**:
|
15 |
|
16 | ```
|
17 | <type>(<scope>): <subject>
|
18 | <BLANK LINE>
|
19 | <body>
|
20 | <BLANK LINE>
|
21 | <footer>
|
22 | ```
|
23 |
|
24 | Any line of the commit message cannot be longer than 100 characters! This allows the message to be easier
|
25 | to read on GitHub as well as in various git tools.
|
26 |
|
27 | ### Type
|
28 | Must be one of the following:
|
29 |
|
30 | * **feat**: A new feature
|
31 | * **fix**: A bug fix
|
32 | * **docs**: Documentation only changes
|
33 | * **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing
|
34 | semicolons, etc.)
|
35 | * **refactor**: A code change that neither fixes a bug or adds a feature
|
36 | * **test**: Adding missing tests
|
37 | * **chore**: Changes to the build process or auxiliary tools and libraries such as documentation
|
38 | generation
|
39 |
|
40 | ### Scope
|
41 | The scope could be anything specifying place of the commit change. For example `app`,
|
42 | `gen`, `docs`, `gen:view`, `gen:route`, `gen:service`, etc.
|
43 |
|
44 | ### Subject
|
45 | The subject contains succinct description of the change:
|
46 |
|
47 | * use the imperative, present tense: "change" not "changed" nor "changes"
|
48 | * don't capitalize first letter
|
49 | * no dot (.) at the end
|
50 |
|
51 | ### Body
|
52 | Just as in the **subject**, use the imperative, present tense: "change" not "changed" nor "changes".
|
53 | The body should include the motivation for the change and contrast this with previous behavior.
|
54 |
|
55 | ### Footer
|
56 | The footer should contain any information about **Breaking Changes** and is also the place to
|
57 | reference GitHub issues that this commit **Closes**.
|
58 |
|
59 | A detailed explanation can be found in this [document][commit-message-format].
|
60 |
|
61 | [commit-message-format]: https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y
|