Dashboard › cli › Distillation
3867bf42-8fac-441f-870b-a4cf400d6b32["lore_tm_v1__83wbD7kcisjlkUelE597nQsTR5M8b3F3IxJWatBpk0","lore_tm_v1_Jo51Msb2QVm0va99wlITvj-AhQ8rMc7aDUaWUb7mh0c","lore_tm_v1_z4Evz-m5f2o--V-4uIhUhJUvAqESJpGpiEAEig1YfPI","lore_tm_v1_oM7r23pxtl_-GxakZX9wgLC6t7d2oHhwVhTRqntoJYY"]
README.md identifies the repository as βSentry Toolkit (pre-shape)β and says it is being reshaped into a pnpm-workspace monorepo before merging Sentry CLI and Sentry MCP into getsentry/toolkit.packages/cli/ for the Sentry CLI (npm package sentry, binary sentry) and apps/cli-docs/ for the Astro + Starlight documentation site published to cli.sentry.dev.pnpm install, pnpm run build, pnpm run typecheck, pnpm run lint, and pnpm run test; direct package work uses filters such as pnpm --filter sentry run <script> and pnpm --filter sentry-cli-docs run dev.packages/cli/src/commands/cli/upgrade.ts, persistChannel(channel, channelChanged, version) must run after offline target resolution because setReleaseChannel() clears the version-check cache; it persists when channelChanged is true or CHANNEL_VERSIONS contains version.startChangelogFetch(channel, currentVersion, targetVersion, offline) returns undefined without fetching when offline or already on the target version; otherwise it calls fetchChangelog({ channel, fromVersion: currentVersion, toVersion: targetVersion }) and swallows errors so changelog failures never block upgrades.buildCheckResultWithChangelog() builds a check-only UpgradeResult, sets offline = true in offline mode, and awaits the supplied changelogPromise.upgradeCommand supports persisted stable and nightly release channels. Its documented examples include sentry cli upgrade nightly β βSwitch to nightly channel and updateβ β and sentry cli upgrade stable to switch back to stable.upgradeCommand flags are --check, --force, --offline, --no-agent-skills, and parsed --method; supported method values are curl, brew, npm, pnpm, bun, and yarn.resolveContext(version, flags), then resolveTargetWithFallback() under withProgress({ message: "Checking for updates...", json: flags.json }); online check-only results with a version difference fetch a changelog before returning, while offline check-only targets use buildCheckResultWithChangelog().CLI_VERSION === target unless flags.force or channelChanged; it determines downgrade status with isDowngrade(CLI_VERSION, target).channel === "nightly" and method !== "curl", upgradeCommand calls migrateToStandaloneForNightly(); otherwise it calls executeStandardUpgrade() with method, channel, version, target, executable/entry paths, PATH, offline state, JSON state, and noAgentSkills.getsentry/cli#1248, βMerge sentry-cli + sentry-mcp into getsentry/toolkit monorepo (master),β tracks merging getsentry/cli into the existing getsentry/sentry-mcp, validating the combined monorepo there, and only afterward renaming it to getsentry/toolkit; full plan: https://gist.github.com/BYK/8c0ce6cec64608f41fe5654b7827228e.getsentry/sentry-mcp as the destination rather than creating a fresh repository, preserving MCP production secrets, environments, GitHub App, webhooks, Vercel, and Cloudflare wiring.getsentry/sentry-mcp, and rename to getsentry/toolkit may occur only after the integrated monorepo and live deployment paths pass every gate.git subtree imports into packages/cli and apps/cli-docs; docs must never be nested under packages/cli.cli@x.y.z and mcp@x.y.z; CLI docs remain release-gated on Vercel, while the MCP Worker remains on Cloudflare.@sentry/toolkit-core later.#1238 / getsentry/cli#1254 pre-shaped CLI into packages/cli and apps/cli-docs; getsentry/publish#9339 accepts workspace publish requests; getsentry/publish#9456 bootstraps root publish locations; getsentry/craft#847 provides prefix-aware tag/changelog reads; getsentry/craft#848 provides top-level release workspace schema and selector; getsentry/craft#872 propagates release workspaces; and getsentry/craft#864 provides a release-gated Vercel target for CLI docs.#1244 must implement ordered Toolkit-first / CLI-fallback upgrade sources and install-script parity, then one stable bridge CLI release must be cut and verified from getsentry/cli; CLI must not be imported before this passes.#1239 imports CLI/docs history into an integration branch of getsentry/sentry-mcp; #1240 unifies the toolchain, dependency catalog, and root patches; #1241 replaces Turbo with pnpm-native orchestration; #1242 adds per-product CI and changed-file gating; and #1243 configures prefixed independent release workspaces.#1246: full CLI/MCP CI, workspace release dry-runs, Vercel preview, and Cloudflare deploy canary must pass under getsentry/sentry-mcp, followed by independent correctness and security reviews on the exact integration head.getsentry/sentry-mcp#1156 to rename the repository to getsentry/toolkit, verify repository/deployment integrations, rerun CI and canaries, and run staging releases for both products plus the complete CLI compatibility matrix.getsentry/cli, announcing Toolkit as canonical, and keeping getsentry/cli writable while dual publishing is active.getsentry/cli before the compatibility window ends. Archival with a redirect may happen only after at least two stable releases, roughly 90 days, and verification that legacy usage has ended.#1247, which incrementally extracts @sentry/toolkit-core.#1244, because old binaries know only getsentry/cli, and #1241 / getsentry/sentry-mcp#1156, because they alter the live MCP deployment path and repository identity.getsentry/cli#1239, βtoolkit merge: import CLI into sentry-mcp, validate, then rename,β requires a dedicated integration branch from current getsentry/sentry-mcp main; import must not occur directly into main.git filter-repo refs from the bridge-release commit: import/cli containing only packages/cli/** history and import/cli-docs containing only apps/cli-docs/** history; source commit IDs must be recorded and verified before import.git subtree add --prefix=packages/cli <cli-remote> import/cli and git subtree add --prefix=apps/cli-docs <cli-remote> import/cli-docs, then verifies git log --follow and blame across both trees, adds apps/* workspace membership, and reconciles root files without yet changing repository name or deployment destinations.#1239 requires MCP and CLI build, typecheck, lint, unit, E2E, eval, binary, npm-package, and docs-preview suites; publish workspace dry-runs via getsentry/publish#9339 and #9456; Craft workspace selection via getsentry/craft#848 and #872 with prefixed-tag isolation from #847; unchanged MCP Vercel/Cloudflare targeting of getsentry/sentry-mcp; a Cloudflare Worker canary after pnpm-native orchestration replaces Turbo; a Vercel CLI-docs preview from apps/cli-docs; and independent correctness/security reviews on the exact integration head.packages/cli/test/lib/delta-upgrade.test.ts, packages/cli/test/lib/delta-upgrade.mocked.test.ts, packages/cli/src/lib/version-check.ts, and packages/cli/src/lib/delta-upgrade.ts.packages/cli/src/lib/delta-upgrade.ts exports resolveStableChain at line 270, resolveNightlyChain at line 278, resolveStableDelta at line 487, resolveNightlyDelta at line 505, prefetchNightlyPatches at line 615, and prefetchStablePatches at line 622; packages/cli/src/lib/version-check.ts invokes nightly and stable prefetch at lines 237 and 239 respectively.