Skip to content

Latest commit

 

History

History
139 lines (83 loc) · 2.76 KB

CONTRIBUTING.md

File metadata and controls

139 lines (83 loc) · 2.76 KB

CONTRIBUTING

We are using GitHub Actions as a continuous integration system.

For details, take a look at the following workflow configuration files:

Coding Standards

We are using ergebnis/composer-normalize to normalize composer.json.

We are using yamllint to enforce coding standards in YAML files.

If you do not have yamllint installed yet, run

brew install yamllint

to install yamllint.

We are using friendsofphp/php-cs-fixer to enforce coding standards in PHP files.

Run

make coding-standards

to automatically fix coding standard violations.

Dependency Analysis

We are using maglnet/composer-require-checker to prevent the use of unknown symbols in production code.

Run

make dependency-analysis

to run a dependency analysis.

Mutation Tests

We are using infection/infection to ensure a minimum quality of the tests.

Enable Xdebug and run

make mutation-tests

to run mutation tests.

Refactoring

We are using rector/rector to automatically refactor code.

Run

make refactoring

to automatically refactor code.

Security Analysis

We are using composer to run a security analysis.

Run

make security-analysis

to run a security analysis.

Static Code Analysis

We are using vimeo/psalm to statically analyze the code.

Run

make static-code-analysis

to run a static code analysis.

We are also using the baseline feature of vimeo/psalm.

Run

make static-code-analysis-baseline

to regenerate the baseline in ../psalm-baseline.xml.

❗ Ideally, the baseline should shrink over time.

Tests

We are using phpunit/phpunit to drive the development.

Run

make tests

to run all the tests.

Extra lazy?

Run

make

to automatically refactor code, enforce coding standards, run a static code analysis, and run tests!

Help

💡 Run

make help

to display a list of available targets with corresponding descriptions.