# Contributing Contributions are welcome through GitLab merge requests. 1. Create a focused branch and explain the user-visible behavior. 2. Use Python 3.12+, type hints, `pathlib`, and existing provider/UI boundaries. 3. Add tests for behavior changes. Never require real registry writes or specific hardware in tests. 4. Run `pytest` and `ruff check .` before submitting. 5. Do not add network access, telemetry, runtime downloads, elevation, or opaque binary dependencies. For new device protocols, document the tested product/connection type without including device serial numbers or personal HID paths.