Input and contributions are very welcome! Please open issues with improvements, feature requests or bug reports. To contribute source code, add documentation or fix spelling mistakes try this:
- Fork this repository.
- Clone the forked repository via
git clone git@github.com:YOURNAME/agavi.git
. - Install composer and check that
the tests run via
cd test && php run-tests.php
- Make changes and additions in specific branches and add tests where appropriate.
- Verify changes and make sure that the tests succeed.
- Add, commit, squash and push the changes to the forked repository.
- Send a pull request to Agavi.
- Pull requests for bugfixes should go to the
1.0
branch. - Pull requests for features should go to the
master
branch.
- Pull requests for bugfixes should go to the
Please provide a well written issue describing the change and why it is necessary. This is helpful for maintainers that want to integrate your changes into Agavi. You may add a CHANGELOG entry suggestion to the pull request ticket.
Please see the coding style hints before making changes and try to adhere to them as otherwise incorporating the changes into Agavi is not easily possible and may prevent the pull request from being accepted at all.
Please use well-written commit messages. The basic format of git commit messages is:
- A single short summary line of not more than 70 characters.
- A blank line.
- A detailed description of the change in present tense with not more than 80 characters per line.
There is no Contributor License Agreement (CLA) to sign, but you have to accept and agree to the LICENSE to get your patches included. Make sure the contributions do not include code from libraries or projects with incompatible licenses. For a list of contributors see the github contributors graph.
Different independent logical changes should be separated into separate commits Separate patch submissions allow each change to be considered on its own and make reviews a lot easier.
Commits are continously integrated via TravisCI and failing the PHPUnit tests will fail the builds. Usually the build status will be shown on the pull request by Github. If something fails please try to fix the changes as otherwise they can't be easily integrated by maintainers.