Dashboard › cli › Distillation
da3b66d2-03d4-461b-8d12-f40389c3392f["lore_tm_v1_5Ih4KsvYZGALQqvYvN2n5Nh9Ncx9x0DYVZhTyq9VWds","lore_tm_v1_KwyA6cpcYmUcdZyO3jWTDfdRJXQRzM0exZeBCDlIkIc","lore_tm_v1_GLct5fx7qb2E3nkuaooukouEeP28p5SEgDitErsDAL4","lore_tm_v1_98CBWs3Xv-Taa06_yOnRNiIlQVmciLxy94FAd54oExo","lore_tm_v1_cNxC-PksSH5V5TGQ0riqCQD-ixxTflXpnchNdVHU7HI"]
/home/byk/Code/getsentry/cli-pr-1558/packages/cli/test/lib/introspect.test.ts is a 535-line Vitest suite covering isRouteMap, isCommand, getPositionalString, extractFlags, buildCommandInfo, extractRouteGroupCommands, extractAllRoutes, and resolveCommandPath.getPositionalString(undefined) returns ""; tuple parameters render as space-separated angle-bracket placeholders, optional tuple parameters render as [<placeholder>], missing tuple placeholders default by index to <arg0>, <arg1>, and array parameters render as <placeholder...> with missing placeholders defaulting to <args...>.extractFlags always returns one FlagInfo per input entry and preserves every flag name; undefined produces [], boolean flags default to optional: true, and unspecified variadic and hidden values become false.getPositionalString for tuples always produces angle-bracket placeholders; each generated parameter must appear as <placeholder> or [<placeholder>] according to optional, using arg${index} when the placeholder is undefined.getPositionalString for arrays always includes ellipsis (...).extractAllRoutes never includes hidden entries; the property test specifically excludes names that occur only in hidden entries while allowing a duplicate name if a visible entry with that name also exists.extractAllRoutes always returns a route count less than or equal to the total number of visible entries.resolveCommandPath(routeMap, []) always returns null.resolveCommandPath has an info.path beginning with "sentry "./home/byk/Code/getsentry/cli-pr-1558/packages/cli/test/lib/introspect.property.test.ts is a 243-line fast-check suite using DEFAULT_NUM_RUNS; generated flag kinds are exactly "boolean", "parsed", and "enum", generated names contain 1–10 lowercase letters, and generated flag maps and route maps contain 0–5 entries.buildCommandInfo exposes path, brief, fullDescription, positional syntax, extracted flags, aliases, and examples; when __primaryUsage exists it overrides computed positional syntax.buildCommandInfo prefers structured __examples over legacy document examples and converts each { description, command } entry into "# ${description}\n${command}"; the stale legacy example "sentry thing list stale-org" is discarded in favor of the 2 structured examples for automatic and explicit organization selection.extractRouteGroupCommands includes visible command entries in route order, excludes hidden commands, skips nested route-map entries, and prefixes paths with "sentry " plus the parent route.extractAllRoutes represents route groups and standalone commands uniformly: an "issue" group with brief "Manage issues" contains 2 commands, while standalone "api" becomes a one-command route whose path is "sentry api".resolveCommandPath behavior is depth-sensitive: unknown top-level and subcommand names return { kind: "unresolved", input }; one-level groups return kind: "group"; standalone and two-level subcommands return kind: "command"; navigating beneath a standalone command or beyond 2 levels returns null.resolveCommandPath fuzzy matching suggests "issue" for "issu" and "list" for "lis", but returns an empty suggestions array for unrelated input "xyzfoo123".routes from ../../src/app.js; extractAllRoutes must return more than 5 routes including "help", "auth", "issue", and "api", and resolution must find both the "issue" group and "sentry issue list" command with at least 1 flag./home/byk/Code/getsentry/cli-pr-1558/packages/cli/test/script/generate-skill-markdown.test.ts is a 134-line Vitest suite for extractCommandPathFromHeading, formatCommandExamples, and matchExampleToCommand.extractCommandPathFromHeading strips positional syntax from command headings: `sentry issue view <issue-id>` → "sentry issue view", `sentry project create [<org>/]<name>:<platform>...` → "sentry project create", and `sentry auth status` → "sentry auth status"; descriptive heading "Create a project" returns undefined.__primaryUsage, derives positional syntax [<org>], and includes "# Explicit organization\nsentry agent-conversation list my-org"; view derives [<org>/]<conversation-id>.# View full transcript (organization auto-detected)\nsentry agent-conversation view conv-123, 2. # Explicit organization\nsentry agent-conversation view my-org/conv-123, 3. # JSON output\nsentry agent-conversation view my-org/conv-123 --json.formatCommandExamples renders examples beneath "**Examples:**" in one fenced bash block, separates the 3 comment/command pairs with blank lines, and closes with ``` after the JSON example.matchExampleToCommand maps a project-create example block to "sentry project create", maps bare "sentry auth" examples to default subcommand "sentry auth login", and prefers longer command paths such as "sentry auth login" over shorter prefixes.plugins/sentry-cli/skills/sentry-cli/references/project.md must contain heading ### `sentry project create [<org>/]<name>:<platform>...` , retain examples sentry project create web:javascript api:python-django worker:node and sentry project create my-new-app:javascript-nextjs, omit sentry project create "My New App":, and omit space-separated platform forms with or without an organization.":"; space-separated forms such as my-new-app javascript-nextjs and my-org/my-new-app javascript-nextjs are invalid in generated references.packages/cli/test/lib/command.test.ts; optional tuple placeholder coverage in packages/cli/test/lib/introspect.test.ts; stronger per-parameter optional/default assertions in packages/cli/test/lib/introspect.property.test.ts; and metadata-derived agent-conversation examples plus Markdown formatting in packages/cli/test/script/generate-skill-markdown.test.ts.