docs(sdk): Add CONTRIBUTING.md template#16854
Conversation
Replace TBD placeholder in contributing-md-template.mdx with a full guide modeled on agents-md-template.mdx. Covers the nine standard sections (welcome, setup, workflow, testing, PR submission, code review with LOGAF, AI attribution, help, CoC), lists good examples from five SDK repos, and includes a copyable template. Also adds a .claude/skills/contributing-md/SKILL.md draft for submission to getsentry/sdk-skills — detects ecosystem, fills placeholders from CI config and package manifests, preserves SDK-specific sections, and flags non-standard content with TODOs. Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
- LOGAF notation: use h:/m:/l: (colon, h-first) to match review-ci standard - LOGAF descriptions: match canonical definitions from review-ci.mdx - Branch naming: <username>/<type>/<short-description> to match code-submission standard - SLAs in "What Belongs": spell out "business day" instead of "BD" - Good Examples: add lead-in sentence matching agents-md-template pattern Co-Authored-By: Claude <noreply@anthropic.com>
- h: fix broken ../../discussions relative link — use placeholder URL - m: fix ecosystem detection: react-native in package.json (not Podfile) to correctly distinguish React Native from sentry-cocoa/iOS repos - m: fix SKILL.md checklist: "table" → "list" to match template - l: commit format wording: "description" → "subject" to match standard Co-Authored-By: Claude <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Co-Authored-By: Claude <noreply@anthropic.com>
Not a universal standard — only used in sentry-cocoa. Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
- discord.gg/sentry → discord.com/invite/sentry - sentry-cocoa CONTRIBUTING.md master → main - sentry-java CONTRIBUTING.md master → main Co-Authored-By: Claude <noreply@anthropic.com>
develop-docs/sdk/getting-started/templates/contributing-md-template.mdx
Outdated
Show resolved
Hide resolved
develop-docs/sdk/getting-started/templates/contributing-md-template.mdx
Outdated
Show resolved
Hide resolved
develop-docs/sdk/getting-started/templates/contributing-md-template.mdx
Outdated
Show resolved
Hide resolved
stephanie-anderson
left a comment
There was a problem hiding this comment.
I'm not sure if we should be referencing playbooks for our own teams (like reviewing external contrib PRs etc). THe CONTRIBUTING.md is meant for external contributors to read to understand the rules, not necessarily our own folks. We can clarify that in the intro if you think that makes sense, and can additionally link to the develop docs, so potential candidates / hires can read what is important to us. But for community members this could be perceived as noise
…plate.mdx Co-authored-by: Stephanie Anderson <stephanie.anderson@sentry.io>
…plate.mdx Co-authored-by: Stephanie Anderson <stephanie.anderson@sentry.io>
|
@stephanie-anderson all addressed, ready for re-review |
stephanie-anderson
left a comment
There was a problem hiding this comment.
thanks for putting this together!
|
If you have time, could you move the file from |
Add h1–h6 cases to domToMarkdown so heading markdown prefixes are preserved when copying CopyableCard content. Previously, headings fell through to the default case, stripping the # characters. Also exports domToMarkdown and adds a unit test suite covering headings, inline formatting, block elements, checkboxes, and full document structure. Co-Authored-By: Claude <noreply@anthropic.com>
…emplate The CONTRIBUTING.md template is read by external contributors, not Sentry engineers. Internal playbook links (handling external contributor PRs, opening a PR, reviewing a PR, reviewing AI-generated code) are noise for community members who cannot access or act on them. Replace the playbook reference in the intro with a link to develop.sentry.dev/sdk/ so curious contributors and potential hires can explore Sentry's engineering process without cluttering the contributor flow. Playbook references in the 'What Belongs' guidance section above the template are unchanged — that section targets Sentry engineers. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
"template" is redundant in the URL since the page lives under /templates/. Rename the file and add a permanent redirect from the old path. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Update the sentry-sdk-skills:contributing-md link to point to the correct repository (sdk-skills) and path. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
| case 'h5': | ||
| return `##### ${childText}\n\n`; | ||
| case 'h6': | ||
| return `###### ${childText}\n\n`; |
There was a problem hiding this comment.
Auto-linked headings produce malformed copied markdown
Medium Severity
The new heading cases in domToMarkdown don't account for rehype-autolink-headings (configured with behavior: 'wrap' in mdx.ts), which wraps heading content in <a> tags. This is the first CopyableCard containing headings. When copied, each heading's inner <a> is converted to a markdown link, producing output like ## [Getting Started](#getting-started) instead of ## Getting Started. For the h1, nested brackets (# [Contributing to [SDK name]](#…)) break markdown parsing entirely.


Replaces the TBD placeholder in contributing-md-template.mdx with a full guide: what belongs in a CONTRIBUTING.md, good examples from 5 SDK repos, and a copyable template covering setup, workflow, testing, PR submission, code review (LOGAF), AI attribution, and getting help.
IS YOUR CHANGE URGENT?
SLA
Thanks in advance for your help!
PRE-MERGE CHECKLIST
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com