Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 15 additions & 2 deletions develop-docs/sdk/processes/basics.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ description: So you want to develop an SDK? Before you get started here are som
sidebar_order: 1
---

<Alert>
This document uses key words such as "MUST", "SHOULD", and "MAY" as defined in [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt) to indicate requirement levels.
</Alert>

## Run a Local Relay

You do not need a local Sentry for SDK development but you will want to run a local
Expand Down Expand Up @@ -39,9 +43,18 @@ a good idea to refer to already existing Sentry SDKs for input. In particular t
transport design is not part of the documentation but generally quite similar between
SDKs.

## Type out context in Relay
## Define Conventions and Types Before Shipping

Before shipping new or changed SDK behavior, make sure the relevant definitions exist outside your SDK first:

- **Semantic conventions:** New or changed attributes **MUST** first be defined in [sentry-conventions](https://github.com/getsentry/sentry-conventions/). If the convention you need doesn't exist yet, open a PR there to propose it. Only after the convention has been merged should you implement it in an SDK. This ensures all SDKs use consistent naming and semantics.

The merge process for sentry-conventions PRs:
1. Open a PR with the proposed convention.
2. Get an approval from at least one code owner.
3. Wait at least 3 business days after the first approval to give other code owners a chance to review.

To have a better understanding of various [context](https://develop.sentry.dev/sdk/data-model/event-payloads/contexts/) our SDKs emit, any newly added context should also be typed out in [Relay](https://github.com/getsentry/relay/tree/master/relay-event-schema/src/protocol/contexts).
- **Context types:** Any newly added [context](https://develop.sentry.dev/sdk/data-model/event-payloads/contexts/) **SHOULD** also be typed out in [Relay](https://github.com/getsentry/relay/tree/master/relay-event-schema/src/protocol/contexts) so that the schema stays in sync with what SDKs emit.

## Join us on Discord

Expand Down