You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+43-2Lines changed: 43 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,23 +4,64 @@ We welcome contributions to `sentry-python` by the community.
4
4
5
5
This file outlines the process to contribute to the SDK itself. For contributing to the documentation, please see the [Contributing to Docs](https://docs.sentry.io/contributing/) page.
6
6
7
+
## Table of Contents
8
+
9
+
-[How to Report a Problem](#how-to-report-a-problem)
-[Adding a New Integration](#adding-a-new-integration)
15
+
-[Releasing a New Version](#releasing-a-new-version)
16
+
-[Contributing to Sentry AWS Lambda Layer](#contributing-to-sentry-aws-lambda-layer)
17
+
7
18
## How to Report a Problem
8
19
9
20
Please search the [issue tracker](https://github.com/getsentry/sentry-python/issues) before creating a new issue (a problem or an improvement request). Please also ask in our [Sentry Community on Discord](https://discord.com/invite/Ww9hbqr) before submitting a new issue. There are a ton of great people in our Discord community ready to help you!
10
21
11
22
## Submitting Changes
12
23
24
+
### Before You Start
25
+
26
+
1.**Find or create an issue.** Every contribution must be tied to a GitHub issue. If one doesn't exist, open one describing the problem or feature.
27
+
2.**Discuss your approach with a maintainer.** Comment on the issue and wait for a maintainer to respond before you start working. This avoids wasted effort on both sides.
28
+
3.**Check the assignee.** If the issue is already assigned to someone else, coordinate with them in the issue before starting work.
29
+
30
+
PRs that don't meet these requirements will be automatically closed. See [Automated Checks](#automated-checks) below.
31
+
32
+
### Making Your Contribution
33
+
13
34
- Fork the `sentry-python` repo and prepare your changes.
14
35
- Add tests for your changes to `tests/`.
15
36
- Run tests and make sure all of them pass.
16
-
- Submit a pull request, referencing any issues your changes address. Please follow our [commit message format](https://develop.sentry.dev/commit-messages/#commit-message-format) when naming your pull request.
37
+
- Submit a pull request, referencing the issue(s) your changes address. Please follow our [commit message format](https://develop.sentry.dev/commit-messages/#commit-message-format) when naming your pull request.
38
+
39
+
### Pull Request Requirements
17
40
18
-
We will review your pull request as soon as possible. Thank you for contributing!
41
+
All PRs must be created as **drafts**. Non-draft PRs will be automatically converted to draft. Mark your PR as "Ready for review" once:
42
+
43
+
- CI passes
44
+
- The PR description is complete (what, why, and links to relevant issues)
45
+
- You've personally reviewed your own changes
46
+
47
+
A PR should do one thing well. Don't mix functional changes with unrelated refactors or cleanup. Smaller, focused PRs are easier to review, reason about, and revert if needed.
48
+
49
+
For the full set of PR standards, see the [code submission standard](https://develop.sentry.dev/sdk/getting-started/standards/code-submission/#pull-requests).
19
50
20
51
### AI Use
21
52
22
53
You are welcome to use whatever tools you prefer for making a contribution. However, any changes you propose have to be reviewed and tested by you, a human, first, before you submit a pull request with them for the Sentry team to review. If we feel like that didn't happen, we will close the PR outright. For example, we won't review visibly AI-generated PRs from an agent instructed to look for and "fix" open issues in the repo.
23
54
55
+
### Automated Checks
56
+
57
+
To maintain the quality of contributions, we use automated workflows that enforce the following rules for PRs from non-maintainers:
58
+
59
+
-**Issue reference required.** Your PR body must reference a GitHub issue in the `getsentry` organization (e.g. `#123`, `getsentry/sentry#456`, or a full GitHub issue URL).
60
+
-**Prior discussion required.** The referenced issue must show a conversation between you and a maintainer. Opening the issue counts as participation — but a maintainer must have also responded.
61
+
-**Respect existing assignees.** If the referenced issue is assigned to someone other than you, the PR will be closed. Coordinate in the issue first.
62
+
63
+
PRs that don't meet these criteria are automatically closed and labeled `violating-contribution-guidelines`. If your PR was closed by mistake, comment on the issue to discuss with a maintainer and then open a new PR.
0 commit comments