1.. _contribute_to_zephyr: 2 3Contributing to Zephyr 4###################### 5 6Contributions from the community are the backbone of the project. Whether it is by submitting code, 7improving documentation, or proposing new features, your efforts are highly appreciated. This page 8lists useful resources and guidelines to help you in your contribution journey. 9 10General Guidelines 11================== 12 13.. toctree:: 14 :maxdepth: 1 15 :hidden: 16 17 guidelines.rst 18 coding_guidelines/index.rst 19 proposals_and_rfcs.rst 20 contributor_expectations.rst 21 22:ref:`contribute_guidelines` 23 Learn about the overall process and guidelines for contributing to the Zephyr project. 24 25 This page is a mandatory read for first-time contributors as it contains important information on 26 how to ensure your contribution can be considered for inclusion in the project and potentially 27 merged. 28 29:ref:`contributor-expectations` 30 This document is another mandatory read that describes the expected behavior of `all` 31 contributors to the project. 32 33:ref:`coding_guidelines` 34 Code contributions are expected to follow a set of coding guidelines to ensure consistency and 35 readability across the code base. 36 37 This page describes these guidelines and introduces important considerations regarding the use of 38 :ref:`inclusive language <coding_guideline_inclusive_language>`. 39 40:ref:`rfcs` 41 Learn when and how to submit RFCs (Request for Comments) for new features and changes to the 42 project. 43 44Documentation 45============= 46 47The Zephyr project thrives on good documentation. Whether it is as part of a code contribution or 48as a standalone effort, contributing documentation is particularly valuable to the project. 49 50.. toctree:: 51 :maxdepth: 1 52 :hidden: 53 54 documentation/guidelines.rst 55 documentation/generation.rst 56 57:ref:`doc_guidelines` 58 This page provides some simple guidelines for writing documentation using the reSTructuredText 59 (reST) markup language and Sphinx documentation generator. 60 61:ref:`zephyr_doc` 62 As you write documentation, it can be helpful to see how it will look when rendered. 63 64 This page describes how to build the Zephyr documentation locally. 65 66 67Dealing with external components 68================================ 69 70.. toctree:: 71 :maxdepth: 1 72 :hidden: 73 74 external.rst 75 bin_blobs.rst 76 77:ref:`external-contributions` 78 Basic functionality or features that would make useful addition to Zephyr might be readily 79 available in other open source projects, and it is recommended and encouraged to reuse such code. 80 This page describes in more details when and how to import external source code into Zephyr. 81 82:ref:`external-tooling` 83 Similarly, external tooling used during compilation, code analysis, testing or simulation, can be 84 beneficial and is covered in this section. 85 86:ref:`bin-blobs` 87 As some functionality might only be made available with the help of executable code distributed 88 in binary form, this page describes the process and guidelines for :ref:`contributing binary 89 blobs <blobs-process>` to the project. 90 91Zephyr Contributor Badge 92======================== 93 94When your first contribution to the Zephyr project gets merged, you'll become eligible to claim your 95Zephyr Contributor Badge. This digital badge can be displayed on your website, blog, social media 96profile, etc. It will allow you to showcase your involvement in the Zephyr project and help raise 97its awareness. 98 99You may apply for your Contributor Badge by filling out the `Zephyr Contributor Badge form`_. 100 101Need help along the way? 102======================== 103 104If you have questions related to the contribution process, the Zephyr community is here to help. 105You may join our Discord_ channel or use the `Developer Mailing List`_. 106 107 108.. _Discord: https://chat.zephyrproject.org 109.. _Developer Mailing List: https://lists.zephyrproject.org/g/devel 110.. _Zephyr Contributor Badge form: https://forms.gle/oCw9iAPLhUsHTapc8 111