Improve PR Guidelines for Developers and Contributors. (#8809)
* Improve contributing guidelines on PR/Commit Title/Messages * Add further tweaks * s/NetData/Netdata/g
James Mills committed
Jun 17, 2020 at 00:20 UTC
ac9c33c3443b5de4fc96f815eccab435eda504f9
1 file changed
+26
-7
CONTRIBUTING.md
+26
-7
@@ -14,7 +14,7 @@ We love to receive contributions. Maintaining a platform for monitoring everythi
14
There are many ways to contribute, with varying requirements of skills, explained in detail in the following sections.
15
Specific GitHub issues we need help with can be seen [here](https://github.com/netdata/netdata/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22). Some of them are also labeled as "good first issue".
16
17
-## All NetData Users
17
+## All Netdata Users
18
19
### Give Netdata a GitHub star
20
@@ -83,7 +83,7 @@ Don't be afraid to submit a pull request with your corrections or additions! We
83
84
We expect most contributions to be for new data collection plugins. You can read about how external plugins work [here](collectors/plugins.d/). Additional instructions are available for [Node.js plugins](collectors/node.d.plugin) and [Python plugins](collectors/python.d.plugin).
85
86
-Of course we appreciate contributions for any other part of the NetData agent, including the [daemon](daemon), [backends for long term archiving](backends/), innovative ways of using the [REST API](web/api) to create cool [Custom Dashboards](web/gui/custom/) or to include NetData charts in other applications, similarly to what can be done with [Confluence](web/gui/confluence/).
86
+Of course we appreciate contributions for any other part of the Netdata agent, including the [daemon](daemon), [backends for long term archiving](backends/), innovative ways of using the [REST API](web/api) to create cool [Custom Dashboards](web/gui/custom/) or to include Netdata charts in other applications, similarly to what can be done with [Confluence](web/gui/confluence/).
87
88
If you are working on the C source code please be aware that we have a standard build configuration that we use. This
89
is meant to keep the source tree clean and free of warnings. When you are preparing to work on the code:
@@ -188,15 +188,34 @@ However, it's not always that simple. Our [PR approval process](#pr-approval-pro
188
189
One thing you will need to do only for your first pull request in Netdata is to accept the CLA. Until you do, the automated check for the CLA acceptance will be showing as failed.
190
191
-#### PR title guidelines
191
+#### PR Guidelines
192
193
-All verbs in PR titles must be in the past tense. E.g. "Added" instead of "Adds", "Fixed" instead of "Fixes".
193
+PR Titles:
194
195
-Bug fixes must have the title "Fixed [description of the problem as a user would perceive it], by [explanation of the correction]".
195
+- Must follow the [Imperative Mood](https://en.wikipedia.org/wiki/Imperative_mood)
196
+- Must be no more than ~50 characters (_longer description in the PR_)
197
197
-Improvements must have the title "[Area or module] : [Added/Refactored/Improved/Corrected/Started to/Stopped/Modified/Optimized] [x], [in order to/so that] [benefit]". The second part may be left out, if the benefit is obvious from the improvement "x".
198
+PR Descriptions:
199
199
-New collectors must have the title "[New collector] : [Name of collector]".
200
+- Must clearly contain sufficient information regarding the content of the PR, including area/component, test plan, etc.
201
+- Must reference an existing issue.
202
+
203
+Some PR title examples:
204
+
205
+- Fix bug in Netdata installer for FreeBSD 11.2
206
+- Improve docs for other installation methods
207
+- New collector for Prometheus endpoints
208
+- Add 4.19 Kernel variant for eBPF
209
+- Fix typo in README
210
+- etc
211
+
212
+For good examples have a look at other projects like:
213
+
214
+- https://github.com/facebook/react/commits/master
215
+- https://github.com/tensorflow/tensorflow/commits/master
216
+- https://github.com/vuejs/vue/commits/dev
217
+- https://github.com/microsoft/vscode/commits/master
218
+- Also see the Linux Kernel and Git projects as well as good examples.
219
220
#### Commit messages when PRs are merged
221