category: framework-contributing
Things to keep in mind:
To learn how to set up the project and run tests see the {@link framework/guides/contributing/development-environment development environment} guide.
Read more in code style, naming and file naming guidelines.
Every package repository installs git hooks which automatically lints and check the code for code style on commit. However, not every code style issue can be discovered this way, so please do not rely on tools too much :).
We maintain a 100% of code coverage (including code branches) and pull requests with missing tests will not be accepted. However, keep in mind that 100% is not everything – every change must be tested. This means that if you are fixing a bug and your patch did not change the code coverage, the change itself needs a test anyway.
Besides automated tests, you may be asked to create a manual test for the issue. Such manual tests let us quickly validate that the issue was really fixed and are later used during a testing phase (before a release) to make sure no regressions were created.
Read more about our {@link framework/guides/contributing/testing-environment testing environment}.
GitHub provides an [excellent documentation about pull requests](https://help.github.com/categories/collaborating-with-issues-and-pull-requests/). If not sure what to do, it is the right place to start.
Supposing you would like to propose some changes in the Link feature, these are the steps you should take to create a pull request:
https://github.com/YOUR-USERNAME/ckeditor5-link.shell
$ cd path/to/ckeditor5/packages/ckeditor5-link
t/GITHUB-ISSUE-NUMBER convention for branch names:
shell
$ git checkout -b t/GITHUB-ISSUE-NUMBER
shell
$ git commit -m "Fix: Squashed a nasty bug in the link editing. Closes #GITHUB-ISSUE-NUMBER."
git know about the fork you created by adding the remote:
shell
$ git remote add my-fork https://github.com/YOUR-USERNAME/ckeditor5-link
shell
$ git push my-fork t/GITHUB-ISSUE-NUMBER
Some additional things you should keep in mind:
If want your changes to be permanent in your development environment, make sure your `mgit.json` file {@link framework/guides/contributing/development-environment#using-mgit-for-custom-packages points to your forked version of the repository} so next time you execute `mgit update` to refresh the project, the utility will use your fork.
Being this a project with global impact, contributing translations is both an easy and powerful way to help.
We use the Transifex service for translations at the following address: https://www.transifex.com/ckeditor/ckeditor5/dashboard/.
Here as well, having a CLA in place is a requirement to become an official translator (see bellow).
Read the {@link framework/guides/support/reporting-issues reporting issues} guide to learn more.
To accept contributions sent to us in form of code, documentation or translations, a Contributor License Agreement (CLA) must be in place in order to clarify the intellectual property license granted with them. This license is for your protection as a contributor as well as the protection of us and our users; it does not change your rights to use your own contributions for any other purpose.
To sign the CLA and to have more information, please follow this link: http://cla.ckeditor.com/.