diff options
-rw-r--r-- | CONTRIBUTING.md | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..b819e0b9 --- /dev/null +++ b/CONTRIBUTING.md | |||
@@ -0,0 +1,80 @@ | |||
1 | ## Contributing to Shaarli (community repository) | ||
2 | |||
3 | ### Bugs and feature requests | ||
4 | **Reporting bugs, feature requests: issues management** | ||
5 | |||
6 | You can look through existing bugs/requests and help reporting them [here](https://github.com/shaarli/Shaarli/issues). | ||
7 | |||
8 | Constructive input/experience reports/helping other users is welcome. | ||
9 | |||
10 | The general guideline of the fork is to keep Shaarli simple (project and code maintenance, and features-wise), while providing customization capabilities (plugin system, making more settings configurable). | ||
11 | |||
12 | Check the [milestones](https://github.com/shaarli/Shaarli/milestones) to see what issues have priority. | ||
13 | |||
14 | * The issues list should preferably contain **only tasks that can be actioned immediately**. Anyone should be able to open the issues list, pick one and start working on it immediately. | ||
15 | * If you have a clear idea of a **feature you expect, or have a specific bug/defect to report**, [search the issues list, both open and closed](https://github.com/shaarli/Shaarli/issues?q=is%3Aissue) to check if it has been discussed, and comment on the appropriate issue. If you can't find one, please open a [new issue](https://github.com/shaarli/Shaarli/issues/new) | ||
16 | * **General discussions** fit in #44 so that we don't follow a slope where users and contributors have to track 90 "maybe" items in the bug tracker. Separate issues about clear, separate steps can be opened after discussion. | ||
17 | * You can also join instant discussion at https://gitter.im/shaarli/Shaarli, or via IRC as described [here](https://github.com/shaarli/Shaarli/issues/44#issuecomment-77745105) | ||
18 | |||
19 | ### Documentation | ||
20 | **the [wiki](https://github.com/shaarli/Shaarli/wiki) is world-writable** - anyone can edit or add chapters and pages. | ||
21 | |||
22 | * Large changes should preferably be discussed in [General discussion](https://github.com/shaarli/Shaarli/issues/44) beforehand (you can post a draft there and edit it). | ||
23 | * If you create a new page, please link it from the new page (eg from the [Other links](https://github.com/shaarli/Shaarli/wiki#other-links) section. | ||
24 | * The wiki is a general documentation about Shaarli: usage, development, hacks, usage tricks, related links, projects. Try to keep it organized. | ||
25 | * The wiki will be synced to Shaarli's `doc/` directory on each release. Keep that in mind when reviewing the quality of your edits. | ||
26 | |||
27 | You can make the project known by publishing blog posts/articles/videos about it and adding them to the links section in the wiki. | ||
28 | |||
29 | ### Translations | ||
30 | Currently Shaarli has no translation/internationalization/localization system available and is single-language. You can help by proposing an i18n system (issue https://github.com/shaarli/Shaarli/issues/121) | ||
31 | |||
32 | ### Beta testing | ||
33 | You can help testing Shaarli releases by immediately upgrading your installation after a [new version has been releases](https://github.com/shaarli/Shaarli/releases). | ||
34 | |||
35 | All current development happens in [Pull Requests](https://github.com/shaarli/Shaarli/pulls). You can test proposed patches by cloning the Shaarli repo, adding the Pull Request branch and `git checkout` to it. You can also merge multiple Pull Requests to a testing branch. | ||
36 | |||
37 | ```bash | ||
38 | git clone https://github.com/shaarli/Shaarli | ||
39 | git remote add pull-request-25 owner/cool-new-feature | ||
40 | git remote add pull-request-26 anotherowner/bugfix | ||
41 | git remote update | ||
42 | git checkout -b testing | ||
43 | git merge cool-new-feature | ||
44 | git merge bugfix | ||
45 | ``` | ||
46 | |||
47 | Please report any problem you might find. | ||
48 | |||
49 | |||
50 | ### Contributing code | ||
51 | |||
52 | #### Adding your own changes | ||
53 | |||
54 | * Pick or open an issue | ||
55 | * Fork the Shaarli repository on github | ||
56 | * `git clone` your fork | ||
57 | * starting from branch ` master`, switch to a new branch (eg. `git checkout -b my-awesome-feature`) | ||
58 | * edit the required files (from the Github web interface or your text editor) | ||
59 | * add and commit your changes with a meaningful commit message (eg `Cool new feature, fixes issue #1001`) | ||
60 | * Open your fork in the Github web interface and click the "Compare and Pull Request" button, enter required info and submit your Pull Request. | ||
61 | |||
62 | All changes you will do on the `my-awesome-feature` in the future will be added to your Pull Request. Don't work directly on the master branch, don't do unrelated work on your `my-awesome-feature` branch. | ||
63 | |||
64 | #### Contributing to an existing Pull Request | ||
65 | |||
66 | TODO | ||
67 | |||
68 | #### Useful links | ||
69 | If you are not familiar with Git or Github, here are a few links to set you on track: | ||
70 | |||
71 | * https://try.github.io/ - 10 minutes Github workflow interactive tutorial | ||
72 | * http://ndpsoftware.com/git-cheatsheet.html - A Git cheatsheet | ||
73 | * http://www.wei-wang.com/ExplainGitWithD3 - Helps you understand some basic Git concepts visually | ||
74 | * https://www.atlassian.com/git/tutorial - Git tutorials | ||
75 | * https://www.atlassian.com/git/workflows - Git workflows | ||
76 | * http://git-scm.com/book - The official Git book, multiple languages | ||
77 | * http://www.vogella.com/tutorials/Git/article.html - Git tutorials | ||
78 | * http://think-like-a-git.net/resources.html - Guide to Git | ||
79 | * http://gitready.com/ - medium to advanced Git docs/tips/blog/articles | ||
80 | * https://github.com/btford/participating-in-open-source - Participating in Open Source | ||