lint-fix

bởi sentry

Sửa vi phạm của một quy tắc eslintPluginScraps trong toàn bộ mã nguồn. Sử dụng khi được yêu cầu "sửa vi phạm lint", "áp dụng quy tắc lint", "sửa lỗi quy tắc scraps", "cuộn…

npx skills add https://github.com/getsentry/sentry --skill lint-fix

Fix violations of rule $0 on files matching $1.

Arguments

  • $0 — Rule name (e.g., use-semantic-token, no-core-import)
  • $1 — File or glob pattern (e.g., static/app/components/, static/app/views/alerts/)

Step 1: Understand the Rule

Before fixing violations, know what the fix looks like. Load references/fix-patterns.md for per-rule fix details:

RuleHas autofix?Fix reference
no-core-importYesfix-patterns.md §no-core-import
no-token-importNofix-patterns.md §no-token-import
use-semantic-tokenNofix-patterns.md + token-taxonomy.md
restrict-jsx-slot-childrenNofix-patterns.md §restrict-jsx-slot-children

For use-semantic-token violations, you MUST load references/token-taxonomy.md to know which token category to use for each CSS property.

Step 2: Assess Scale

Count violations before choosing a strategy:

pnpm exec eslint --rule '@sentry/scraps/$0: error' "$1" 2>&1 | tail -5

The last line shows the count (e.g., "42 problems (42 errors, 0 warnings)").

Tip: Running eslint on all of static/app/ can take 2+ minutes. Narrow scope to a subdirectory first.

Step 3: Choose Strategy

Auto-fixable rule (any scale)

pnpm exec eslint --fix --rule '@sentry/scraps/$0: error' "$1"

Always review the diff after --fix before committing. If the rule is partially auto-fixable, run --fix first, then manually fix remaining violations.

Under 100 violations — manual agent fix

  1. Run eslint on target path
  2. Fix violations 5-10 files at a time
  3. Re-run after each batch to verify
  4. Repeat until clean

100-500 violations — batched fix

  1. Split target into subdirectories (e.g., static/app/views/, static/app/components/)
  2. Fix one subdirectory at a time
  3. Commit after each batch for reviewable PRs
  4. Re-run count after each batch to track progress

500+ violations — codemod or staged rollout

  • Mechanical transforms: write a temporary jscodeshift codemod or a targeted script using @typescript-eslint/typescript-estree
  • Import-path rules: --fix usually handles these at any scale
  • Complex transforms: enable the rule as warn first, fix in batches across multiple PRs

Fix Workflow (tight loop)

  1. Run: pnpm exec eslint --rule '@sentry/scraps/$0: error' "$1"
  2. Fix violations in reported files
  3. Re-run on changed files to verify
  4. Expand scope, repeat

Coordinating Large Changes

  • Split PRs to ~50 changed files based on ownership rules in @.github/CODEOWNERS.
  • PR title convention: fix(lint): enforce @sentry/scraps/$0 for <codeowner>
  • If the rule is new and not yet in eslint.config.ts, fix all violations first, then enable the rule in a follow-up PR
  • Run pre-commit on changed files before committing:
    .venv/bin/prek run -q --files <file1> [file2 ...]
    

Verification

After all fixes:

pnpm exec eslint --rule '@sentry/scraps/$0: error' static/app/ 2>&1 | tail -5

Should report 0 problems.

Thêm skills từ sentry

generate-frontend-forms
sentry
Hướng dẫn tạo biểu mẫu bằng hệ thống biểu mẫu mới của Sentry. Sử dụng khi triển khai biểu mẫu, trường biểu mẫu, xác thực hoặc chức năng tự động lưu.
official
sentry-snapshots-cocoa
sentry
Thiết lập đầy đủ Sentry Snapshots cho các dự án Apple/Cocoa. Sử dụng khi được yêu cầu "thiết lập SnapshotPreviews", "thiết lập kiểm thử snapshot Apple", "tải lên snapshot Apple lên…
official
architecture-review
sentry
Đánh giá sức khỏe mã nguồn ở cấp độ nhân viên. Phát hiện các module nguyên khối, lỗi âm thầm, khoảng trống an toàn kiểu dữ liệu, lỗ hổng độ phủ kiểm thử và các vấn đề về thân thiện với LLM.
official
linear-type-labeler
sentry
Phân loại các vấn đề Linear và áp dụng nhãn Loại từ hệ thống phân loại nhãn của không gian làm việc Sentry dựa trên nội dung tiêu đề và mô tả của từng vấn đề.
official
sentry-flutter-sdk
sentry
Thiết lập đầy đủ Sentry SDK cho Flutter và Dart. Sử dụng khi được yêu cầu "thêm Sentry vào Flutter", "cài đặt sentry_flutter", "thiết lập Sentry trong Dart", hoặc cấu hình lỗi…
official
sentry-svelte-sdk
sentry
Thiết lập đầy đủ Sentry SDK cho Svelte và SvelteKit. Sử dụng khi được yêu cầu "thêm Sentry vào Svelte", "thêm Sentry vào SvelteKit", "cài đặt @sentry/sveltekit", hoặc cấu hình…
official
vercel-react-best-practices
sentry
Hướng dẫn tối ưu hiệu suất React và Next.js từ Vercel Engineering. Kỹ năng này nên được sử dụng khi viết, xem xét hoặc tái cấu trúc mã React/Next.js…
official
sentry-tanstack-start-sdk
sentry
Thiết lập đầy đủ Sentry SDK cho TanStack Start React. Sử dụng khi được yêu cầu "thêm Sentry vào TanStack Start", "cài đặt @sentry/tanstackstart-react", hoặc cấu hình lỗi…
official