Skip to content

Latest commit

 

History

History
105 lines (64 loc) · 2.53 KB

CONTRIBUTING.md

File metadata and controls

105 lines (64 loc) · 2.53 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.

Static Code Analysis

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

Run

$ make static-code-analysis

to run a static code analysis.

We are also using the baseline features of phpstan/phpstan and vimeo/psalm.

Run

$ make static-code-analysis-baseline

to regenerate the baselines in ../phpstan-baseline.neon and ../psalm-baseline.xml.

❗ Ideally, the baselines 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 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.