diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 283cc1a01f..8d9f6b6ee0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -21,3 +21,15 @@ To get the CI `rustfmt` job to pass, do either of: - Configure your IDE to format on save, and make sure it uses nightly rustfmt, for example by copying `rust-toolchain-nightly.toml` into `rust-toolchain.toml`. - Run `fmtall.sh` before committing. + +## AI Policy + +- Using AI / LLM to write code is **allowed**. +- You **must** disclose AI usage in the PR description. +- You **must** review and understand every single line of AI-written code before submitting the PR, and be prepared to answer questions and make fixes to it. +- Fully autonomous agents like OpenClaw are **NOT allowed**. Every issue, every PR must have a real human behind it. +- Using AI / LLM to write PR descriptions, commit messages, comments, or replies to reviewers is **NOT allowed**. You must write them yourself. AI must not replace human-to-human communication. + - If you need help writing English, consider using a traditional translator like Google Translate instead of LLMs. They do a great job without the pitfalls of LLMs (overly verbose text, hallucinations, etc.). +- Low-effort pull requests are **NOT allowed**. Don't simply paste the issue text into an LLM and submit the result. It will most likely be a bad contribution. If fixing the issue was so easy, the person opening the issue or a maintainer would've already done it. +- Consider the time it takes to review your PRs. Maintainer time is the most scarce resource in the Embassy project. Keep diffs minimal, ask first before doing thousands-of-lines refactors, split PRs if you can. This has always been good practice, but it's especially relevant now that LLMs make it too easy to generate mountains of code. +- Pull requests not following this policy will be closed.