# Contributing Use Python 3.14.x and follow the development commands in README.md. Run Ruff lint/format checks, mypy and pytest before submitting a pull request. Keep changes focused and include a regression test for behavior fixes where practical. Use mock mode with device writes disabled. Do not commit `.env`, credentials, private configuration, databases, photos, or production receipts. Tests must not contact real frames or mutate production services. GitHub mirrors run community checks on disposable GitHub-hosted runners, including fork PRs. Gitea uses the existing trusted NAS runner and rejects fork PRs; maintainers review contributions before moving them to a trusted branch. Docker build/smoke verification remains in Gitea CI. Production releases are maintainer-controlled; contributors do not need access to production infrastructure. For security issues, follow SECURITY.md instead of posting exploit details publicly. Contributions are provided under the project's MIT license; preserve third-party licenses and provenance when introducing external code or assets.