Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
535d23f
feat(local): Add browser viewer for local telemetry
MathurAditya724 Sep 8, 2026
af06efa
fix(local): Sync UI test dependency lockfile
MathurAditya724 Sep 8, 2026
062600b
feat(local): Simplify event viewer
MathurAditya724 Sep 8, 2026
5f30080
fix(local): Fill event viewer viewport
MathurAditya724 Sep 8, 2026
92b0913
feat(local): Add event detail workspace
MathurAditya724 Sep 8, 2026
bca02e7
style(local): Tighten event workspace
MathurAditya724 Sep 8, 2026
2ea9b01
feat(local): Add structured event details
MathurAditya724 Sep 8, 2026
e4e6186
style(local): Remove event workspace frame
MathurAditya724 Sep 8, 2026
c8d44ba
feat(local): Add live event workspace context
MathurAditya724 Sep 8, 2026
57deb75
feat(local): Add trace inspector workspace
MathurAditya724 Sep 9, 2026
34b3141
style(local): Refine trace timing ruler
MathurAditya724 Sep 9, 2026
0e2d11b
feat(local): Improve trace inspection controls
MathurAditya724 Sep 9, 2026
1a02401
fix(local): Reset JSON copy state on selection
MathurAditya724 Sep 9, 2026
9c627eb
docs(local): Define viewer connection landing
MathurAditya724 Sep 9, 2026
b851362
feat(local): Classify custom stream endpoints
MathurAditya724 Sep 9, 2026
ca13028
feat(local): Add viewer receiver connection
MathurAditya724 Sep 9, 2026
178d5c3
docs(local): Add viewer connection plan
MathurAditya724 Sep 9, 2026
23a00d0
fix(local): Stop retries after invalid receiver URL
MathurAditya724 Sep 9, 2026
a8a19bb
fix(local): Keep receiver editor open for new events
MathurAditya724 Sep 9, 2026
2409bc0
fix(local): Preserve healthy receiver on validation failure
MathurAditya724 Sep 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions apps/cli-docs/src/content/docs/agent-guidance.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,10 @@ sentry log list --query "severity:error"
# SDK sends to both.
sentry local run -- npm run dev # or: python manage.py runserver, etc.

# From a CLI source checkout, run the Local UI in a second terminal, then open it.
pnpm --filter local dev
sentry local run --open -- npm run dev

# Watch only AI/agent (gen_ai, mcp) spans while iterating on an agent.
sentry local -f ai

Expand Down
24 changes: 24 additions & 0 deletions apps/local/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
8 changes: 8 additions & 0 deletions apps/local/.oxlintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"$schema": "./node_modules/oxlint/configuration_schema.json",
"plugins": ["react", "typescript", "oxc"],
"rules": {
"react/rules-of-hooks": "error",
"react/only-export-components": ["warn", { "allowConstantExport": true }]
}
}
21 changes: 21 additions & 0 deletions apps/local/components.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"$schema": "https://ui.shadcn.com/schema.json",
"style": "new-york",
"rsc": false,
"tsx": true,
"tailwind": {
"config": "",
"css": "src/index.css",
"baseColor": "zinc",
"cssVariables": true,
"prefix": ""
},
"aliases": {
"components": "@/components",
"utils": "@/lib/utils",
"ui": "@/components/ui",
"lib": "@/lib",
"hooks": "@/hooks"
},
"iconLibrary": "lucide"
}
14 changes: 14 additions & 0 deletions apps/local/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<!doctype html>
<html lang="en" suppressHydrationWarning>
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href="/src/index.css" rel="stylesheet">
<title>Sentry CLI</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>
47 changes: 47 additions & 0 deletions apps/local/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{
"name": "local",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc -b && vite build",
"lint": "oxlint",
"preview": "vite preview",
"test": "vitest run",
"test:integration": "vitest run src/App.integration.test.tsx"
},
"engines": {
"node": "^20.19.0 || >=22.12.0"
},
"dependencies": {
"@shikijs/core": "^3.23.0",
"@shikijs/engine-javascript": "^3.23.0",
"@shikijs/langs": "^3.23.0",
"@shikijs/themes": "^3.23.0",
"@radix-ui/react-slot": "^1.3.3",
"@tailwindcss/vite": "^4.3.3",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"lucide-react": "^1.43.0",
"next-themes": "^0.4.6",
"react": "^19.2.8",
"react-dom": "^19.2.8",
"tailwind-merge": "^3.6.0",
"tailwindcss": "^4.3.3"
},
"devDependencies": {
"@spotlightjs/spotlight": "^4.11.7",
"@testing-library/react": "^16.3.2",
"@types/node": "^24.13.3",
"@types/react": "^19.2.18",
"@types/react-dom": "^19.2.4",
"@vitejs/plugin-react": "^6.1.0",
"eventsource": "^4.1.0",
"jsdom": "^28.1.0",
"oxlint": "^1.79.0",
"typescript": "~6.0.2",
"vite": "^8.2.2",
"vitest": "^4.1.9"
}
}
53 changes: 53 additions & 0 deletions apps/local/public/favicon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions apps/local/public/sentry-cli-light.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions apps/local/public/sentry-cli.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading