1# Contribute
2
3Thank you for contributing!
4
5Before we can merge your Pull-Request here are some guidelines that you need to follow.
6These guidelines exist not to annoy you, but to keep the code base clean, unified and future proof.
7
8## Coding Standard
9
10This project uses [PHP_CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) to enforce coding standards.
11The coding standard rules are defined in the **phpcs.xml.dist** file (part of this repository).
12The project follows a relaxed version of the Doctrine Coding standards v4.
13
14Your Pull-Request must be compliant with the said standard.
15To check your code you can run `vendor/bin/phpcs`. This command will give you a list of violations in your code (if any).
16The most common errors can be automatically fixed just by running `vendor/bin/phpcbf`.
17
18## Unit-Tests
19
20Please try to add a test for your pull-request. This project uses [PHPUnit](https://phpunit.de/) as testing framework.
21
22You can run the unit-tests by calling `vendor/bin/phpunit`.
23
24New features without tests can't be merged.
25
26## CI
27
28We automatically run your pull request through [Travis CI](https://www.travis-ci.org)
29and [Scrutinizer CI](https://scrutinizer-ci.com/).
30If you break the tests, we cannot merge your code,
31so please make sure that your code is working before opening up a Pull-Request.
32
33## Issues and Bugs
34
35To create a new issue, you can use the GitHub issue tracking system.
36Please try to avoid opening support-related tickets. For support related questions please use more appropriate
37channels as Q&A platforms (such as Stackoverflow), Forums, Local PHP user groups.
38
39## Getting merged
40
41Please allow us time to review your pull requests.
42We will give our best to review everything as fast as possible, but cannot always live up to our own expectations.
43
44Thank you very much again for your contribution!
45