-
Notifications
You must be signed in to change notification settings - Fork 959
Add AGENTS.md with project structure and commands #4233
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 all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
815cca1
Add CLAUDE.md with project structure and commands
Kludex 168e916
Add AGENTS.md symlink to CLAUDE.md
Kludex a1da2b9
Merge branch 'main' into add-claude-md
Kludex 8e18866
Merge remote-tracking branch 'origin/main' into add-claude-md
Kludex c1b3931
Move guidance to AGENTS.md and address review feedback
Kludex 694c6b8
Merge remote-tracking branch 'upstream/add-claude-md' into add-claude-md
Kludex 9db4d25
Merge branch 'main' into add-claude-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,69 @@ | ||
| # OpenTelemetry Python Contrib | ||
|
|
||
| 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 50+ OpenTelemetry instrumentation packages for Python. | ||
|
|
||
| ## General Rules and Guidelines | ||
|
|
||
| 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 | ||
|
|
||
| - `instrumentation/` - instrumentation packages (Flask, Django, FastAPI, gRPC, databases, etc.) | ||
| - `instrumentation-genai/` - GenAI instrumentations (Anthropic, Vertex AI, LangChain, etc.) | ||
| - `util/` - shared utilities (`util-http`, `util-genai`) | ||
| - `exporter/` - custom exporters | ||
| - `propagator/` - context propagators | ||
|
|
||
| Instrumentation packages live under `src/opentelemetry/instrumentation/{name}/` with their own | ||
| `pyproject.toml` and `tests/`. Other package types follow the equivalent layout under their own | ||
| namespace (e.g. `src/opentelemetry/util/{name}/`, `src/opentelemetry/exporter/{name}/`). | ||
|
|
||
| ## 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 (append -0, -1, etc. for version variants) | ||
| uv run tox -e py312-test-instrumentation-flask-0 | ||
|
|
||
| # Type check | ||
| uv run tox -e typecheck | ||
| ``` | ||
|
|
||
| ## 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 @@ | ||
| @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.