Dashboard › cli › Distillation
ede67830-50c4-4184-892d-ce8628800af6["lore_tm_v1_zQTYj31dV_6Id_X0po2CylBuvAo6YdcYz3pHxUl1MEg","lore_tm_v1_XNfPnUrXPScHK3lXPa8IDAsxfueUyCj7TC9311aD1wQ","lore_tm_v1_7L639XGZdctN6fmjLULMcQTAAI10-3bAtpSM56Je2Mc","lore_tm_v1_YYQpeuq1JocMyzWzJdtSfYB2DlJWKURaZDf2sk27SSo","lore_tm_v1_gdslIZrbKQpD-zZd3XOHOHgkGxJax6PGjZxJZAJRDpQ","lore_tm_v1_LZjFZ5HoHVJgpTQuj-XRsUGFEuGKp6jH_uNDKgPCS74"]
Date: Sep 9, 2026
CommandReturn) and never on individual yields.packages/cli/src/lib/command.ts defines every SentryCommandFunction<FLAGS, ARGS, CONTEXT> as an AsyncGenerator<unknown, CommandReturn | void, undefined>: non-streaming commands yield one CommandOutput<T> and may return { hint }; streaming commands render each yield immediately but commands supporting --json must yield one aggregate value when a single parseable JSON document is needed; void commands may return without yielding for early exits such as --web.packages/cli/src/lib/command.ts defines CommandExample with readonly description and complete command including the sentry executable; CommandDocumentation extends native Stricli docs with optional readonly examples, while customUsage[0] is documented as the canonical signature suffix and later lines may describe equivalent forms.apps/cli-docs/src/fragments/commands/agent-conversation.md had all 33 lines removed, including its manually maintained list/view examples, because canonical examples are now generated from command metadata.packages/cli/script/check-fragments.ts now skips fragment subcommand-coverage validation for any cmd whose cmd.examples.length > 0; commands without metadata examples still require a fragment heading or code example.packages/cli/script/generate-command-docs.ts now imports formatCommandExamples from ./generate-skill-markdown.js and appends the formatted metadata examples to each generated command section. Its documentation now describes generated pages as combining auto-generated reference/examples with hand-written guides/tips; fragments remain the source of truth only for content that cannot live in command definitions.formatPositionalsTable() in packages/cli/script/generate-command-docs.ts now renders optional positional metadata as [<placeholder>] and required positional metadata as <placeholder>, replacing the former behavior that displayed all positionals as required.packages/cli/script/generate-skill-markdown.ts adds exported formatCommandExamples(examples: readonly string[]); it returns an empty string for zero examples, otherwise emits a **Examples:** heading followed by one bash code fence whose entries are separated by blank lines.packages/cli/script/generate-skill.ts now imports and reuses formatCommandExamples() in generateFullCommandDoc() instead of constructing the examples section inline, keeping skill reference and CLI documentation example formatting aligned.apps/cli-docs/src/content/docs/commands/ contained exactly 37 Markdown files: index.md, schema.md, api.md, local.md, info.md, init.md, trial.md, trace.md, status.md, span.md, sourcemap.md, snapshots.md, monitor.md, log.md, feedback.md, explore.md, event.md, issue.md, team.md, repo.md, release.md, replay.md, react-native.md, proguard.md, project.md, platform.md, org.md, docs.md, dashboard.md, debug-files.md, dart-symbol-map.md, agent-conversation.md, code-mappings.md, cli.md, build.md, auth.md, and alert.md.apps/cli-docs/src/content/docs/commands/agent-conversation.md is 80 lines and now includes metadata-derived examples directly in each command section. The list section uses signature sentry agent-conversation list [<org>], displays [<org>] as optional, and includes the 5 canonical examples; the view section uses signature sentry agent-conversation view [<org>/]<conversation-id> and includes the 3 canonical examples using conv-123, my-org/conv-123, and my-org/conv-123 --json.apps/cli-docs/src/content/docs/commands/agent-conversation.md, the view argument table still labels the argument as <org/conversation-id> while its description renders [<org>/]<conversation-id> - Org (optional) and conversation ID; the command heading correctly uses [<org>/]<conversation-id>.packages/cli/patches/@stricli%2Fcore@1.2.8.patch adds matchTopLevelFlag(input, topLevelFlags) and ScannerConfiguration.topLevelFlags with booleanFlags and valueFlags ReadonlySet<string> allow-lists. Recognized global flags can occur at any unresolved route depth and are forwarded through unprocessedInputs; value flags support both a following argv token and inline --flag=value. The option is inert when unset, preserving stock Stricli behavior.expectTopLevelFlagValue; while resolving a route, the next token after a recognized value-taking global flag is forwarded as its value unless it is --help, -h, --helpAll, --help-all, or --version.versionRequested to route-scanner results, recognizes --version at any route depth, removes the former first-token-only version handling in runApplication(), and prints config.versionInfo after scanning before returning ExitCode.Success.config.documentation.renderHelp({ prefix, unprocessedInputs, helpRequested }); a returned string is written directly and wins, while undefined falls back to built-in formatHelp. This supports application-owned structured help such as --json without embedding that knowledge in Stricli.scanner.topLevelFlags and documentation.renderHelp through withDefaults() configuration normalization; patch comments state check:patches verifies the corresponding markers remain present.-H as an alias for --helpAll: scanner recognition no longer accepts -H, generated flag documentation leaves the alias blank, usage always emits --helpAll/case-formatted equivalent, and reserved aliases now include only "h" rather than "h" and "H".