summaryrefslogtreecommitdiff
path: root/CONTRIBUTING.md
blob: b5a527d515728ff783de09cf627a5d2d2260fdec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
## Contributing to zmNinja

The source code will always be available under CC BY-NC-SA 4.0. If you'd like to contribute please know that if your changes are accepted and merged they will make it to the App/Play Store when I publish the app. This does not entitle you to any remuneration - If you still would like to contribute and make this solution better, please go right ahead. If you feel this prohibits you from contributing, please create a bug report or enhancement request via the github issue tracker and I'll incorporate it when I have time/agree its a good idea.

Thanks.


## Steps for code contribution

It's best if you follow a proper process to contribute code - makes it easy for me to track/review. You will need `git` 

If you are familiar with doing Pull Requests, you can ignore detailed instructions below - just do the following:
* create a [github issue](https://github.com/pliablepixels/zmNinja/issues) in zmNinja describing your feature
* create a fork and create a local branch using the issue# created (Example 459-new-feature)
* Make your changes on that branch and push/PR

If you are not familiar with the Pull Request process, these steps explain further:

### Detailed instructions (for folks who are not familiar with Pull Requests)
#### One time 
* [Fork](https://guides.github.com/activities/forking/) zmNinja using the "Fork" button on the top right of the [zmNinja project](https://github.com/pliablepixels/zmNinja). This creates your own copy (or fork) of zmNinja on github:

* Now launch a command line and make a local copy of your fork
```
git clone https://github.com/<your github username>/zmNinja.git
```

* Now connect your copy to my repository (needed for future pushes)
```
git remote add upstream https://github.com/pliablepixels/zmNinja.git
```


#### Every time you want to contribute
* cd `<wherever you cloned my repo>/zmNinja`

* Make sure you have the latest version of my repo

```
git checkout master
git pull upstream master
```

* Let's suppose you want to add some "new-feature"

* Create an ISSUE on [zmNinja github issues](https://github.com/pliablepixels/zmNinja/issues)

* Note down the issue number (lets say its 1234)

* create a branch in your local git copy
```
git checkout -b 1234-new-feature (replace 1234 and new-feature)
```

You will now be in a new branch for you to develop the feature

* You can keep testing your changes. Make sure you commit often via `git add <files>` and `git commit -m "comments describing change" .`(you are committing to your local copy only here). 

* So far, you are committing changes to your local copy. To push it to your fork of zmNinja on github, do `git push origin 1234-new-feature` (replace 1234 and new-feature)

* Keep repeating above steps as many times as you want till the code is ready.	

* Once done, go to your github webpage and you will see a "create pull request" button in green. Review what you are doing a pull request for and click that button - I'll get an email you want me to review your changes