---
title: "Contribution Guidelines"
canonical_url: https://developer.repebble.com/pebbleos/docs/community/contributing/
last_updated: 2026-10-21
sdk_version: 4.33.1
---
# Contribution Guidelines

Source: https://developer.repebble.com/pebbleos/docs/community/contributing/

Thank you for your interest in contributing to PebbleOS! We welcome contributions of all kinds, including bug fixes, new features, documentation improvements, and more. To ensure a smooth contribution process, please follow the guidelines outlined below.

Developer documentation — building the firmware, running it in QEMU, exporting SDK functions, and more — lives in the `docs/` directory and is published at [https://pebbleos.readthedocs.io](https://pebbleos.readthedocs.io).

## Developer Certification of Origin (DCO)

To make a good faith effort to ensure licensing criteria are met, this project requires the Developer Certificate of Origin (DCO) process to be followed.

The DCO is an attestation attached to every contribution made by every developer. In the commit message of the contribution, (described more fully later in this document), the developer simply adds a `Signed-off-by` statement and thereby agrees to the DCO.

When a developer submits a patch, it is a commitment that the contributor has the right to submit the patch per the license. The DCO agreement is shown below and at http://developercertificate.org/.

```
Developer's Certificate of Origin 1.1Bymakingacontributiontothisproject,Icertifythat:(a)ThecontributionwascreatedinwholeorinpartbymeandIhavetherighttosubmititundertheopensourcelicenseindicatedinthefile;or(b)Thecontributionisbaseduponpreviousworkthat,tothebestofmyknowledge,iscoveredunderanappropriateopensourcelicenseandIhavetherightunderthatlicensetosubmitthatworkwithmodifications,whethercreatedinwholeorinpartbyme,underthesameopensourcelicense(unlessIampermittedtosubmitunderadifferentlicense),asindicatedinthefile;or(c)Thecontributionwasprovideddirectlytomebysomeotherpersonwhocertified(a),(b)or(c)andIhavenotmodifiedit.(d)Iunderstandandagreethatthisprojectandthecontributionarepublicandthatarecordofthecontribution(includingallpersonalinformationIsubmitwithit,includingmysign-off)ismaintainedindefinitelyandmayberedistributedconsistentwiththisprojectortheopensourcelicense(s)involved.
```

### DCO Sign-Off

The “sign-off” in the DCO is a “Signed-off-by:” line in each commit’s log message. The Signed-off-by: line must be in the following format:

```
Signed-off-by:YourName\<your.email@example.com\>
```

For your commits, replace:

- `Your Name` with a known identity (sorry, no anonymous contributions.)

- `your.email@example.com` with the same email address you are using to author the commit (CI will fail if there is no match)

You can automatically add the Signed-off-by: line to your commit body using `git commit -s`. Use other commits in the repository as examples.

Additional requirements:

- If you are altering an existing commit created by someone else, you must add your Signed-off-by: line without removing the existing one.

## Commit Requirements

- All commits must be atomic and self-contained. Each commit should represent a single logical change to the codebase. Avoid bundling multiple unrelated changes into a single commit.

- Each commit message must be in the format of “area: description”, where “area” is a short identifier for the part of the codebase being changed (e.g., “services” or “applib”) and “description” is a brief summary of the change.

- Each commit message must include the appropriate DCO sign-off as described above.

- If your commit addresses a specific issue, please include a reference to the issue number in the commit message (e.g., “Fixes #123”).

- If your commit includes changes to documentation, please ensure that the documentation is updated accordingly and that the commit message reflects this.

## Generative AI usage

The use of large language models (LLMs) is acceptable **if and only if** a thorough manual review is performed. **By submitting a pull request, you are guaranteeing the following:**

- You have _personally_ reviewed all generated code to make sure that it will not cause undue technical issues, including testing for edge cases, ensuring data integrity, and verifying that performance standards are maintained.

- You have ensured that PebbleOS’s UX standards are not meaningfully degraded by this change.

- You have ensured that any changes to the user interface are in keeping with the design of the rest of the app, or have provided good reason to change them.

- You fully understand the content of the pull request and are prepared to explain it.

- You have verified that the change does not reduce overall code quality or maintainability.

- You own the rights to all content provided, or the license or attribution from the licensed content is properly included.

The following rules additionally apply to contributions made in whole or part using generative AI:

- The use of generative AI is clearly disclosed with one or more of the following:

- All submitted text is in English. We do not have the capacity to review text or translations for other languages at this time and we do not trust LLMs to handle this correctly.

- No AI-generated images, icons, SVG files, or other critically artistic works are included in the content of the pull request.

The code itself follows the [Conventions](https://developer.repebble.com/pebbleos/docs/development/conventions.md).

Generated from PebbleOS [3a7b71785](https://github.com/coredevices/pebbleos/commit/3a7b71785fd439666c4a8bc116f561140e8dec01). This page is maintained in the pebbleos repository: [docs/community/contributing.md](https://github.com/coredevices/pebbleos/blob/3a7b71785fd439666c4a8bc116f561140e8dec01/docs/community/contributing.md).
