5.5 KiB
Contributing to WooCommerce ✨
WooCommerce powers many online stores across the internet, and your help making it even more awesome will be greatly appreciated :)
There are many ways to contribute to the project!
- Translating strings into your language.
- Answering questions on the various WooCommerce communities like the WP.org support forums.
- Testing open issues or pull requests and sharing your findings in a comment.
- Testing WooCommerce beta versions and release candidates. Those are announced in the WooCommerce development blog.
- Submitting fixes, improvements, and enhancements.
- To disclose a security issue to our team, please submit a report via HackerOne.
If you wish to contribute code, please read the information in the sections below. Then fork WooCommerce, commit your changes, and submit a pull request 🎉
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.
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.
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.
Getting started
- How to set up WooCommerce development environment
- Git Flow
- Minification of SCSS and JS
- Naming conventions
- String localisation guidelines
- Running unit tests
- Running e2e tests
Coding Guidelines and Development 🛠
- Ensure you stick to the WordPress Coding Standards
- Run our build process described in the document on how to set up WooCommerce development environment, it will install our pre-commit hook, code sniffs, dependencies, and more.
- 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.
- Ensure you use LF line endings in your code editor. Use EditorConfig 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.
- Ensure that your code supports the minimum supported versions of PHP and WordPress; this is shown at the top of the
readme.txt
file. - Push the changes to your fork and submit a pull request on the trunk branch of the WooCommerce repository.
- Make sure to write good and detailed commit messages (see this post 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 runningpnpm --filter=woocommerce changelog add
. - Please avoid modifying the changelog directly or updating the .pot files. These will be updated by the WooCommerce team.
If you are contributing code to the (Javascript-driven) Gutenberg blocks, note that it's developed in an external package.
Feature Requests 🚀
Feature requests can be submitted to our issue tracker. Be sure to include a description of the expected behavior and use case, and before submitting a request, please search for similar ones in the closed issues.
Feature request issues will remain closed until we see sufficient interest via comments and 👍 reactions from the community.
You can see a list of current feature requests which require votes here.