Rename the service-name placeholder from <MY_SERVICE_NAME> to
<YOUR_SERVICE_NAME> across the SDK pages and the validator allowlist, matching
the <YOUR_...> convention of the other standardized placeholders.
The HyperDX in-app onboarding mirrors the SDK guides under
docs/clickstack/ingesting-data/sdks/ from this single source of truth, so it
parses them by convention. This standardizes those conventions and adds a
scoped validator so a drifting page cannot silently break the app's parsing.
- Add a `<ClickStackIntegrates signals={[...]} />` component (new snippet at
docs/snippets/components/ClickStackIntegrates/) that renders the
"This guide integrates" indicator as ClickHouse-yellow pills for the
supported signals. The `signals` prop (logs/metrics/traces) is the single
source of truth the app parses; it replaces the drifting hand-written blocks
(HTML tables and ad-hoc bullet lists across the pages).
- Standardize replaceable env-var placeholders: `<YOUR_INGESTION_API_KEY>`
(was also bare, `***`-wrapped, and `<YOUR_INGESTION_KEY>`),
`<YOUR_OTEL_COLLECTOR_HTTP_ENDPOINT>` for the OTLP endpoint (was
localhost:4318 / your-otel-collector:4318, and fixes the
`<YOU_OTEL_COLLECTOR_HTTP_ENDPOINT>` typo), and `<MY_SERVICE_NAME>` for the
service name (was `<NAME_OF_YOUR_APP_OR_SERVICE>` / `<YOUR_APP_NAME>`).
- Fix a stray newline in the index keywords.
- Add ci/jobs/scripts/docs/sdk_docs_check.py enforcing all of the above: the
ClickStackIntegrates component + valid signals, an allowlist of `<UPPER_SNAKE>`
placeholders (so a new typo/variant is caught generically), and exact
deployment tab titles (Managed ClickStack / ClickStack Open Source). It is
wired into the existing "Docs check (Mintlify)" job and gated to run only when
an SDK page, the component, or the validator changes.
Closes: https://linear.app/clickhouse/issue/HDX-5262/standardize-clickstack-sdk-docs-for-in-app-onboarding