Dashboard › cli › Distillation
ceb2bcdc-d126-4a4a-89c7-5c59d7e02f88["lore_tm_v1_cu2aey1wLuhHejU3n2drjHk1UAGfc2hfYpYhBI_DXjk","lore_tm_v1_sQN2Fa44p_tdpG5Y0ILD2ADv5-Rq3mBZbmL_J0pJYdw","lore_tm_v1_wYXfP_Gmzde-DHz4vo1bZYgNI8__CQ57mO9Sx5dP5S0","lore_tm_v1_IFyl8jbH0KiKiXoG8DzrybEOX4KrlsG-QOiOAJLXD1s","lore_tm_v1_k8F2FsVDr-YNgl-5y5HYu1EfY3DltGpg54NtfiQKP1g","lore_tm_v1_LEZHIsXNRamMV-B6siYup76LUXnH4pU4fxxIcSwixBI","lore_tm_v1_K6Ns5kqoqGtGuu9bjhPg9OrHly0oauOF-HAnS2Tto40","lore_tm_v1_jZ1XOIDIFvKEpM54AdTUOIoolVVWgoYRd7scVZx9LLo","lore_tm_v1_tDjsw5-QlS2HNARlwXbaC5WErDFosi3iCC1wwuqa7-Y"]
fix/agent-conversation-reference-root-cause showed HEAD fc5d50e2324e2b6bb2067976bf1515dab45224fb (fix(ci): skip risk labels for fork PRs, authored/committed by Burak Yigit Kaya byk@sentry.io on Sep 9, 2026), preceded by 285a589de (fix(docs): derive command references from metadata) and 92dc1dab2 (fix(docs): correct agent conversation argument syntax).ContextError matches across command implementations. Agent-conversation-specific sites are packages/cli/src/commands/agent-conversation/view.ts:120, which throws new ContextError("Conversation ID", USAGE_HINT, []); view.ts:126, which throws new ContextError("Organization", USAGE_HINT); and packages/cli/src/commands/agent-conversation/list.ts:173, which throws new ContextError("Organization", USAGE_HINT).packages/cli/src/commands/org/view.ts:69 (sentry org view <org-slug>), packages/cli/src/commands/alert/metrics/create.ts:73 (sentry alert metrics create <org>), packages/cli/src/commands/trial/list.ts:236 (sentry trial list <org>), and packages/cli/src/commands/trial/start.ts:139 (sentry trial start <name> <org>).packages/cli/src/commands/org/view.ts defines viewCommand with one optional tuple positional placeholder org, aliases { ...FRESH_ALIASES, w: "web" }, flags web and fresh, and output: { human: formatOrgDetails }. It resolves the organization through resolveOrg({ org: orgSlug, cwd }), throws ContextError("Organization", "sentry org view <org-slug>") if unresolved, opens buildOrgUrl(resolved.org) when --web is set, otherwise fetches via getOrganization(resolved.org) and yields new CommandOutput(org).CommandDocumentation is defined and manipulated in packages/cli/src/lib/command.ts, and consumed by packages/cli/src/lib/mutate-command.ts and packages/cli/src/lib/list-command.ts; OrgListCommandDocs is exported as an alias of CommandDocumentation.packages/cli/src/lib/help.ts:667-689 defines formatFlagHuman(): it finds the first short alias targeting the flag, formats parsed/enum scalar flags as <value>, variadic flags as <value>..., appends the brief after β, and includes non-boolean defaults as (default: ${JSON.stringify(flag.default)}).packages/cli/src/lib/help.ts:694-721 defines formatCommandHuman(): it renders the command signature from cmd.path plus cmd.positional, the brief, visible flags only (!f.hidden), and optional jsonFields under JSON fields (use --json --fields to select):, including field type, optionality, and description.packages/cli/src/lib/help.ts:726-753 defines formatGroupHuman(): it renders sentry ${group.name}, the group brief, and subcommands; an empty group prints (no commands), while populated groups strip the sentry <group> prefix and pad names to align descriptions.--json βnever calls this human formatter.βpackages/cli/src/lib/help.ts:764-792 defines formatHelpHuman(data). Full-tree data containing routes invokes printCustomHelp().trimEnd() inside the human renderer so JSON output avoids printCustomHelpβs sixel probe and terminal I/O; route groups use formatGroupHuman(), single commands use formatCommandHuman(), fuzzy errors render Error: ...\n\nDid you mean: ...?, and unmatched data returns "".packages/cli/package.json identifies package sentry version 0.45.0-dev.0, requires Node >=20.0, declares development runtime Node >=22.15, and uses pnpm@10.11.0.packages/cli/package.json generation/testing workflow includes generate:docs β generate:banner, generate:parser, generate:command-docs, generate:skill, and generate:docs-sections; test:unit first runs generate:docs and generate:sdk, then vitest run test/lib test/commands test/types test/script --coverage..github/workflows/pr-risk.yml uses getsentry/pr-risk-action@v0, writes risk-pr-result.json, and uploads artifact risk-pr-result; .github/workflows/eval-skill-fork.yml explicitly checks github.event.pull_request.head.repo.fork == true; .github/workflows/ci.yml uses fallback SENTRY_CLIENT_ID: ${{ vars.SENTRY_CLIENT_ID || 'ci-fork-pr-dummy' }} and separates non-fork eval-skill execution from fork handling in eval-skill-fork.yml.