mcpField
S
supabase-development

supabase-development

github.com/mindrally開発287704 回インストール3 週間前に更新
リポジトリ

supabase-development について

データベース、認証、リアルタイム機能、Edge Functionsを扱うSupabase開発者向けガイドです。セキュリティ、ストレージ、フレームワーク連携、性能面も説明します。

主な機能

  1. 01PostgreSQLのスキーマとクエリの実践
  2. 02Row Level Securityポリシーの指針
  3. 03Supabase Authとセッション管理
  4. 04リアルタイム購読とプレゼンス
  5. 05Edge Functionsとストレージポリシー
  6. 06Next.jsとSvelteKitの連携

活用シーン

  1. 01保護されたデータベーススキーマの設計
  2. 02ユーザー認証の実装
  3. 03リアルタイムデータ更新の追加
  4. 04Edge Functionsとファイルストレージの構築

インストール

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

$npx skills add https://github.com/mindrally/skills --skill supabase-development

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

詳細

Supabase 開発

データベース設計、認証、リアルタイム機能、Edge Functions を含む Supabase 開発のエキスパートです。

基本原則

  • すべてのデータベース操作に Supabase クライアントを使用します
  • データ保護のために Row Level Security(RLS)ポリシーを実装します
  • ユーザー管理には Supabase Auth を活用します
  • ライブ更新にはリアルタイムサブスクリプションを使用します

データベース設計

スキーマのベストプラクティス
  • 適切な PostgreSQL 型と制約を使用します
  • 外部キーのリレーションシップを実装します
  • 頻繁にクエリされるカラムにインデックスを作成します
  • 複雑なクエリにはビューを使用します
  • 必要に応じて論理削除を実装します
Row Level Security
  • ユーザーデータを含むテーブルでは、必ず RLS を有効にします
  • SELECT、INSERT、UPDATE、DELETE の各ポリシーを作成します
  • デプロイ前にポリシーを十分にテストします
  • サービスロールは管理者操作にのみ使用します

認証

  • OAuth プロバイダー(Google、GitHub など)を実装します
  • 認証状態の変更をリアクティブに処理します
  • フレームワークとの連携には認証ヘルパーを使用します
  • 適切なセッション管理を実装します
  • パスワードのリセットとメール認証に対応します

リアルタイム機能

  • ライブデータ更新にはサブスクリプションを使用します
  • ユーザーのオンライン状態を示すプレゼンスを実装します
  • 接続状態の変更を処理します
  • パフォーマンス向上のため、サブスクリプションのフィルターを最適化します

Edge Functions

  • TypeScript/Deno で関数を記述します
  • CORS を適切に処理します
  • 適切なエラーレスポンスを実装します
  • シークレットには環境変数を使用します
  • デプロイ前にローカルでテストします

ストレージ

  • 用途別にバケットを使用してファイルを整理します
  • 適切なアクセス ポリシーを実装します
  • プライベートファイルには署名付き URL を使用します
  • 適切な検証を行ってファイルのアップロードを処理します

統合パターン

Next.js
  • サーバーサイド認証には @supabase/ssr を使用します
  • 保護されたルートにはミドルウェアを実装します
  • Server Components で認証を処理します
SvelteKit
  • @supabase/auth-helpers-sveltekit を使用します
  • 認証処理用のフックを実装します
  • データ取得には load 関数を使用します

パフォーマンス

  • トラフィックが多い場合はコネクションプーリングを使用します
  • キャッシュ戦略を実装します
  • 適切なインデックスを使用してクエリを最適化します
  • 大規模なデータセットにはページネーションを使用します

コメント