| name | onboard |
| description | Onboard a service to sentry-options. Use when integrating a new service, creating schemas, or setting up the multi-repo sentry-options workflow. |
sentry-options Onboarding
Guide the user through integrating a service with sentry-options. The authoritative, step-by-step instructions live in the setup guide — follow it rather than reproducing details here. This skill intentionally defers specifics (version pins, exact file contents, schema rules) to the docs so it can't drift out of sync.
Setup guide: https://github.com/getsentry/sentry-options/blob/main/docs/setup.md
Options/schema reference: https://github.com/getsentry/sentry-options/blob/main/docs/options.md
How to run this
-
Gather inputs from the user:
- Repository name (e.g.
seer, snuba).
- Namespace(s) — must be the repo name or prefixed with
{repo}- (e.g. seer, seer-autofix).
- Any initial options or feature flags (name, type, default, description).
-
Walk the three phases from the setup guide, in order, using the exact file contents, version pins, and commands it specifies (do not write versions or schema rules from memory — they change):
- Phase 1 — service repo: create
sentry-options/schemas/{namespace}/schema.json, add the validate-schema CI workflow and (for Python) the sentry-options-gen-stubs pre-commit hook, add the client dependency, call init() at startup, and copy schemas into the image with SENTRY_OPTIONS_DIR.
- Phase 2 — sentry-options-automator: register the repo in
repos.json and add option-values/{namespace}/{target}/values.yaml (the mandatory default target plus a folder per region you want to deploy to).
- Phase 3 — ops: add the injector annotations (
options.sentry.io/inject, options.sentry.io/namespace) to the deployment.
-
For schema/type details (primitives, arrays, structs, dicts, optional fields, feature flags) consult the options/schema reference.
-
After each phase, surface the checkpoint from the guide (e.g. merge the PR) before moving on.