How to contribute
Crud loves to welcome your contributions. There are several ways to help out:
- Create a ticket in GitHub, if you have found a bug
- Write testcases for open bug tickets
- Write patches for open bug/feature tickets, preferably with testcases included
- Contribute to the documentation
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 a ticket for your 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.
- Fork the repository on GitHub.
- Create a topic branch from where you want to base your work.
- This is usually the develop branch
- To quickly create a topic branch based on master;
git branch master/my_contribution masterthen checkout the new branch with
git checkout master/my_contribution. Better avoid working directly on the
masterbranch, to avoid conflicts if you pull in updates from origin.
- Make commits of logical units.
- Check for unnecessary whitespace with
git diff --checkbefore committing.
- Use descriptive commit messages and reference the #ticket number
- Core testcases 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 CakePHP coding standards.
Which branch to base the work
- Bugfix branches will be based on develop branch.
- New features that are backwards compatible will be based on develop branch
- New features or other non-BC 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 with the correct target branch.
Testcases and codesniffer
Crud tests requires PHPUnit 3.7.33 or higher. To run the testcases locally use the following command:
To run the sniffs for CakePHP coding standards
phpcs -n -p --extensions=php --standard=vendor/cakephp/cakephp-codesniffer/CakePHP --ignore=vendor --ignore=docs src/ tests/
Check the cakephp-codesniffer repository to setup the CakePHP standard. The README contains installation info for the sniff and phpcs.
You can build the documentation using Docker via the following commands:
# go to the docs dir cd docs # build the docs docker build . # make the html docker run -it --rm -v $(pwd)/docs:/data friendsofcake/crud make html # open the generated html docs in docs/_build/html