Dashboard › cli › Distillation
b7530f15-bfb7-4150-be09-3100183cac92["lore_tm_v1_GuLOzCRZfnHhh83XYdQZrFOSKqGp_QaVObg5E0fJxjs","lore_tm_v1_FS7dgVDYpl1WpZkfkoQs745iX33GL2MVzwoRrBh9uJs","lore_tm_v1_APJV4gL_M2ag6_g7BlKfU9cyKoaL69A0NdJobPykluA","lore_tm_v1_E9rYqghC9sNHm12x2BaKGl_zY4hp8SRXCZzi8UcmEsc","lore_tm_v1_6B5SWXRTqsqtZmaSkDKFWBYvVEbnPkyYSV3QBERWKbA","lore_tm_v1_KOkljf8xhC_FW8wvtkHJ9QSqaK8Y8WugZqY1O9S3Gt0","lore_tm_v1_ZpWFqOYbPztu_8koEMSsB-NxsJ7QDUfZLxzEqgKFa4A","lore_tm_v1_CTc7A7tyb5g-cODO9CjP78GetTdoqgs2VPvwA_3CNIQ","lore_tm_v1_kejjOX5oB6WGY7ef4tBAISB6yYNJUtfa989zsPytDvI","lore_tm_v1_AX0orDPAuwxUZLYeyHsKQP8eijVXodE-l1J8Ty3OXfc","lore_tm_v1_Q4Vf0Po52Dx6CtHzMhSZf7FaQtLF0Q84_Naws-q9iYQ"]
Date: Sep 8, 2026
apps/cli-docs/src/fragments/commands/agent-conversation.md contains 2 example sections: “List conversations” and “View a conversation transcript.” List examples are sentry agent-conversation list, sentry agent-conversation list my-org, sentry agent-conversation list --limit 50 --period 24h, sentry agent-conversation list -q "has:errors", and sentry agent-conversation list my-org -c next. View examples are sentry agent-conversation view conv-123, sentry agent-conversation view my-org/conv-123, and sentry agent-conversation view my-org/conv-123 --json.sentry agent-conversation list [<org>] and sentry agent-conversation view [<org>/]<conversation-id>. Relevant files include packages/cli/src/commands/agent-conversation/list.ts, packages/cli/src/commands/agent-conversation/view.ts, packages/cli/plugins/sentry-cli/skills/sentry-cli/references/agent-conversation.md, and packages/cli/plugins/sentry-cli/skills/sentry-cli/SKILL.md.packages/cli/src/lib/errors.ts defines DEFAULT_CONTEXT_ALTERNATIVES: 1. Run from a directory with a Sentry DSN in source code or .env files, 2. Set SENTRY_ORG and SENTRY_PROJECT (or SENTRY_DSN) environment variables, 3. Run 'sentry org list' to find your organization slug, 4. Run 'sentry project list <org>/' to find project slugs.buildContextMessage() in packages/cli/src/lib/errors.ts detects plural resources by the substring " and ", selects pronoun "them" or "it", and emits either Could not auto-detect ... plus Provide ... explicitly: or ... is/are required. plus Specify ... using:. Alternatives appear beneath Or: and optional diagnostic context appears separately as Note:.ContextError is for omitted required context, whereas ResolutionError is for a supplied value that could not be matched and ValidationError is for malformed input. Omitting alternatives triggers auto-detection wording and DEFAULT_CONTEXT_ALTERNATIVES; explicitly passing [] triggers required-value wording without defaults. ContextError uses exit code EXIT.CONTEXT_MISSING, returns its preformatted message from format(), and rejects a multiline command with an error directing callers to use ResolutionError.packages/cli/src/lib/sixel-image.ts: the IHDR chunk always follows the 8-byte signature; width and height are read from that fixed layout. The PNG signature is 89 50 4E 47 0D 0A 1A 0A; the JPEG signature is FF D8 FF.packages/cli/src/lib/list-command.ts, the first positional argument is always the target using the org/project pattern.packages/cli/src/lib/which.ts passes the command as positional argument $1, so it is never interpolated.packages/cli/src/lib/help.ts defines TAGLINE = "The command-line interface for Sentry", logged-out example sentry auth, logged-in example sentry issue list, and docs URL https://cli.sentry.dev/getting-started/.COMMON_FLAGS in packages/cli/src/lib/help.ts contains, in order: 1. --json — “Output as JSON (with --fields to select)”; 2. -f, --fresh — “Bypass cache and fetch fresh data”; 3. -v, --verbose — “Enable debug logging”; 4. --help — “Show help for a command”; 5. --version — “Show version”.generateCommands() in packages/cli/src/lib/help.ts reads visible top-level Stricli routes. Route groups join visible subcommand names with " | " in usage; direct commands prefer entry.target.__primaryUsage over getPositionalString(entry.target.parameters.positional); fallback entries use sentry ${routeName}.buildTopLevelEnvVars() exposes exactly TOP_LEVEL_ENV_VARS, mapping each entry to name, brief, description, example, and defaultValue; brief falls back from briefDescription to the first line of description. buildCommonFlags() maps each common flag to long, short, and description.introspectAllCommands() returns { routes: extractAllRoutes(routeMap), envVars: buildTopLevelEnvVars(), flags: buildCommonFlags() }. introspectCommand(commandPath) returns resolved command/group metadata or { error: "Command not found: ..." }, adding fuzzy suggestions only when nonempty.documentation.renderHelp integration in packages/cli/src/lib/help.ts handles --help --json: it serializes either introspectAllCommands() or introspectCommand(path) through formatJson, optionally narrowed by --fields. Without --json, it returns undefined so built-in text help remains unchanged.formatFlagHuman() emits aliases as -${alias}, --${flag.name}, appends <value> for non-variadic parsed/enum flags or <value>... for variadic flags, includes flag.brief, and appends (default: ${JSON.stringify(flag.default)}) for defined non-boolean defaults.formatCommandHuman() prints a command signature and brief, all non-hidden flags, and optional JSON fields under JSON fields (use --json --fields to select):; optional fields are labeled , optional. formatGroupHuman() prints sentry ${group.name}, the group brief, and aligned subcommands; an empty group displays (no commands).packages/cli/src/lib/help.ts, preventing printCustomHelp() from triggering its sixel probe or terminal I/O for --json.formatHelpHuman() handles 4 result shapes: 1. full command tree via printCustomHelp().trimEnd(), 2. route group via formatGroupHuman(), 3. single command via formatCommandHuman(), 4. errors as Error: ..., with fuzzy suggestions rendered as Did you mean: ...?.packages/cli/test/lib/command.test.ts verifies that buildCommand() retains the first custom usage line for introspection: customUsage: ["<name>:<kind>..."] produces __primaryUsage === "<name>:<kind>...". The same suite verifies numberParser is re-exported from Stricli and is a function.packages/cli/test/lib/issue-collapse.property.test.ts: it always collapses filtered and unhandled regardless of optional flags; output length equals 2 + number of optional flags enabled.