Skip to content

Commit a17e0ef

Browse files
committed
feat(commands): add buildRouteMap wrapper with standard subcommand aliases
Introduce `src/lib/route-map.ts` as the single entry point for building route maps — analogous to how `src/lib/command.ts` wraps Stricli's `buildCommand`. The wrapper auto-injects standard aliases based on which route keys exist: list → ls view → show delete → remove, rm create → new All 16 command group index.ts files and app.ts now import from the wrapper instead of @stricli/core directly. Manual aliases that are covered by the standard set have been removed. Also update `getSubcommandsForRoute()` in list-command.ts to collect subcommand aliases so plural+alias combos like `sentry issues ls` are properly intercepted.
1 parent 264c632 commit a17e0ef

File tree

25 files changed

+119
-50
lines changed

25 files changed

+119
-50
lines changed

plugins/sentry-cli/skills/sentry-cli/references/dashboard.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ View a dashboard
4242
- `-w, --web - Open in browser`
4343
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
4444
- `-r, --refresh <value> - Auto-refresh interval in seconds (default: 60, min: 10)`
45-
- `-t, --period <value> - Time range: "7d", "2026-03-07..2026-04-07", ">=2026-03-07"`
45+
- `-t, --period <value> - Time range: "7d", "2026-03-08..2026-04-08", ">=2026-03-08"`
4646

4747
**Examples:**
4848

plugins/sentry-cli/skills/sentry-cli/references/event.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ List events for an issue
2828
- `-n, --limit <value> - Number of events (1-1000) - (default: "25")`
2929
- `-q, --query <value> - Search query (Sentry search syntax)`
3030
- `--full - Include full event body (stacktraces)`
31-
- `-t, --period <value> - Time range: "7d", "2026-03-07..2026-04-07", ">=2026-03-07" - (default: "7d")`
31+
- `-t, --period <value> - Time range: "7d", "2026-03-08..2026-04-08", ">=2026-03-08" - (default: "7d")`
3232
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
3333
- `-c, --cursor <value> - Navigate pages: "next", "prev", "first" (or raw cursor string)`
3434

plugins/sentry-cli/skills/sentry-cli/references/issue.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ List issues in a project
1919
- `-q, --query <value> - Search query (Sentry search syntax)`
2020
- `-n, --limit <value> - Maximum number of issues to list - (default: "25")`
2121
- `-s, --sort <value> - Sort by: date, new, freq, user - (default: "date")`
22-
- `-t, --period <value> - Time range: "7d", "2026-03-07..2026-04-07", ">=2026-03-07" - (default: "90d")`
22+
- `-t, --period <value> - Time range: "7d", "2026-03-08..2026-04-08", ">=2026-03-08" - (default: "90d")`
2323
- `-c, --cursor <value> - Pagination cursor (use "next" for next page, "prev" for previous)`
2424
- `--compact - Single-line rows for compact output (auto-detects if omitted)`
2525
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
@@ -78,7 +78,7 @@ List events for a specific issue
7878
- `-n, --limit <value> - Number of events (1-1000) - (default: "25")`
7979
- `-q, --query <value> - Search query (Sentry search syntax)`
8080
- `--full - Include full event body (stacktraces)`
81-
- `-t, --period <value> - Time range: "7d", "2026-03-07..2026-04-07", ">=2026-03-07" - (default: "7d")`
81+
- `-t, --period <value> - Time range: "7d", "2026-03-08..2026-04-08", ">=2026-03-08" - (default: "7d")`
8282
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
8383
- `-c, --cursor <value> - Navigate pages: "next", "prev", "first" (or raw cursor string)`
8484

plugins/sentry-cli/skills/sentry-cli/references/log.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ List logs from a project
1919
- `-n, --limit <value> - Number of log entries (1-1000) - (default: "100")`
2020
- `-q, --query <value> - Filter query (Sentry search syntax)`
2121
- `-f, --follow <value> - Stream logs (optionally specify poll interval in seconds)`
22-
- `-t, --period <value> - Time range: "7d", "2026-03-07..2026-04-07", ">=2026-03-07"`
22+
- `-t, --period <value> - Time range: "7d", "2026-03-08..2026-04-08", ">=2026-03-08"`
2323
- `-s, --sort <value> - Sort order: "newest" (default) or "oldest" - (default: "newest")`
2424
- `--fresh - Bypass cache, re-detect projects, and fetch fresh data`
2525

