-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
7f4ff15
commit e84ce75
Showing
2 changed files
with
81 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
# Contributing to Intervention Image | ||
|
||
Thank you for your interest in contributing to the project. Any contribution | ||
that improves the project is welcome and will be considered for integration. | ||
|
||
Please understand that there is no guarantee that your pull request will be | ||
accepted. To avoid misunderstandings, it is recommended that you first initiate | ||
a discussion about your planned changes on the [issue | ||
board](https://github.com/Intervention/image/issues). | ||
|
||
You agree that your contributions will be licensed under the same license as | ||
the main project. Before submitting a pull request familiarize yourself with | ||
the [license](LICENSE) and understand its terms and conditions. | ||
|
||
## Requirements | ||
|
||
To ensure a smooth collaboration process and maintain the quality of the | ||
project the submitted pull request must meet the following requirements to be | ||
accepted for review. It is a good idea to check these locally **before** you | ||
submit the PR. | ||
|
||
### Follow the Branching Model | ||
|
||
Please submit only one feature or bug fix per pull request. The best practice | ||
is to split your contributions into thematically meaningful branches and then | ||
submit them individually as pull requests. | ||
|
||
### Comply with the Coding Standard | ||
|
||
The project follows the [PSR12 coding | ||
standard](https://www.php-fig.org/psr/psr-12/) with some [additional | ||
extensions](phpcs.xml.dist). Adherence to these rules is essential and can be | ||
easily checked with the following command. | ||
|
||
```bash | ||
./vendor/bin/phpcs | ||
``` | ||
|
||
Or by using the project's Docker environment. | ||
|
||
```bash | ||
docker-compose run --rm --build standards | ||
``` | ||
|
||
### Write Tests | ||
|
||
For new features or changes to the existing code base, it is essential to cover | ||
them with tests. Integrate your tests in the the project's test environment | ||
and consider both positive and negative scenarios. | ||
|
||
Make sure that all tests are passed with the following command. | ||
|
||
```bash | ||
./vendor/bin/phpunit | ||
``` | ||
|
||
Or by using the project's Docker environment. | ||
|
||
```bash | ||
docker-compose run --rm --build tests | ||
``` | ||
|
||
### Pay attention to the Analyzer Results | ||
|
||
A static analyzer is also used to avoid bugs and ensure quality. In addition to | ||
testing, it must also run without errors. | ||
|
||
Check the analyzer by running the following command. | ||
|
||
```bash | ||
./vendor/bin/phpstan analyze --memory-limit=512M --level=4 ./src | ||
``` | ||
|
||
Or by using the project's Docker environment. | ||
|
||
```bash | ||
docker-compose run --rm --build analysis | ||
``` | ||
|
||
**Thank you!** |