woocommerce/.github/CONTRIBUTING.md

52 lines
5.7 KiB
Markdown
Raw Normal View History

2018-05-09 10:40:21 +00:00
# Contributing to WooCommerce ✨
2012-11-06 12:22:42 +00:00
WooCommerce powers many online stores across the internet, and your help making it even more awesome will be greatly appreciated :)
2019-07-26 19:05:52 +00:00
There are many ways to contribute to the project!
2012-11-06 12:22:42 +00:00
2019-07-26 19:05:52 +00:00
- [Translating strings into your language](https://github.com/woocommerce/woocommerce/wiki/Translating-WooCommerce).
- Answering questions on the various WooCommerce communities like the [WP.org support forums](https://wordpress.org/support/plugin/woocommerce/).
- Testing open [issues](https://github.com/woocommerce/woocommerce/issues) or [pull requests](https://github.com/woocommerce/woocommerce/pulls) and sharing your findings in a comment.
2023-04-03 18:17:33 +00:00
- Testing WooCommerce beta versions and release candidates. Those are announced in the [WooCommerce development blog](https://developer.woocommerce.com/blog/).
2018-05-09 10:40:21 +00:00
- Submitting fixes, improvements, and enhancements.
2019-07-26 19:05:52 +00:00
- To disclose a security issue to our team, [please submit a report via HackerOne](https://hackerone.com/automattic/).
2012-11-06 12:22:42 +00:00
2023-04-03 18:20:53 +00:00
If you wish to contribute code, please read the information in the sections below. Then [fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) WooCommerce, commit your changes, and [submit a pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) 🎉
2013-05-30 09:24:16 +00:00
2022-03-15 19:50:52 +00:00
We use the `good first issue` label to mark issues that are suitable for new contributors. You can find all the issues with this label [here](https://github.com/woocommerce/woocommerce/issues?q=is%3Aopen+is%3Aissue+label%3A%22type%3A+good+first+issue%22).
2019-07-31 12:05:12 +00:00
WooCommerce is licensed under the GPLv3+, and all contributions to the project will be released under the same license. You maintain copyright over any contribution you make, and by submitting a pull request, you are agreeing to release that contribution under the GPLv3+ license.
2013-05-30 09:24:16 +00:00
2019-07-26 19:05:52 +00:00
If you have questions about the process to contribute code or want to discuss details of your contribution, you can contact WooCommerce core developers on the #core channel in the [WooCommerce community Slack](https://woocommerce.com/community-slack/).
2018-05-09 10:40:21 +00:00
2019-07-26 19:05:52 +00:00
## Getting started
2018-05-09 10:40:21 +00:00
- [How to set up WooCommerce development environment](https://github.com/woocommerce/woocommerce/wiki/How-to-set-up-WooCommerce-development-environment)
- [Git Flow](https://github.com/woocommerce/woocommerce/wiki/WooCommerce-Git-Flow)
- [Minification of SCSS and JS](https://github.com/woocommerce/woocommerce/wiki/Minification-of-SCSS-and-JS)
- [Naming conventions](https://github.com/woocommerce/woocommerce/wiki/Naming-conventions)
- [String localisation guidelines](https://github.com/woocommerce/woocommerce/wiki/String-localisation-guidelines)
- [Running unit tests](https://github.com/woocommerce/woocommerce/blob/trunk/plugins/woocommerce/tests/README.md)
- [Running e2e tests](https://github.com/woocommerce/woocommerce/blob/trunk/plugins/woocommerce/tests/e2e/README.md)
2015-08-03 14:48:07 +00:00
2019-07-10 11:57:02 +00:00
## Coding Guidelines and Development 🛠
2015-08-03 14:48:07 +00:00
2023-04-03 18:33:13 +00:00
- Ensure you stick to the [WordPress Coding Standards](https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/).
- Run our build process described in the document on [how to set up WooCommerce development environment](https://github.com/woocommerce/woocommerce/wiki/How-to-set-up-WooCommerce-development-environment), it will install our pre-commit hook, code sniffs, dependencies, and more.
2019-07-26 19:05:52 +00:00
- Whenever possible please fix pre-existing code standards errors in the files that you change. It is ok to skip that for larger files or complex fixes.
2018-05-09 10:40:21 +00:00
- Ensure you use LF line endings in your code editor. Use [EditorConfig](http://editorconfig.org/) if your editor supports it so that indentation, line endings and other settings are auto configured.
- When committing, reference your issue number (#1234) and include a note about the fix.
2019-06-26 16:20:47 +00:00
- Ensure that your code supports the minimum supported versions of PHP and WordPress; this is shown at the top of the `readme.txt` file.
2021-02-25 23:51:14 +00:00
- Push the changes to your fork and submit a pull request on the trunk branch of the WooCommerce repository.
2019-07-26 19:05:52 +00:00
- Make sure to write good and detailed commit messages (see [this post](https://chris.beams.io/posts/git-commit/) for more on this) and follow all the applicable sections of the pull request template.
- Please create a change file for your changes by running `pnpm --filter=<project> changelog add`. For example, a change file for the WooCommerce Core project would be added by running `pnpm --filter=woocommerce changelog add`.
- Please avoid modifying the changelog directly or updating the .pot files. These will be updated by the WooCommerce team.
2012-11-06 12:22:42 +00:00
2023-04-03 19:01:07 +00:00
If you are contributing code to our (Javascript-driven) Gutenberg blocks, please note that they are developed in their [own repository](https://github.com/woocommerce/woocommerce-gutenberg-products-block) and have their [own issue tracker](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues).
2019-07-26 19:05:52 +00:00
## Feature Requests 🚀
2023-04-03 18:29:03 +00:00
The best place to submit feature requests is over on our [dedicated feature request page](https://woocommerce.com/feature-requests/woocommerce/). You can easily search and vote for existing requests, or create new requests if necessary.
2019-07-26 19:05:52 +00:00
Alternatively, if you wish to propose a straightforward technical enhancement that is unlikely to require much discussion, you can [open a new issue](https://github.com/woocommerce/woocommerce/issues/new?assignees=&labels=type%3A+enhancement%2Cstatus%3A+awaiting+triage&template=2-enhancement.yml&title=%5BEnhancement%5D%3A+) right here on GitHub and, for any that may require more discussion, consider syncing with us during office hours or publishing a thread on [GitHub Discussions](https://github.com/woocommerce/woocommerce/discussions).