From ce22ed67d6aa8b56b6eee8a64f724cfe903d2317 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcel=20St=C3=B6r?= Date: Mon, 23 Jul 2018 23:20:38 +0200 Subject: [PATCH] Add templates --- .github/ISSUE_TEMPLATE.md | 36 ++++++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 9 ++++ CONTRIBUTING.md | 73 ++++++++++++++++++++++++++++++++ 3 files changed, 118 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 CONTRIBUTING.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..23c8e07 --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,36 @@ +Use one of the two templates below and **delete the rest**. + +8<------------------------ BUG REPORT ----------------------------------------- +### Expected behavior + +### Actual behavior + +``` +Add serial console output here +``` + +### Test code +Provide a [Minimal, Complete, and Verifiable example](http://stackoverflow.com/help/mcve) which will reproduce the problem. + +```c +// add code here +``` +### Weather Station version +Which branch are you on? If you know the Git revision then add it here as well. + +### Hardware +Describe whether you run the code on the ThingPulse Weather Station Color kit or on some custom hardware. + +8<------------------------ END BUG REPORT ------------------------------------- + + +8<------------------------ FEATURE REQUEST ------------------------------------ +### Missing feature + +### Justification +Tell us why you would like to see this feature added. + +### Workarounds +Are there any workarounds you currently have in place because the feature is missing? + +8<------------------------ END FEATURE REQUEST -------------------------------- diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..b7b56a3 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,9 @@ +Fixes #\. + +Make sure all boxes are checked (add x inside the brackets) when you submit your contribution, remove this sentence before doing so. + +- [ ] This PR is compliant with the [other contributing guidelines](https://github.com/ThingPulse/esp8266-weather-station/blob/master/CONTRIBUTING.md) as well (if not, please describe why). +- [ ] I have thoroughly tested my contribution. +- [ ] Should this code require changes to documentation I will contribute those to [https://github.com/ThingPulse/docs](https://github.com/ThingPulse/docs). + +\ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..44dfd46 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,73 @@ +# Contributing to ThingPulse Weather Station + +:+1::tada: First off, thanks for taking the time to contribute! :tada::+1: + +The following is a set of guidelines for contributing to the ThingPulse Weather Station project on GitHub. These are just guidelines, not rules, use your best judgment and feel free to propose changes to this document in a pull request. + +It is appreciated if you raise an issue _before_ you start changing the code, discussing the proposed change; emphasizing that you are proposing to develop the patch yourself, and outlining the strategy for implementation. This type of discussion is what we should be doing on the issues list and it is better to do this before or in parallel to developing the patch rather than having "you should have done it this way" type of feedback on the PR itself. + +### Table Of Contents +* [General remarks](#general-remarks) +* [Writing Documentation](#writing-documentation) +* [Working with Git and GitHub](#working-with-git-and-github) + * [General flow](#general-flow) + * [Keeping your fork in sync](#keeping-your-fork-in-sync) + * [Commit messages](#commit-messages) + +## General remarks +We are a friendly and welcoming community and look forward to your contributions. Once your contribution is integrated into this repository we feel responsible for it. Therefore, be prepared for constructive feedback. Before we merge anything we need to ensure that it fits in and is consistent with the rest of code. +If you made something really cool but won't spend the time to integrate it into this upstream project please still share it in your fork on GitHub. If you mention it in an issue we'll take a look at it anyway. + +## Writing Documentation +ThingPulse maintains documentation for its products at [https://github.com/thingpulse/docs/](https://github.com/thingpulse/docs/). If you contribute features for this project that require altering the respective product guide then we ask you to prepare a pull request with the necessary documentation changes as well. + +## Working with Git and GitHub + +Avoid intermediate merge commits. [Rebase](https://www.atlassian.com/git/tutorials/merging-vs-rebasing) your feature branch onto `master` to pull updates and verify your local changes against them before placing the pull request. + +### General flow +1. [Fork](https://help.github.com/articles/fork-a-repo) this repository on GitHub. +1. [Create a branch](https://help.github.com/articles/creating-and-deleting-branches-within-your-repository/#creating-a-branch) in your fork on GitHub **based on the `master` branch**. +1. Clone the fork on your machine with `git clone https://github.com//.git` +1. `cd ` then run `git remote add upstream https://github.com/ThingPulse/esp8266-weather-station` +1. `git checkout ` +1. Make changes to the code base and commit them using e.g. `git commit -a -m 'Look ma, I did it'` +1. When you're done: + 1. Think about [squashing (some of) your commits](http://www.andrewconnell.com/blog/squash-multiple-git-commits-into-one). There are [several ways](http://stackoverflow.com/a/5201642/131929) to do this. There's no need to squash everything into a single commit as GitHub offers to do this when we merge your changes. However, you might want to trim your commit history to relevant chunks. + 1. Bring your fork up-to-date with the upstream repo ([see below](#keeping-your-fork-in-sync)). Then rebase your branch on `master` running `git rebase master`. +1. `git push` +1. [Create a pull request](https://help.github.com/articles/creating-a-pull-request/) (PR) on GitHub. + +This is just one way of doing things. If you're proficient in Git matters you're free to choose your own. If you want to read more then the [GitHub chapter in the Git book](http://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project#The-GitHub-Flow) is a way to start. [GitHub's own documentation](https://help.github.com/categories/collaborating/) contains a wealth of information as well. + +### Keeping your fork in sync +You need to sync your fork with the upstream repository from time to time, latest before you rebase (see flow above). + +1. `git fetch upstream` +1. `git checkout master` +1. `git merge upstream/master` + +### Commit messages + +From: [http://git-scm.com/book/ch5-2.html](http://git-scm.com/book/ch5-2.html) +
+Short (50 chars or less) summary of changes
+
+More detailed explanatory text, if necessary.  Wrap it to about 72
+characters or so.  In some contexts, the first line is treated as the
+subject of an email and the rest of the text as the body.  The blank
+line separating the summary from the body is critical (unless you omit
+the body entirely); tools like rebase can get confused if you run the
+two together.
+
+Further paragraphs come after blank lines.
+
+ - Bullet points are okay, too
+
+ - Typically a hyphen or asterisk is used for the bullet, preceded by a
+   single space, with blank lines in between, but conventions vary here
+
+ +Don't forget to [reference affected issues](https://help.github.com/articles/closing-issues-via-commit-messages/) in the commit message to have them closed automatically on GitHub. + +[Amend](https://help.github.com/articles/changing-a-commit-message/) your commit messages if necessary to make sure what the world sees on GitHub is as expressive and meaningful as possible.