Dashboard › cli › Distillation
dfb737f7-50b0-44f0-942c-311a21dfc79b["lore_tm_v1_h5XLTqlPJvJ709lDkd-gxl4gFqDqhC_goVL8clkMSw0"]
package.json for the latest scripts; commands run from packages/cli or via pnpm --filter sentry run <script> from the repository root.devDependencies, never dependencies, because dependencies are bundled at build time with esbuild and CI enforces this via pnpm run check:deps.pnpm add -D <package> with the -D flag.per_page value larger than API_MAX_PER_PAGE to the API; the server silently caps oversized values and can therefore return fewer items than requested.--limit > API_MAX_PER_PAGE (100): set perPage = Math.min(flags.limit, API_MAX_PER_PAGE), fetch pages until results.length >= flags.limit or no nextCursor remains, and bound iteration with MAX_PAGINATION_PAGES; listIssuesAllPages, trace/list.ts, span/list.ts, and dashboard/list.ts are reference patterns.packages/cli/script/check-fragments.ts lines 22–34 ensure src/generated/skill-content.ts exists before dynamically importing the application; when absent, the script creates src/generated/ recursively and writes export const SKILL_FILES: [string, string][] = [];\n.packages/cli/script/check-fragments.ts validates five areas: 1. every non-skipped route has a command fragment plus index.md, 2. every command fragment maps to a route, 3. fragments contain neither YAML frontmatter nor <!-- GENERATED:END -->, 4. required top-level fragments exist (configuration.md), and 5. fragments cover route subcommands, with warnings normally and errors under --strict; route help is skipped.fragmentMentionsSubcommand() in packages/cli/script/check-fragments.ts accepts coverage through: 1. a full sentry <route> <subcommand> reference anywhere, 2. for a default command, a bare sentry <route> matched with a boundary-aware regex, or 3. a level 1–4 Markdown heading containing the leaf subcommand name outside fenced code blocks.stripCodeBlocks() in packages/cli/script/check-fragments.ts uses FENCED_CODE_BLOCK_RE = /^({3,}|~{3,}).\n[\s\S]?\n\1\s*$/gm` to prevent shell comments inside fenced examples from being mistaken for Markdown headings.getMultiCommandRoutes() in packages/cli/script/check-fragments.ts excludes standalone routes where there is at most one command and its path is exactly sentry <route-name>; findDefaultInRouteMap() identifies a default command by object-reference comparison against target.getAllEntries(), and getDefaultCommandName() locates the matching top-level route before delegating to it.node:* standard-library APIs and do not reintroduce Bun.*, bun:test, or bun CLI commands.buildCommand from ../../lib/command.js, never directly from @stricli/core; route groups must similarly import buildRouteMap from ../../lib/route-map.js, whose standard aliases are list → ls, view → show, delete → remove, rm, and create → new.-c next, -c prev, and -c first; "last" is a silent alias for "next", and navigation text must be generated with paginationHint() rather than manually assembled navParts.useTestConfigDir() from test/helpers.ts; tests must never delete process.env.SENTRY_CONFIG_DIR, capture it at module scope, or manually manage it in beforeEach/afterEach.