Skip to content

Commit 06446ec

Browse files
committed
(doc) Preparing for initial release
- Updated README.md - Added Contributing and Committers documents - Added icon from Noun Project
1 parent 0988d4c commit 06446ec

File tree

7 files changed

+249
-18
lines changed

7 files changed

+249
-18
lines changed

COMMITTERS.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
Committing
2+
==========
3+
4+
We like to see folks contributing to GitHubReleaseManager. If you are a committer, we'd like to see you help from time to time with triage and the pull request process.
5+
6+
In all cases politeness goes a long way. Please thank folks for contributions - they are going out of their way to help make the code base better, or adding something they may personally feel is necessary for the code base.
7+
8+
Please be VERY familiar with [CONTRIBUTING](https://github.com/gep13/GitHubReleaseManager/blob/develop/CONTRIBUTING.md) and follow the process as well.
9+
10+
## Terminology
11+
12+
**contributor** - A person who makes a change to the code base and submits a change set in the form of a pull request.
13+
14+
**change set** - A set of discrete commits which combined together form a contribution. A change set takes the form of git commits and is submitted in the form of a pull request. Used interchangeably with "pull request".
15+
16+
**committer** - A person responsible for reviewing a pull request and then making the decision what base branch to merge the change set into.
17+
18+
## Review Process
19+
20+
#### Receive new PR (pull request)
21+
22+
* A contributor sends a pull request (usually against master).
23+
* A committer typically reviews it within a week or less to determine the feasibility of the changes.
24+
25+
#### Initial PR Review
26+
27+
* Did the user create a branch with these changes? If it is on their master, please ask them to review [CONTRIBUTING](https://github.com/gep13/GitHubReleaseManager/blob/develop/CONTRIBUTING.md).
28+
* Did the user reformat files and they should not have? Was is just white-space? You can try adding [?w=1](https://github.com/blog/967-github-secrets) to the URL on GitHub.
29+
* Are there tests? We really want any new contributions to contain tests so unless the committer believes this code really needs to be in the code base and is willing to write the tests, then we need to ask the contributor to make a good faith effort in adding test cases. Ask them to review the [contributing document](https://github.com/gep13/GitHubReleaseManager/blob/develop/CONTRIBUTING.md) and provide tests. **Note:** Some commits may be refactoring which wouldn't necessarily add additional test sets.
30+
* Is the code documented properly? Does this additional set of changes require changes to the [documentation](http://ghrm.readme.io/)?
31+
* Was this code warranted? Did the contributor follow the process of gaining approval for big change sets? If not please have them review the [contributing document](https://github.com/gep13/GitHubReleaseManager/blob/develop/CONTRIBUTING.md) and ask them to follow up in the Chat Room.
32+
33+
#### Review the Code
34+
* Does the code meet the naming conventions and formatting (need link)?
35+
* Is the code sound? Does it read well? Can you understand what it is doing without having to execute it? Principal of no clever hacks (need link).
36+
* Does the code do what the purpose of the pull request is for?
37+
38+
#### Accepting a PR
39+
40+
Once you have reviewed the initial items, and are not waiting for additional feedback or work by the contributor, give the thumbs up that it is ready for the next part of the process (merging).
41+
42+
Unless there is something wrong with the code, we don't ask contributors to rebase against develop. They did the work to create the patch in the first place, asking them to unnecessarily come back and try to keep their code synced up with master is not an acceptable process.
43+
44+
## Merging
45+
46+
Once you have reviewed the change set and determined it is ready for merge, the next steps are to bring it local and evaluate the code further by actually working with it, running the tests locally and adding any additional commits or fix-ups that are necessary in a local branch.
47+
48+
When merging the user's contribution, it should be done with `git merge --log --no-ff` to create a merge commit so that in case there is an issue it becomes easier to revert later, and so that we can see where the code came from should we ever need to go find it later (more information on this can be found [here](https://www.kernel.org/pub/software/scm/git/docs/git-merge.html) and also a discussion on why this is a good idea [here](http://differential.io/blog/best-way-to-merge-a-github-pull-request)).

CONTRIBUTING.md

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
Contributors
2+
============
3+
4+
## Contributing Process
5+
6+
### Get Buyoff Or Find Open Community Issues/Features
7+
8+
* Through GitHub, or through the [Chat Room](https://gitter.im/gep13/GitHubReleaseManager) (preferred), you talk about a feature you would like to see (or a bug), and why it should be in GitHubReleaseManager.
9+
* If approved through the Chat Room, ensure the accompanying GitHub issue is created with information and a link back to the Chat Room discussion.
10+
* Once you get a nod you can start on the feature.
11+
* Alternatively, if a feature is on the issues list with the [community tag](https://github.com/gep13/GitHubReleaseManager/labels/Community), it is open for a patch. You should comment that you are signing up for it on the issue so someone else doesn't also sign up for the work.
12+
13+
### Set Up Your Environment
14+
15+
* You create, or update, a fork of gep13/GitHubReleaseManager under your GitHub account.
16+
* From there you create a branch named specific to the feature.
17+
* In the branch you do work specific to the feature.
18+
* Please also observe the following:
19+
* No reformatting
20+
* No changing files that are not specific to the feature
21+
* More covered below in the **Prepare commits** section.
22+
* Test your changes and please help us out by updating and implementing some automated tests. It is recommended that all contributors spend some time looking over the tests in the source code. You can't go wrong emulating one of the existing tests and then changing it specific to the behavior you are testing.
23+
* Please do not update your branch from the master unless we ask you to. See the responding to feedback section below.
24+
25+
### Prepare Commits
26+
27+
This section serves to help you understand what makes a good commit.
28+
29+
A commit should observe the following:
30+
31+
* A commit is a small logical unit that represents a change.
32+
* Should include new or changed tests relevant to the changes you are making.
33+
* No unnecessary whitespace. Check for whitespace with `git diff --check` and `git diff --cached --check` before commit.
34+
* You can stage parts of a file for commit.
35+
36+
A commit message should observe the following:
37+
38+
* The first line of the commit message should be a short description around 50 characters in length and be prefixed with the GitHub issue it refers to with parentheses surrounding that. If the GitHub issue is #25, you should have `(GH-25)` prefixed to the message.
39+
* If the commit is about documentation, the message should be prefixed with `(doc)`.
40+
* If it is a trivial commit or one of formatting/spaces fixes, it should be prefixed with `(maint)`.
41+
* After the subject, skip one line and fill out a body if the subject line is not informative enough.
42+
* The body:
43+
* Should indent at `72` characters.
44+
* Explains more fully the reason(s) for the change and contrasts with previous behavior.
45+
* Uses present tense. "Fix" versus "Fixed".
46+
47+
A good example of a commit message is as follows:
48+
49+
```
50+
(GH-7) Installation Adds All Required Folders
51+
52+
Previously the installation script worked for the older version of
53+
Chocolatey. It does not work similarly for the newer version of choco
54+
due to location changes for the newer folders. Update the install
55+
script to ensure all folder paths exist.
56+
57+
Without this change the install script will not fully install the new
58+
choco client properly.
59+
```
60+
61+
### Submit Pull Request (PR)
62+
63+
Prerequisites:
64+
65+
* You are making commits in a feature branch.
66+
* All specs should be passing.
67+
68+
Submitting PR:
69+
70+
* Once you feel it is ready, submit the pull request to the `gep13/GitHubReleaseManager` repository against the ````develop```` branch ([more information on this can be found here](https://help.github.com/articles/creating-a-pull-request)).
71+
* In the pull request, outline what you did and point to specific conversations (as in URLs) and issues that you are are resolving. This is a tremendous help for us in evaluation and acceptance.
72+
* Once the pull request is in, please do not delete the branch or close the pull request (unless something is wrong with it).
73+
* One of the Team members, or one of the committers, will evaluate it within a reasonable time period (which is to say usually within 2-4 weeks). Some things get evaluated faster or fast tracked. We are human and we have active lives outside of open source so don't fret if you haven't seen any activity on your pull request within a month or two. We don't have a Service Level Agreement (SLA) for pull requests. Just know that we will evaluate your pull request.
74+
75+
### Respond to Feedback on Pull Request
76+
77+
We may have feedback for you to fix or change some things. We generally like to see that pushed against the same topic branch (it will automatically update the Pull Request). You can also fix/squash/rebase commits and push the same topic branch with `--force` (it's generally acceptable to do this on topic branches not in the main repository, it is generally unacceptable and should be avoided at all costs against the main repository).
78+
79+
If we have comments or questions when we do evaluate it and receive no response, it will probably lessen the chance of getting accepted. Eventually this means it will be closed if it is not accepted. Please know this doesn't mean we don't value your contribution, just that things go stale. If in the future you want to pick it back up, feel free to address our concerns/questions/feedback and reopen the issue/open a new PR (referencing old one).
80+
81+
Sometimes we may need you to rebase your commit against the latest code before we can review it further. If this happens, you can do the following:
82+
83+
* `git fetch upstream` (upstream would be the mainstream repo or `gep13/GitHubReleaseManager` in this case)
84+
* `git checkout develop`
85+
* `git rebase upstream/develop`
86+
* `git checkout your-branch`
87+
* `git rebase develop`
88+
* Fix any merge conflicts
89+
* `git push origin your-branch` (origin would be your GitHub repo or `your-github-username/GitHubReleaseManager` in this case). You may need to `git push origin your-branch --force` to get the commits pushed. This is generally acceptable with topic branches not in the mainstream repository.
90+
91+
The only reasons a pull request should be closed and resubmitted are as follows:
92+
93+
* When the pull request is targeting the wrong branch (this doesn't happen as often).
94+
* When there are updates made to the original by someone other than the original contributor. Then the old branch is closed with a note on the newer branch this supersedes #github_number.
95+
96+
## Other General Information
97+
98+
If you reformat code or hit core functionality without an approval from a person on the Team, it's likely that no matter how awesome it looks afterwards, it will probably not get accepted. Reformatting code makes it harder for us to evaluate exactly what was changed.
99+
100+
If you do these things, it will be make evaluation and acceptance easy. Now if you stray outside of the guidelines we have above, it doesn't mean we are going to ignore your pull request. It will just make things harder for us. Harder for us roughly translates to a longer SLA for your pull request.

Documentation/Legal/CREDITS.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
GitHubReleaseManager has been the thoughts and work of the following people:
2+
3+
## Committers & Contributors
4+
5+
### Committers
6+
7+
These are the committers to gep13/GitHubReleaseManager repository:
8+
9+
* [Gary Ewan Park](https://github.com/gep13) - Creater of GitHubReleaseManager, committer, vision, direction
10+
11+
### Contributors
12+
13+
* [Particular Software](http://www.particular.net/) created the original [GitHubReleaseNotes](https://github.com/Particular/GitHubReleaseNotes) project, which GitHubReleaseManager is based on.
14+
15+
#### Other Contributors
16+
17+
* [GitHubReleaseManager](https://github.com/gep13/GitHubReleaseManager/graphs/contributors)
18+
19+
## Frameworks
20+
21+
GitHubReleaseManager uses the following awesome frameworks (in no particular order):
22+
23+
* [Octokit.net](https://github.com/octokit/octokit.net)
24+
* [YamlDotNet](http://aaubry.net/pages/yamldotnet.html)
25+
* [Costura](https://github.com/Fody/Costura)
26+
27+
GitHubReleaseManager is built, with the following fantastic frameworks and services (in no particular order):
28+
29+
* [psake](https://github.com/psake/psake)
30+
* [NuGet.exe](https://www.nuget.org/)
31+
* [AppVeyor](http://www.appveyor.com/)
32+
* [MyGet](http://www.myget.org/)
33+
34+
GitHubReleaseManager is tested and analyzed with the following rockstar frameworks (in no particular order):
35+
36+
* [FxCop](https://msdn.microsoft.com/en-us/library/bb429476(v=vs.80).aspx)
37+
* [StyleCop](http://stylecop.codeplex.com/)
38+
* [InspectCode](https://confluence.jetbrains.com/display/NETCOM/Introducing+InspectCode)
39+
* [DupFinder](https://confluence.jetbrains.com/display/NETCOM/Introducing+dupFinder)
40+
41+
We would like to credit other super sweet tools/frameworks that aid in the development of GitHubReleaseManager:
42+
43+
* [ReSharper](https://www.jetbrains.com/resharper/)
44+
* [NuGet Framework](https://www.nuget.org/)

Icons/package_icon.png

32.3 KB
Loading

Icons/package_icon.svg

Lines changed: 3 additions & 0 deletions
Loading

Icons/package_icon_no_credit.png

24 KB
Loading

0 commit comments

Comments
 (0)