mcpField
1
1k-feature-guides

1k-feature-guides

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

1k-feature-guides について

OneKey アプリの機能を拡張するための開発ガイドをまとめたスキルです。ブロックチェーン、WebSocket イベント、プッシュ通知、ページとルートを、手順や関連ファイルとともに説明します。

主な機能

  1. 01ブロックチェーン追加ガイド
  2. 02WebSocket イベント連携手順
  3. 03プッシュ通知のモードと処理
  4. 04ページ種別とルート設定
  5. 05主要ファイルと参考実装

活用シーン

  1. 01OneKey にブロックチェーンを追加
  2. 02WebSocket イベントを実装して応答
  3. 03通知からの画面遷移やリンク表示を設定
  4. 04ページを追加してルートを設定

インストール

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

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

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

同梱ファイル

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

references/rules/
adding-chains.md
adding-socket-events.md
notification-system.md
page-and-route.md

詳細

機能開発ガイド

OneKey アプリの機能を拡張するための包括的なガイドです。

クイックリファレンス

機能ガイド主なファイル
ブロックチェーンのチェーンを追加adding-chains.mdpackages/core/src/chains/
WebSocket イベントを追加adding-socket-events.mdpackages/shared/types/socket.ts
プッシュ通知notification-system.mdpackages/kit-bg/src/services/ServiceNotification/
ページとルートpage-and-route.mdpackages/kit/src/routes/

新しいチェーンの追加

参照先:references/rules/adding-chains.md

主な手順:

  1. packages/core/src/chains/mychain/ にチェーンのコアロジックを実装します
  2. packages/shared/src/config/chains/ にチェーンの設定を追加します
  3. チェーン固有の機能に合わせて UI コンポーネントを更新します
  4. 包括的なテストを追加します

参考実装:

  • EVM チェーン:packages/core/src/chains/evm/
  • Bitcoin:packages/core/src/chains/btc/
  • Solana:packages/core/src/chains/sol/

WebSocket イベントの追加

参照先:references/rules/adding-socket-events.md

主な手順:

  1. EAppSocketEventNames enum にイベント名を定義します
  2. msgId: string を含むペイロード型のインターフェースを定義します
  3. PushProviderWebSocket.initWebSocket() にイベントハンドラーを追加します
  4. ackNotificationMessage を使って必ずメッセージを確認応答します
this.socket.on(EAppSocketEventNames.myEvent, (payload: IMyPayload) => {
  void this.backgroundApi.serviceNotification.ackNotificationMessage({
    msgId: payload.msgId,
    action: ENotificationPushMessageAckAction.arrived,
  });
  void this.backgroundApi.someService.handleEvent(payload);
});

通知システム

参照先:references/rules/notification-system.md

通知モード:

モードアクション
1 (page)指定したページに移動
2 (dialog)ダイアログを表示
3 (openInBrowser)外部ブラウザーで URL を開く
4 (openInApp)アプリ内ブラウザーで URL を開く
5 (openInDapp)DApp ブラウザーで URL を開く

主なファイル:

  • サービス:packages/kit-bg/src/services/ServiceNotification/ServiceNotification.ts
  • ユーティリティ:packages/shared/src/utils/notificationsUtils.ts
  • 型:packages/shared/types/notification.ts

ページとルート

参照先:references/rules/page-and-route.md

ページの種類:

種類説明
modalモーダルオーバーレイページ
stackタブルートページ
onboarding全画面のオンボーディングページ

ルート設定の場所:

  • モーダルルート:packages/kit/src/routes/Modal/router.tsx
  • タブルート:packages/kit/src/routes/Tab/router.ts
  • オンボーディング:packages/kit/src/views/Onboardingv2/router/index.tsx

重要:

  • ⚠️ ページを削除しないでください - 非推奨のルートにはリダイレクトパターンを使用します
  • ⚠️ ルートパスはアプリケーション全体で一意である必要があります
  • ⚠️ navigation.navigate では必ず pop: true を使用してください

関連スキル

  • /1k-coding-patterns - React と TypeScript のベストプラクティス
  • /1k-architecture - プロジェクト構成とインポートのルール
  • /1k-state-management - Jotai atom のパターン

コメント