Supabase Development Guidelines
SkillDatabases & dataAuth (Google/Facebook OAuth, email), Database (PostgreSQL, RLS policies, SECURITY DEFINER), Edge Functions, Realtime subscriptions. Uzywaj przy pracy z autentykacja, baza danych, migracjami, bezpieczenstwem.
Use Supabase Development Guidelines in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Supabase Development Guidelines and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Supabase Development Guidelines skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
What this skill tells your AI
The instructions your AI receives, as published by aibiz-automatyzacje/claude-code-starter in .claude/skills/supabase-dev-guidelines/SKILL.md and read by Ahel’s review.
Cel
Przewodnik pracy z Supabase w aplikacjach Vite SPA: autentykacja, baza danych, polityki RLS, Edge Functions i Realtime. Ten plik to checklisty i zasady stałe; przykłady kodu i szczegóły są w resources/ (tabela na końcu). Reguły bezpieczeństwa (RLS, autoryzacja, klucze, dane w odpowiedziach) są w skillu security i w sekcji Bezpieczeństwo .claude/rules/coding-rules.md — tu stoją tylko odwołania do nich.
Kiedy Używać Tego Skilla
- Praca z autentykacją (login, rejestracja, OAuth)
- Tworzenie lub modyfikacja tabel bazy danych
- Pisanie RLS policies
- Tworzenie Edge Functions
- Migracje bazy danych
- Bezpieczeństwo i audit logging
Checklisty
Nowa tabela
- Tabela w nowej migracji SQL (
supabase migration new <opis>) - RLS i polityki w tej samej migracji — według skilla security (operacje,
with check, kolumny chronione) i reguł kodu (subqueryauth.uid(),TO <rola>) - Indeksy dla kolumn filtrów zapytań i polityk
- Typy po migracji:
supabase gen types --lang typescript --local > src/types/database.types.ts(albo plik typów, którego projekt już używa) - Funkcje API w
lib/supabase.ts(albo w module zapytań, którego używa projekt)
Edge Function
- Katalog
supabase/functions/function-name/ -
export default { fetch: withSupabase({ auth }, handler) }znpm:@supabase/server@^1(nieDeno.serve()) - Importy:
npm:@supabase/supabase-js@2,npm:stripe@22 - Tryb
authper funkcja:'user'(JWT),'secret'(cron/pg_net),'publishable'(przed logowaniem),'none'(webhook zewnętrzny); co uzupełnić w kodzie przy każdym trybie — skill security -
verify_jwt = falsewsupabase/config.tomldla trybów innych niż'user' - CORS załatwia wrapper (
cors: 'disabled'dla webhooków) — bez_shared/cors.ts - Błędy przez
captureError(skill sentry-integration), odpowiedź w kopercie błędu z reguł kodu - Test lokalny:
supabase functions serve - Deploy (
supabase functions deploy function-name) na prośbę operatora
Baza poza politykami
- Funkcja SECURITY DEFINER według reguł kodu (pusty
search_path, EXECUTE tylko dla roli, która ją woła); przykłady z REVOKE/GRANT wresources/security.md - Email enumeration protection włączone w Dashboard
Główne zasady
- UUID w politykach, nie email — użytkownik zmienia email, a UUID z
auth.uid()jest niezmienny, więc polityka na emailu po zmianie adresu daje dostęp złej osobie. - Typy generowane po każdej migracji —
supabase gen types, bo kod typuje się z wygenerowanego pliku, a stary plik przepuszcza zapytania do nieistniejących kolumn. - Audit log izolowany — bez polityki INSERT dla
authenticated, wpisy tylko przez triggery i funkcje SECURITY DEFINER, bo użytkownik z polityką INSERT dopisze sobie dowolną historię. - Nieoczekiwany błąd przez logger —
logger.error()zamiastconsole.error(), bo logger wysyła zdarzenie do Sentry z kontekstem; oczekiwaną odmowę zapisujelogger.info()bez zdarzenia (skill sentry-integration).
RLS, klucze i autoryzacja w Edge Functions — skill security; funkcje SECURITY DEFINER, polityki z subquery i walidacja wejścia — sekcja Bezpieczeństwo reguł kodu.
Navigation Guide
| Potrzebujesz... | Przeczytaj |
|---|---|
| Klienta, typów, podstawowych operacji, zmiennych środowiskowych i częstych błędów | klient-i-przeglad.md |
| Autentykację OAuth/email | auth-patterns.md |
| Bazę danych i RLS | database-patterns.md |
| Edge Functions | edge-functions.md |
| Bezpieczeństwo | security.md |
| Realtime subscriptions | realtime.md |
| Supabase CLI | cli-guide.md |
Przewodnik tematu czytasz, zanim zaczniesz pisać kod tego tematu: każdy ma pułapki, których nie widać w samym API (domyślny flowType implicit zamiast PKCE w auth, kanały prywatne Realtime działające dopiero po wyłączeniu publicznego dostępu, withSupabase zamiast Deno.serve w Edge Functions).
Signals
- GitHub stars
- 88
- Forks
- 29
- Last commit
- Oct 2026
Ahel review
S4info
community integration, published by aibiz-automatyzacje, not supabaseK1binfo
installs-packages (in resources/cli-guide.md)
Automated review, not a security audit. Ruleset v1+k2.
Advanced
- Item type
- skill
- Key
supabase-dev-guidelines- Source
- github.com/aibiz-automatyzacje/claude-code-starter
github.com/aibiz-automatyzacje/claude-code-starter
Related picks
Skill · thedaviddias
The pick for JavaScriptmodern-javascript-patterns
Skill · wshobson
The pick for JavaScriptsetup-ts-deep-modules
Skill · mattpocock
The pick for TypeScripttypescript-pro
Skill · jeffallan
The pick for TypeScriptsupabase-postgres-best-practices
Skill · baekenough
The pick for Postgresstripe-best-practices
Skill · stripe
The pick for Stripe