|
| 1 | +# Contributing |
| 2 | + |
| 3 | +If you're here, you would like to contribute to this repository and you're really welcome! |
| 4 | + |
| 5 | + |
| 6 | +## Bug reports |
| 7 | + |
| 8 | +If you find a bug or a documentation issue, please report it or even better: fix it :). If you report it, |
| 9 | +please be as precise as possible. Here is a little list of required information: |
| 10 | + |
| 11 | + - Precise description of the bug |
| 12 | + - Details of your environment (for example: OS, PHP version, installed extensions) |
| 13 | + - Backtrace which might help identifing the bug |
| 14 | + |
| 15 | + |
| 16 | +## Security issues |
| 17 | + |
| 18 | +If you discover any security related issues, |
| 19 | +please contact us at the [security email address](../../#security) instead of submitting an issue on Github. |
| 20 | +This allows us to fix the issue and release a security hotfix without publicly disclosing the vulnerability. |
| 21 | + |
| 22 | + |
| 23 | +## Feature requests |
| 24 | + |
| 25 | +If you think a feature is missing, please report it or even better: implement it :). If you report it, describe the more |
| 26 | +precisely what you would like to see implemented and we will discuss what is the best approach for it. If you can do |
| 27 | +some research before submitting it and link the resources to your description, you're awesome! It will allow us to more |
| 28 | +easily understood/implement it. |
| 29 | + |
| 30 | + |
| 31 | +## Sending a Pull Request |
| 32 | + |
| 33 | +If you're here, you are going to fix a bug or implement a feature and you're the best! |
| 34 | +To do it, first fork the repository, clone it and create a new branch with the following commands: |
| 35 | + |
| 36 | +``` bash |
| 37 | +$ git clone [email protected]:your-name/repo-name.git |
| 38 | +$ git checkout -b feature-or-bug-fix-description |
| 39 | +``` |
| 40 | + |
| 41 | +Then install the dependencies through [Composer](https://getcomposer.org/): |
| 42 | + |
| 43 | +``` bash |
| 44 | +$ composer install |
| 45 | +``` |
| 46 | + |
| 47 | +Write code and tests. When you are ready, run the tests. |
| 48 | +(This is usually [PHPUnit](http://phpunit.de/) or [PHPSpec](http://phpspec.net/)) |
| 49 | + |
| 50 | +``` bash |
| 51 | +$ composer test |
| 52 | +``` |
| 53 | + |
| 54 | +When you are ready with the code, tested it and documented it, you can commit and push it with the following commands: |
| 55 | + |
| 56 | +``` bash |
| 57 | +$ git commit -m "Feature or bug fix description" |
| 58 | +$ git push origin feature-or-bug-fix-description |
| 59 | +``` |
| 60 | + |
| 61 | +**Note:** Please write your commit messages in the imperative and follow the |
| 62 | +[guidelines](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) for clear and concise messages. |
| 63 | + |
| 64 | +Then [create a pull request](https://help.github.com/articles/creating-a-pull-request/) on GitHub. |
| 65 | + |
| 66 | +Please make sure that each individual commit in your pull request is meaningful. |
| 67 | +If you had to make multiple intermediate commits while developing, |
| 68 | +please squash them before submitting with the following commands |
| 69 | +(here, we assume you would like to squash 3 commits in a single one): |
| 70 | + |
| 71 | +``` bash |
| 72 | +$ git rebase -i HEAD~3 |
| 73 | +``` |
| 74 | + |
| 75 | +If your branch conflicts with the master branch, you will need to rebase and repush it with the following commands: |
| 76 | + |
| 77 | +``` bash |
| 78 | +$ git remote add upstream [email protected]:orga/repo-name.git |
| 79 | +$ git pull --rebase upstream master |
| 80 | +$ git push -f origin feature-or-bug-fix-description |
| 81 | +``` |
| 82 | + |
| 83 | + |
| 84 | +## Coding standard |
| 85 | + |
| 86 | +This repository follows the [PSR-2 standard](http://www.php-fig.org/psr/psr-2/) and so, if you want to contribute, |
| 87 | +you must follow these rules. |
| 88 | + |
| 89 | + |
| 90 | +## Semver |
| 91 | + |
| 92 | +We are trying to follow [semver](http://semver.org/). When you are making BC breaking changes, |
| 93 | +please let us know why you think it is important. |
| 94 | +In this case, your patch can only be included in the next major version. |
| 95 | + |
| 96 | + |
| 97 | +## Code of Conduct |
| 98 | + |
| 99 | +This project is released with a [Contributor Code of Conduct](CONDUCT.md). |
| 100 | +By participating in this project you agree to abide by its terms. |
0 commit comments