PebbleOS is the operating system running on Pebble smartwatches.
docs: project documentationpython_libs: tools used in multiple areas, e.g. log dehashing, console, etc.resources: firmware resources (icons, fonts, etc.)sdk: application SDK generation filessrc: firmware sourcetests: teststhird_party: third-party code in git submodules, also includes glue codetools: a variety of tools or scripts used in multiple areas, from build system, tests, etc.waftools: scripts used by the build system
- clang-format for C code
- ruff for Python code
-
Configure:
./waf configure --board BOARD_NAME- Board names can be obtained from
./waf --help --releaseenables release mode--mfgenables manufacturing mode--qemuenables QEMU mode--variant=normal|prfselects build variant (default: normal)
- Board names can be obtained from
-
Build firmware:
./waf build -
Run tests:
./waf test
Main rules:
- Commit using
-sgit option, so commits haveSigned-Off-By - Always indicate commit is co-authored by the current AI model
- Commit in small chunks, trying to preserve bisectability
- Commit format is
area: short description, with longer description in the body if necessary - Run
gitlinton every commit to verify rules are followed
Others:
- If fixing Linear or GitHub issues, include in the commit body a line with
Fixes XXX, where XXX is the issue number.