Dashboard › cli › Distillation
21bfe723-3640-4d62-9bbd-7a182dae7a12["lore_tm_v1_etcOZJUrc9Er2EKwn2D68M5iFhM2gZ6-yLLs-tMh9HA","lore_tm_v1_YSOWS0SV8Z9uBS_aM8R94lljwLuNQySn58QAOw-uJTo","lore_tm_v1_rUIJR1CBddG1umakXICqq97XQz-dWXfTAcBOuUL-Sfk","lore_tm_v1_TCTWiM_hprABztdkDyiCkeBvPKWZemFEn6BaYxO4uEE","lore_tm_v1_jMIM68KV1ZI6gE27SglVkjF1k_14ls3dWoaZR9Dye_8","lore_tm_v1_6kwN9qyZJzuBf9nv_lljiwE-jtHDQOHAylWvZRVcqyw","lore_tm_v1_9LOsKl4zrLZVWWrmSPFHocGHQ3c6PNvvDwwW5XANBQA","lore_tm_v1_0m_7hTgyz8M3kj2nIYbuOmV3D-LP-KBg-OK3vMUGbmM","lore_tm_v1_zWbZRaZj-zlenx31fv_xuiHVlT9k2k4WYep1NKXM630","lore_tm_v1_kYJvPAFWd0fWp_oZKBbiUMRCE5z-I39_mxm71U9cRuU","lore_tm_v1_asaSe8PDpBor3hA6SVQRpc5QbsmkiJAYynPqpZRAEbY","lore_tm_v1_wgmaJXwphNo6QLZ0yCIlNMMUnBWmMx8DcgxP-g4MR5M","lore_tm_v1_UNlo4NxcNZaV4DcYmkLFIOtdu2lXiDNAn4CbxijlZXo"]
docs/src/content/docs/configuration.md, docs/src/content/docs/targets/github.md, src/__tests__/versionBump.test.ts, src/commands/__tests__/changelog-versioning-policy.test.ts, src/commands/workspace.ts, src/commands/workspace_cmds, src/commands/workspace_cmds/__tests__, src/commands/workspace_cmds/__tests__/list.test.ts, src/commands/workspace_cmds/list.ts, src/utils/__fixtures__/workspaces, src/utils/__fixtures__/workspaces/no-workspace, src/utils/__fixtures__/workspaces/no-workspace/package.json, src/utils/__fixtures__/workspaces/npm-workspace, src/utils/__fixtures__/workspaces/npm-workspace/package.json, src/utils/__fixtures__/workspaces/npm-workspace/packages, src/utils/__fixtures__/workspaces/npm-workspace/packages/pkg-a, src/utils/__fixtures__/workspaces/npm-workspace/packages/pkg-a/package.json, src/utils/__fixtures__/workspaces/npm-workspace/packages/pkg-b, src/utils/__fixtures__/workspaces/npm-workspace/packages/pkg-b/package.json, src/utils/__fixtures__/workspaces/pnpm-workspace, src/utils/__fixtures__/workspaces/pnpm-workspace/package.json, src/utils/__fixtures__/workspaces/pnpm-workspace/packages, src/utils/__fixtures__/workspaces/pnpm-workspace/packages/pkg-a, src/utils/__fixtures__/workspaces/pnpm-workspace/packages/pkg-a/package.json, src/utils/__fixtures__/workspaces/pnpm-workspace/packages/pkg-b, src/utils/__fixtures__/workspaces/pnpm-workspace/packages/pkg-b/package.json, src/utils/__fixtures__/workspaces/pnpm-workspace/pnpm-workspace.yaml, src/utils/__tests__/version.test.ts, src/utils/__tests__/workspaces.test.ts, src/utils/version.ts, src/utils/versionBump.ts, and src/utils/workspaces.ts.docs/src/content/docs/configuration.md states version-bump targets are processed in configuration order, each target type is processed only once, and supported targets are: npm via npm version --no-git-tag-version with workspace support; pypi via Hatch, Poetry, setuptools-scm, or direct edit; crates via cargo set-version requiring cargo-edit; gem by directly editing *.gemspec and lib/**/version.rb; pub-dev by directly editing pubspec.yaml; hex by directly editing mix.exs; and nuget via dotnet-setversion or direct XML edit.workspaces field in root package.json or pnpm-workspace.yaml; npm 7+ uses npm version --workspaces, while yarn, pnpm, and npm versions below 7 fall back to bumping each non-private package individually; packages with "private": true are skipped.[tool.hatch] exists, using hatch version <version>; 2. Poetry when [tool.poetry] exists, using poetry version <version>; 3. setuptools-scm when [tool.setuptools_scm] exists, performing no edit because the version derives from git tags.releaseBranchPrefix may contain slashes. Example configuration releaseBranchPrefix: release/cli with GitHub tagPrefix: "cli@" produces branch release/cli/1.2.3 and tag cli@1.2.3."v{major}" and "v{major}.{minor}", producing v2 and v2.15 for version 2.15.0.docs/src/content/docs/targets/github.md defines GitHub target options: tagPrefix defaults to empty; previewReleases defaults to true; tagOnly defaults to false; and floatingTags supports {major}, {minor}, and {patch} placeholders. Authentication uses GITHUB_TOKEN.tagPrefix scopes both write-side tag creation and read-side latest-tag detection, changelog base selection, and CalVer scans, preventing independently versioned products such as cli@1.2.3 and mcp@2.0.0 from cross-contaminating version history.releaseBranchPrefix: release/cli with tagPrefix: "cli@" and releaseBranchPrefix: release/mcp with tagPrefix: "mcp@"; releasing 1.2.3 for both produces tags cli@1.2.3 and mcp@1.2.3 on branches release/cli/1.2.3 and release/mcp/1.2.3.workspaces: defines independently versioned release units; keys may be literal paths or glob patterns expanded to concrete directories relative to .craft.yml. A concrete path is selected with --workspace <path> or CRAFT_WORKSPACE.., .., __proto__, or begin with -. Craft ignores files matched by configured workspace globs, rejects overlapping workspace keys, disallows github.projectPath inside a workspace, and disallows workflows that provide both a path and a workspace.craft workspace list emits concrete workspace paths as a JSON array for automation.tagPrefix values in one release unit are ambiguous: Craft uses the first prefix for read-path operations and logs a warning; separate release workspaces are required for independent products.isLatestRelease compares against the repository’s current latest release without prefix scoping, so the badge can move between products; tags, changelogs, release branches, and version detection remain correctly scoped per product..github/workflows/ci.yml:434-564, generate-patches runs outside pull requests, needs [changes, build-binary], is continue-on-error: true, and exposes from-version: ${{ steps.gen-ghcr.outputs.from-version }}. Nightlies use BYK/binpatch/action@0.4.2 with mode: generate-ghcr, version: ${{ needs.changes.outputs.nightly-version }}, registry: ghcr.io, repo: getsentry/cli, binary-glob: 'sentry-*', new-binaries-dir: new-binaries, new-gz-dir: new-binaries, and patches-dir: patches; stable release branches use the same action with mode: generate-release and repo: ${{ github.repository }}..github/workflows/ci.yml uploads patches/*.patch as artifact sentry-patches only when steps.gen-ghcr.outputs.has-patches == 'true' || steps.gen-release.outputs.has-patches == 'true'. On generation failure it creates or comments on an open GitHub issue titled Delta patch generation failed, using GH_TOKEN: ${{ github.token }} and avoiding duplicate open issues..github/workflows/ci.yml:517-564 publishes nightlies only for pushes to main. BYK/binpatch/action@0.4.2 uses mode: publish-ghcr, and its from-version is passed directly as ${{ needs.generate-patches.outputs.from-version }} rather than re-derived; the comment warns that a mismatched annotation can silently bypass the expected upgrade path because binpatch verifies only the final output SHA..github/workflows/cleanup-nightlies.yml schedules Cleanup Nightly Tags every Sunday at 06:00 UTC via cron "0 6 * * 0" and also supports workflow_dispatch; it grants packages: write..github/workflows/cleanup-nightlies.yml installs ORAS CLI 1.2.3 from oras_1.2.3_linux_amd64.tar.gz, verifies SHA-256 b4efc97a91f471f323f193ea4b4d63d8ff443ca3aab514151a30751330852827, logs into ghcr.io, and prunes tags in ghcr.io/getsentry/cli.KEEP_COUNT: "30", lists tags matching ^nightly-[0-9], sorts with sort -V, retains the latest 30, and deletes each older nightly-${version} tag together with corresponding patch-${version} via oras manifest delete ... --force; deletion failures are tolerated with || true..github/workflows/ci.yml contains this exact runtime handoff near lines 680-686, with mapping tied to the matrix and a matrix.node == '22' artifact guard..github/workflows/release.yml is manually triggered with optional inputs version (“Version to release (or "auto")”), force (“Force a release even when there are release-blockers”), and merge_target (“Target branch to merge into”); permissions are contents: write and pull-requests: write..github/workflows/release.yml pins NODE_VERSION_22: "22.23.1" because floating "22" can reuse cached Node 22.23.0, which has the ERR_STREAM_PREMATURE_CLOSE keep-alive fetch regression tracked as nodejs/node#64004; the fix is in 22.23.1.actions/create-github-app-token@v3 with vars.SENTRY_RELEASE_BOT_CLIENT_ID and secrets.SENTRY_RELEASE_BOT_PRIVATE_KEY, checks out using the generated token with fetch-depth: 0, sets up Node via actions/setup-node@v6 and ${{ env.NODE_VERSION_22 }}, then invokes getsentry/craft@v2 with GITHUB_TOKEN and the version, force, and merge_target inputs.0e661a5f5 fix(org): log region URL parse failures in org list (#1539); 9d0901b10 feat(local): Add agent debugging stream (#1538); 72c307f47 fix(cli): log UID resolution failures in sentry cli fix (#1541); e710ce905 fix(telemetry): log process-tree walk failures in agent detection (#1542); 6e3e7e13a feat(config): follow XDG Base Directory spec for config location (#1503); 17e110300 fix(init): stop recording skipped verification as an error (#1544); c0c9c8274 fix(docs): Explain regional model unavailability (#1537); and 2d2fbffb6 fix(init): gate unsupported --features and tag dry-run runs (#1535). Full commit SHA 0e661a5f50e1fa2bb1f0a66f4607e6901ad53628 was returned three times.AGENTS.md identifies Jared as an autonomous GitHub coding agent working in /workspace/repo. Model assignments are: heavy primary triage/plan/review with Claude Opus 4.8; light primary triage/plan/review with xAI Grok 4.3; explore with OpenAI gpt-5-mini; implement with Moonshot kimi-k2.7-code; and ship with xAI Grok grok-build-0.1.AGENTS.md defines the pipeline as triage → explore → plan → implement → review → ship; worker is a deprecated alias of implement. Direct Outpost dashboard turns labeled New operator chat or Operator guidance: skip triage and should be treated as the task and answered conversationally..lore.md when present; target repositories require reading their AGENTS.md / CONTRIBUTING.md first. Skills live under .agents/skills/ and are generated from canonical skills/ by scripts/sync-skills.mjs.repo-setup before situation skills.”CONTRIBUTING.md exists at /home/byk/.local/share/opencode/worktree/0e8c2f3bbe145a3280d6fb6ed900a5121f382cf0/toolkit-bridge-upgrade/CONTRIBUTING.md; contributing guides were found at apps/cli-docs/src/content/docs/contributing.md and packages/cli/CONTRIBUTING.md.packages/cli/CONTRIBUTING.md says Sentry CLI follows gh CLI conventions. List commands use optional positional context with smart auto-detection; target forms are <org>/<project> for an explicit pair, <org>/ for all projects in an organization, <project> to search by name across accessible organizations, and omission to auto-detect from DSN or config.sentry org view [org-slug] [--json] [-w], sentry project view [<org>/<project>] [--json] [-w], sentry issue view <issue-id> [--json] [-w], and sentry event view [<org>/<project>] <event-id> [--json] [-w]; all view commands support -w/--web.<org>/<project>; 2. config defaults set through sentry config set; 3. DSN auto-detection from SENTRY_DSN or source code.--json for all view/list commands, -w/--web for all view commands, and --limit for list commands. Missing context should use ContextError imported from ../../lib/errors.js.resolveOrg() or resolveOrgAndProject() from lib/resolve-target.ts; 3. support --json; 4. support -w/--web for view commands; 5. use ContextError for missing context; 6. add E2E tests under test/e2e/.