skill

سوبابيز

يستخدم عند القيام بأي مهمة تتضمن Supabase. المحفزات: منتجات Supabase (Database, Auth, Edge Functions, Realtime, Storage, Vectors, Cron, Queues)؛ مكتبات العميل وتكاملات SSR (supabase-js, @supabase/ssr) في Next.js, React, SvelteKit, Astro, Remix؛ مشكلات المصادقة (login, logout, sessions, JWT, cookies, getSession, getUser, getClaims, RLS)؛ Supabase CLI أو MCP server؛ تغييرات المخطط، الترحيلات، المخططات التعريفية، تدقيقات الأمان، امتدادات Postgres (pg_graphql, pg_cron, pg_vector)؛ ...

supabase306,836+ تثبيتموثوق

نبذة

# Supabase

## المبادئ الأساسية

**1. يتغير Supabase بشكل متكرر — تحقق من سجل التغييرات والوثائق الحالية قبل التنفيذ.** لا تعتمد على بيانات التدريب لميزات Supabase. تتغير توقيعات الدوال، وإعدادات config.toml، واتفاقيات API بين الإصدارات.

أولا، قم بجلب `https://supabase.com/changelog.md` (فهرس ملخص خفيف الوزن — وليس سحبا ثقيلا)، وابحث عن علامات `breaking-change` ذات الصلة بمهمتك، واتبع الصفحة المرتبطة لأي منها ينطبق. ثم ابحث عن الموضوع ذي الصلة باستخدام طرق الوصول إلى الوثائق أدناه.

**2. تحقق من عملك.** بعد تنفيذ أي إصلاح، قم بتشغيل استعلام اختباري لتأكيد أن التغيير يعمل. الإصلاح بدون تحقق يعتبر غير مكتمل.

**3. تعاف من الأخطاء، لا تكرر.** إذا فشل نهج بعد محاولتين أو ثلاث، توقف وأعد النظر. جرب طريقة مختلفة، تحقق من الوثائق، افحص الخطأ بعناية أكبر، وراجع السجلات ذات الصلة عند توفرها. لا تحل مشكلات Supabase دائما بإعادة محاولة نفس الأمر، والإجابة ليست دائما في السجلات، ولكن غالبا ما تستحق السجلات المراجعة قبل المتابعة.

