Hi all, I'd like to start a discussion about how the Flink community should handle AI-assisted contributions and how we can make the Flink codebase more accessible to AI tooling.
The ASF has published guidance on generative AI tooling [1], and several Apache projects have already adopted project-specific guidelines on top of that. I think Flink should too. The most comprehensive example I've seen is Apache Airflow. They've added an AGENTS.md [2] with instructions for AI coding agents, including PR templates with an AI disclosure checkbox, a self-review checklist, and the Generated-by: commit message token that the ASF guidance recommends. Apache Iceberg recently adopted AI contribution guidelines [3] focused on contributor accountability: you must be able to debug, explain, and own the changes. Other projects like Paimon [4], Mahout [5], and Ozone [6] have adopted similar policies. I'd like to propose the following for Flink: 1. Adopt contribution guidelines for AI-assisted PRs. Contributors must disclose when AI tooling was used (using Generated-by: <Tool Name and Version> in the commit message), and must be able to explain and take ownership of all changes. AI-generated code is held to the same review standards as human-written code. 2. Add AGENTS.md files to the Flink repository. AGENTS.md [7] is a convention for giving AI coding agents project-specific context. It can contain information like build instructions, test commands, coding conventions, commit message format. I think we should add one at the root of apache/flink. 3. Add module-level context for AI tooling. This is where I think we can take a step forward. Each Flink module (e.g. flink-streaming-java, flink-table-planner, flink-clients) would benefit from its own AGENTS.md explaining the module's role, key abstractions, testing patterns, and common pitfalls. This also serves as architectural documentation that helps human contributors. I'm looking forward to hearing what others think about this. Best regards, Martijn [1] https://www.apache.org/legal/generative-tooling.html [2] https://github.com/apache/airflow/blob/main/AGENTS.md [3] https://iceberg.apache.org/contribute/#guidelines-for-ai-assisted-contributions [4] https://github.com/apache/paimon/blob/master/.github/PULL_REQUEST_TEMPLATE.md?plain=1#L22 [5] https://github.com/apache/mahout/blob/main/docs/community/pr-policy-and-review-guidelines.md [6] https://github.com/apache/ozone-site/blob/master/src/pages/release-notes/2.0.0.md?plain=1#L408 [7] https://agents.md/
