Add `sentry doctor` with SDK-owned check metadata
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- cli, github, typescript
- Lĩnh vực
- cli, developer-experience
Hướng nghiên cứu
Read the design direction and related issues #1627 and #1630, then inspect the existing CLI commands and DSN discovery mentioned in the issue. Start by breaking the proposed work into reviewable pieces and locating the existing implementations to reuse. Done means a smaller design aligned with the review: SDK-owned check metadata, an existing parser and CLI helpers, and fixes handled through an agent or the init backend.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
getsentry/cli#1501 prototyped sentry doctor, a read-only health check for an existing Sentry install. It scans the project, asks the API, and reports what is configured, what is broken, and what to fix. It supports --send-test-event and a dry-run --fix plan, and was live-tested on Android, Empower, and iOS projects. The PR is closing with the getsentry/cli archive, and BYK's review asked for a reshaped version before a command like this can land.
cc @romtsn, author of cli#1501.
Design direction (from BYK's review of cli#1501)
- SDK knowledge lives outside the CLI. Check lists, manifests, and init/build markers should come from one central place that the SDKs control and every product can read, most likely the release registry. The CLI should download that data at runtime rather than embed it at build time.
- No hand-rolled parser. Replace the custom capture-block parser with tree-sitter or ast-grep.
- Reuse existing CLI code instead of reimplementing it:
- If DSN discovery is missing something, improve the existing DSN discovery so every command benefits.
- Use the existing
send-eventcommand for--send-test-event. - Make redaction, if needed, a generic output-layer helper.
- Drop the doctor-specific flush timeout.
- Revert the unrelated
lib/dsn/code-scanner.tschange.
- Fixes go through an agent.
--fixshould produce a report for agents, or go through thesentry initbackend, instead of keeping its own fix system. @betegon owns the init backend. - Clarify the names and concepts:
- Rename the
doctoronline mode (for example toonline) so it doesn't read like a subcommand. - Explain what tier 1 and tier 2 checks mean.
- Explain magic numbers such as
31inlive.ts.
- Rename the
- Ship it smaller. The PR was large and hard to review. Split it into reviewable pieces.
Related
- #1627, ported from getsentry/cli#1363, runs
flutter doctor/npx expo doctoraftersentry init. That work is separate from this command, which audits existing installs. If both need per-SDK verification metadata, they should read it from the same SDK-owned source. - #1630: the same move of logic into SDK-owned data for SDK upgrades.
Refs getsentry/cli#1501
via BYK.
--
- Ngôn ngữ chính
- TypeScript
- Star
- 949
- Fork
- 171
- Merge trung bình
- 1 ngày 4 giờ
- Pull request đã merge (30 ngày)
- 251
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của getsentry/toolkit
-
bug MCP
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 73/100
getsentry/toolkit#1618 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
getsentry/toolkit#1471 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
getsentry/toolkit#1740 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 44/100
getsentry/toolkit#1687 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
getsentry/toolkit#1630 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của getsentry/toolkit
Issue tương tự
-
area:desktop area:ui bug platform:macos
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
anthropics/claude-code#106183 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
feature:App-Tour feature:Chat ready Web
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
digitalfabrik/integreat-app#4523 · 2 reaction ·
Maintainer thường phản hồi trong vòng 3 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Required Lexical field accepts two empty paragraphsCó thể đã có người làm @lazerg đã nhận hôm nay. Đang mởBug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
payloadcms/payload#19222 ·
Maintainer thường phản hồi trong vòng 1 ngày