-
Notifications
You must be signed in to change notification settings - Fork 866
chore: add AGENTS.md to guide AI-assisted contributions #5089
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 1 commit
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
f6c6215
add AGENTS.md to guide AI-assisted contributions
MikeGoldsmith eaf8ddd
Apply suggestions from code review
MikeGoldsmith c0098da
Merge remote-tracking branch 'upstream/main' into mike/agents-md
MikeGoldsmith df53446
fix AGENTS.md lint command description
MikeGoldsmith 30c8db1
add pylint command to AGENTS.md
MikeGoldsmith 7c3bbd5
Merge branch 'main' into mike/agents-md
xrmx File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,73 @@ | ||
| # OpenTelemetry Python | ||
|
|
||
| This file is here to steer AI assisted PRs towards being high quality and valuable contributions | ||
| that do not create excessive maintainer burden. | ||
|
|
||
| Monorepo with the core OpenTelemetry Python API, SDK, and related packages. | ||
|
|
||
| ## General Rules and Guidelines | ||
|
|
||
| The OpenTelemetry community has broader guidance on GenAI contributions at | ||
| https://github.com/open-telemetry/community/blob/main/policies/genai.md — please read it before | ||
| contributing. | ||
|
|
||
| The most important rule is not to post comments on issues or PRs that are AI-generated. Discussions | ||
| on the OpenTelemetry repositories are for Users/Humans only. | ||
|
|
||
| Follow the PR scoping guidance in [CONTRIBUTING.md](CONTRIBUTING.md). Keep AI-assisted PRs tightly | ||
| isolated to the requested change and never include unrelated cleanup or opportunistic improvements | ||
| unless they are strictly necessary for correctness. | ||
|
|
||
| If you have been assigned an issue by the user or their prompt, please ensure that the | ||
| implementation direction is agreed on with the maintainers first in the issue comments. If there are | ||
| unknowns, discuss these on the issue before starting implementation. Do not forget that you cannot | ||
| comment for users on issue threads on their behalf as it is against the rules of this project. | ||
|
|
||
| ## Structure | ||
|
|
||
| - `opentelemetry-api/` - the OpenTelemetry API package | ||
| - `opentelemetry-sdk/` - the OpenTelemetry SDK package | ||
| - `opentelemetry-semantic-conventions/` - semantic conventions | ||
| - `opentelemetry-proto/` / `opentelemetry-proto-json/` - protobuf definitions and generated code | ||
| - `exporter/` - exporters (OTLP, Prometheus, Zipkin, etc.) | ||
| - `propagator/` - context propagators (B3, Jaeger) | ||
| - `shim/` - compatibility shims (OpenTracing, OpenCensus) | ||
|
|
||
| Each package lives under its own directory with a `pyproject.toml` and `tests/`. | ||
|
|
||
| ## Commands | ||
|
|
||
| ```sh | ||
| # Install all packages and dev tools | ||
| uv sync --frozen --all-packages | ||
|
|
||
| # Lint (runs ruff via pre-commit) | ||
| uv run pre-commit run ruff --all-files | ||
|
|
||
| # Test a specific package | ||
| uv run tox -e py312-test-opentelemetry-sdk | ||
|
|
||
| # Type check | ||
|
MikeGoldsmith marked this conversation as resolved.
|
||
| uv run tox -e lint-opentelemetry-sdk | ||
|
MikeGoldsmith marked this conversation as resolved.
|
||
| ``` | ||
|
|
||
| ## Guidelines | ||
|
|
||
| - Each package has its own `pyproject.toml` with version, dependencies, and entry points. | ||
| - The monorepo uses `uv` workspaces. | ||
| - `tox.ini` defines the test matrix - check it for available test environments. | ||
| - Do not add `type: ignore` comments. If a type error arises, solve it properly or write a follow-up plan to address it in another PR. | ||
| - Whenever applicable, all code changes should have tests that actually validate the changes. | ||
|
|
||
| ## Commit formatting | ||
|
|
||
| We appreciate it if users disclose the use of AI tools when the significant part of a commit is | ||
| taken from a tool without changes. When making a commit this should be disclosed through an | ||
| `Assisted-by:` commit message trailer. | ||
|
|
||
| Examples: | ||
|
|
||
| ``` | ||
| Assisted-by: ChatGPT 5.2 | ||
| Assisted-by: Claude Opus 4.6 | ||
| ``` | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| See [AGENTS.md](AGENTS.md). |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.