Skip to content

Commit 31a6c9c

Browse files
Merge pull request #86 from eyewritecode/create_first_time_contributor_documentation
Add first time contributor documentation
2 parents 7fff332 + d2de65b commit 31a6c9c

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed

first-timers.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# How To Contribute to ruby-http-client for first-timers
2+
3+
We know that contributing to an open source project for the first time can be intimidating.
4+
5+
This documentation serves to guide you on how to make your first contribution.
6+
7+
Assuming you already have a [Github account](https://github.com/join), here are the steps to make your first contribution:
8+
9+
## Finding a task you can handle
10+
11+
We label our issues according to their difficulty level. You can find easy ones [here](https://github.com/sendgrid/ruby-http-client/issues?q=is%3Aopen+is%3Aissue+label%3A%22difficulty%3A+easy%22) but feel free to explore other labels too.
12+
13+
- [Medium labeled issues](https://github.com/sendgrid/ruby-http-client/issues?q=is%3Aopen+is%3Aissue+label%3A%22difficulty%3A+medium%22)
14+
- [Hard labeled issues](https://github.com/sendgrid/ruby-http-client/issues?q=is%3Aopen+is%3Aissue+label%3A%22difficulty%3A+hard%22)
15+
16+
17+
## Creating a Pull Request<a name="creating-a-pull-request"></a>
18+
19+
1. [Fork](https://help.github.com/fork-a-repo/) the project, clone your fork,
20+
and configure the remotes:
21+
22+
```bash
23+
# Clone your fork of the repo into the current directory
24+
git clone https://github.com/sendgrid/ruby-http-client
25+
# Navigate to the newly cloned directory
26+
cd ruby-http-client
27+
# Assign the original repo to a remote called "upstream"
28+
git remote add upstream https://github.com/sendgrid/ruby-http-client
29+
```
30+
31+
2. If you cloned a while ago, get the latest changes from upstream:
32+
33+
```bash
34+
git checkout <dev-branch>
35+
git pull upstream <dev-branch>
36+
```
37+
38+
3. Create a new topic branch (off the main project development branch) to
39+
contain your feature, change, or fix:
40+
41+
```bash
42+
git checkout -b <topic-branch-name>
43+
```
44+
45+
4. Commit your changes in logical chunks. Please adhere to these [git commit
46+
message guidelines](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
47+
or your code is unlikely be merged into the main project. Use Git's
48+
[interactive rebase](https://help.github.com/articles/interactive-rebase)
49+
feature to tidy up your commits before making them public.
50+
51+
4a. Create tests.
52+
53+
4b. Create or update the example code that demonstrates the functionality of this change to the code.
54+
55+
5. Locally merge (or rebase) the upstream development branch into your topic branch:
56+
57+
```bash
58+
git pull [--rebase] upstream master
59+
```
60+
61+
6. Push your topic branch up to your fork:
62+
63+
```bash
64+
git push origin <topic-branch-name>
65+
```
66+
67+
7. [Open a Pull Request](https://help.github.com/articles/using-pull-requests/)
68+
with a clear title and description against the `master` branch. All tests must be passing before we will review the PR.
69+
70+
If you have any additional questions, please feel free to [email](mailto:[email protected]) us or create an issue in this repo.

0 commit comments

Comments
 (0)