From e6e1dfe4fcbff8c3f042f220438f85b0285a8ed2 Mon Sep 17 00:00:00 2001 From: Daniel Szoke Date: Thu, 28 May 2026 11:45:58 +0200 Subject: [PATCH] docs(snapshots): Document where we use Sentry CLI Document where we use Sentry CLI in the `getsentry` GitHub org today. --- .../2026-05-27-sentry-cli-consumers/README.md | 104 ++++++++++++++++++ .../build-snapshot.py | 14 +++ .../inventory-01-first.md | 73 ++++++++++++ .../inventory-02-second.md | 92 ++++++++++++++++ .../repo-checklist.md | 52 +++++++++ 5 files changed, 335 insertions(+) create mode 100644 docs/snapshots/2026-05-27-sentry-cli-consumers/README.md create mode 100755 docs/snapshots/2026-05-27-sentry-cli-consumers/build-snapshot.py create mode 100644 docs/snapshots/2026-05-27-sentry-cli-consumers/inventory-01-first.md create mode 100644 docs/snapshots/2026-05-27-sentry-cli-consumers/inventory-02-second.md create mode 100644 docs/snapshots/2026-05-27-sentry-cli-consumers/repo-checklist.md diff --git a/docs/snapshots/2026-05-27-sentry-cli-consumers/README.md b/docs/snapshots/2026-05-27-sentry-cli-consumers/README.md new file mode 100644 index 0000000000..8315a63dbf --- /dev/null +++ b/docs/snapshots/2026-05-27-sentry-cli-consumers/README.md @@ -0,0 +1,104 @@ +# Sentry CLI consumer snapshot in `getsentry` + +This document contains all usages of `getsentry/sentry-cli` we were able to find in **public GitHub repos under the `getsentry` org** as of **2026-05-27**. + +> [!NOTE] +> 🤖 AI-generated artifact. This snapshot is only minimally validated and should be treated as a best-effort attempt. The manually checked entries look accurate, but it may contain inaccuracies or be incomplete. + +Two agents independently generated the two source inventories using GitHub code searches. A third agent merged them into this README and also searched for additional `getsentry` locations that may have been missed. + +## Directory contents + +- [README.md](README.md) — final merged snapshot summary for the directory; includes the source inventories and the merged results. +- [build-snapshot.py](build-snapshot.py) — script that generated the snapshot bundle and verified checklist coverage. +- [inventory-01-first.md](inventory-01-first.md) — first independently generated source inventory from GitHub search. +- [inventory-02-second.md](inventory-02-second.md) — second independently generated source inventory from GitHub search. +- [repo-checklist.md](repo-checklist.md) — intermediate repo checklist used to verify coverage during consolidation. + +## Direct, installer, or pinned binary consumers + +| Repo | Location | Version/pin | Notes | +| --- | --- | --- | --- | +| `getsentry/action-release` | [`action.yml`](https://github.com/getsentry/action-release/blob/f71adb49d4b2aeeda98052d3de234bbb0f3e03ab/action.yml#L205) | `^2.4` | runtime install: `npm install --no-package-lock @sentry/cli@^2.4` | +| `getsentry/action-release` | [`package.json`](https://github.com/getsentry/action-release/blob/f71adb49d4b2aeeda98052d3de234bbb0f3e03ab/package.json#L31) | `^2.58.6` | npm dependency: `"@sentry/cli": "^2.58.4"` | +| `getsentry/eng-pipes` | [`package.json`](https://github.com/getsentry/eng-pipes/blob/32ffc46499bbb7c9d2db2235fc5b6ed34455d33e/package.json#L74) | `^2.20.1` | dev dependency: `"@sentry/cli": "^2.20.1"` | +| `getsentry/homebrew-tools` | [`Formula/sentry-cli.rb`](https://github.com/getsentry/homebrew-tools/blob/8167f7f8ad1b08dfc9c2c14dfc077e085e1df29d/Formula/sentry-cli.rb#L3) | `3.4.3` | `3.4.3` \| Homebrew formula version | +| `getsentry/plausible-mcp` | [`bun.lock`](https://github.com/getsentry/plausible-mcp/blob/6c59e3291d4a2f5a4e4cfabefb831b9163fa0c05/bun.lock#L15) | `^2` | `^2` request, resolved later in the lockfile | +| `getsentry/plausible-mcp` | [`package.json`](https://github.com/getsentry/plausible-mcp/blob/2e0b3749a62cbdc673a178e809c2d828236b68f0/package.json#L36) | `^2` | dev dependency: `"@sentry/cli": "^2"` | +| `getsentry/self-hosted` | [`action.yaml`](https://github.com/getsentry/self-hosted/blob/afe558b0e27a51c05675c7c51254230d37856820/action.yaml#L220) | `3.4.1` | `3.4.1` \| Installer script sets `SENTRY_CLI_VERSION` | +| `getsentry/sentry-android-gradle-plugin` | [`plugin-build/sentry-cli.properties`](https://github.com/getsentry/sentry-android-gradle-plugin/blob/3a7c4decd0fdc22469fe88b7f2eb2f3d6195c5c3/plugin-build/sentry-cli.properties#L2) | `3.4.3` | `3.4.3` \| Gradle plugin CLI downloader | +| `getsentry/sentry-capacitor` | [`example/ionic-angular-v7/package.json`](https://github.com/getsentry/sentry-capacitor/blob/743adb0b2ab58d43d494d9319d1b0c2ea796a183/example/ionic-angular-v7/package.json#L32) | `^2.21.2` | dev dependency: `"@sentry/cli": "^2.21.2"` | +| `getsentry/sentry-capacitor` | [`example/ionic-angular-v8/package.json`](https://github.com/getsentry/sentry-capacitor/blob/743adb0b2ab58d43d494d9319d1b0c2ea796a183/example/ionic-angular-v8/package.json#L32) | `^2.21.2` | dev dependency: `"@sentry/cli": "^2.21.2"` | +| `getsentry/sentry-capacitor` | [`example/ionic-vue3/package.json`](https://github.com/getsentry/sentry-capacitor/blob/743adb0b2ab58d43d494d9319d1b0c2ea796a183/example/ionic-vue3/package.json#L31) | `^2.58.4` | dependency: `"@sentry/cli": "^2.58.4"` | +| `getsentry/sentry-dart-plugin` | [`lib/src/cli/_sources.dart`](https://github.com/getsentry/sentry-dart-plugin/blob/fb06747d163e525062ded20d0c83d645c4c44dea/lib/src/cli/_sources.dart#L11) | `2.52.0` | hardcoded Sentry CLI binary source version: `2.52.0` | +| `getsentry/sentry-dotnet` | [`Directory.Build.props`](https://github.com/getsentry/sentry-dotnet/blob/369de600bace8b771e368dca21b8880e552aa1a5/Directory.Build.props#L104) | `3.4.3` | `3.4.3` \| NuGet package CLI binary download | +| `getsentry/sentry-fastlane-plugin` | [`script/sentry-cli.properties`](https://github.com/getsentry/sentry-fastlane-plugin/blob/591cb0e39fa89ecac44cadc20f775cc3b7623275/script/sentry-cli.properties#L2) | `3.4.3` | `3.4.3` \| Fastlane plugin CLI downloader | +| `getsentry/sentry-javascript` | [`packages/react-router/package.json`](https://github.com/getsentry/sentry-javascript/blob/2ae69d8b8e5eb57c69b0656288fc64b23e99b5d7/packages/react-router/package.json#L53) | `^2.58.6` | dependency: `"@sentry/cli": "^2.58.6"` | +| `getsentry/sentry-javascript` | [`packages/remix/package.json`](https://github.com/getsentry/sentry-javascript/blob/2ae69d8b8e5eb57c69b0656288fc64b23e99b5d7/packages/remix/package.json#L71) | `^2.58.6` | dependency: `"@sentry/cli": "^2.58.6"` | +| `getsentry/sentry-javascript-bundler-plugins` | [`packages/bundler-plugin-core/package.json`](https://github.com/getsentry/sentry-javascript-bundler-plugins/blob/1099a5fb048595e45a14496f67b55bbb8a950fb9/packages/bundler-plugin-core/package.json#L57) | `^2.58.6` | dependency: `"@sentry/cli": "^2.58.5"` | +| `getsentry/sentry-maven-plugin` | [`sentry-cli.properties`](https://github.com/getsentry/sentry-maven-plugin/blob/120b17d2c1760639d122f9df1193f3bff9f7a266/sentry-cli.properties#L2) | `3.3.0` | `3.3.0` \| Maven plugin CLI downloader | +| `getsentry/sentry-react-native` | [`.github/workflows/e2e-v2.yml`](https://github.com/getsentry/sentry-react-native/blob/dc9765dc655878859a489a76712a3984972e62c0/.github/workflows/e2e-v2.yml#L123) | `unpinned / supplied by environment` | CI install: `npm i -g react-native-cli @sentry/cli` | +| `getsentry/sentry-react-native` | [`package.json`](https://github.com/getsentry/sentry-react-native/blob/89241951bce9e3f03fc362a83bee32f8ea3db724/package.json#L33) | `3.4.3` | root dependency: `"@sentry/cli": "3.4.3"` | +| `getsentry/sentry-react-native` | [`packages/core/package.json`](https://github.com/getsentry/sentry-react-native/blob/eb93136bf3342a029dec25eba5cc871a8007a458/packages/core/package.json#L78) | `3.4.3` | package dependency: `"@sentry/cli": "3.4.3"` | +| `getsentry/sentry-react-native` | [`packages/expo-upload-sourcemaps/package.json`](https://github.com/getsentry/sentry-react-native/blob/153d0a2417f5c88ba392be5a034a148e4beca600/packages/expo-upload-sourcemaps/package.json#L30) | `3.4.3` | package dependency: `"@sentry/cli": "3.4.3"` | +| `getsentry/sentry-unity` | [`modules/sentry-cli.properties`](https://github.com/getsentry/sentry-unity/blob/3d7e9c6d94abe05c3a67283f239e9ce3015f9f55/modules/sentry-cli.properties#L2) | `3.4.3` | `3.4.3` \| Unity CLI downloader | +| `getsentry/sentry-unreal` | [`plugin-dev/sentry-cli.properties`](https://github.com/getsentry/sentry-unreal/blob/8eeed3826c577f73fe2bf6689e969f2b97b3bbc9/plugin-dev/sentry-cli.properties#L2) | `3.4.3` | `3.4.3` \| Unreal plugin CLI downloader | +| `getsentry/sentry-wizard` | [`lib/Helper/SentryCli.ts`](https://github.com/getsentry/sentry-wizard/blob/6f81c62fb6d63c93447c1850530aa7386c4ac116/lib/Helper/SentryCli.ts#L38) | `not pinned here` | resolves @sentry/cli/bin/sentry-cli | +| `getsentry/sentry-wizard` | [`src/sourcemaps/tools/sentry-cli.ts`](https://github.com/getsentry/sentry-wizard/blob/master/src/sourcemaps/tools/sentry-cli.ts#L38) | `^2` | installs/uses @sentry/cli for sourcemaps | +| `getsentry/unreal-tower` | [`Plugins/Sentry/sentry-cli.properties`](https://github.com/getsentry/unreal-tower/blob/66f1be33767a25a5a5ed938340de80089cba564f/Plugins/Sentry/sentry-cli.properties#L2) | `3.4.2` | `3.4.2` \| Unreal plugin sample/project copy | +| `getsentry/wif` | [`package.json`](https://github.com/getsentry/wif/blob/49dc995d43365a9e87c18c886f59acdd2706164f/package.json#L40) | `^3.2.0` | dev dependency: `"@sentry/cli": "^3.2.0"` | +| `getsentry/wif` | [`pnpm-lock.yaml`](https://github.com/getsentry/wif/blob/062283018991065e1ba45579da3ec5b2f100dfa6/pnpm-lock.yaml#L60) | `3.2.0` | `3.2.0` | + +## Lockfile-only or package-manager metadata consumers + +| Repo | Location | Version/pin | Notes | +| --- | --- | --- | --- | +| `getsentry/abacus` | [`package.json`](https://github.com/getsentry/abacus/blob/7470f28ff274c22658497684f17f5e1c67dac6e2/package.json#L53) | `not pinned in this metadata` | pnpm `onlyBuiltDependencies`: `@sentry/cli` | +| `getsentry/abacus` | [`pnpm-lock.yaml`](https://github.com/getsentry/abacus/blob/7470f28ff274c22658497684f17f5e1c67dac6e2/pnpm-lock.yaml#L1507) | `2.58.4` | locked transitive version: `2.58.4` | +| `getsentry/cli` | [`docs/pnpm-lock.yaml`](https://github.com/getsentry/cli/blob/c06454796ab615ab6b7e732287d9debad5286c19/docs/pnpm-lock.yaml#L1014) | `2.58.6` | locked transitive version: `2.58.6` | +| `getsentry/courses-app-sentry-nextjs` | [`package-lock.json`](https://github.com/getsentry/courses-app-sentry-nextjs/blob/a7febf92421fa1890145be704b7115885b39edbe/package-lock.json#L2783) | `2.42.2` | locked transitive version: `2.42.2` | +| `getsentry/craft` | [`pnpm-lock.yaml`](https://github.com/getsentry/craft/blob/2662e81254403b708b6e5c33867023970065637d/pnpm-lock.yaml#L1380) | `2.39.1` | locked transitive version: `2.39.1` | +| `getsentry/dev-hub` | [`pnpm-lock.yaml`](https://github.com/getsentry/dev-hub/blob/465e06f8b68412c0b7480418b38a4299c7ac504f/pnpm-lock.yaml#L3424) | `2.33.1` | locked transitive version: `2.33.1` | +| `getsentry/downtime-simulator` | [`pnpm-lock.yaml`](https://github.com/getsentry/downtime-simulator/blob/ab161aafb77539c9801ee4d058bd807bdfac683b/pnpm-lock.yaml#L1343) | `2.51.1` | locked transitive version: `2.51.1` | +| `getsentry/error-generator` | [`pnpm-lock.yaml`](https://github.com/getsentry/error-generator/blob/76cdcaa4f90466c2bc611cd15f2b9cb449b4edf5/pnpm-lock.yaml#L829) | `2.42.2` | locked transitive version: `2.42.2` | +| `getsentry/frontend-tutorial` | [`package-lock.json`](https://github.com/getsentry/frontend-tutorial/blob/ce68e195fa626706a710d200dda3a14e7fdb8614/package-lock.json#L1982) | `^2.22.3` | locked transitive range: `^2.22.3` | +| `getsentry/gib-potato` | [`package-lock.json`](https://github.com/getsentry/gib-potato/blob/eaeed62564be96a033f2cabb5d43ad7751ac11ec/package-lock.json#L1456) | `^2.57.0` | locked transitive range: `^2.57.0` | +| `getsentry/hackweek-wtfy` | [`pnpm-lock.yaml`](https://github.com/getsentry/hackweek-wtfy/blob/ea9d2d19adacb1d55af846a33c959f27979e7f7c/pnpm-lock.yaml#L1058) | `2.52.0` | locked transitive version: `2.52.0` | +| `getsentry/llm-manual-agent-monitoring-example` | [`package-lock.json`](https://github.com/getsentry/llm-manual-agent-monitoring-example/blob/d9d17324edac72078b75a52d9a24b8d50e7ebd18/package-lock.json#L2232) | `^2.51.0` | locked transitive range: `^2.51.0` | +| `getsentry/llm-manual-agent-monitoring-example` | [`pnpm-lock.yaml`](https://github.com/getsentry/llm-manual-agent-monitoring-example/blob/d9d17324edac72078b75a52d9a24b8d50e7ebd18/pnpm-lock.yaml#L784) | `2.57.0` | locked transitive version: `2.57.0` | +| `getsentry/nextjs-conf-scheduler` | [`pnpm-lock.yaml`](https://github.com/getsentry/nextjs-conf-scheduler/blob/08309fb1442b5cd4471c787a67dd0d8654b40b49/pnpm-lock.yaml#L1858) | `2.58.5` | locked transitive version: `2.58.5` | +| `getsentry/nextjs-conf-scheduler` | [`pnpm-workspace.yaml`](https://github.com/getsentry/nextjs-conf-scheduler/blob/d2d9b817a8a29211138aa77605aab61930070655/pnpm-workspace.yaml#L6) | `not pinned in this metadata` | pnpm `onlyBuiltDependencies`: `@sentry/cli` | +| `getsentry/nextjs-spotlight-test` | [`package-lock.json`](https://github.com/getsentry/nextjs-spotlight-test/blob/a0cf15d5311cc3d91ca9ea702b564bc38a3df1d2/package-lock.json#L2077) | `2.39.1` | locked transitive version: `2.39.1` | +| `getsentry/nextjs-spotlight-test` | [`pnpm-lock.yaml`](https://github.com/getsentry/nextjs-spotlight-test/blob/a0cf15d5311cc3d91ca9ea702b564bc38a3df1d2/pnpm-lock.yaml#L737) | `2.39.1` | locked transitive version: `2.39.1` | +| `getsentry/sentry` | [`package.json`](https://github.com/getsentry/sentry/blob/b8f1a9033de464e100069f8d036b923dc8ad674d/package.json#L327) | `not pinned in this metadata` | pnpm `onlyBuiltDependencies`: `@sentry/cli` | +| `getsentry/sentry-build-academy-guide` | [`pnpm-lock.yaml`](https://github.com/getsentry/sentry-build-academy-guide/blob/39fc0c4a837606b01e56db6b968579f42a394649/pnpm-lock.yaml#L835) | `2.39.1` | locked transitive version: `2.39.1` | +| `getsentry/sentry-build-ai-workshop-guide` | [`package-lock.json`](https://github.com/getsentry/sentry-build-ai-workshop-guide/blob/c9579515e1ff5f06efedecefca08cb5f6603a084/package-lock.json#L2618) | `2.39.1` | locked transitive version: `2.39.1` | +| `getsentry/sentry-build-ai-workshop-guide` | [`pnpm-lock.yaml`](https://github.com/getsentry/sentry-build-ai-workshop-guide/blob/8efa6ef57ae482a8188fdc893e581196328cd8f3/pnpm-lock.yaml#L942) | `2.39.1` | locked transitive version: `2.39.1` | +| `getsentry/sentry-build-frontend-performance-workshop-guide` | [`pnpm-lock.yaml`](https://github.com/getsentry/sentry-build-frontend-performance-workshop-guide/blob/ea6a60013f81e76c7b398bb6e0ac184a3d95a1dc/pnpm-lock.yaml#L982) | `2.39.1` | locked transitive version: `2.39.1` | +| `getsentry/sentry-build-otlp-workshop` | [`frontend/package-lock.json`](https://github.com/getsentry/sentry-build-otlp-workshop/blob/e01b3b707da4142f9c66bfcd4ce78d3bb000d484/frontend/package-lock.json#L1416) | `^2.57.0` | locked transitive range: `^2.57.0` | +| `getsentry/sentry-build-otlp-workshop-guide` | [`pnpm-lock.yaml`](https://github.com/getsentry/sentry-build-otlp-workshop-guide/blob/39fc0c4a837606b01e56db6b968579f42a394649/pnpm-lock.yaml#L835) | `2.39.1` | locked transitive version: `2.39.1` | +| `getsentry/sentry-changelog` | [`pnpm-workspace.yaml`](https://github.com/getsentry/sentry-changelog/blob/6c211c5eb103b9d3f09547b481d6e7a9fb75b6c8/pnpm-workspace.yaml#L5) | `not pinned in this metadata` | pnpm build approval / workspace config includes `@sentry/cli` | +| `getsentry/sentry-crons-examples` | [`typescript/next/crons-nextjs-example/package-lock.json`](https://github.com/getsentry/sentry-crons-examples/blob/54d0d1bf37469879da2bdce0e47d0c2a02775e20/typescript/next/crons-nextjs-example/package-lock.json#L2502) | `^2.49.0` | locked transitive range: `^2.49.0` | +| `getsentry/sentry-docs` | [`package.json`](https://github.com/getsentry/sentry-docs/blob/282ae846a517f68d53f4e9b460dc8a9524d9a4a8/package.json#L186) | `not pinned in this metadata` | pnpm `onlyBuiltDependencies`: `@sentry/cli` | +| `getsentry/sentry-toolbar` | [`pnpm-workspace.yaml`](https://github.com/getsentry/sentry-toolbar/blob/09593d8e412259b87ef1fcc545ede4f4f8a4f4f3/pnpm-workspace.yaml#L2) | `not pinned in this metadata` | pnpm workspace entry includes `@sentry/cli` | +| `getsentry/vanguard` | [`pnpm-lock.yaml`](https://github.com/getsentry/vanguard/blob/30ddb7e9640e1083b183fec461835ff2ba9c8d93/pnpm-lock.yaml#L2006) | `2.58.5` | locked transitive version: `2.58.5` | + +## Dynamic CLI invocations without repo-pinned versions + +| Repo | Location | Version/pin | Notes | +| --- | --- | --- | --- | +| `getsentry/app-runner` | [`sentry-api-client/Public/Get-SentryCLI.ps1`](https://github.com/getsentry/app-runner/blob/21dd249834a685f00ffed4a1fc3bd24a86bcc16f/sentry-api-client/Public/Get-SentryCLI.ps1#L68) | `unpinned / supplied by environment` | Defaults to downloading `latest`; callers can pass a version | +| `getsentry/app-runner` | [`sentry-api-client/Public/Invoke-SentryCLI.ps1`](https://github.com/getsentry/app-runner/blob/21dd249834a685f00ffed4a1fc3bd24a86bcc16f/sentry-api-client/Public/Invoke-SentryCLI.ps1#L27) | `unpinned / supplied by environment` | Defaults to `system`; callers can pass `latest` or a semantic version | +| `getsentry/relay` | [`Makefile`](https://github.com/getsentry/relay/blob/9ac6973a83f7791378ddbc0a935a003c4047615e/Makefile#L36) | `unpinned / supplied by environment` | Invokes `sentry-cli` from `PATH` | +| `getsentry/sentry-mobile-release-health-app` | [`ios/fastlane/Fastfile`](https://github.com/getsentry/sentry-mobile-release-health-app/blob/2fb61b008ecf1e3daed11ef8cdfc78a233127b07/ios/fastlane/Fastfile#L119) | `unpinned / supplied by environment` | Invokes `sentry-cli` from `PATH` | +| `getsentry/symbolicator` | [`scripts/create-sentry-release`](https://github.com/getsentry/symbolicator/blob/7d3d31ae3be6b2b70cf5d6cfc74ffda65b647462/scripts/create-sentry-release#L22) | `unpinned / supplied by environment` | Invokes `sentry-cli` from `PATH` | +| `getsentry/uptime-checker` | [`scripts/upload-debug-symbols`](https://github.com/getsentry/uptime-checker/blob/f4ac242d6c6a69e1a65e6288cf00c3c5cd1e4af0/scripts/upload-debug-symbols#L33) | `unpinned / supplied by environment` | Invokes `sentry-cli` from `PATH` | + +## Fixtures, samples, metadata, and source package + +| Repo | Location | Version/pin | Notes | +| --- | --- | --- | --- | +| `getsentry/sentinel` | [`tests/fixtures/sample-code/Dockerfile`](https://github.com/getsentry/sentinel/blob/4d6ea0c933650cc830f6c0766b36c0fef724256a/tests/fixtures/sample-code/Dockerfile#L29) | `unpinned / supplied by environment` | sample code installs `@sentry/cli` globally | +| `getsentry/sentinel` | [`tests/fixtures/sample-code/Makefile`](https://github.com/getsentry/sentinel/blob/4d6ea0c933650cc830f6c0766b36c0fef724256a/tests/fixtures/sample-code/Makefile#L166) | `unpinned / supplied by environment` | sample code installs `@sentry/cli` globally | +| `getsentry/sentinel` | [`tests/fixtures/sample-code/example.sh`](https://github.com/getsentry/sentinel/blob/4d6ea0c933650cc830f6c0766b36c0fef724256a/tests/fixtures/sample-code/example.sh#L82) | `unpinned / supplied by environment` | sample install instruction for `@sentry/cli` | +| `getsentry/sentry-cli` | [`package.json`](https://github.com/getsentry/sentry-cli/blob/ee5286953ea3b7e419e017c3c47f64e26a45ff19/package.json#L2) | `source package` | source npm package `@sentry/cli`; platform packages are declared in the same manifest | diff --git a/docs/snapshots/2026-05-27-sentry-cli-consumers/build-snapshot.py b/docs/snapshots/2026-05-27-sentry-cli-consumers/build-snapshot.py new file mode 100755 index 0000000000..86198be0d2 --- /dev/null +++ b/docs/snapshots/2026-05-27-sentry-cli-consumers/build-snapshot.py @@ -0,0 +1,14 @@ +#!/usr/bin/env python3 +from pathlib import Path +import re + +base = Path(__file__).parent +checklist = base / 'checklist.md' +snapshot = base.parent / '2026-05-28-sentry-cli-consumers.md' + +repos = re.findall(r'`(getsentry/[^`]+)`', checklist.read_text()) +text = snapshot.read_text() +missing = [r for r in repos if f'`{r}`' not in text] +if missing: + raise SystemExit('missing repos: ' + ', '.join(missing)) +print(f'ok: {len(repos)} repos covered in {snapshot.name}') diff --git a/docs/snapshots/2026-05-27-sentry-cli-consumers/inventory-01-first.md b/docs/snapshots/2026-05-27-sentry-cli-consumers/inventory-01-first.md new file mode 100644 index 0000000000..3d00c2f219 --- /dev/null +++ b/docs/snapshots/2026-05-27-sentry-cli-consumers/inventory-01-first.md @@ -0,0 +1,73 @@ +# Sentry CLI consumers in `getsentry` + +## Method + +This list is based on public GitHub code search for `@sentry/cli`, targeted checks for `sentry-cli` binary usage, and the consumers found while preparing the 2.x and 3.x update plans. Links use commit-pinned GitHub URLs. + +Excluded: documentation-only examples and changelog mentions unless the file installs or declares Sentry CLI. + +## Direct package, installer, or binary consumers + +| Repo | Location | How Sentry CLI is pulled in | +| --- | --- | --- | +| `getsentry/action-release` | [`package.json`](https://github.com/getsentry/action-release/blob/6057f7e45acda771603cde6e19e0fe30310566e8/package.json#L32) | npm dependency: `"@sentry/cli": "^2.58.4"` | +| `getsentry/action-release` | [`action.yml`](https://github.com/getsentry/action-release/blob/6057f7e45acda771603cde6e19e0fe30310566e8/action.yml#L205) | runtime install: `npm install --no-package-lock @sentry/cli@^2.4` | +| `getsentry/eng-pipes` | [`package.json`](https://github.com/getsentry/eng-pipes/blob/32ffc46499bbb7c9d2db2235fc5b6ed34455d33e/package.json#L74) | dev dependency: `"@sentry/cli": "^2.20.1"` | +| `getsentry/plausible-mcp` | [`package.json`](https://github.com/getsentry/plausible-mcp/blob/2e0b3749a62cbdc673a178e809c2d828236b68f0/package.json#L36) | dev dependency: `"@sentry/cli": "^2"` | +| `getsentry/sentry-capacitor` | [`example/ionic-vue3/package.json`](https://github.com/getsentry/sentry-capacitor/blob/91e84dbf897fe93ac7047dc11745bbe3d7c73a88/example/ionic-vue3/package.json#L31) | dependency: `"@sentry/cli": "^2.58.4"` | +| `getsentry/sentry-capacitor` | [`example/ionic-angular-v7/package.json`](https://github.com/getsentry/sentry-capacitor/blob/91e84dbf897fe93ac7047dc11745bbe3d7c73a88/example/ionic-angular-v7/package.json#L32) | dev dependency: `"@sentry/cli": "^2.21.2"` | +| `getsentry/sentry-capacitor` | [`example/ionic-angular-v8/package.json`](https://github.com/getsentry/sentry-capacitor/blob/91e84dbf897fe93ac7047dc11745bbe3d7c73a88/example/ionic-angular-v8/package.json#L32) | dev dependency: `"@sentry/cli": "^2.21.2"` | +| `getsentry/sentry-javascript` | [`packages/remix/package.json`](https://github.com/getsentry/sentry-javascript/blob/0a8adc4f67dcb4eedbc4a5454dad49a0d9d5305d/packages/remix/package.json#L71) | dependency: `"@sentry/cli": "^2.58.6"` | +| `getsentry/sentry-javascript` | [`packages/react-router/package.json`](https://github.com/getsentry/sentry-javascript/blob/0a8adc4f67dcb4eedbc4a5454dad49a0d9d5305d/packages/react-router/package.json#L53) | dependency: `"@sentry/cli": "^2.58.6"` | +| `getsentry/sentry-javascript-bundler-plugins` | [`packages/bundler-plugin-core/package.json`](https://github.com/getsentry/sentry-javascript-bundler-plugins/blob/ac484d82fd9f3259d58acc421b4971dd4e5b46ce/packages/bundler-plugin-core/package.json#L57) | dependency: `"@sentry/cli": "^2.58.5"` | +| `getsentry/sentry-react-native` | [`package.json`](https://github.com/getsentry/sentry-react-native/blob/89241951bce9e3f03fc362a83bee32f8ea3db724/package.json#L33) | root dependency: `"@sentry/cli": "3.4.3"` | +| `getsentry/sentry-react-native` | [`packages/core/package.json`](https://github.com/getsentry/sentry-react-native/blob/89241951bce9e3f03fc362a83bee32f8ea3db724/packages/core/package.json#L78) | package dependency: `"@sentry/cli": "3.4.3"` | +| `getsentry/sentry-react-native` | [`packages/expo-upload-sourcemaps/package.json`](https://github.com/getsentry/sentry-react-native/blob/89241951bce9e3f03fc362a83bee32f8ea3db724/packages/expo-upload-sourcemaps/package.json#L30) | package dependency: `"@sentry/cli": "3.4.3"` | +| `getsentry/sentry-react-native` | [`.github/workflows/e2e-v2.yml`](https://github.com/getsentry/sentry-react-native/blob/89241951bce9e3f03fc362a83bee32f8ea3db724/.github/workflows/e2e-v2.yml#L123) | CI install: `npm i -g react-native-cli @sentry/cli` | +| `getsentry/wif` | [`package.json`](https://github.com/getsentry/wif/blob/c176c82f0bfbb1f9a9d8168870b5cbd645162d13/package.json#L46) | dev dependency: `"@sentry/cli": "^3.2.0"` | +| `getsentry/sentry-dart-plugin` | [`lib/src/cli/_sources.dart`](https://github.com/getsentry/sentry-dart-plugin/blob/cafaabeb46b96991dd2899c5f8fb127ec0083815/lib/src/cli/_sources.dart#L7) | hardcoded Sentry CLI binary source version: `2.52.0` | + +## Lockfile-only or transitive consumers + +These repos have Sentry CLI in lockfiles or package-manager build-approval config, but no direct `@sentry/cli` dependency declaration was found in the searched manifest files. + +| Repo | Location | Locked or configured Sentry CLI reference | +| --- | --- | --- | +| `getsentry/abacus` | [`package.json`](https://github.com/getsentry/abacus/blob/3e2f98567e1a59ecb92e1b925c5d70eeda9cd2c0/package.json#L53) | pnpm `onlyBuiltDependencies`: `@sentry/cli` | +| `getsentry/abacus` | [`pnpm-lock.yaml`](https://github.com/getsentry/abacus/blob/3e2f98567e1a59ecb92e1b925c5d70eeda9cd2c0/pnpm-lock.yaml#L6001) | locked transitive version: `2.58.4` | +| `getsentry/cli` | [`docs/pnpm-lock.yaml`](https://github.com/getsentry/cli/blob/d9bcd70eaa467fb3ddf591bfbfb0686fd1e9c016/docs/pnpm-lock.yaml#L3519) | locked transitive version: `2.58.6` | +| `getsentry/courses-app-sentry-nextjs` | [`package-lock.json`](https://github.com/getsentry/courses-app-sentry-nextjs/blob/78e88e515f6527ce0837dea784c2ba73767ff3b7/package-lock.json#L2783) | locked transitive version: `2.42.2` | +| `getsentry/craft` | [`pnpm-lock.yaml`](https://github.com/getsentry/craft/blob/a4e09a4a6729260c5067688601105de2765eac9e/pnpm-lock.yaml#L4501) | locked transitive version: `2.39.1` | +| `getsentry/dev-hub` | [`pnpm-lock.yaml`](https://github.com/getsentry/dev-hub/blob/487c13db2eb104139b57f891c69ccc3df13fe08e/pnpm-lock.yaml#L3424) | locked transitive version: `2.33.1` | +| `getsentry/downtime-simulator` | [`pnpm-lock.yaml`](https://github.com/getsentry/downtime-simulator/blob/91dd5ff12893e633416ed13f91ac3364506bbec0/pnpm-lock.yaml#L5227) | locked transitive version: `2.51.1` | +| `getsentry/error-generator` | [`pnpm-lock.yaml`](https://github.com/getsentry/error-generator/blob/76cdcaa4f90466c2bc611cd15f2b9cb449b4edf5/pnpm-lock.yaml#L3908) | locked transitive version: `2.42.2` | +| `getsentry/frontend-tutorial` | [`package-lock.json`](https://github.com/getsentry/frontend-tutorial/blob/ce68e195fa626706a710d200dda3a14e7fdb8614/package-lock.json#L1982) | locked transitive range: `^2.22.3` | +| `getsentry/gib-potato` | [`package-lock.json`](https://github.com/getsentry/gib-potato/blob/eaeed62564be96a033f2cabb5d43ad7751ac11ec/package-lock.json#L1456) | locked transitive range: `^2.57.0` | +| `getsentry/hackweek-wtfy` | [`pnpm-lock.yaml`](https://github.com/getsentry/hackweek-wtfy/blob/dee2c41b69a4988d17ea6414011abdda1d45700c/pnpm-lock.yaml#L3927) | locked transitive version: `2.52.0` | +| `getsentry/llm-manual-agent-monitoring-example` | [`package-lock.json`](https://github.com/getsentry/llm-manual-agent-monitoring-example/blob/f8b07771aa05a9638de242b5c3a4075307a781ef/package-lock.json#L2232) | locked transitive range: `^2.51.0` | +| `getsentry/llm-manual-agent-monitoring-example` | [`pnpm-lock.yaml`](https://github.com/getsentry/llm-manual-agent-monitoring-example/blob/f8b07771aa05a9638de242b5c3a4075307a781ef/pnpm-lock.yaml#L3572) | locked transitive version: `2.57.0` | +| `getsentry/nextjs-conf-scheduler` | [`pnpm-workspace.yaml`](https://github.com/getsentry/nextjs-conf-scheduler/blob/cdae1135e0823015c29f6a442a166511e4787dee/pnpm-workspace.yaml#L6) | pnpm `onlyBuiltDependencies`: `@sentry/cli` | +| `getsentry/nextjs-conf-scheduler` | [`pnpm-lock.yaml`](https://github.com/getsentry/nextjs-conf-scheduler/blob/cdae1135e0823015c29f6a442a166511e4787dee/pnpm-lock.yaml#L6416) | locked transitive version: `2.58.5` | +| `getsentry/nextjs-spotlight-test` | [`package-lock.json`](https://github.com/getsentry/nextjs-spotlight-test/blob/43ea0d57a7a0b1817ebeb01943e82f021ebdd9fb/package-lock.json#L2077) | locked transitive version: `2.39.1` | +| `getsentry/nextjs-spotlight-test` | [`pnpm-lock.yaml`](https://github.com/getsentry/nextjs-spotlight-test/blob/43ea0d57a7a0b1817ebeb01943e82f021ebdd9fb/pnpm-lock.yaml#L3443) | locked transitive version: `2.39.1` | +| `getsentry/sentry` | [`package.json`](https://github.com/getsentry/sentry/blob/787eb059f6796b09ffd80630c08d37a98c7b4087/package.json#L327) | pnpm `onlyBuiltDependencies`: `@sentry/cli` | +| `getsentry/sentry-build-academy-guide` | [`pnpm-lock.yaml`](https://github.com/getsentry/sentry-build-academy-guide/blob/ecf86b80e554739411279e16b7c8dc7fa81bc26e/pnpm-lock.yaml#L3728) | locked transitive version: `2.39.1` | +| `getsentry/sentry-build-ai-workshop-guide` | [`package-lock.json`](https://github.com/getsentry/sentry-build-ai-workshop-guide/blob/9f95c66995bc20cebd5a1b0a90f1f422c5a3a1ff/package-lock.json#L2618) | locked transitive version: `2.39.1` | +| `getsentry/sentry-build-ai-workshop-guide` | [`pnpm-lock.yaml`](https://github.com/getsentry/sentry-build-ai-workshop-guide/blob/9f95c66995bc20cebd5a1b0a90f1f422c5a3a1ff/pnpm-lock.yaml#L4856) | locked transitive version: `2.39.1` | +| `getsentry/sentry-build-frontend-performance-workshop-guide` | [`pnpm-lock.yaml`](https://github.com/getsentry/sentry-build-frontend-performance-workshop-guide/blob/01309ebad3f3c7a27be9da89657a973818343d46/pnpm-lock.yaml#L4996) | locked transitive version: `2.39.1` | +| `getsentry/sentry-build-otlp-workshop` | [`frontend/package-lock.json`](https://github.com/getsentry/sentry-build-otlp-workshop/blob/0d834a695e55e012c41e296f13a8e29cc533c2dd/frontend/package-lock.json#L1416) | locked transitive range: `^2.57.0` | +| `getsentry/sentry-build-otlp-workshop-guide` | [`pnpm-lock.yaml`](https://github.com/getsentry/sentry-build-otlp-workshop-guide/blob/61fef6c88f6f89322b2a9a54f36c09da8c706a71/pnpm-lock.yaml#L3728) | locked transitive version: `2.39.1` | +| `getsentry/sentry-crons-examples` | [`typescript/next/crons-nextjs-example/package-lock.json`](https://github.com/getsentry/sentry-crons-examples/blob/b2657f2a3f330d5db1c50fae1cdc060524d16d8b/typescript/next/crons-nextjs-example/package-lock.json#L2502) | locked transitive range: `^2.49.0` | +| `getsentry/sentry-docs` | [`package.json`](https://github.com/getsentry/sentry-docs/blob/2b7aa069a989fc80432a9f8adb48f067e9dd0cfd/package.json#L186) | pnpm `onlyBuiltDependencies`: `@sentry/cli` | +| `getsentry/vanguard` | [`pnpm-lock.yaml`](https://github.com/getsentry/vanguard/blob/30ddb7e9640e1083b183fec461835ff2ba9c8d93/pnpm-lock.yaml#L5650) | locked transitive version: `2.58.5` | +| `getsentry/sentry-changelog` | [`pnpm-workspace.yaml`](https://github.com/getsentry/sentry-changelog/blob/dd8bc4da7e3c609ae2f7e6ec7391cba30f000ee8/pnpm-workspace.yaml#L5) | pnpm build approval / workspace config includes `@sentry/cli` | +| `getsentry/sentry-toolbar` | [`pnpm-workspace.yaml`](https://github.com/getsentry/sentry-toolbar/blob/fdd7980ee54f198586758fa83e0d2875e95a008d/pnpm-workspace.yaml#L2) | pnpm workspace entry includes `@sentry/cli` | + +## Fixtures, samples, and the source package + +| Repo | Location | Reference | +| --- | --- | --- | +| `getsentry/sentinel` | [`tests/fixtures/sample-code/Dockerfile`](https://github.com/getsentry/sentinel/blob/1b44ca947aa685b90b882013bfaea691a5358f8e/tests/fixtures/sample-code/Dockerfile#L29) | sample code installs `@sentry/cli` globally | +| `getsentry/sentinel` | [`tests/fixtures/sample-code/Makefile`](https://github.com/getsentry/sentinel/blob/1b44ca947aa685b90b882013bfaea691a5358f8e/tests/fixtures/sample-code/Makefile#L166) | sample code installs `@sentry/cli` globally | +| `getsentry/sentinel` | [`tests/fixtures/sample-code/example.sh`](https://github.com/getsentry/sentinel/blob/1b44ca947aa685b90b882013bfaea691a5358f8e/tests/fixtures/sample-code/example.sh#L82) | sample install instruction for `@sentry/cli` | +| `getsentry/sentry-cli` | [`package.json`](https://github.com/getsentry/sentry-cli/blob/49f87258d9a38b1ac3ba9e91051387905239e1c7/package.json#L2) | source npm package `@sentry/cli`; platform packages are declared in the same manifest | diff --git a/docs/snapshots/2026-05-27-sentry-cli-consumers/inventory-02-second.md b/docs/snapshots/2026-05-27-sentry-cli-consumers/inventory-02-second.md new file mode 100644 index 0000000000..2fc231f722 --- /dev/null +++ b/docs/snapshots/2026-05-27-sentry-cli-consumers/inventory-02-second.md @@ -0,0 +1,92 @@ +# Sentry CLI consumers found in `getsentry` + +Scope: public `getsentry` repositories accessible through GitHub code search. I omitted documentation-only references, `getsentry/sentry-cli` itself, and `getsentry/sentry-release-registry` historical release metadata. + +## Direct package-manager dependencies + +| Repo | Location | Version/pin found | Notes | +| --- | --- | --- | --- | +| `getsentry/sentry-javascript` | [`packages/remix/package.json`](https://github.com/getsentry/sentry-javascript/blob/0a8adc4f67dcb4eedbc4a5454dad49a0d9d5305d/packages/remix/package.json#L71) | `^2.58.6` | Runtime dependency | +| `getsentry/sentry-javascript` | [`packages/react-router/package.json`](https://github.com/getsentry/sentry-javascript/blob/0a8adc4f67dcb4eedbc4a5454dad49a0d9d5305d/packages/react-router/package.json#L53) | `^2.58.6` | Runtime dependency | +| `getsentry/sentry-javascript-bundler-plugins` | [`packages/bundler-plugin-core/package.json`](https://github.com/getsentry/sentry-javascript-bundler-plugins/blob/ac484d82fd9f3259d58acc421b4971dd4e5b46ce/packages/bundler-plugin-core/package.json#L57) | `^2.58.5` | Runtime dependency | +| `getsentry/action-release` | [`package.json`](https://github.com/getsentry/action-release/blob/6057f7e45acda771603cde6e19e0fe30310566e8/package.json#L32) | `^2.58.4` | Runtime dependency | +| `getsentry/eng-pipes` | [`package.json`](https://github.com/getsentry/eng-pipes/blob/32ffc46499bbb7c9d2db2235fc5b6ed34455d33e/package.json#L74) | `^2.20.1` | Dev dependency | +| `getsentry/plausible-mcp` | [`package.json`](https://github.com/getsentry/plausible-mcp/blob/2e0b3749a62cbdc673a178e809c2d828236b68f0/package.json#L36) | `^2` | Dev dependency | +| `getsentry/sentry-capacitor` | [`example/ionic-vue3/package.json`](https://github.com/getsentry/sentry-capacitor/blob/91e84dbf897fe93ac7047dc11745bbe3d7c73a88/example/ionic-vue3/package.json#L31) | `^2.58.4` | Example app dependency | +| `getsentry/sentry-capacitor` | [`example/ionic-angular-v7/package.json`](https://github.com/getsentry/sentry-capacitor/blob/91e84dbf897fe93ac7047dc11745bbe3d7c73a88/example/ionic-angular-v7/package.json#L32) | `^2.21.2` | Example app dev dependency | +| `getsentry/sentry-capacitor` | [`example/ionic-angular-v8/package.json`](https://github.com/getsentry/sentry-capacitor/blob/91e84dbf897fe93ac7047dc11745bbe3d7c73a88/example/ionic-angular-v8/package.json#L32) | `^2.21.2` | Example app dev dependency | +| `getsentry/sentry-react-native` | [`package.json`](https://github.com/getsentry/sentry-react-native/blob/89241951bce9e3f03fc362a83bee32f8ea3db724/package.json#L33) | `3.4.3` | Root package dependency | +| `getsentry/sentry-react-native` | [`packages/core/package.json`](https://github.com/getsentry/sentry-react-native/blob/89241951bce9e3f03fc362a83bee32f8ea3db724/packages/core/package.json#L78) | `3.4.3` | Core package dependency | +| `getsentry/sentry-react-native` | [`packages/expo-upload-sourcemaps/package.json`](https://github.com/getsentry/sentry-react-native/blob/89241951bce9e3f03fc362a83bee32f8ea3db724/packages/expo-upload-sourcemaps/package.json#L30) | `3.4.3` | Expo upload package dependency | +| `getsentry/wif` | [`package.json`](https://github.com/getsentry/wif/blob/c176c82f0bfbb1f9a9d8168870b5cbd645162d13/package.json#L46) | `^3.2.0` | Dev dependency | + +## Non-NPM pinned CLI distribution consumers + +| Repo | Location | Version/pin found | Notes | +| --- | --- | --- | --- | +| `getsentry/sentry-dart-plugin` | [`lib/src/cli/_sources.dart`](https://github.com/getsentry/sentry-dart-plugin/blob/cafaabeb46b96991dd2899c5f8fb127ec0083815/lib/src/cli/_sources.dart#L7) | `2.52.0` | Generated binary source list | +| `getsentry/sentry-android-gradle-plugin` | [`plugin-build/sentry-cli.properties`](https://github.com/getsentry/sentry-android-gradle-plugin/blob/aa8a9d0ec255a943042593485ae38cea1d23a6cf/plugin-build/sentry-cli.properties#L1) | `3.4.3` | Gradle plugin CLI downloader | +| `getsentry/sentry-maven-plugin` | [`sentry-cli.properties`](https://github.com/getsentry/sentry-maven-plugin/blob/2ac708c27292f4bacf55ca320080e4e50f056448/sentry-cli.properties#L1) | `3.3.0` | Maven plugin CLI downloader | +| `getsentry/sentry-fastlane-plugin` | [`script/sentry-cli.properties`](https://github.com/getsentry/sentry-fastlane-plugin/blob/591cb0e39fa89ecac44cadc20f775cc3b7623275/script/sentry-cli.properties#L1) | `3.4.3` | Fastlane plugin CLI downloader | +| `getsentry/sentry-unity` | [`modules/sentry-cli.properties`](https://github.com/getsentry/sentry-unity/blob/87a73b9ab522909dbafc183ec8ddc011a73d4173/modules/sentry-cli.properties#L1) | `3.4.3` | Unity CLI downloader | +| `getsentry/sentry-unreal` | [`plugin-dev/sentry-cli.properties`](https://github.com/getsentry/sentry-unreal/blob/8eeed3826c577f73fe2bf6689e969f2b97b3bbc9/plugin-dev/sentry-cli.properties#L1) | `3.4.3` | Unreal plugin CLI downloader | +| `getsentry/unreal-tower` | [`Plugins/Sentry/sentry-cli.properties`](https://github.com/getsentry/unreal-tower/blob/66f1be33767a25a5a5ed938340de80089cba564f/Plugins/Sentry/sentry-cli.properties#L1) | `3.4.2` | Unreal plugin sample/project copy | +| `getsentry/sentry-dotnet` | [`Directory.Build.props`](https://github.com/getsentry/sentry-dotnet/blob/691f3cfe93390c41147f83029f89271c420206c3/Directory.Build.props#L103) | `3.4.3` | NuGet package CLI binary download | +| `getsentry/homebrew-tools` | [`Formula/sentry-cli.rb`](https://github.com/getsentry/homebrew-tools/blob/8167f7f8ad1b08dfc9c2c14dfc077e085e1df29d/Formula/sentry-cli.rb#L4) | `3.4.3` | Homebrew formula version | +| `getsentry/self-hosted` | [`action.yaml`](https://github.com/getsentry/self-hosted/blob/4e2c7ae8896e770f8cdfae0fca255ae7d4e782a1/action.yaml#L220) | `3.4.1` | Installer script sets `SENTRY_CLI_VERSION` | + +## Lockfile-only package-manager consumers + +These entries are lockfile pins or package-manager metadata. They may be transitive through another Sentry package rather than direct `package.json` dependencies. + +| Repo | Location | Version/pin found | +| --- | --- | --- | +| `getsentry/abacus` | [`pnpm-lock.yaml`](https://github.com/getsentry/abacus/blob/3e2f98567e1a59ecb92e1b925c5d70eeda9cd2c0/pnpm-lock.yaml#L1554) | `2.58.4` | +| `getsentry/cli` | [`docs/pnpm-lock.yaml`](https://github.com/getsentry/cli/blob/d9bcd70eaa467fb3ddf591bfbfb0686fd1e9c016/docs/pnpm-lock.yaml#L1061) | `2.58.6` | +| `getsentry/courses-app-sentry-nextjs` | [`package-lock.json`](https://github.com/getsentry/courses-app-sentry-nextjs/blob/78e88e515f6527ce0837dea784c2ba73767ff3b7/package-lock.json#L2783) | `2.42.2` | +| `getsentry/craft` | [`pnpm-lock.yaml`](https://github.com/getsentry/craft/blob/a4e09a4a6729260c5067688601105de2765eac9e/pnpm-lock.yaml#L1421) | `2.39.1` | +| `getsentry/dev-hub` | [`pnpm-lock.yaml`](https://github.com/getsentry/dev-hub/blob/487c13db2eb104139b57f891c69ccc3df13fe08e/pnpm-lock.yaml#L3424) | `2.33.1` | +| `getsentry/downtime-simulator` | [`pnpm-lock.yaml`](https://github.com/getsentry/downtime-simulator/blob/91dd5ff12893e633416ed13f91ac3364506bbec0/pnpm-lock.yaml#L1390) | `2.51.1` | +| `getsentry/error-generator` | [`pnpm-lock.yaml`](https://github.com/getsentry/error-generator/blob/76cdcaa4f90466c2bc611cd15f2b9cb449b4edf5/pnpm-lock.yaml#L870) | `2.42.2` | +| `getsentry/frontend-tutorial` | [`package-lock.json`](https://github.com/getsentry/frontend-tutorial/blob/ce68e195fa626706a710d200dda3a14e7fdb8614/package-lock.json#L1982) | `^2.22.3` | +| `getsentry/gib-potato` | [`package-lock.json`](https://github.com/getsentry/gib-potato/blob/eaeed62564be96a033f2cabb5d43ad7751ac11ec/package-lock.json#L1456) | `^2.57.0` | +| `getsentry/hackweek-wtfy` | [`pnpm-lock.yaml`](https://github.com/getsentry/hackweek-wtfy/blob/dee2c41b69a4988d17ea6414011abdda1d45700c/pnpm-lock.yaml#L1105) | `2.52.0` | +| `getsentry/llm-manual-agent-monitoring-example` | [`package-lock.json`](https://github.com/getsentry/llm-manual-agent-monitoring-example/blob/f8b07771aa05a9638de242b5c3a4075307a781ef/package-lock.json#L2232) | `^2.51.0` | +| `getsentry/llm-manual-agent-monitoring-example` | [`pnpm-lock.yaml`](https://github.com/getsentry/llm-manual-agent-monitoring-example/blob/f8b07771aa05a9638de242b5c3a4075307a781ef/pnpm-lock.yaml#L831) | `2.57.0` | +| `getsentry/nextjs-conf-scheduler` | [`pnpm-lock.yaml`](https://github.com/getsentry/nextjs-conf-scheduler/blob/cdae1135e0823015c29f6a442a166511e4787dee/pnpm-lock.yaml#L1905) | `2.58.5` | +| `getsentry/nextjs-spotlight-test` | [`package-lock.json`](https://github.com/getsentry/nextjs-spotlight-test/blob/43ea0d57a7a0b1817ebeb01943e82f021ebdd9fb/package-lock.json#L2077) | `2.39.1` | +| `getsentry/nextjs-spotlight-test` | [`pnpm-lock.yaml`](https://github.com/getsentry/nextjs-spotlight-test/blob/43ea0d57a7a0b1817ebeb01943e82f021ebdd9fb/pnpm-lock.yaml#L778) | `2.39.1` | +| `getsentry/plausible-mcp` | [`bun.lock`](https://github.com/getsentry/plausible-mcp/blob/2e0b3749a62cbdc673a178e809c2d828236b68f0/bun.lock#L15) | `^2` request, resolved later in the lockfile | +| `getsentry/sentry-build-academy-guide` | [`pnpm-lock.yaml`](https://github.com/getsentry/sentry-build-academy-guide/blob/ecf86b80e554739411279e16b7c8dc7fa81bc26e/pnpm-lock.yaml#L876) | `2.39.1` | +| `getsentry/sentry-build-ai-workshop-guide` | [`package-lock.json`](https://github.com/getsentry/sentry-build-ai-workshop-guide/blob/9f95c66995bc20cebd5a1b0a90f1f422c5a3a1ff/package-lock.json#L2618) | `2.39.1` | +| `getsentry/sentry-build-ai-workshop-guide` | [`pnpm-lock.yaml`](https://github.com/getsentry/sentry-build-ai-workshop-guide/blob/9f95c66995bc20cebd5a1b0a90f1f422c5a3a1ff/pnpm-lock.yaml#L983) | `2.39.1` | +| `getsentry/sentry-build-frontend-performance-workshop-guide` | [`pnpm-lock.yaml`](https://github.com/getsentry/sentry-build-frontend-performance-workshop-guide/blob/01309ebad3f3c7a27be9da89657a973818343d46/pnpm-lock.yaml#L1023) | `2.39.1` | +| `getsentry/sentry-build-otlp-workshop` | [`frontend/package-lock.json`](https://github.com/getsentry/sentry-build-otlp-workshop/blob/0d834a695e55e012c41e296f13a8e29cc533c2dd/frontend/package-lock.json#L1416) | `^2.57.0` | +| `getsentry/sentry-build-otlp-workshop-guide` | [`pnpm-lock.yaml`](https://github.com/getsentry/sentry-build-otlp-workshop-guide/blob/61fef6c88f6f89322b2a9a54f36c09da8c706a71/pnpm-lock.yaml#L876) | `2.39.1` | +| `getsentry/sentry-crons-examples` | [`typescript/next/crons-nextjs-example/package-lock.json`](https://github.com/getsentry/sentry-crons-examples/blob/b2657f2a3f330d5db1c50fae1cdc060524d16d8b/typescript/next/crons-nextjs-example/package-lock.json#L2502) | `^2.49.0` | +| `getsentry/vanguard` | [`pnpm-lock.yaml`](https://github.com/getsentry/vanguard/blob/30ddb7e9640e1083b183fec461835ff2ba9c8d93/pnpm-lock.yaml#L2053) | `2.58.5` | +| `getsentry/wif` | [`pnpm-lock.yaml`](https://github.com/getsentry/wif/blob/c176c82f0bfbb1f9a9d8168870b5cbd645162d13/pnpm-lock.yaml#L957) | `3.2.0` | + +## Dynamic CLI invocations without repo-pinned CLI versions + +These repos invoke `sentry-cli` or provide download helpers, but I did not find a pinned CLI version in the invocation itself. + +| Repo | Location | Behavior | +| --- | --- | --- | +| `getsentry/app-runner` | [`sentry-api-client/Public/Get-SentryCLI.ps1`](https://github.com/getsentry/app-runner/blob/fd2f57b49982597557fefa95c5915c623e1becff/sentry-api-client/Public/Get-SentryCLI.ps1#L39) | Defaults to downloading `latest`; callers can pass a version | +| `getsentry/app-runner` | [`sentry-api-client/Public/Invoke-SentryCLI.ps1`](https://github.com/getsentry/app-runner/blob/fd2f57b49982597557fefa95c5915c623e1becff/sentry-api-client/Public/Invoke-SentryCLI.ps1#L62) | Defaults to `system`; callers can pass `latest` or a semantic version | +| `getsentry/relay` | [`Makefile`](https://github.com/getsentry/relay/blob/1d9b84fb47666af09e866dd64d43617b6506ed10/Makefile#L36) | Invokes `sentry-cli` from `PATH` | +| `getsentry/uptime-checker` | [`scripts/upload-debug-symbols`](https://github.com/getsentry/uptime-checker/blob/5495026f7a2f76ed494c1cfb3a4b050104a1ae76/scripts/upload-debug-symbols#L33) | Invokes `sentry-cli` from `PATH` | +| `getsentry/symbolicator` | [`scripts/create-sentry-release`](https://github.com/getsentry/symbolicator/blob/55dd169103a2d1696f371c4ddf3de89512df8268/scripts/create-sentry-release#L22) | Invokes `sentry-cli` from `PATH` | +| `getsentry/sentry-mobile-release-health-app` | [`ios/fastlane/Fastfile`](https://github.com/getsentry/sentry-mobile-release-health-app/blob/52c8df39094c7179a1dc2d37fe88d6f980694ca7/ios/fastlane/Fastfile#L119) | Invokes `sentry-cli` from `PATH` | + +## Package-manager build-script allowlists + +These entries allow `@sentry/cli` install scripts in pnpm metadata, but they are not version pins by themselves. + +| Repo | Location | +| --- | --- | +| `getsentry/abacus` | [`package.json`](https://github.com/getsentry/abacus/blob/3e2f98567e1a59ecb92e1b925c5d70eeda9cd2c0/package.json#L53) | +| `getsentry/sentry` | [`package.json`](https://github.com/getsentry/sentry/blob/a8862f21989ee0587aeef715015e0be50ce61daf/package.json#L327) | +| `getsentry/sentry-docs` | [`package.json`](https://github.com/getsentry/sentry-docs/blob/2b7aa069a989fc80432a9f8adb48f067e9dd0cfd/package.json#L186) | +| `getsentry/wif` | [`package.json`](https://github.com/getsentry/wif/blob/c176c82f0bfbb1f9a9d8168870b5cbd645162d13/package.json#L40) | diff --git a/docs/snapshots/2026-05-27-sentry-cli-consumers/repo-checklist.md b/docs/snapshots/2026-05-27-sentry-cli-consumers/repo-checklist.md new file mode 100644 index 0000000000..3f1e4f7d72 --- /dev/null +++ b/docs/snapshots/2026-05-27-sentry-cli-consumers/repo-checklist.md @@ -0,0 +1,52 @@ +# Sentry CLI consumer snapshot checklist + +- [ ] `getsentry/abacus` +- [ ] `getsentry/action-release` +- [ ] `getsentry/app-runner` +- [ ] `getsentry/cli` +- [ ] `getsentry/courses-app-sentry-nextjs` +- [ ] `getsentry/craft` +- [ ] `getsentry/dev-hub` +- [ ] `getsentry/downtime-simulator` +- [ ] `getsentry/eng-pipes` +- [ ] `getsentry/error-generator` +- [ ] `getsentry/frontend-tutorial` +- [ ] `getsentry/gib-potato` +- [ ] `getsentry/hackweek-wtfy` +- [ ] `getsentry/homebrew-tools` +- [ ] `getsentry/llm-manual-agent-monitoring-example` +- [ ] `getsentry/nextjs-conf-scheduler` +- [ ] `getsentry/nextjs-spotlight-test` +- [ ] `getsentry/plausible-mcp` +- [ ] `getsentry/relay` +- [ ] `getsentry/self-hosted` +- [ ] `getsentry/sentinel` +- [ ] `getsentry/sentry` +- [ ] `getsentry/sentry-android-gradle-plugin` +- [ ] `getsentry/sentry-build-academy-guide` +- [ ] `getsentry/sentry-build-ai-workshop-guide` +- [ ] `getsentry/sentry-build-frontend-performance-workshop-guide` +- [ ] `getsentry/sentry-build-otlp-workshop` +- [ ] `getsentry/sentry-build-otlp-workshop-guide` +- [ ] `getsentry/sentry-capacitor` +- [ ] `getsentry/sentry-changelog` +- [ ] `getsentry/sentry-cli` +- [ ] `getsentry/sentry-crons-examples` +- [ ] `getsentry/sentry-dart-plugin` +- [ ] `getsentry/sentry-docs` +- [ ] `getsentry/sentry-dotnet` +- [ ] `getsentry/sentry-fastlane-plugin` +- [ ] `getsentry/sentry-javascript` +- [ ] `getsentry/sentry-javascript-bundler-plugins` +- [ ] `getsentry/sentry-maven-plugin` +- [ ] `getsentry/sentry-mobile-release-health-app` +- [ ] `getsentry/sentry-react-native` +- [ ] `getsentry/sentry-toolbar` +- [ ] `getsentry/sentry-unity` +- [ ] `getsentry/sentry-unreal` +- [ ] `getsentry/sentry-wizard` +- [ ] `getsentry/symbolicator` +- [ ] `getsentry/unreal-tower` +- [ ] `getsentry/uptime-checker` +- [ ] `getsentry/vanguard` +- [ ] `getsentry/wif`