Contributing
🗒️ Introduction
If you would like to contribute to this project, please open an issue or a pull request. We are always looking for ways to improve the project and would love to hear your ideas.
The latest changes are always in master branch, so please make your Pull Request against that branch.
💻 Workflow
Please feature/fix/update... into individual PRs (not one changing everything)
- Create a github fork.
- On your fork, create a branch, make the changes, commit and push.
- Create a pull-request to the master branch of this repository.
🧾 Checklist
→ If Applicable
- tests should be included as a part of your PR
- run
make hooks
to install the git hooks and pre-commit checks - run
make test
ormake up && make ssh && vendor/bin/pest
to run them. make lint
should be run to ensure the code is properly formatted and phpstan should be run to ensure the code is properly typed.- documentation should be updated, please provide the corresponding documentation as well and make it part of the Pull Request
✉️ Git Message Format
This repo adheres to the Conventional Commits specification.
Commit messages are enforced through commitizen and a pre-commit, please use make hooks
to install them.
This leads to more readable messages that are easy to follow when looking through the project history and also allows to generate changelogs automatically.
→ Allowed prefixes for commit messages
- feat — A new feature
- fix — A bug fix
- perf — A code change that improves performance
- docs — Documentation only changes
- style — Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons)
- deps — Changes to the package.json or package-lock.json
- refactor — A code change that neither fixes a bug nor adds a feature
- ci — Changes to our CI configuration files and scripts
- test — Adding missing tests or correcting existing tests
- revert — Reverting a previous commit
- build — Changes that affect the build system or external dependencies (example scopes: pnpm, renovate, github actions)
- chore — Other changes that don't modify src or test files
- security — A code change that fixes a security issue
🧪 Running Tests
→ PHPUnit Tests
To run phpunit (pest) tests, run the following command:
$ make test
→ Static Analysis
Run Code quality checks using PHPStan:
$ make lint-stan
→ Coding Standards Fixing
Fix code using The PHP Coding Standards Fixer to follow our standards:
$ make lint-php
🔓 Security Vulnerabilities
If you discover a security vulnerability within this package, please send an e-mail to WayOfDev via the@wayof.dev. All security vulnerabilities will be promptly addressed.
🤝 Code of Conduct
We are using the Contributor Covenant as our Code of Conduct, to keep discussion open and inclusive. Please, take a moment to read and follow our Code of Conduct.