Skip to content

Document PR workflow and add AGENTS.md - #678

Open
s-heppner wants to merge 3 commits into
eclipse-basyx:developfrom
rwth-iat:Update/CONTRIBUTING.md
Open

s-heppner wants to merge 3 commits into
eclipse-basyx:developfrom
rwth-iat:Update/CONTRIBUTING.md

Conversation

@s-heppner

@s-heppner s-heppner commented Oct 27, 2026 •

Copy link
Copy Markdown
Member

Previously, CONTRIBUTING.md did not name the branch that pull requests target, how they are merged, or who merges them. Its message guidelines were outdated, e.g. they linked to PDF pages of the specification. The repository also gave AI coding agents no guidance.

As all pull requests are squash-merged into develop and the release notes are written from that history, the PR title and description become the commit message and must follow the guidelines.

CONTRIBUTING.md now names develop as the default branch and adds a section on merging pull requests. It covers the merge commit exception for releases and states that AI assisted contributions must name the model and its version. The message guidelines now ask for a title of 50 characters or fewer and a message that describes the previous state, the motivation and the change, and give two examples.

To prevent duplicate and low-effort pull requests, a new section "Claim an Issue" requires an issue for every non-trivial change. The contributor comments on it with their own use case and planned approach, and a maintainer confirms by assigning the issue to them. Pull requests for issues that are not assigned to their author are closed.

The new AGENTS.md holds the rules that agents would not follow on their own and points to CONTRIBUTING.md for everything else. Among them: agents must not contribute without a signed ECA, and must not write the use case comment for their human.

Additionally, the compliance tool checks ran mypy and coverage on basyx instead of aas_compliance_tool. This is fixed as well.

Written with the help of Claude Opus 5.5.

Previously, the contributing guide did not name the branch that pull
requests target and did not explain how they are merged. As all pull
requests are squash-merged into `develop` and the release notes are
written from that history, the PR title and description become the
commit message and must follow the message guidelines. The guidelines
themselves were also outdated, e.g. they linked to PDF pages of the
specification, which is now published as HTML.

This change names `develop` as the default branch and adds a section
on merging pull requests, including the merge commit exception for
releases. The commit and PR message guidelines now ask for a title of
50 characters or fewer and a message that describes the previous
state, the motivation and the change. They also cover backticks,
issue references, reference-style links and the HTML specification,
and give two full examples.
Previously, the repository gave AI coding agents no guidance, and
CONTRIBUTING.md did not state who merges pull requests or how to deal
with contributions made with the help of AI.

`AGENTS.md` now holds the rules that agents would not follow on their
own, and points to CONTRIBUTING.md and the READMEs for everything
else. It is kept short, as agents load it with every prompt. It asks
agents to name the model in the PR description, leaves merging to
humans, and points to the AAS specification sources. CONTRIBUTING.md
now states that only maintainers merge pull requests and that AI
assisted contributions must name the model and its version.

Additionally, the compliance tool checks in CONTRIBUTING.md ran `mypy`
and `coverage` on `basyx` instead of `aas_compliance_tool`, the package
that CI checks. This is fixed as well.
Previously, contributors could pick any open issue and open a PR for
it. This led to duplicate PRs, as contributors cannot assign issues
to themselves, and to low-quality PRs from people or AI agents who
only want a contribution in their portfolio. AI agents also opened PRs
without a signed ECA, which we can never merge.

CONTRIBUTING.md now has a section "Claim an Issue": every non-trivial
change needs an issue, on which the contributor comments with their
own use case and planned approach. A maintainer then confirms by
assigning the issue to them. PRs for issues that are not assigned to
their author are closed.

`AGENTS.md` now states that agents must not contribute without a
signed ECA, that the issue must be assigned to their human, and that
they must not write the use case comment for them.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant