Contributing
June 3, 2026 ยท View on GitHub
We look forward to your contributions! Here are some examples how you can contribute:
- Report an issue
- Suggest a new feature
- Send a pull request
Workflow for Pull Requests
- Fork the repository.
- Create your branch from
9.7if you plan to implement new functionality or change existing code significantly. - Implement your change and add tests for it.
- Ensure the test suite passes.
- Ensure the code complies with our coding guidelines.
- Send your Pull Request
Fork the PHPLint repository
Before starting to contribute to this project, you first need to install code from GitHub:
git clone --branch 9.7 https://github.com/overtrue/phplint.git
cd phplint
composer update
In an effort to maintain a homogeneous code base, we strongly encourage contributors to run PHPStan, PHP-CS-Fixer and PHPUnit before submitting a Pull Request.
All dev tools (phpstan, php-cs-fixer, phpunit) are under control of bamarni/composer-bin-plugin.
Static Code Analysis
Static analysis of source code is provided using PHPStan
composer bin phpstan update
This project comes with a configuration file (located at /phpstan.neon.dist in the repository)
and an executable for PHPStan (located at vendor/bin/phpstan) that you can use to analyse your source code for compliance with this project's coding guidelines:
vendor/bin/captainhook hook:pre-push -c .config/captainhook/pre-push.phpstan.json
Here is a preview of what call look like:

Coding standards
Coding standards are enforced using PHP-CS-Fixer
composer bin php-cs-fixer update
This project comes with a configuration file (located at /.php-cs-fixer.dist.php in the repository)
and an executable for PHP CS Fixer (located at vendor/bin/php-cs-fixer) that you can use to check source code standard violation,
without apply changes:
vendor/bin/captainhook hook:pre-commit -c .config/captainhook/pre-commit.phpcs-fixer.json
Here is a preview of what call look like:

Running Tests
Regression tests are checked using PHPUnit
composer bin phpunit update
All tests must PASS before submitting a Pull Request.
vendor/bin/phpunit
Executes all unit tests (that include test suites: cache, configuration, finder, output)
vendor/bin/phpunit --testsuite e2e
Execute end-to-end tests (that include test suite e2e)