1.2 KiB
Contributing
Use uv run --group dev for tests and formatting; the README lists the commands.
Keep Tk imports in gui.py and protocol behavior in the shared session. Add
comments for observed firmware quirks and distinguish evidence from inference.
For a protocol change, include a small packet fixture and explain the model,
transport, requested action, and observed result. Distinguish a packet ACK from
an actual state report. Never add real Bluetooth addresses or phone identifiers
to tests; use a synthetic address such as 12:34:56:78:9A:BC.
Do not commit firmware, APKs, decompiled vendor code, extracted configuration files, or full personal Bluetooth traces. Document protocol facts in original words and include only the small packet examples needed to reproduce a finding.
Compatibility reports should state speaker model/firmware, Windows version, Python version, whether audio playback also worked, and the relevant redacted activity log. Tests using fake transports are useful but are not hardware compatibility evidence.
License selection is intentionally deferred. Initialize Git in the clean exported folder if needed. GitHub/Gitea repository creation and remote configuration are separate from local export; the exporter never uploads anything.