CONTRIBUTING.md
Boilerplate CONTRIBUTING.md template for Sentry SDK repositories. Tells contributors how to set up, develop, test, and submit changes.
CONTRIBUTING.md is a Markdown file at the root of your repository that orients both external contributors and Sentry engineers before they open their first PR. GitHub surfaces it automatically on the Issues and Pull Requests tabs.
Keep it short. Detailed process lives on develop.sentry.dev — link there, don't duplicate it. Target 100–200 lines.
- Welcome + issue-first policy — ask contributors to open an issue before a non-trivial PR. If the issue is already assigned to someone, contributors should ask in the issue whether help is needed before opening a PR. Link to the handling external contributor PRs playbook.
- Getting started — environment setup steps specific to this repo. Refer readers to the README for general project overview; CONTRIBUTING.md covers what's extra.
- Development workflow — commit format, branch naming, and changelog requirement. Link to the code submission standard rather than restating it.
- Testing — exact commands to run the test suite, a subset, and lint. Include platform-specific notes (tox environments, Gradle tasks, Xcode schemes, etc.).
- Submitting a PR — open as draft until ready; fill out the PR template. Link to the opening a PR playbook.
- Code review — LOGAF scale (
h:/m:/l:), expected SLAs (1 business day internal / 2 business days external). Link to the reviewing a PR playbook. - AI-assisted contributions —
Co-Authored-Byattribution required per the AI attribution standard. Point maintainers to the reviewing AI-generated code playbook. - Getting help — Discord server link,
#sdk-[language]support channel. - Code of conduct — link to Sentry's Code of Conduct.
Do NOT include:
- Full environment setup (belongs in README)
- Release / publish process (internal; link to sdk-lifecycle playbooks instead)
- Architecture or API design decisions (belongs in AGENTS.md)
- Verbatim copies of content already on develop.sentry.dev
Check if the repository already has one before starting from scratch. The following repos have well-structured examples worth referencing:
getsentry/sentry-python— clear integration development principles; good separation between user and contributor setupgetsentry/sentry-javascript— Volta pin for Node/yarn, concise monorepo workflow, explicit PR draft rulegetsentry/sentry-go— explicit LOGAF scale usage, craft release-notes requirement called outgetsentry/sentry-cocoa— LOGAF examples with descriptions, copyright header rulegetsentry/sentry-java— API compatibility validation workflow, clear step-by-step setup
Use the sentry-sdk-skills:contributing-md skill to create or update your CONTRIBUTING.md — it detects commands, CI config, and ecosystem from the repo, fills in the placeholders below, and preserves any SDK-specific sections already present.
Remove sections that don't apply and replace all [placeholder] values with real content.
CONTRIBUTING.md
We welcome contributions! Before submitting a non-trivial change, please open an issue so we can align on scope and approach. If the issue is already assigned to someone, leave a comment asking if you can help before opening a PR. Want to understand how we work? Our SDK development docs cover our engineering process in detail.
- Fork the repository and clone your fork.
- [SDK-specific setup steps — e.g. install language runtime, create virtualenv, etc.]
- Install dependencies:
[install command]
See our principles and standards for SDK development.
Run the full test suite: [full test command]
Run a single test / test file: [single test command]
Lint and format: [lint command] / [format command]
[Optional: platform-specific notes, e.g. tox environments, Gradle tasks, Xcode schemes, required env vars, or native dependency setup for React Native (sentry-cocoa, sentry-java).]
Open as a draft, fill in the PR description, and ensure CI passes before marking ready.
We use the LOGAF scale to signal comment weight:
h:(high) — must fix: bugs, security, breakagem:(medium) — should fix: design, missing tests, clarityl:(low) — optional nit: style, minor suggestions
You are welcome to use whatever tools you prefer for making a contribution. Please include a Co-Authored-By trailer per the AI attribution standard. 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. This aligns with our SDK principle: every line has an owner.
Have a question? Join the Sentry Discord in #sdk-[language] or open a GitHub issue.
This project follows the Sentry Code of Conduct.
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").