Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Add `sentry doctor` with SDK-owned check metadata

Đang mở
#1,632 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

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-event command 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.ts change.
  • Fixes go through an agent. --fix should produce a report for agents, or go through the sentry init backend, instead of keeping its own fix system. @betegon owns the init backend.
  • Clarify the names and concepts:
    • Rename the doctor online mode (for example to online) so it doesn't read like a subcommand.
    • Explain what tier 1 and tier 2 checks mean.
    • Explain magic numbers such as 31 in live.ts.
  • 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 doctor after sentry 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.

--

View Junior Session in Sentry

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

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của getsentry/toolkit

Tất cả issue của getsentry/toolkit

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.