In general we follow the "fork & pull" model as outlined in the GitHub docs.
Here are a few additional thoughts on how to make the contribution process as painless as possible for yourself and for the developers.
-
Communicate. please create an GitHub issue in the appropriate GitHub project communicating your plans. This allows coordination -- it's possible someone else has ideas about this topic and it can save a lot of time if things are disucssed before you dive in. When you submit your pull request please include the issue number with the discussion relevant to this pull request.
-
Work on a branch. Work on a branch in a fork of the project code. DO NOT WORK ON
master
ordevelop
. -
Follow the style of the code. All code must follow the style of the project. We generally adhere to the Google JavaScript style guide. Please lint your code with a reasonable linting tool.
-
Create documentation. All new features must have appropriate docs in the docs directory. If you are adding a major feature you may wish to create a new website docs page. If you are adding a smaller feature you may just wish to augment one of the existing docs/website pages.
-
Tests. We have mocha tests for this library. Please add tests for any new functionality and of course make sure all existing tests pass. See the Contributing section in the README for more details on the tests.
The jQuery guidlines have some good suggestions for rectifying common Git mistakes
Once you have you are ready to share your code go ahead and follow the instructions in the GitHub docs to submit your pull request.