**4. كشف الجداول ل Data API:** اعتمادا على [إعدادات Data API](https://supabase.com/dashboard/project/<ref>/integrations/data_api/settings) الخاصة بالمستخدم، قد لا يتم كشف الجداول التي تم إنشاؤها حديثا تلقائيا عبر Data (REST) API. إذا كان هذا هو الحال، ستحتاج أدوار `anon` و `authenticated` إلى منح الوصول بشكل صريح.

> لاحظ أن هذا منفصل عن RLS، الذي يتحكم في _الصفوف_ المرئية بمجرد أن يصبح الجدول قابلا للوصول، وليس ما إذا كان الجدول قابلا للوصول على الإطلاق.

عندما يبلغ مستخدم أن جدولا تم إنشاؤه بواسطة SQL غير قابل للوصول بشكل غير متوقع، تحقق من إعدادات Data API الخاصة به وما إذا تم منح الأدوار حق الوصول عبر `GRANT` SQL صريح. عند منح الوصول العام (`anon`/`authenticated`)، قم دائما بتمكين RLS أيضا. راجع [Exposing a Table to the Data API](https://supabase.com/docs/guides/api/securing-your_api.md) لسير عمل الإعداد الكامل.

**5. RLS في المخططات المكشوفة.** قم بتمكين RLS على كل جدول في أي مخطط مكشوف، والذي يتضمن `public` افتراضيا. هذا أمر بالغ الأهمية في Supabase لأن الجداول في المخططات المكشوفة يمكن الوصول إليها من خلال Data API عندما يكون لأدوار `anon`/`authenticated` حق الوصول (انظر [Exposing a Table to the Data API](https://supabase.com/docs/guides/api/securing-your-api.md)). بالنسبة للمخططات الخاصة، يفضل RLS كدفاع متعمق. بعد تمكين RLS، قم بإنشاء سياسات تتطابق مع نموذج الوصول الفعلي بدلا من تعيين كل جدول افتراضيا على نفس نمط `auth.uid()`.

**6. قائمة التحقق الأمني.** عند العمل على أي مهمة في Supabase تتعلق بالمصادقة (auth)، أو RLS، أو العروض (views)، أو التخزين، أو بيانات المستخدم، قم بمراجعة قائمة التحقق هذه. هذه هي فخاخ أمنية خاصة ب Supabase تنشئ نقاط ضعف بصمت:

- **أمن المصادقة والجلسات** - **لا تستخدم أبدا مطالبات `user_metadata` في قرارات التفويض المستندة إلى JWT.** في Supabase، `raw_user_meta_data` قابلة للتعديل من قبل المستخدم ويمكن أن تظهر في `auth.jwt()`، لذا فهي غير آمنة لسياسات RLS أو أي منطق تفويض آخر. قم بتخزين بيانات التفويض في `raw_app_meta_data` / `app_metadata` بدلا من ذلك. - **حذف المستخدم لا يبطل رموز الوصول الموجودة.** قم بتسجيل الخروج أو إلغاء الجلسات أولا، حافظ على صلاحية JWT قصيرة للتطبيقات الحساسة، ولضمانات صارمة قم بالتحقق من `session_id` مقابل `auth.sessions` في العمليات الحساسة. - **إذا كنت تستخدم `app_metadata` أو `auth.jwt()` للتفويض، تذكر أن مطالبات JWT ليست دائما حديثة حتى يتم تحديث رمز المستخدم.**

- **مفتاح API وكشف العميل** - **لا تكشف أبدا `service_role` أو المفتاح السري في العملاء العامين.** فضل المفاتيح القابلة للنشر لرمز الواجهة الأمامية. مفاتيح `anon` القديمة هي للتوافق فقط. في Next.js، يتم إرسال أي متغير بيئة `NEXT_PUBLIC_` إلى المتصفح. - **استخدم رموز الوصول الشخصية المحددة النطاق ل Management API، و CLI، وخادم MCP.** يحمل رمز الوصول الشخصي الكلاسيكي وصول حساب المستخدم الكامل، على كل مؤسسة ومشروع. بالنسبة للبرامج النصية، و CI، والوكلاء، اطلب من المستخدم إنشاء رمز محدد النطاق يقتصر على المؤسسات والمشاريع والأذونات التي تحتاجها المهمة. يسرد [دليل رموز الوصول الشخصية](https://supabase.com/docs/guides/platform/personal-access-tokens.md) الأذونات التي تتطلبها كل نقطة نهاية Management API وأداة MCP. ابحث عن الأذونات هناك بدلا من التخمين.

- **RLS، والعروض، ورمز قاعدة البيانات المتميز** - **تتجاوز العروض RLS افتراضيا.** في Postgres 15 وما فوق، استخدم `CREATE VIEW ... WITH (security_invoker = true)`. في الإصدارات الأقدم من Postgres، قم بحماية عروضك عن طريق إلغاء الوصول من أدوار `anon` و `authenticated`، أو عن طريق وضعها في مخطط غير مكشوف. - **يتطلب UPDATE سياسة SELECT.** في Postgres RLS، يحتاج UPDATE أولا إلى SELECT الصف. بدون سياسة SELECT، تعيد التحديثات بصمت 0 صفوف — لا يوجد خطأ، فقط لا يوجد تغيير. - **`auth.role()` مهمل — استخدم عبارة `TO` بدلا من ذلك.** لقد أهملت Supabase `auth.role()` لصالح تحديد الدور المستهدف مباشرة على السياسة باستخدام `TO authenticated` أو `TO anon`. بالإضافة إلى الإهمال

التثبيت

شغل هذا الأمر

npx skills add supabase/agent-skills

يعمل مع

claude appclaude codeclaude apicursorcodexwindsurfclinezed

خطوات التثبيت

ثبت باستخدام `npx skills add supabase/agent-skills`، أو استنسخ المستودع وانسخ مجلد `skills/supabase` إلى دليل مهارات Claude الخاص بك.

عرض المصدر

أسئلة شائعة

ما هي مهارة سوبابيز؟

يستخدم عند القيام بأي مهمة تتضمن Supabase. المحفزات: منتجات Supabase (Database, Auth, Edge Functions, Realtime, Storage, Vectors, Cron, Queues)؛ مكتبات العميل وتكاملات SSR (supabase-js, @supabase/ssr) في Next.js, React, SvelteKit, Astro, Remix؛ مشكلات المصادقة (login, logout, sessions, JWT, cookies, getSession, getUser, getClaims, RLS)؛ Supabase CLI أو MCP server؛ تغييرات المخطط، الترحيلات، المخططات التعريفية، تدقيق…

كيف أثبت سوبابيز؟

شغل هذا الأمر في الطرفية:

npx skills add supabase/agent-skills
مع أي أدوات ذكاء اصطناعي تعمل سوبابيز؟

تعمل مع claude_app، claude_code، claude_api، cursor، codex، windsurf، cline، zed.

من طور سوبابيز؟

طورها supabase.

هل سوبابيز مجانية؟

نعم، يمكنك استخدامها مجانا.

أصول ذات صلة

مختارات أخرى في التطوير والبرمجة.

كل بدائل سوبابيز ←
skillclaude_appclaude_codeclaude_api
git clone https://github.com/anthropics/skills && cp -r skills/skills/claude-api ~/.claude/skills/
واجهة برمجة تطبيقات Claude
مرجع ل Claude API / Anthropic SDK — معرفات النماذج، التسعير، المعاملات، البث، استخدام الأدوات، MCP، الوكلاء، التخزين المؤقت، عد الرموز، ترحيل النماذج.…★ 4.8 · 2,500+
skillclaude_appclaude_codeclaude_api
npx skills add mattpocock/skills
تطوير مدفوع بالاختبار
التطوير الموجه بالاختبار. يستخدم عندما يرغب المستخدم في بناء ميزات أو إصلاح أخطاء بأسلوب "الاختبار أولا"، أو يذكر "red-green-refactor"، أو يريد اختبار…1,012,026+
skillclaude_appclaude_codeclaude_api
npx skills add mattpocock/skills
الشواء
استجوب المستخدم بلا هوادة حول خطة أو قرار أو فكرة. استخدمها عندما يرغب المستخدم في اختبار مدى صلابة تفكيره، أو يستخدم أي عبارات تحفيزية مثل "استجواب".793,522+
skillclaude_appclaude_codeclaude_api
npx skills add mattpocock/skills
تشخيص الأخطاء
حلقة تشخيص للأخطاء الصعبة وتراجعات الأداء. تستخدم عندما يقول المستخدم "شخص/صحح هذا"، أو يبلغ عن شيء معطل/يصدر خطأ/فاشل/بطيء.709,307+
skillclaude_appclaude_codeclaude_api
npx skills add mattpocock/skills
مراجعة الكود
راجع التغييرات منذ نقطة ثابتة (التزام، فرع، وسم، أو قاعدة دمج) على محورين: المعايير (هل يتبع الكود معايير الترميز الموثقة لهذا المستودع؟) والمواصفات (…631,767+
skillclaude_appclaude_codeclaude_api
npx skills add microsoft/azure-skills
تشخيصات Azure
تصحيح مشكلات إنتاج Azure باستخدام AppLens وAzure Monitor وصحة الموارد والتصنيف الآمن. متى: تصحيح مشكلات الإنتاج، استكشاف أخطاء App Service وإصلاحها، ا…619,097+

افحص قبل التثبيت

شغل أي مصدر عبر فحوصاتنا - الظهور في الذكاء الاصطناعي والأمان والأداء واكتشاف التقنيات.

المزيد في التطوير والبرمجة