mcpField
1
1k-sentry

1k-sentry

github.com/onekeyhq開発2.5k57 回インストール今日更新
リポジトリ

1k-sentry について

OneKey のデスクトップ、モバイル、Web、拡張機能で Sentry のエラー追跡を設定するスキルです。エラーの除外やカスタムコンテキストの追加を扱います。

主な機能

  1. 01各プラットフォームの Sentry 入口
  2. 02種類やメッセージによるエラー除外
  3. 03カスタムブレッドクラムの追加
  4. 04主要な設定ファイルの参照

活用シーン

  1. 01特定のエラーを Sentry レポートから除外
  2. 02アプリの操作にブレッドクラムを追加
  3. 03対象プラットフォームの Sentry ファイルを特定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/onekeyhq/app-monorepo --skill 1k-sentry

インストール後、Claude Code で/1k-sentryを入力して読み込まれたか確認します。

同梱ファイルreferences/rules/ignoring-errors.md

詳細

Sentry 統合

OneKey は、すべてのプラットフォームでエラー追跡に Sentry を使用しています。

アーキテクチャの概要

apps/
├── desktop/app/sentry.ts          # Desktop main process
├── ext/                           # Extension (uses shared)
├── mobile/                        # Mobile (uses shared)
└── web/                           # Web (uses shared)

packages/shared/src/modules3rdParty/sentry/
├── index.ts                       # Web/Extension entry
├── index.native.ts                # React Native entry
├── index.desktop.ts               # Desktop renderer entry
├── basicOptions.ts                # Shared config & error filtering
└── instance.ts                    # Sentry client instance

プラットフォームの検出

import platformEnv from '@onekeyhq/shared/src/platformEnv';

platformEnv.isDesktop    // Electron desktop app
platformEnv.isNative     // React Native (iOS/Android)
platformEnv.isWeb        // Web browser
platformEnv.isExtension  // Browser extension
platformEnv.isWebEmbed   // Embedded web components

一般的なタスク

エラーをフィルタリング/無視する

参照先:references/rules/ignoring-errors.md

主要なファイル:packages/shared/src/modules3rdParty/sentry/basicOptions.ts

カスタムコンテキストを追加する
import * as Sentry from '@sentry/react-native'; // or @sentry/browser

// Add breadcrumb
Sentry.addBreadcrumb({
  category: 'action',
  message: 'User clicked button',
  level: 'info',
});

// Set user context
Sentry.setUser({ id: 'user-id' });

// Set tags
Sentry.setTag('feature', 'swap');

// Capture exception with context
Sentry.captureException(error, {
  extra: { additionalData: 'value' },
});

主要なファイル

目的ファイル
エラーのフィルタリングpackages/shared/src/modules3rdParty/sentry/basicOptions.ts
デスクトップのメインプロセスapps/desktop/app/sentry.ts
デスクトップのレンダラーpackages/shared/src/modules3rdParty/sentry/index.desktop.ts
Web/拡張機能packages/shared/src/modules3rdParty/sentry/index.ts
ネイティブpackages/shared/src/modules3rdParty/sentry/index.native.ts

エラーフィルタリングのクイックリファレンス

// Filter by error type
const FILTERED_ERROR_TYPES = new Set(['AxiosError', 'HTTPClientError']);

// Filter by exact message
const FILTER_ERROR_VALUES = ['AbortError: AbortError'];

// Filter by pattern (in isFilterErrorAndSkipSentry function)
if (error.value?.includes('PATTERN')) return true;

関連するスキル

  • /1k-coding-patterns - エラー処理のベストプラクティス

コメント