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 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
|
# Contributing
First of all, **thank you** for contributing, **you are awesome**!
Everybody should be able to help. Here's how you can do it:
1. [Fork it](https://github.com/jolicode/php-os-helper/fork_select)
2. improve it
3. submit a [pull request](https://help.github.com/articles/creating-a-pull-request)
Here's some tips to make you the best contributor ever:
* [Rules](#rules)
* [Green tests](#green-tests)
* [Standard code](#standard-code)
* [Keeping your fork up-to-date](#keeping-your-fork-up-to-date)
## Rules
Here are a few rules to follow in order to ease code reviews, and discussions
before maintainers accept and merge your work.
* You MUST follow the [PSR-1](http://www.php-fig.org/psr/1/) and
[PSR-12](http://www.php-fig.org/psr/12/) (see [Standard code](#standard-code)).
* You MUST run the test suite (see [Green tests](#green-tests)).
* You MUST write (or update) tests.
* You SHOULD write documentation.
Please, write [commit messages that make
sense](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html),
and [rebase your branch](http://git-scm.com/book/en/Git-Branching-Rebasing)
before submitting your Pull Request (see also how to [keep your
fork up-to-date](#keeping-your-fork-up-to-date)).
One may ask you to [squash your
commits](http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html)
too. This is used to "clean" your Pull Request before merging it (we don't want
commits such as `fix tests`, `fix 2`, `fix 3`, etc.).
Also, while creating your Pull Request on GitHub, you MUST write a description
which gives the context and/or explains why you are creating it.
Your work will then be reviewed as soon as possible (suggestions about some
changes, improvements or alternatives may be given).
## Green tests
Run the tests using the following script:
```shell
vendor/bin/simple-phpunit
```
## Standard code
Use [PHP CS fixer](http://cs.sensiolabs.org/) to make your code compliant with
php-os-helper's coding standards:
```shell
php-cs-fixer fix
```
## Keeping your fork up-to-date
To keep your fork up-to-date, you should track the upstream (original) one
using the following command:
```shell
git remote add upstream https://github.com/jolicode/php-os-helper.git
```
Then get the upstream changes:
```shell
git checkout main
git pull --rebase origin main
git pull --rebase upstream main
git checkout <your-branch>
git rebase main
```
Finally, publish your changes:
```shell
git push -f origin <your-branch>
```
Your pull request will be automatically updated.
Thank you!
|