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 contributor_expectations.rst 19 reviewer_expectations.rst 20 coding_guidelines/index.rst 21 style/index.rst 22 proposals_and_rfcs.rst 23 modifying_contributions.rst 24 25 26:ref:`contribute_guidelines` 27 Learn about the overall process and guidelines for contributing to the Zephyr project. 28 29 This page is a mandatory read for first-time contributors as it contains important information on 30 how to ensure your contribution can be considered for inclusion in the project and potentially 31 merged. 32 33:ref:`contributor-expectations` 34 This document is another mandatory read that describes the expected behavior of *all* 35 contributors to the project. 36 37:ref:`reviewer-expectations` 38 This document is another mandatory read that describes the expected behavior when revieweing 39 contributions to the project. 40 41:ref:`coding_guidelines` 42 Code contributions are expected to follow a set of coding guidelines to ensure consistency and 43 readability across the code base. 44 45:ref:`coding_style` 46 Code contributions are expected to follow a set of style guidelines to ensure consistency and 47 readability across the code base. 48 49:ref:`rfcs` 50 Learn when and how to submit RFCs (Request for Comments) for new features and changes to the 51 project. 52 53:ref:`modifying_contributions` 54 Guidelines for modifying contributions made by other developers and how to deal with stale pull 55 requests. 56 57Documentation 58============= 59 60The Zephyr project thrives on good documentation. Whether it is as part of a code contribution or 61as a standalone effort, contributing documentation is particularly valuable to the project. 62 63.. toctree:: 64 :maxdepth: 1 65 :hidden: 66 67 documentation/guidelines.rst 68 documentation/generation.rst 69 70:ref:`doc_guidelines` 71 This page provides some simple guidelines for writing documentation using the reSTructuredText 72 (reST) markup language and Sphinx documentation generator. 73 74:ref:`zephyr_doc` 75 As you write documentation, it can be helpful to see how it will look when rendered. 76 77 This page describes how to build the Zephyr documentation locally. 78 79 80Dealing with external components 81================================ 82 83.. toctree:: 84 :maxdepth: 1 85 :hidden: 86 87 external.rst 88 bin_blobs.rst 89 90:ref:`external-contributions` 91 Basic functionality or features that would make useful addition to Zephyr might be readily 92 available in other open source projects, and it is recommended and encouraged to reuse such code. 93 This page describes in more details when and how to import external source code into Zephyr. 94 95:ref:`external-tooling` 96 Similarly, external tooling used during compilation, code analysis, testing or simulation, can be 97 beneficial and is covered in this section. 98 99:ref:`bin-blobs` 100 As some functionality might only be made available with the help of executable code distributed 101 in binary form, this page describes the process and guidelines for :ref:`contributing binary 102 blobs <blobs-process>` to the project. 103 104Need help along the way? 105======================== 106 107If you have questions related to the contribution process, the Zephyr community is here to help. 108You may join our Discord_ channel or use the `Developer Mailing List`_. 109 110 111.. _Discord: https://chat.zephyrproject.org 112.. _Developer Mailing List: https://lists.zephyrproject.org/g/devel 113