plugins/sentry-cli/skills/sentry-cli/references/span.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ List spans in a project or trace
1919
- `-n, --limit <value> - Number of spans (<=1000) - (default: "25")`
2020
- `-q, --query <value> - Filter spans (e.g., "op:db", "duration:>100ms", "project:backend")`
2121
- `-s, --sort <value> - Sort order: date, duration - (default: "date")`
22-
- `-t, --period <value> - Time range: "7d", "2026-03-07..2026-04-07", ">=2026-03-07" - (default: "7d")`
22+
- `-t, --period <value> - Time range: "7d", "2026-03-08..2026-04-08", ">=2026-03-08" - (default: "7d")`
2323
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
2424
- `-c, --cursor <value> - Navigate pages: "next", "prev", "first" (or raw cursor string)`
2525

plugins/sentry-cli/skills/sentry-cli/references/trace.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ List recent traces in a project
1919
- `-n, --limit <value> - Number of traces (1-1000) - (default: "25")`
2020
- `-q, --query <value> - Search query (Sentry search syntax)`
2121
- `-s, --sort <value> - Sort by: date, duration - (default: "date")`
22-
- `-t, --period <value> - Time range: "7d", "2026-03-07..2026-04-07", ">=2026-03-07" - (default: "7d")`
22+
- `-t, --period <value> - Time range: "7d", "2026-03-08..2026-04-08", ">=2026-03-08" - (default: "7d")`
2323
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
2424
- `-c, --cursor <value> - Navigate pages: "next", "prev", "first" (or raw cursor string)`
2525

@@ -78,7 +78,7 @@ View logs associated with a trace
7878

7979
**Flags:**
8080
- `-w, --web - Open trace in browser`
81-
- `-t, --period <value> - Time range: "7d", "2026-03-07..2026-04-07", ">=2026-03-07" - (default: "14d")`
81+
- `-t, --period <value> - Time range: "7d", "2026-03-08..2026-04-08", ">=2026-03-08" - (default: "14d")`
8282
- `-n, --limit <value> - Number of log entries (<=1000) - (default: "100")`
8383
- `-q, --query <value> - Additional filter query (Sentry search syntax)`
8484
- `-s, --sort <value> - Sort order: "newest" (default) or "oldest" - (default: "newest")`

src/app.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import * as Sentry from "@sentry/node-core/light";
33
import {
44
type ApplicationText,
55
buildApplication,
6-
buildRouteMap,
76
text_en,
87
UnexpectedPositionalError,
98
UnsatisfiedPositionalError,
@@ -55,6 +54,7 @@ import {
5554
} from "./lib/errors.js";
5655
import { error as errorColor, warning } from "./lib/formatters/colors.js";
5756
import { isRouteMap, type RouteMap } from "./lib/introspect.js";
57+
import { buildRouteMap } from "./lib/route-map.js";
5858

5959
/**
6060
* Plural alias → singular route name mapping.

src/commands/auth/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { buildRouteMap } from "@stricli/core";
1+
import { buildRouteMap } from "../../lib/route-map.js";
22
import { loginCommand } from "./login.js";
33
import { logoutCommand } from "./logout.js";
44
import { refreshCommand } from "./refresh.js";

src/commands/cli/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { buildRouteMap } from "@stricli/core";
1+
import { buildRouteMap } from "../../lib/route-map.js";
22
import { feedbackCommand } from "./feedback.js";
33
import { fixCommand } from "./fix.js";
44
import { setupCommand } from "./setup.js";

src/commands/dashboard/index.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { buildRouteMap } from "@stricli/core";
1+
import { buildRouteMap } from "../../lib/route-map.js";
22
import { createCommand } from "./create.js";
33
import { listCommand } from "./list.js";
44
import { viewCommand } from "./view.js";
@@ -12,7 +12,6 @@ export const dashboardRoute = buildRouteMap({
1212
widget: widgetRoute,
1313
},
1414
defaultCommand: "view",
15-
aliases: { show: "view" },
1615
docs: {
1716
brief: "Manage Sentry dashboards",
1817
fullDescription:

0 commit comments

Comments
 (0)