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.
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.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
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: Your Name <your.email@example.com>
For your commits, replace:
-
Your Namewith a known identity (sorry, no anonymous contributions.) -
your.email@example.comwith 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.
- 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.
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:
- Co-authored tag on relevant commits (eg.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>in the commit description, as generated by Claude Code)
- Co-authored tag on relevant commits (eg.
- 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.