| 1 |
# Contributing to CMB2 |
| 2 |
|
| 3 |
Thank you for your interest in contributing back to CMB2. Please help us review your issues and/or merge your pull requests by following the below guidelines. |
| 4 |
|
| 5 |
#### NOTE: The issues section is for bug reports and feature requests only. |
| 6 |
_Support is not offered for this library, and the likelihood that the maintainers will respond is very low. If you need help, please use [](http://stackoverflow.com/search?q=cmbstackoverflow](http://stackoverflow.com/search?q=cmb](http://stackoverflow.com/search?q=cmb), or the [](http://wordpress.org/support/plugin/cmb2wordpress.org plugin forums](http://wordpress.org/support/plugin/cmb2](http://wordpress.org/support/plugin/cmb2)._ |
| 7 |
|
| 8 |
Before reporting a bug |
| 9 |
--- |
| 10 |
1. Please review the [](https://github.com/CMB2/CMB2/wikidocumentation](https://github.com/CMB2/CMB2/wiki](https://github.com/CMB2/CMB2/wiki). Most questions revolve around the [](https://github.com/CMB2/CMB2/wiki/Field-Typesfield types](https://github.com/CMB2/CMB2/wiki/Field-Types](https://github.com/CMB2/CMB2/wiki/Field-Types), [](https://github.com/CMB2/CMB2/wiki/Field-Parametersfield parameters](https://github.com/CMB2/CMB2/wiki/Field-Parameters](https://github.com/CMB2/CMB2/wiki/Field-Parameters), or are addressed in the [](https://github.com/CMB2/CMB2/wiki/Troubleshootingtroubleshooting](https://github.com/CMB2/CMB2/wiki/Troubleshooting](https://github.com/CMB2/CMB2/wiki/Troubleshooting) section. |
| 11 |
2. Search [](https://github.com/CMB2/CMB2/issuesissues](https://github.com/CMB2/CMB2/issues](https://github.com/CMB2/CMB2/issues) to see if the issue has been previously reported. |
| 12 |
3. Install the [](https://github.com/CMB2/CMB2/tree/develop`develop`](https://github.com/CMB2/CMB2/tree/develop](https://github.com/CMB2/CMB2/tree/develop) version of CMB2 and test there. |
| 13 |
|
| 14 |
|
| 15 |
How to report a bug |
| 16 |
--- |
| 17 |
1. Specify the version number for both WordPress and CMB2. |
| 18 |
3. Describe the problem in detail. Explain what happened, and what you expected would happen. |
| 19 |
4. Provide a small test-case and a link to a [](https://gist.github.com/gist](https://gist.github.com/](https://gist.github.com/) containing your entire metabox registration code. |
| 20 |
5. If helpful, include a screenshot. Annotate the screenshot for clarity. |
| 21 |
|
| 22 |
|
| 23 |
How to contribute to CMB2 |
| 24 |
--- |
| 25 |
All contributions welcome. If you would like to submit a pull request, please follow the steps below. |
| 26 |
|
| 27 |
1. Make sure you have a GitHub account. |
| 28 |
2. Fork the repository on GitHub. |
| 29 |
3. **Check out the [](https://github.com/CMB2/CMB2/tree/develop`develop`](https://github.com/CMB2/CMB2/tree/develop](https://github.com/CMB2/CMB2/tree/develop) version of CMB2.** If you submit to the master branch, the PR will be closed with a link back to this document. |
| 30 |
4. **Verify your issue still exists in the [](https://github.com/CMB2/CMB2/tree/develop`develop`](https://github.com/CMB2/CMB2/tree/develop](https://github.com/CMB2/CMB2/tree/develop) branch.** |
| 31 |
5. Make changes to your clone of the repository. |
| 32 |
1. Please follow the [WordPress code standards](https://make.wordpress.org/core/handbook/coding-standards). |
| 33 |
2. If possible, and if applicable, please also add/update unit tests for your changes. |
| 34 |
3. Please add documentation to any new functions, methods, actions and filters. |
| 35 |
4. When committing, reference your issue (if present) and include a note about the fix. |
| 36 |
6. [](https://help.github.com/articles/creating-a-pull-request/Submit a pull request](https://help.github.com/articles/creating-a-pull-request/](https://help.github.com/articles/creating-a-pull-request/). |
| 37 |
|
| 38 |
**Note:** You may gain more ground and avoid unecessary effort if you first open an issue with the proposed changes, but this step is not necessary. |
| 39 |
|
| 40 |
Translations |
| 41 |
--- |
| 42 |
If you are looking to provide language translation files, Please do so via [](https://translate.wordpress.org/projects/wp-plugins/cmb2WordPress Plugin Translations](https://translate.wordpress.org/projects/wp-plugins/cmb2](https://translate.wordpress.org/projects/wp-plugins/cmb2). |
| 43 |
|
| 44 |
Creating/Running Tests |
| 45 |
--- |
| 46 |
We use PHPUnit and the WordPress test suite for our unit/integration tests. |
| 47 |
|
| 48 |
1. You can install the WordPress test suite [](https://github.com/CMB2/CMB2/blob/develop/tests/bin/install-wp-tests.sh#L3using the installer](https://github.com/CMB2/CMB2/blob/develop/tests/bin/install-wp-tests.sh#L3](https://github.com/CMB2/CMB2/blob/develop/tests/bin/install-wp-tests.sh#L3): `bash tests/bin/install-wp-tests.sh wordpress_test root ''`. (this will install the test suite in the temp folder on your computer, using a test database with those given credentials) |
| 49 |
1. Install PHPUnit via composer, `composer install`. |
| 50 |
1. Once Composer and the WordPress test sutie are installed, you can run phpunit via `./vendor/bin/phpunit` in the CMB2 directory. |
| 51 |
|
| 52 |
Additional Resources |
| 53 |
--- |
| 54 |
|
| 55 |
* [](https://github.com/CMB2/CMB2/wikiCMB2 Documentation Wiki](https://github.com/CMB2/CMB2/wiki](https://github.com/CMB2/CMB2/wiki) |
| 56 |
* [](https://github.com/CMB2/CMB2-Snippet-LibraryCMB2 Snippet Library](https://github.com/CMB2/CMB2-Snippet-Library](https://github.com/CMB2/CMB2-Snippet-Library) |
| 57 |
* [](http://cmb2.io/api/CMB2 API Documentation](http://cmb2.io/api/](http://cmb2.io/api/) |
| 58 |
* [](http://help.github.com/General GitHub Documentation](http://help.github.com/](http://help.github.com/) |
| 59 |
* [](http://help.github.com/send-pull-requests/GitHub Pull Request documentation](http://help.github.com/send-pull-requests/](http://help.github.com/send-pull-requests/) |
| 60 |
* [](http://phpunit.de/manual/current/en/writing-tests-for-phpunit.htmlPHPUnit Tests Guide](http://phpunit.de/manual/current/en/writing-tests-for-phpunit.html](http://phpunit.de/manual/current/en/writing-tests-for-phpunit.html) |
| 61 |
|