mcpField
R
real-time-features

real-time-features

github.com/aj-geddes開発373545 回インストール34 週間前に更新
リポジトリ

real-time-features について

クライアントとサーバー間のリアルタイム双方向通信を実装する開発者向けスキルです。WebSocket、Server-Sent Events、Socket.IOのガイドを備え、ライブ機能の構築に役立ちます。

主な機能

  1. 01WebSocketサーバーとクライアントのガイド
  2. 02Server-Sent Eventsのガイド
  3. 03Socket.IO実装ガイド
  4. 04接続とメッセージのベストプラクティス

活用シーン

  1. 01チャットやメッセージ機能の構築
  2. 02ライブダッシュボードの作成
  3. 03共同編集機能の追加
  4. 04リアルタイム通知の送信

インストール

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

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill real-time-features

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

同梱ファイル

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

references/
server-sent-events-sse.md
socketio-production-ready.md
websocket-client-react.md
websocket-server-nodejs.md
scripts/
validate-api.sh
templates/
api-scaffold.yaml

詳細

リアルタイム機能

目次

概要

クライアントとサーバー間のリアルタイムな双方向通信を実装し、データを即時に同期してライブ更新を行います。

利用する場面

  • チャットやメッセージングアプリケーション
  • ライブダッシュボードや分析
  • 共同編集(Google Docs のようなもの)
  • リアルタイム通知
  • スポーツのライブスコアや株価ティッカー
  • マルチプレイヤーゲーム
  • ライブオークションや入札システム
  • IoT デバイスの監視
  • リアルタイム位置追跡

クイックスタート

最小限の動作する例:

// server.ts
import WebSocket, { WebSocketServer } from "ws";
import { createServer } from "http";

interface Message {
  type: "join" | "message" | "leave" | "typing";
  userId: string;
  username: string;
  content?: string;
  timestamp: number;
}

interface Client {
  ws: WebSocket;
  userId: string;
  username: string;
  roomId: string;
}

class ChatServer {
  private wss: WebSocketServer;
  private clients: Map<string, Client> = new Map();
  private rooms: Map<string, Set<string>> = new Map();

  constructor(port: number) {
// ... (see reference guides for full implementation)

リファレンスガイド

詳細な実装は references/ ディレクトリにあります:

ガイド内容
WebSocket Server (Node.js)WebSocket サーバー(Node.js)
WebSocket Client (React)WebSocket クライアント(React)
Server-Sent Events (SSE)Server-Sent Events(SSE)
Socket.IO (Production-Ready)Socket.IO(本番環境対応)

ベストプラクティス

✅ 推奨事項
  • 指数バックオフによる再接続ロジックを実装します
  • 接続切断の検出にハートビート/ping-pong を使用します
  • すべてのメッセージを検証し、サニタイズします
  • 認証と認可を実装します
  • 接続数の上限とレート制限に対応します
  • 大きなペイロードには圧縮を使用します
  • 適切なエラーハンドリングを実装します
  • 接続の健全性を監視します
  • 対象を絞ったメッセージ送信にはルーム/チャンネルを使用します
  • 適切なシャットダウン処理を実装します
❌ 避けるべきこと
  • 暗号化せずに機密データを送信する
  • クリーンアップせずに接続を無期限に維持する
  • 対象を絞ったメッセージ送信で十分な場合に、すべてのユーザーにブロードキャストする
  • 接続状態の管理を無視する
  • 大きなペイロードを頻繁に送信する
  • メッセージの検証を省略する
  • モバイル環境や不安定な接続を考慮しない
  • スケーリングに関する考慮事項を無視する

コメント