Thank you for your interest in contributing to Apache EventMesh! This page gives a quick orientation for new contributors. For the full governance process (releases, PMC, voting), see the Apache EventMesh community site.
Read the EventMesh architecture guard if your change touches any of these modules:
eventmesh-commoneventmesh-runtimeeventmesh-spieventmesh-protocol-plugineventmesh-storage-plugineventmesh-connector-api / eventmesh-connector-runtimeeventmesh-connector-plugin/**The guard runs in CI and fails on boundary violations. Local iteration:
./gradlew :eventmesh-architecture-guard:architectureCheck
If your change adds or modifies a storage plugin capability, update the Storage SPI capability matrix.
Make sure the build is green on your local:
./gradlew :eventmesh-storage-plugin:test ./gradlew check
git commit -s adds the Signed-off-by: trailer).Closes #NNNN so the issue is auto-closed on merge.If you are introducing a new module (say eventmesh-foo):
testImplementation project(':eventmesh-foo') line in eventmesh-architecture-guard/build.gradle if the new module's packages should be analysed.docs/feature/architecture-guard.md.on: pull_request: paths: entry in .github/workflows/architecture-guard.yml so violations are flagged on PR.This project follows the Apache Code of Conduct.