the signals and their derived score are provisional and subject to change.
validate manually before sharing.
Total
0 /100
BAD
F
Total verdict of all categories combined. A score of 100 is best.
Likely LLM-assisted/authored commits found; total hits, and % of all commits.
LLM-related files found in the repository worktree.
LLM-related files found named in '.ignore'-files.
ab73f977058caa7dfa5be48027f7efe71fd2296a1049bc2852172 weeks agoClaude-Session: https://claude.ai/code/session_016EeevKkrF1E8zoEMVqecJi314a21631e3a2 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>327065a66e122 weeks agoClaude-Session: https://claude.ai/code/session_016EeevKkrF1E8zoEMVqecJi112de6d7a4b62 weeks agoClaude-Session: https://claude.ai/code/session_016EeevKkrF1E8zoEMVqecJid128c18814502 weeks agoClaude-Session: https://claude.ai/code/session_016EeevKkrF1E8zoEMVqecJif01153386d022 weeks agoClaude-Session: https://claude.ai/code/session_016EeevKkrF1E8zoEMVqecJi8d24dec0d8692 weeks agoClaude-Session: https://claude.ai/code/session_016EeevKkrF1E8zoEMVqecJi9c898f98f3132 weeks agoClaude-Session: https://claude.ai/code/session_016EeevKkrF1E8zoEMVqecJic654353671452 weeks agoClaude-Session: https://claude.ai/code/session_016EeevKkrF1E8zoEMVqecJi80baa53c9cc02 weeks agoClaude-Session: https://claude.ai/code/session_016EeevKkrF1E8zoEMVqecJie442892054cd2 weeks agoClaude-Session: https://claude.ai/code/session_016EeevKkrF1E8zoEMVqecJi6f967ca1aa322 weeks agoClaude-Session: https://claude.ai/code/session_016EeevKkrF1E8zoEMVqecJi4c9d46aafe3b2 weeks agoClaude-Session: https://claude.ai/code/session_016EeevKkrF1E8zoEMVqecJi7471fb36bf9e2 weeks agoClaude-Session: https://claude.ai/code/session_016EeevKkrF1E8zoEMVqecJi8d395311b5972 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mmc2f6f2fe431b2 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mmbc869ab595f92 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm8a9dca8440392 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mmf773c386eb3d2 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm311b9e5eb10b2 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm3c893fbda0c82 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm727452ca9dda2 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm2da0240a326b2 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm79b0dfcadcf62 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mmc5d582868ee92 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm73b5095a48702 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm42bc2ea40dfa2 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mmdef3c6128b042 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm1befdedbea872 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm7eabd8afefb92 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm1837aa1532ed2 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm213e246f07262 weeks agoClaude-Session: https://claude.ai/code/session_016EeevKkrF1E8zoEMVqecJiae194bbd993a2 weeks agoClaude-Session: https://claude.ai/code/session_016EeevKkrF1E8zoEMVqecJibc5c3d2b96c62 weeks agoClaude-Session: https://claude.ai/code/session_016EeevKkrF1E8zoEMVqecJi3d13ffe69b342 weeks agoClaude-Session: https://claude.ai/code/session_016EeevKkrF1E8zoEMVqecJib7f1883daa182 weeks agoClaude-Session: https://claude.ai/code/session_016EeevKkrF1E8zoEMVqecJie7abd1d9bef32 weeks agoClaude-Session: https://claude.ai/code/session_016EeevKkrF1E8zoEMVqecJie38c37d1ac6f2 weeks agoClaude-Session: https://claude.ai/code/session_016EeevKkrF1E8zoEMVqecJi4ec867eee9b72 weeks agoClaude-Session: https://claude.ai/code/session_016EeevKkrF1E8zoEMVqecJi178d45653b8a2 weeks agoClaude-Session: https://claude.ai/code/session_016EeevKkrF1E8zoEMVqecJi2e245fa504552 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>bb287549fd112 weeks agoClaude-Session: https://claude.ai/code/session_016EeevKkrF1E8zoEMVqecJi249ee5b7c1522 weeks agoClaude-Session: https://claude.ai/code/session_016EeevKkrF1E8zoEMVqecJid6710c4743962 weeks agoClaude-Session: https://claude.ai/code/session_016EeevKkrF1E8zoEMVqecJi6e405df9cce32 weeks agoClaude-Session: https://claude.ai/code/session_018REXyL96QweEh25TduUYPc95cccb7f4b342 weeks agoClaude-Session: https://claude.ai/code/session_018REXyL96QweEh25TduUYPca360c88983232 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm754792c1771a2 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mmb55f46b328bb2 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm6f6fa469d46a2 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm13f0f4145fba2 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mme691167889792 weeks agoClaude-Session: https://claude.ai/code/session_018REXyL96QweEh25TduUYPc532d17d52f7d2 weeks agoClaude-Session: https://claude.ai/code/session_018REXyL96QweEh25TduUYPc76a79af8dc572 weeks agoClaude-Session: https://claude.ai/code/session_018REXyL96QweEh25TduUYPc0dfbcadab3d42 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mma972e30b1c5d2 weeks agoClaude-Session: https://claude.ai/code/session_012ud5cCiBphVQ1DniSXq94Laeb0efcd2c162 weeks agoClaude-Session: https://claude.ai/code/session_012ud5cCiBphVQ1DniSXq94Le1761da688462 weeks agoClaude-Session: https://claude.ai/code/session_012ud5cCiBphVQ1DniSXq94L27e3d72505802 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm6b9d0e1e25972 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm4044d48a09022 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm1bead6fb88f52 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm6cd2cea071d52 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm1d0de17a05932 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm949b2e4e114b2 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm47e99a18c0a32 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm21fc0e9ba86f2 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm9b2b0fd2e6a72 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm53b1e86a11d12 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm9c1897d0c24d2 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>3dfb4152124a2 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>08880c439ccf2 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mmac0bab9a57192 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mme8c5bae22cc52 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm4fa2e609b2c22 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mmd47278a1c9062 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mmf8ea2df868012 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm80a19af40d0f2 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm0626f1b5e9192 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mmd503a7f9bfc32 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm7d1889a5922c2 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm4d7e36e395672 weeks agoClaude-Session: https://claude.ai/code/session_011z8C3ipASeprtHpFVFa3mm6e4919bdcdf93 weeks agoClaude-Session: https://claude.ai/code/session_016jf1nwF7Mv69vLpgVGyNnH8ad0fe49f17c3 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>4a245918ff923 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>296178223b393 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>e69322ae62313 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>d137afb3a0b93 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>0097c65d99a43 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>32c3b36aaba23 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>eb1cea2d549f3 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>deee69e30c873 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>fb4e87264db33 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>b65d079da1db3 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>6845315621973 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>8c40238ac3543 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>28238a191ea93 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>158d4927e2e93 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>af0f924a845b3 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>ae02b0853b223 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>2285e2a1cca43 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>f6982c91f3853 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>71f014c95c363 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>c4f3cabc1d4b3 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>c3d5516c608a3 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>a4941636de5f3 weeks agoCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>b542986d62d93 weeks agoCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>d7ee6c3c60673 weeks agoCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>668b005cfda53 weeks agoCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>59a96c645dbb3 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>ced3b686df6f3 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>f33e8259ba383 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>54a55a9155f83 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>52e7ce8d95383 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>f80e0d7a64e43 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>afe13195e1b13 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>b452a4f7fe113 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>f0747eb9b4bd3 weeks agoCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>588e20e10ab23 weeks agoCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>514ad0800a773 weeks agoCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>d903337969bb3 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>9ef5a8e20ff53 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>9dff7408c7763 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>42c99434484d3 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>019ce7892df23 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>1d29819390b83 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>3d5ca0ca0f683 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>78cfb3f438fc3 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>4b6acfc5c7103 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>db8d2b4734e53 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>90983c8f65693 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>9732858f6b0c3 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>370b04b6bbd13 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>0b87e2e8e92b3 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>eb16e540ea2c3 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>331c1ba9f6da3 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>1247fdf1f1a23 weeks agoCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>30e05a74423a2 months agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>98b1638aa2b92 months agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>e22ef1f4c1172 months agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>b0b6ec72edbd2 months agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>102d7cb992542 months agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>90f70efbaa282 months agoCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>ba07b36b4aef2 months agoCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>2b423103a9352 months agoCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>ea3a026875282 months agoCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>df81445b72a42 months agoCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>ac1f3af9a4cd2 months agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>22c585e07bdf2 months agoCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>f1f0efa75a2c2 months agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>d26da3c9f23c2 months agoCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>95ab846eda192 months agoCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>392cf2104b362 months agoCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>47264645b4bb2 months agoCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>8292c45126c02 months agoCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>d9b4421e66152 months agoCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>96b34a1c359b2 months agoCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>89f9994f719f2 months agoCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>495df1e652b82 months agoCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>ac52e08432462 months agoCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>a51bddc19dd12 months agoCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>6d90c32b93fb2 months agoCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>2e2023d0f9632 months agoCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>4eb9d515737e2 months agoCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>46ae07a7ab7a2 months agoCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>28cbcf81b6682 months agoCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>46a52055d6502 months agoCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>a9aabe4bf94e2 months agoCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>9a85def1595e2 months agoCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>a44422df3d3e2 months agoCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>944d4ab181542 months agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>5b6e818553152 months agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>582827fa525c2 months agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>c820a8a041302 months agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>3db5f12a129d2 months agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>bffe3b88b58e2 months agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>b69a95112b8e2 months agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>72cf28e3caaf2 months agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>6d7ec2c7c3022 months agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>c5a240fd1edf2 months agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>54e7d60760372 months agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>0d7e811b016d2 months agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>3972ca02c56b2 months agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>0f745982f5092 months agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>a41e176528e12 months agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>206242b51e032 months agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>35969d96ef222 months agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>38b703d9b4902 months agoCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com># CLAUDE.md
Guidance for agents working in this repo.
## What this is
Nine is the umbrella project/brand for a suite of Android apps built for
phones with a physical D-pad/keypad and no touchscreen (the target hardware
T9 predictive text was designed for). Each app follows a `[Letter]9` naming
convention:
- **L9**: Launcher on 9 keys
- **C9**: Calendars and Contacts on 9 keys
- **P9**: Phone on 9 keys
- **M9**: Messages on 9 keys
Each app ships as its own installable APK with its own F-Droid listing -
---
name: tickets
description: How to file, triage, label, work on and close Nine tickets on SourceHut (todo.sr.ht) with the hut CLI, and what each label means. Use whenever you read, create, comment on, label or close a ticket, or the user says "issue", "ticket" or "P1/P2/P3".
---
# Tickets
All Nine work is tracked in one SourceHut tracker for the whole suite: **https://todo.sr.ht/~timofurrer/nine**
(`hut todo ... -t nine`). Ticket URL form: `https://todo.sr.ht/~timofurrer/nine/<id>` (hut prints it with ---
name: release
description: Cut a suite-wide Nine release - decide which apps changed, bump versionName/versionCode, write the fastlane changelogs, commit, push, tag and push the tag, then watch the release run and verify the published APKs and F-Droid repo. Use only when the user asks to release (or to bump versions / cut a tag) for L9, C9, P9 or M9.
---
# Releasing the Nine suite
A release is one suite-wide CalVer tag. Pushing it makes sr.ht's `.builds/release.yml` re-test and lint every
module, then---
name: chunk-of-work
description: The end-to-end flow for one chunk of work in Nine - understand, propose (survey the user on design/UX/refactoring decisions), implement (with Opus/Sonnet subagents where it pays off), review, test on the phone, commit, push and close the tickets. Use whenever the user asks to fix, implement or change something, directly or by ticket number ("fix #10", "implement #27, #28", "make the dialer do X").
---
# A chunk of work
One request from the user ("fix #10, #11", "implem---
name: on-device-testing
description: When, what and how to test Nine apps on the user's real phone over adb - asking the user to connect it, safety rules for their daily phone, adb patterns for driving the keypad UI and checking providers/alarms/notifications, and labelling tickets needs-device-testing when no phone is available. Use whenever a change touches platform behaviour unit tests can't prove (Telecom, SMS role, notifications, alarms, broadcasts, providers, sync, intents from other apps, permiss---
name: commit-messages
description: How to write commit messages in this repo. Use whenever you create a git commit (or a squash/merge message) here, and when asked to reword one.
---
# Commit messages
Follow https://cbea.ms/git-commit/, with the project conventions below. Keep it short and written for a
person reading `git log` in a year.
## Subject
- Start with the thing it touches: `L9:`, `C9:`, `P9:`, `M9:` or `Core:` (`Contacts:` for the `:contacts`
module). No other prefixes - no `feat:`, `finone