Skip to content

[Build] Add AGENTS.md for AI agent coding conventions - #4371

Closed
shangeyao wants to merge 2 commits into
apache:devfrom
shangeyao:feature/add-agents-md
Closed

[Build] Add AGENTS.md for AI agent coding conventions#4371
shangeyao wants to merge 2 commits into
apache:devfrom
shangeyao:feature/add-agents-md

Conversation

@shangeyao

@shangeyao shangeyao commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

What

Add an AGENTS.md file to the project root, following the same pattern as Apache Iceberg's AGENTS.md. This file serves as agent instructions, documenting:

  • Module Boundaries: Clear responsibility boundaries for streampark-common, streampark-flink, streampark-spark, streampark-console
  • High-Sensitivity Areas: FlinkShimsProxy, FlinkStreaming lifecycle, ConfigKeys, K8s integration, SQL dialect conversion, auth
  • Design Patterns: Lifecycle trait pattern, Shims/Proxy pattern, Service layer separation, implicit enrichment, MyBatis-Plus entity pattern
  • Coding Conventions: Java (Spotless/Checkstyle/JUnit 5), Scala (Scalafmt/ScalaTest), TypeScript/Vue (ESLint/Prettier)
  • Commands: Build, test, format, lint commands for all layers
  • PR & Commit Conventions: [Module] prefix format, dual database upgrade requirements
  • AI-Generated PR Disclosure: Standardized template following ASF generative tooling guidelines
  • Boundaries: "Never" and "Ask first" rules for contributors and AI agents

Why

As AI-assisted development becomes more common in open-source projects, having a canonical AGENTS.md helps both human contributors and AI tools understand the project's unique conventions, sensitive areas, and boundaries. This reduces review burden and improves contribution quality.

Closes apache#4367

Add support for Apache Flink 2.x series (2.0, 2.1, 2.2) to StreamPark.

Key changes:
- Extend FlinkVersion.scala to recognize 2.x versions
- Create new shims modules: streampark-flink-shims_flink-2.0/2.1/2.2
- Migrate to Java DataStream API (Scala DataStream API removed in Flink 2.x)
- Handle ParameterTool relocation from org.apache.flink.api.java.utils to org.apache.flink.util
- Implement Flink 2.1 Model API (createModel, fromCall, etc.)
- Implement Flink 2.2 FunctionDescriptor and Materialized Tables APIs
- Update console-service EnvInitializer regex to match 2.x shims JARs
- Add 2.0/2.1/2.2 shims JAR dependencies to console-service pom.xml

All shims modules (1.12-1.20 + 2.0-2.2) compile successfully and tests pass.
Add AGENTS.md file documenting project architecture, module boundaries,
high-sensitivity areas, design patterns, coding conventions (Java/Scala/TypeScript),
build commands, PR conventions, AI-generated PR disclosure template, and
boundaries for contributors and AI agents.
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
72.6% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

@shangeyao
shangeyao deleted the feature/add-agents-md branch June 24, 2026 01:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant