]> git.immae.eu Git - github/shaarli/Shaarli.git/blob - CONTRIBUTING.md
Merge remote-tracking branch 'origin/doc-contributing'
[github/shaarli/Shaarli.git] / CONTRIBUTING.md
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