2.7 KiB
Contributing
Contributions of any kind are welcome.
Feel free to submit Github Issues or pull requests.
Quick Guide
The documentation site has some details about internals.
How-To
-
Fork the repo.
-
Checkout the branch you want to make changes on.
- Typically, this will be
master
. Note that most of the time,master
represents the next release of swagger-php, so Pull Requests that break backwards compatibility might be postponed.
- Typically, this will be
-
Install dependencies:
composer install
. -
Create a new branch, e.g.
feature-foo
orbugfix-bar
. -
Make changes.
-
If you are adding functionality or fixing a bug - add a test!
Prefer adding new test cases over modifying existing ones.
-
Update documentation:
composer docs:gen
. -
Run static analysis using PHPStan/Psalm:
composer analyse
. -
Check if tests pass:
composer test
. -
Fix code style issues:
composer cs
.
Documentation
The documentation website is build from the docs folder with vitepress.
This process involves converting the existing markdown (.md
) files into static HTML pages and publishing them.
Some reference content is based on the existing code, so changes to annotations, attributes and processors will require to re-generate those markdown files: composer docs:gen
.
The actual published content is managed in the gh-pages branch and driven by a publish action.
Useful commands
To run both unit tests and linting execute
composer test
To run static-analysis execute
composer analyse
Running unit tests only
./bin/phpunit
Regenerate reference markup docs
composer docs:gen
Running linting only
composer lint
To make php-cs-fixer
fix linting errors
composer cs
Run dev server for local development of gh-pages
composer docs:dev