# AI Contribution Policy This policy governs the use of AI tools (LLMs, coding assistants, agents) when contributing to Homematic(IP) Local. It is modeled on the [Open Home Foundation AI policy](https://developers.home-assistant.io/docs/ai_policy) and adapted for this project. The short version: **AI tools are welcome as an aid. You remain responsible for everything you submit, and you must understand and be able to explain every change in your own words.** ## Scope This policy applies to all contributions to this repository: pull requests, issues, discussions, code review comments, and documentation. ## Rules ### 1. AI is a tool, not an author You may use AI tools to help write code, tests, and documentation. You are the author of your contribution and carry full responsibility for it — including correctness, licensing, and quality. "The AI wrote it" is never an excuse. ### 2. No autonomous agents Contributions created autonomously by AI agents — pull requests or issues opened without a human having reviewed and understood the content — are not accepted and will be closed. This includes contributions that bypass or ignore the issue and pull request templates. **Exception:** Deterministic automation configured by the maintainers (e.g. Dependabot, release workflows) is not an autonomous AI agent and is explicitly allowed. ### 3. You must understand your contribution You must be able to explain every change you submit in your own words. During review, answer questions from maintainers yourself — **do not use AI to generate answers to review questions.** Pull requests that appear to be unreviewed AI output will be closed. ### 4. Communication in issues and pull requests - Do not let tools post unreviewed content. Everything you post, you have read and stand behind. - Keep responses concise and written by yourself. - If you want to include AI output as context (e.g. an analysis or suggestion), put it in a quoted block and clearly label it as AI-generated: > **AI-generated analysis (Claude):** > ... - Maintainers may hide comments that appear to be unreviewed AI output. ### 5. Bug reports: raw data, not AI conclusions When reporting a bug, attach the **raw artifacts** — the integration diagnostics (`.json`, via Settings → Devices & Services → Homematic(IP) Local → Download Diagnostics) and a debug log — not a summary or diagnosis generated by an AI tool. We run our own grounded analysis on the raw data; a pasted AI interpretation without the underlying files is usually wrong and cannot be acted on. Using AI to help your own debugging is fine, but the issue must contain the actual data. ### 6. Non-native English speakers Using AI to improve the grammar or clarity of text you have written yourself is fine and encouraged. If you machine-translate longer text, verify the translation for technical accuracy and consider including your original text in a `
` block so reviewers can cross-check. ## Quality gates apply regardless of origin Every contribution — human-written, AI-assisted, or anything in between — must pass the same gates: `make check`, which runs the full pre-commit hook suite via `prek run --all-files` (ruff, mypy in strict mode, pylint, codespell, bandit, yamllint, translation checks) and the `pytest` test suite with coverage. CI additionally validates the integration with hassfest and HACS validation. AI assistance does not lower the bar; see [CONTRIBUTING.md](CONTRIBUTING.md) for the full requirements. ## How this project itself uses AI In the interest of transparency: Homematic(IP) Local is partly developed with AI assistance (e.g. Claude Code), under full review and responsibility of the maintainers — see [`CLAUDE.md`](CLAUDE.md) for the guardrails that apply. The maintainers may also use AI-assisted tooling for code review and issue triage; treat such comments like any other review feedback and point out when they are wrong. ## Enforcement Contributions that violate this policy will be closed. Repeated violations may result in being blocked from contributing to this repository.