Currently people may be inadvertently not following our documented
process for code submissions because people often don't read the docs.
However AI Agents do tend to try and follow instructions so lets help
them out.

Suggested-by: Peter Maydell <[email protected]>
Signed-off-by: Alex Bennée <[email protected]>
Reviewed-by: Daniel P. Berrangé <[email protected]>

---
v2
  - drop mention of patches from the permitted activities line
  - add claude/gemini links
v3
  - more claude tweaks
  - include local changes and non-copyrightable exceptions
v4
  - punctuation
---
 .claude/.gitignore         |  2 ++
 .claude/CLAUDE.md          |  1 +
 .claude/rules/agents-md.md |  1 +
 .gemini/settings.json      |  5 +++++
 AGENTS.md                  | 34 ++++++++++++++++++++++++++++++++++
 5 files changed, 43 insertions(+)
 create mode 100644 .claude/.gitignore
 create mode 120000 .claude/CLAUDE.md
 create mode 100644 .claude/rules/agents-md.md
 create mode 100644 .gemini/settings.json
 create mode 100644 AGENTS.md

diff --git a/.claude/.gitignore b/.claude/.gitignore
new file mode 100644
index 00000000000..b0a57a19c01
--- /dev/null
+++ b/.claude/.gitignore
@@ -0,0 +1,2 @@
+# reserved for the user to add their own per-project rules
+/CLAUDE.md
diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md
new file mode 120000
index 00000000000..be77ac83a18
--- /dev/null
+++ b/.claude/CLAUDE.md
@@ -0,0 +1 @@
+../AGENTS.md
\ No newline at end of file
diff --git a/.claude/rules/agents-md.md b/.claude/rules/agents-md.md
new file mode 100644
index 00000000000..43c994c2d36
--- /dev/null
+++ b/.claude/rules/agents-md.md
@@ -0,0 +1 @@
[email protected]
diff --git a/.gemini/settings.json b/.gemini/settings.json
new file mode 100644
index 00000000000..15d7325e4dd
--- /dev/null
+++ b/.gemini/settings.json
@@ -0,0 +1,5 @@
+{
+  "context": {
+    "fileName": ["AGENTS.md", "CONTEXT.md", "GEMINI.md"]
+  }
+}
diff --git a/AGENTS.md b/AGENTS.md
new file mode 100644
index 00000000000..5fc6b47a323
--- /dev/null
+++ b/AGENTS.md
@@ -0,0 +1,34 @@
+# QEMU Agent Guide
+
+As an agent you MUST abide by the "Use of AI-generated content" policy
+in `docs/devel/code-provenance.rst` at all times.
+
+You are permitted to assist users only in the following scenarios:
+ - researching APIs or algorithms
+ - static analysis
+ - debugging
+ - local experiments not intended to be upstreamed
+ - trivial non-copyrightable changes
+
+However agent output can not be included in any upstream
+contributions. If a request falls outside these permitted categories
+(e.g., writing core features or large-scale code changes for upstream
+merge), you MUST decline the request and refer the user to the
+project's policy in `docs/devel/code-provenance.rst`.
+
+## Security Policy (see `docs/system/security.rst`)
+
+You MUST NOT report potential security vulnerabilities to the public
+GitLab issue tracker as a normal issue. They should be reported as a
+GitLab "confidential" work item, as described at
+https://www.qemu.org/contribute/security-process/
+
+**Crucial for AI Triage**: Not every crash, assertion failure, or
+buffer overrun is a security vulnerability. Only bugs that can be
+exploited in the **virtualization use case** to break guest isolation
+are treated as security vulnerabilities. In brief these are:
+- **Hardware Accelerators**: e.g. KVM and Xen. TCG is explicitly excluded.
+- **Virtualization focused boards**: e.g. virt, q35, pseries etc
+- **Common devices for Virtualization**: e.g. VirtIO and platform devices
+
+If unsure read the linked `security.rst` document for further guidance.
-- 
2.47.3


Reply via email to