|
| 1 | +# Contributing to Magento 2 code |
| 2 | +<!-- {% comment %} --> |
| 3 | +## Navigation |
| 4 | + |
| 5 | +1. [Introduction] |
| 6 | +2. [Installation guide] |
| 7 | +3. **Contribution guide** |
| 8 | + 1. [Overview](#overview) |
| 9 | + 1. [Contribution requirements](#contribution-requirements) |
| 10 | + 1. [Contribution process](#contribution-process) |
| 11 | + 1. [Code of Conduct](#code-of-conduct) |
| 12 | +4. [Developer documentation] |
| 13 | +5. [Roadmap and known issues] |
| 14 | +6. [How to create custom PageBuilder content type container] |
| 15 | + |
| 16 | +[Introduction]: introduction.md |
| 17 | +[Contribution guide]: CONTRIBUTING.md |
| 18 | +[Installation guide]: install.md |
| 19 | +[Developer documentation]: developer-documentation.md |
| 20 | +[Architecture overview]: architecture-overview.md |
| 21 | +[BlueFoot to PageBuilder data migration]: bluefoot-data-migration.md |
| 22 | +[Third-party content type migration]: new-content-type-example.md |
| 23 | +[Iconography]: iconography.md |
| 24 | +[Add image uploader to content type]: image-uploader.md |
| 25 | +[Module integration]: module-integration.md |
| 26 | +[Additional data configuration]: custom-configuration.md |
| 27 | +[Content type configuration]: content-type-configuration.md |
| 28 | +[How to add a new content type]: how-to-add-new-content-type.md |
| 29 | +[Events]: events.md |
| 30 | +[Bindings]: bindings.md |
| 31 | +[Master format]: master-format.md |
| 32 | +[Visual select]: visual-select.md |
| 33 | +[Reuse product conditions in content types]: product-conditions.md |
| 34 | +[Store component master format as widget directive]: widget-directive.md |
| 35 | +[Use the block chooser UI component]: block-chooser-component.md |
| 36 | +[Use the inline text editing component]: inline-editing-component.md |
| 37 | +[Render a backend content type preview]: content-type-preview.md |
| 38 | +[Custom Toolbar]: toolbar.md |
| 39 | +[Full width page layouts]: full-width-page-layouts.md |
| 40 | +[Add image uploader to content type]: image-uploader.md |
| 41 | +[Roadmap and Known Issues]: roadmap.md |
| 42 | +[How to create custom PageBuilder content type container]: how-to-create-custom-content-type-container.md |
| 43 | +<!-- {% endcomment %} --> |
| 44 | +## Overview |
| 45 | + |
| 46 | +Contributions to the Magento 2 codebase are done using the fork & pull model. |
| 47 | +This contribution model has contributors maintaining their own copy of the forked codebase (which can easily be synced with the main copy). The forked repository is then used to submit a request to the base repository to “pull” a set of changes (hence the phrase “pull request”). |
| 48 | + |
| 49 | +Contributions can take the form of new components/features, changes to existing features, tests, documentation (such as developer guides, user guides, examples, or specifications), bug fixes, optimizations or just good suggestions. |
| 50 | + |
| 51 | +The Magento 2 development team will review all issues and contributions submitted by the community of developers in the first in, first out order. During the review we might require clarifications from the contributor. If there is no response from the contributor for two weeks, the issue is closed. |
| 52 | + |
| 53 | + |
| 54 | +## Contribution requirements |
| 55 | + |
| 56 | +1. Contributions must adhere to [Magento coding standards](http://devdocs.magento.com/guides/v2.0/coding-standards/bk-coding-standards.html). |
| 57 | +2. Pull requests (PRs) must be accompanied by a meaningful description of their purpose. Comprehensive descriptions increase the chances of a pull request to be merged quickly and without additional clarification requests. |
| 58 | +3. Commits must be accompanied by meaningful commit messages. |
| 59 | +4. PRs which include bug fixing, must be accompanied with step-by-step description of how to reproduce the bug. |
| 60 | +3. PRs which include new logic or new features must be submitted along with: |
| 61 | +* Unit/integration test coverage where applicable. |
| 62 | +* Updated documentation in the module directory `app/code/PageBuilder/docs`. |
| 63 | +4. For large features or changes, please [open an issue](https://github.com/magento/magento2/issues) and discuss first. This may prevent duplicate or unnecessary effort, and it may gain you some additional contributors. |
| 64 | +5. All automated tests are passed successfully locally. After PR submitted Magento team will run builds on continuous integration environment. |
| 65 | + |
| 66 | +## Contribution process |
| 67 | + |
| 68 | +If you are a new GitHub user, we recommend that you create your own [free github account](https://github.com/signup/free). By doing that, you will be able to collaborate with the Magento 2 development team, “fork” the Magento 2 project and be able to easily send “pull requests”. |
| 69 | + |
| 70 | +1. Search current [listed issues](https://github.com/magento/magento2-page-builder/issues) on GitHub (open or closed) and [list of known issues](roadmap.md#Known Issues) on our roadmap for similar proposals of intended contribution before starting work on a new contribution. |
| 71 | +2. Please contact us in Slack chanel if you want to work on issue from [list of known issues](roadmap.md#Known Issues). |
| 72 | +2. Review the [Contributor License Agreement](https://magento.com/legaldocuments/mca) if this is your first time contributing. |
| 73 | +3. Create and test your work. |
| 74 | +4. Fork the Magento 2 repository according to [Fork a repository instructions](http://devdocs.magento.com/guides/v2.0/contributor-guide/contributing.html#fork) and when you are ready to send us a pull request – follow [Create a pull request instructions](http://devdocs.magento.com/guides/v2.0/contributor-guide/contributing.html#pull_request). Instructions written for `https://github.com/magento/magento2` repository, but they also apply to `https://github.com/magento/magento2-page-builder`. |
| 75 | +5. Once your contribution is received, Magento 2 development team will review the contribution and collaborate with you as needed to improve the quality of the contribution. |
| 76 | + |
| 77 | +## Code of Conduct |
| 78 | + |
| 79 | +Please note that this project is released with a Contributor Code of Conduct. We expect you to agree to its terms when participating in this project. |
| 80 | +The full text is available in the repository [Wiki](https://github.com/magento/magento2/wiki/Magento-Code-of-Conduct). |
0 commit comments