1Contributions Guide
2===================
3
4We welcome contributions to the esp-idf project!
5
6How to Contribute
7-----------------
8
9Contributions to esp-idf - fixing bugs, adding features, adding documentation - are welcome. We accept contributions via `Github Pull Requests <https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests>`_.
10
11Before Contributing
12-------------------
13
14Before sending us a Pull Request, please consider this list of points:
15
16* Is the contribution entirely your own work, or already licensed under an Apache License 2.0 compatible Open Source License? If not then we unfortunately cannot accept it.
17
18* Does any new code conform to the esp-idf :doc:`Style Guide <style-guide>`?
19
20* Have you installed the :doc:`pre-commit hook <install-pre-commit-hook>` for esp-idf project?
21
22* Does the code documentation follow requirements in :doc:`documenting-code`?
23
24* Is the code adequately commented for people to understand how it is structured?
25
26* Is there documentation or examples that go with code contributions? There are additional suggestions for writing good examples in :idf:`examples` readme.
27
28* Are comments and documentation written in clear English, with no spelling or grammar errors?
29
30* Example contributions are also welcome. Please check the :doc:`creating-examples` guide for these.
31
32* If the contribution contains multiple commits, are they grouped together into logical changes (one major change per pull request)? Are any commits with names like "fixed typo" `squashed into previous commits <https://eli.thegreenplace.net/2014/02/19/squashing-github-pull-requests-into-a-single-commit/>`_?
33
34* If you're unsure about any of these points, please open the Pull Request anyhow and then ask us for feedback.
35
36Pull Request Process
37--------------------
38
39After you open the Pull Request, there will probably be some discussion in the comments field of the request itself.
40
41Once the Pull Request is ready to merge, it will first be merged into our internal git system for in-house automated testing.
42
43If this process passes, it will be merged onto the public github repository.
44
45Legal Part
46----------
47
48Before a contribution can be accepted, you will need to sign our :doc:`contributor-agreement`. You will be prompted for this automatically as part of the Pull Request process.
49
50Related Documents
51-----------------
52
53.. toctree::
54    :maxdepth: 1
55
56    style-guide
57    install-pre-commit-hook
58    documenting-code
59    creating-examples
60    ../api-reference/template
61    contributor-agreement
62