mcpField
E
error-tracking-ruby

error-tracking-ruby

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

error-tracking-ruby について

Ruby アプリケーションに PostHog のエラートラッキングを追加するスキルです。既存のエラー処理を保ちながら、例外の捕捉、問題の監視、ソースマップの利用を案内します。

主な機能

  1. 01例外の自動捕捉と手動捕捉
  2. 02問題の監視と検索
  3. 03アラートと問題の割り当て
  4. 04ソースマップのアップロード
  5. 05Ruby SDK の初期化と終了処理の案内

活用シーン

  1. 01Ruby アプリに PostHog のエラートラッキングを追加
  2. 02グローバルハンドラーに届かない例外を捕捉
  3. 03問題を調査してチームメンバーに割り当て

インストール

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

$npx skills add https://github.com/posthog/skills --skill error-tracking-ruby

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
alerts.md
assigning-issues.md
fingerprints.md
monitoring.md
ruby.md
upload-source-maps.md

詳細

Ruby 向け PostHog エラートラッキング

このスキルは、Ruby アプリケーションに PostHog エラートラッキングを追加するのに役立ちます。

参照ファイル

  • references/ruby.md - Ruby エラートラッキングのインストール - ドキュメント
  • references/fingerprints.md - フィンガープリント - ドキュメント
  • references/alerts.md - エラートラッキングのアラートを送信 - ドキュメント
  • references/monitoring.md - イシューを監視および検索 - ドキュメント
  • references/assigning-issues.md - イシューをチームメイトに割り当てる - ドキュメント
  • references/upload-source-maps.md - ソースマップをアップロード - ドキュメント

API の詳細とフレームワーク固有のパターンについては、ドキュメントを参照してください。

主な原則

  • 環境変数:PostHog のキーとホスト URL には必ず環境変数を使用してください。ハードコードしないでください。
  • 最小限の変更:既存のエラー処理に加えてエラートラッキングを追加してください。既存のエラー処理コードを置き換えたり、再構成したりしないでください。
  • 自動キャプチャを優先:手動キャプチャを追加する前に、SDK の初期化で例外の自動キャプチャを有効にしてください。
  • ソースマップ:スタックトレースが縮小されたバンドルではなく、元のソースコードを参照するよう、ソースマップをアップロードしてください。
  • 境界では手動キャプチャ:グローバルハンドラーに伝播しないエラーについては、エラー境界や catch ブロックで captureException() を使用してください。

フレームワークのガイドライン

  • posthog-ruby は Ruby SDK の gem 名です(Gemfile に gem 'posthog-ruby' を追加します)が、読み込む際は require 'posthog' を使用してください(require 'posthog-ruby' ではありません)。
  • スクリプトや CLI でインスタンスベースの初期化を行う場合は、PostHog::Client.new(api_key: key, host: host) を使用してください。
  • CLI やスクリプトでは、終了前に client.shutdown を必ず呼び出してください。呼び出さないと、すべてのイベントが失われます。
  • 適切にクリーンアップするには、ensure ブロック内で shutdown を呼び出す begin/rescue/ensure を使用してください。
  • capture と identify は、単一のハッシュ引数を受け取ります:client.capture(distinct_id: 'user_123', event: 'my_event', properties: { key: 'value' })
  • capture_exception は位置引数を受け取ります(キーワード引数ではありません):client.capture_exception(exception, distinct_id, additional_properties)。distinct_id: のキーワード引数構文は使用しないでください。

コメント