ApiGen loves to welcome your contributions. There are several ways to help out:
- Create an issue on GitHub, if you have found a bug
- Write test cases for open bug issues
- Write patches for open bug/feature issues, preferably with test cases included
There are a few guidelines that we need contributors to follow so that we have a chance of keeping on top of things.
- Make sure you have a GitHub account.
- Submit an issue, assuming one does not already exist.
- Clearly describe the issue including steps to reproduce when it is a bug.
- Make sure you fill in the earliest version that you know has the issue.
- If a command is failing, include the full output (using
--debug
).
- Fork the repository on GitHub.
- Create a topic branch from where you want to base your work.
- This is usually the master branch.
- Only target release branches if you are certain your fix must be on that branch.
- To quickly create a topic branch based on master;
git branch master/my_contribution master
then checkout the new branch withgit checkout master/my_contribution
. Better avoid working directly on themaster
branch, to avoid conflicts if you pull in updates from origin.
- Make commits of logical units.
- Check for unnecessary whitespace with
git diff --check
before committing. - Use descriptive commit messages and reference the #issue number.
- Core test cases should continue to pass. You can run tests locally or enable travis-ci for your fork, so all tests and codesniffs will be executed.
- Your work should apply the PSR2 coding standards.
- Bugfix branches will be based on master.
- New features that are backwards compatible will be based on next minor release branch.
- New features or other non backwards compatible changes will go in the next major release branch.
- Push your changes to a topic branch in your fork of the repository.
- Submit a pull request to the repository in the ApiGen organization, with the correct target branch.
ApiGen tests requires PHPUnit. To run the test cases locally use the following command:
vendor/bin/phpunit
You can copy file phpunit.xml.dist
to phpunit.xml
and customize it if need be.
You can also register on Travis CI and from your profile page enable the service hook for your ApiGen fork on GitHub for automated test builds.
To run the sniffs for PSR2 coding standards:
vendor/bin/phpcs -p --extensions=php --standard=PSR2 ./src
- Existing issues
- Development Roadmaps
- General GitHub documentation
- GitHub pull request documentation
- #apigen IRC channel on freenode.org