Dashboard › cli › Distillation
76b9ab52-aada-42dd-a0ac-de70f00f2d22["lore_tm_v1_QS-yshQ2aNWT-y9JRaAsOSimfu0lsiRgIA5Vx_N0S9E","lore_tm_v1_P2YKH2Yq85KlObIgBReumZSpjx1k9vvBaw0OTS_-xjM"]
packages/cli/script/check-fragments.ts shows fragmentMentionsSubcommand() checking fragment coverage in this order: 1. case-insensitive full CLI reference anywhere; 2. for default commands, a bare sentry <route> matched with an escaped regex and boundary that avoids treating sentry issue events as sentry issue; 3. a level 1–4 heading mentioning the escaped leaf name after code blocks are stripped.packages/cli/script/check-fragments.ts defines getMultiCommandRoutes() to skip standalone routes only when route.commands.length <= 1 and route.commands[0]?.path === \sentry ${route.name}`, returning all other routes in a Map<string, RouteInfo>`.src/generated/skill-content.ts exists before dynamically importing the route tree because agent-skills.ts transitively imports it. On a fresh checkout or CI run, it creates src/generated/ recursively and writes the stub export const SKILL_FILES: [string, string][] = [];\n; generate:skill later overwrites the stub.<!-- GENERATED:END --> as the boundary between regenerated reference content above and preserved hand-written custom content below.getVisibleFlags(cmd: CommandInfo): FlagInfo[] excludes flags that are hidden or whose names occur in GLOBAL_FLAG_NAMES, preventing globally injected flags such as --json and --fields from being listed as command-local flags.generatePage(route: RouteInfo) describes standalone routes as "<Route> command for the Sentry CLI" and multi-command routes as "<Route> commands for the Sentry CLI"; generated pages include frontmatter, an intro, per-command reference sections, and a global-flags footer.CommandInfo, FlagInfo, RouteInfo, and RouteMap from ../src/lib/introspect.js, plus buildCommandInfo, extractRouteGroupCommands, isCommand, and isRouteMap.SKILL.md route ordering as exactly ["help", "auth", "org", "project", "issue", "event", "api"]; unlisted routes follow alphabetically.formatFlag(flag: FlagInfo, aliases: Record<string, string>) renders aliases as -<alias>, --<name>; non-variadic parsed/enum flags receive <value>, variadic flags receive <value>..., briefs are appended, and non-boolean defaults are rendered with JSON.stringify.cmd.jsonFields is nonempty, headed **JSON Fields** (use \--json --fields` to select specific fields):, with columns Field, Type, and Description; pipe characters in field types and descriptions are escaped as |`.capitalize(s: string) uppercases names in TITLE_ACRONYMS; otherwise it uppercases only the first character./home/byk/Code/getsentry/cli-pr-1558/packages/cli/script/generate-skill.ts: line 22 imports existsSync, mkdirSync, rmSync, and writeFileSync from node:fs; line 23 imports access, readFile, and writeFile from node:fs/promises; line 28 references formatCommandExamples; lines 43 and 45 use writeFileSync to write export const SKILL_FILES: ReadonlyMap<string, string> = new Map();\n; line 100 reads package.json; line 108 defines CODE_BLOCK_REGEX = /```(\w*)\n([\s\S]*?)```/g; line 188 clones that regex using its .source and .flags; lines 220 and 283 read files as UTF-8; line 488 calls loadCommandExamples; line 496 passes extractRouteGroupCommands(target, routeName, docExamples) as commands; line 500 looks up docExamples.get(path) ?? []; line 548 stringifies flag defaults; line 598 calls formatCommandExamples(cmd.examples); line 895 serializes an index with JSON.stringify(index, null, 2) plus a trailing newline; line 917 writes generated content to fullPath; line 927 writes indexJson to INDEX_JSON_PATH; line 949 starts export const SKILL_FILES: ReadonlyMap<string, string> = new Map([; and line 954 writes skillContentModule to SKILL_CONTENT_PATH.