superkit-mcp-server 1.2.4 → 1.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/ARCHITECTURE.md +102 -102
  2. package/README.md +71 -71
  3. package/SUPERKIT.md +168 -168
  4. package/agents/code-archaeologist.md +106 -106
  5. package/agents/coder.md +90 -90
  6. package/agents/data-engineer.md +28 -28
  7. package/agents/devops-engineer.md +242 -242
  8. package/agents/git-manager.md +203 -203
  9. package/agents/orchestrator.md +420 -420
  10. package/agents/penetration-tester.md +188 -188
  11. package/agents/performance-optimizer.md +187 -187
  12. package/agents/planner.md +270 -270
  13. package/agents/qa-automation-engineer.md +103 -103
  14. package/agents/quant-developer.md +32 -32
  15. package/agents/reviewer.md +100 -100
  16. package/agents/scout.md +222 -222
  17. package/agents/tester.md +274 -274
  18. package/agents/ui-designer.md +208 -208
  19. package/build/index.js +88 -45
  20. package/build/tools/todoTools.js +39 -39
  21. package/build/tools/validators/__tests__/apiSchema.test.js +23 -23
  22. package/build/tools/validators/__tests__/convertRules.test.js +5 -5
  23. package/build/tools/validators/__tests__/frontendDesign.test.js +12 -12
  24. package/build/tools/validators/__tests__/geoChecker.test.js +19 -19
  25. package/build/tools/validators/__tests__/mobileAudit.test.js +12 -12
  26. package/build/tools/validators/__tests__/reactPerformanceChecker.test.js +17 -17
  27. package/build/tools/validators/__tests__/securityScan.test.js +6 -6
  28. package/build/tools/validators/__tests__/seoChecker.test.js +16 -16
  29. package/build/tools/validators/__tests__/typeCoverage.test.js +14 -14
  30. package/commands/README.md +122 -122
  31. package/commands/ask.toml +72 -72
  32. package/commands/brainstorm.toml +119 -119
  33. package/commands/chat.toml +77 -77
  34. package/commands/code-preview.toml +37 -37
  35. package/commands/code.toml +28 -28
  36. package/commands/content.toml +200 -200
  37. package/commands/cook.toml +77 -77
  38. package/commands/copywrite.toml +131 -131
  39. package/commands/db.toml +192 -192
  40. package/commands/debug.toml +166 -166
  41. package/commands/design.toml +158 -158
  42. package/commands/dev-rules.toml +14 -14
  43. package/commands/do.toml +117 -117
  44. package/commands/doc-rules.toml +14 -14
  45. package/commands/docs.toml +148 -148
  46. package/commands/fix.toml +440 -440
  47. package/commands/fullstack.toml +175 -175
  48. package/commands/git.toml +235 -235
  49. package/commands/help.toml +84 -84
  50. package/commands/integrate.toml +127 -127
  51. package/commands/journal.toml +136 -136
  52. package/commands/kit-setup.toml +40 -40
  53. package/commands/mcp.toml +183 -183
  54. package/commands/orchestration.toml +15 -15
  55. package/commands/plan.toml +206 -172
  56. package/commands/pm.toml +148 -148
  57. package/commands/pr.toml +50 -50
  58. package/commands/project.toml +32 -32
  59. package/commands/research.toml +117 -117
  60. package/commands/review-pr.toml +63 -63
  61. package/commands/review.toml +190 -190
  62. package/commands/scout-ext.toml +97 -97
  63. package/commands/scout.toml +79 -79
  64. package/commands/screenshot.toml +65 -65
  65. package/commands/session.toml +102 -102
  66. package/commands/skill.toml +384 -384
  67. package/commands/status.toml +22 -22
  68. package/commands/team.toml +56 -56
  69. package/commands/test.toml +164 -164
  70. package/commands/ticket.toml +70 -70
  71. package/commands/use.toml +106 -106
  72. package/commands/video.toml +83 -83
  73. package/commands/watzup.toml +71 -71
  74. package/commands/workflow.toml +14 -14
  75. package/package.json +35 -35
  76. package/skills/meta/README.md +30 -30
  77. package/skills/meta/api-design/SKILL.md +134 -134
  78. package/skills/meta/code-review/SKILL.md +44 -44
  79. package/skills/meta/code-review/checklists/pre-merge.md +25 -25
  80. package/skills/meta/code-review/workflows/architecture-pass.md +26 -26
  81. package/skills/meta/code-review/workflows/performance-pass.md +27 -27
  82. package/skills/meta/code-review/workflows/security-pass.md +29 -29
  83. package/skills/meta/compound-docs/SKILL.md +133 -133
  84. package/skills/meta/debug/SKILL.md +40 -40
  85. package/skills/meta/debug/templates/bug-report.template.md +31 -31
  86. package/skills/meta/debug/workflows/reproduce-issue.md +20 -20
  87. package/skills/meta/docker/SKILL.md +126 -126
  88. package/skills/meta/examples/supabase/SKILL.md +46 -46
  89. package/skills/meta/examples/supabase/references/best-practices.md +319 -319
  90. package/skills/meta/examples/supabase/references/common-patterns.md +373 -373
  91. package/skills/meta/examples/supabase/templates/migration-template.sql +49 -49
  92. package/skills/meta/examples/supabase/templates/rls-policy-template.sql +77 -77
  93. package/skills/meta/examples/supabase/workflows/debugging.md +260 -260
  94. package/skills/meta/examples/supabase/workflows/migration-workflow.md +211 -211
  95. package/skills/meta/examples/supabase/workflows/rls-policies.md +244 -244
  96. package/skills/meta/examples/supabase/workflows/schema-design.md +321 -321
  97. package/skills/meta/file-todos/SKILL.md +88 -88
  98. package/skills/meta/mobile/SKILL.md +140 -140
  99. package/skills/meta/nextjs/SKILL.md +101 -101
  100. package/skills/meta/performance/SKILL.md +130 -130
  101. package/skills/meta/react-patterns/SKILL.md +83 -83
  102. package/skills/meta/security/SKILL.md +114 -114
  103. package/skills/meta/session-resume/SKILL.md +96 -96
  104. package/skills/meta/tailwind/SKILL.md +139 -139
  105. package/skills/meta/testing/SKILL.md +43 -43
  106. package/skills/meta/testing/references/vitest-patterns.md +45 -45
  107. package/skills/meta/testing/templates/component-test.template.tsx +37 -37
  108. package/skills/tech/alpha-vantage/SKILL.md +142 -142
  109. package/skills/tech/alpha-vantage/references/commodities.md +153 -153
  110. package/skills/tech/alpha-vantage/references/economic-indicators.md +158 -158
  111. package/skills/tech/alpha-vantage/references/forex-crypto.md +154 -154
  112. package/skills/tech/alpha-vantage/references/fundamentals.md +223 -223
  113. package/skills/tech/alpha-vantage/references/intelligence.md +138 -138
  114. package/skills/tech/alpha-vantage/references/options.md +93 -93
  115. package/skills/tech/alpha-vantage/references/technical-indicators.md +374 -374
  116. package/skills/tech/alpha-vantage/references/time-series.md +157 -157
  117. package/skills/tech/financial-modeling/SKILL.md +18 -18
  118. package/skills/tech/financial-modeling/skills/3-statements/SKILL.md +368 -368
  119. package/skills/tech/financial-modeling/skills/3-statements/references/formatting.md +118 -118
  120. package/skills/tech/financial-modeling/skills/3-statements/references/formulas.md +292 -292
  121. package/skills/tech/financial-modeling/skills/3-statements/references/sec-filings.md +125 -125
  122. package/skills/tech/financial-modeling/skills/dcf-model/SKILL.md +1210 -1210
  123. package/skills/tech/financial-modeling/skills/dcf-model/TROUBLESHOOTING.md +40 -40
  124. package/skills/tech/financial-modeling/skills/dcf-model/requirements.txt +8 -8
  125. package/skills/tech/financial-modeling/skills/dcf-model/scripts/validate_dcf.py +292 -292
  126. package/skills/tech/financial-modeling/skills/lbo-model/SKILL.md +236 -236
  127. package/skills/tech/financial-modeling/skills/merger-model/SKILL.md +108 -108
  128. package/skills/workflows/README.md +203 -203
  129. package/skills/workflows/adr.md +174 -174
  130. package/skills/workflows/changelog.md +74 -74
  131. package/skills/workflows/compound.md +323 -323
  132. package/skills/workflows/compound_health.md +74 -74
  133. package/skills/workflows/create-agent-skill.md +138 -138
  134. package/skills/workflows/cycle.md +144 -144
  135. package/skills/workflows/deploy-docs.md +84 -84
  136. package/skills/workflows/development-rules.md +42 -42
  137. package/skills/workflows/doc.md +95 -95
  138. package/skills/workflows/documentation-management.md +34 -34
  139. package/skills/workflows/explore.md +146 -146
  140. package/skills/workflows/generate_command.md +106 -106
  141. package/skills/workflows/heal-skill.md +97 -97
  142. package/skills/workflows/housekeeping.md +229 -229
  143. package/skills/workflows/kit-setup.md +102 -102
  144. package/skills/workflows/map-codebase.md +78 -78
  145. package/skills/workflows/orchestration-protocol.md +43 -43
  146. package/skills/workflows/plan-compound.md +439 -439
  147. package/skills/workflows/plan_review.md +269 -269
  148. package/skills/workflows/primary-workflow.md +37 -37
  149. package/skills/workflows/promote_pattern.md +86 -86
  150. package/skills/workflows/release-docs.md +82 -82
  151. package/skills/workflows/report-bug.md +135 -135
  152. package/skills/workflows/reproduce-bug.md +118 -118
  153. package/skills/workflows/resolve_pr.md +133 -133
  154. package/skills/workflows/resolve_todo.md +128 -128
  155. package/skills/workflows/review-compound.md +376 -376
  156. package/skills/workflows/skill-review.md +127 -127
  157. package/skills/workflows/specs.md +257 -257
  158. package/skills/workflows/triage-sprint.md +102 -102
  159. package/skills/workflows/triage.md +152 -152
  160. package/skills/workflows/work.md +399 -399
  161. package/skills/workflows/xcode-test.md +93 -93
@@ -1,260 +1,260 @@
1
- # Supabase Debugging Workflow
2
-
3
- Systematic approach to diagnosing and resolving Supabase issues.
4
-
5
- ## When To Use
6
-
7
- - Auth errors (login failures, session issues)
8
- - Query errors (RLS blocking, missing data)
9
- - Performance problems (slow queries, timeouts)
10
- - Connection issues
11
-
12
- ---
13
-
14
- ## Common Issues
15
-
16
- ### Issue 1: Auth State Mismatch
17
-
18
- **Symptoms:**
19
- - User shows as logged in frontend, but API returns 401
20
- - Session lost on page refresh
21
- - "No rows returned" despite data existing
22
-
23
- **Diagnosis:**
24
-
25
- 1. Check Supabase auth state:
26
- ```javascript
27
- const { data: { session } } = await supabase.auth.getSession();
28
- console.log('Session:', session);
29
- ```
30
-
31
- 2. Verify SessionStore:
32
- ```javascript
33
- // Check lib/auth/SessionStore.ts
34
- const stored = SessionStore.getSession();
35
- console.log('Stored session:', stored);
36
- ```
37
-
38
- 3. Check sync between SessionStore and Supabase:
39
- ```javascript
40
- // In AuthContext, verify setSession was called
41
- await supabase.auth.setSession(sessionData);
42
- ```
43
-
44
- **Solution:**
45
- - Ensure `AuthContext` properly hydrates Supabase from SessionStore on init
46
- - Verify `persistSession: false` in `supabaseClient.ts`
47
- - Check SessionStore is single source of truth
48
-
49
- **Reference:** `lib/supabaseClient.ts` architecture comments
50
-
51
- ---
52
-
53
- ### Issue 2: RLS Policy Blocking Query
54
-
55
- **Symptoms:**
56
- - Query returns empty array despite data existing
57
- - "permission denied" errors
58
- - Works in Supabase dashboard, fails in app
59
-
60
- **Diagnosis:**
61
-
62
- 1. Verify RLS is the issue:
63
- ```sql
64
- -- Test query with RLS disabled (in Supabase SQL editor)
65
- ALTER TABLE schema.table DISABLE ROW LEVEL SECURITY;
66
- SELECT * FROM schema.table;
67
- ALTER TABLE schema.table ENABLE ROW LEVEL SECURITY;
68
- ```
69
-
70
- 2. Check user's auth.uid():
71
- ```sql
72
- SELECT auth.uid();
73
- ```
74
-
75
- 3. Review table policies:
76
- ```sql
77
- SELECT * FROM pg_policies WHERE tablename = 'your_table';
78
- ```
79
-
80
- **Solution:**
81
- - Create missing policy for the operation
82
- - Verify policy USING clause matches auth.uid() correctly
83
- - Check if user has required role in profiles table
84
-
85
- **See:** `workflows/rls-policies.md` for policy patterns
86
-
87
- ---
88
-
89
- ### Issue 3: N+1 Query Problem
90
-
91
- **Symptoms:**
92
- - Slow page loads
93
- - Many sequential database queries
94
- - High database CPU usage
95
-
96
- **Diagnosis:**
97
-
98
- 1. Check for missing joins:
99
- ```typescript
100
- // ❌ BAD: N+1 queries
101
- const users = await supabase.from('users').select('*');
102
- for (const user of users.data) {
103
- const profile = await supabase.from('profiles')
104
- .select('*')
105
- .eq('user_id', user.id);
106
- }
107
-
108
- // ✅ GOOD: Single query with join
109
- const users = await supabase
110
- .from('users')
111
- .select('*, profiles(*)');
112
- ```
113
-
114
- 2. Enable query logging:
115
- ```typescript
116
- // Add to supabaseClient.ts for debugging
117
- Logger.debug('[Supabase] Query:', { url, method });
118
- ```
119
-
120
- **Solution:**
121
- - Use Supabase joins: `.select('*, related_table(*)')`
122
- - Create database views for complex joins
123
- - Add indexes for foreign keys
124
-
125
- ---
126
-
127
- ### Issue 4: Missing Environment Variables
128
-
129
- **Symptoms:**
130
- - "Missing NEXT_PUBLIC_SUPABASE_ANON_KEY" error
131
- - Supabase client not initialized
132
- - 404 on API calls
133
-
134
- **Diagnosis:**
135
-
136
- 1. Check `.env.local`:
137
- ```bash
138
- cat .env.local | grep SUPABASE
139
- ```
140
-
141
- 2. Verify environment variables loaded:
142
- ```bash
143
- echo $NEXT_PUBLIC_SUPABASE_URL
144
- ```
145
-
146
- **Solution:**
147
- - Copy from `.env.local.example` if exists
148
- - Get keys from Supabase Dashboard > Project Settings > API
149
- - Restart dev server after adding env vars
150
-
151
- ---
152
-
153
- ### Issue 5: CORS Errors
154
-
155
- **Symptoms:**
156
- - "CORS policy" errors in browser console
157
- - Requests blocked from localhost
158
- - Works in production, fails locally
159
-
160
- **Diagnosis:**
161
-
162
- 1. Check Supabase project settings:
163
- - Dashboard > Authentication > URL Configuration
164
- - Redirect URLs should include `http://localhost:3000`
165
-
166
- 2. Verify request origin:
167
- ```javascript
168
- console.log('Origin:', window.location.origin);
169
- ```
170
-
171
- **Solution:**
172
- - Add localhost to allowed redirect URLs in Supabase
173
- - Add site URL to authentication settings
174
- - Ensure using HTTPS in production
175
-
176
- ---
177
-
178
- ### Issue 6: Timeout on Large Queries
179
-
180
- **Symptoms:**
181
- - "AbortError: The operation was aborted"
182
- - Queries taking >15 seconds
183
- - Timeout on complex joins
184
-
185
- **Diagnosis:**
186
-
187
- 1. Check query performance:
188
- ```sql
189
- EXPLAIN ANALYZE
190
- SELECT * FROM large_table WHERE ...;
191
- ```
192
-
193
- 2. Look for missing indexes:
194
- ```sql
195
- -- Check if index exists
196
- SELECT * FROM pg_indexes WHERE tablename = 'your_table';
197
- ```
198
-
199
- **Solution:**
200
- - Add indexes for WHERE clause columns
201
- - Add indexes for foreign keys
202
- - Paginate results (use `.range(start, end)`)
203
- - Increase timeout in `supabaseClient.ts` if justified
204
-
205
- **Reference:** `lib/supabaseClient.ts` - 15 second timeout configured
206
-
207
- ---
208
-
209
- ## Debugging Checklist
210
-
211
- When encountering Supabase errors:
212
-
213
- - [ ] Check browser console for errors
214
- - [ ] Verify auth session exists
215
- - [ ] Test query in Supabase SQL editor
216
- - [ ] Review RLS policies on affected tables
217
- - [ ] Check for missing indexes
218
- - [ ] Verify environment variables loaded
219
- - [ ] Check network tab for failed requests
220
- - [ ] Review Supabase client configuration
221
-
222
- ---
223
-
224
- ## Tools
225
-
226
- ### Log Supabase Queries
227
-
228
- Add to `lib/supabaseClient.ts`:
229
-
230
- ```typescript
231
- global: {
232
- fetch: (url, options = {}) => {
233
- Logger.debug('[Supabase] Request:', { url, method: options.method });
234
- // ... existing timeout logic
235
- },
236
- }
237
- ```
238
-
239
- ### Test RLS in SQL Editor
240
-
241
- ```sql
242
- -- Simulate authenticated user
243
- SET LOCAL role authenticated;
244
- SET LOCAL request.jwt.claims.sub = 'user-uuid-here';
245
-
246
- -- Run your query
247
- SELECT * FROM your_table;
248
-
249
- -- Reset
250
- RESET role;
251
- ```
252
-
253
- ---
254
-
255
- ## Expected Output
256
-
257
- ✅ Issue identified and root cause understood
258
- ✅ Solution implemented or workaround documented
259
- ✅ Verified fix resolves the problem
260
- ✅ Added prevention measures (indexes, policies, etc.)
1
+ # Supabase Debugging Workflow
2
+
3
+ Systematic approach to diagnosing and resolving Supabase issues.
4
+
5
+ ## When To Use
6
+
7
+ - Auth errors (login failures, session issues)
8
+ - Query errors (RLS blocking, missing data)
9
+ - Performance problems (slow queries, timeouts)
10
+ - Connection issues
11
+
12
+ ---
13
+
14
+ ## Common Issues
15
+
16
+ ### Issue 1: Auth State Mismatch
17
+
18
+ **Symptoms:**
19
+ - User shows as logged in frontend, but API returns 401
20
+ - Session lost on page refresh
21
+ - "No rows returned" despite data existing
22
+
23
+ **Diagnosis:**
24
+
25
+ 1. Check Supabase auth state:
26
+ ```javascript
27
+ const { data: { session } } = await supabase.auth.getSession();
28
+ console.log('Session:', session);
29
+ ```
30
+
31
+ 2. Verify SessionStore:
32
+ ```javascript
33
+ // Check lib/auth/SessionStore.ts
34
+ const stored = SessionStore.getSession();
35
+ console.log('Stored session:', stored);
36
+ ```
37
+
38
+ 3. Check sync between SessionStore and Supabase:
39
+ ```javascript
40
+ // In AuthContext, verify setSession was called
41
+ await supabase.auth.setSession(sessionData);
42
+ ```
43
+
44
+ **Solution:**
45
+ - Ensure `AuthContext` properly hydrates Supabase from SessionStore on init
46
+ - Verify `persistSession: false` in `supabaseClient.ts`
47
+ - Check SessionStore is single source of truth
48
+
49
+ **Reference:** `lib/supabaseClient.ts` architecture comments
50
+
51
+ ---
52
+
53
+ ### Issue 2: RLS Policy Blocking Query
54
+
55
+ **Symptoms:**
56
+ - Query returns empty array despite data existing
57
+ - "permission denied" errors
58
+ - Works in Supabase dashboard, fails in app
59
+
60
+ **Diagnosis:**
61
+
62
+ 1. Verify RLS is the issue:
63
+ ```sql
64
+ -- Test query with RLS disabled (in Supabase SQL editor)
65
+ ALTER TABLE schema.table DISABLE ROW LEVEL SECURITY;
66
+ SELECT * FROM schema.table;
67
+ ALTER TABLE schema.table ENABLE ROW LEVEL SECURITY;
68
+ ```
69
+
70
+ 2. Check user's auth.uid():
71
+ ```sql
72
+ SELECT auth.uid();
73
+ ```
74
+
75
+ 3. Review table policies:
76
+ ```sql
77
+ SELECT * FROM pg_policies WHERE tablename = 'your_table';
78
+ ```
79
+
80
+ **Solution:**
81
+ - Create missing policy for the operation
82
+ - Verify policy USING clause matches auth.uid() correctly
83
+ - Check if user has required role in profiles table
84
+
85
+ **See:** `workflows/rls-policies.md` for policy patterns
86
+
87
+ ---
88
+
89
+ ### Issue 3: N+1 Query Problem
90
+
91
+ **Symptoms:**
92
+ - Slow page loads
93
+ - Many sequential database queries
94
+ - High database CPU usage
95
+
96
+ **Diagnosis:**
97
+
98
+ 1. Check for missing joins:
99
+ ```typescript
100
+ // ❌ BAD: N+1 queries
101
+ const users = await supabase.from('users').select('*');
102
+ for (const user of users.data) {
103
+ const profile = await supabase.from('profiles')
104
+ .select('*')
105
+ .eq('user_id', user.id);
106
+ }
107
+
108
+ // ✅ GOOD: Single query with join
109
+ const users = await supabase
110
+ .from('users')
111
+ .select('*, profiles(*)');
112
+ ```
113
+
114
+ 2. Enable query logging:
115
+ ```typescript
116
+ // Add to supabaseClient.ts for debugging
117
+ Logger.debug('[Supabase] Query:', { url, method });
118
+ ```
119
+
120
+ **Solution:**
121
+ - Use Supabase joins: `.select('*, related_table(*)')`
122
+ - Create database views for complex joins
123
+ - Add indexes for foreign keys
124
+
125
+ ---
126
+
127
+ ### Issue 4: Missing Environment Variables
128
+
129
+ **Symptoms:**
130
+ - "Missing NEXT_PUBLIC_SUPABASE_ANON_KEY" error
131
+ - Supabase client not initialized
132
+ - 404 on API calls
133
+
134
+ **Diagnosis:**
135
+
136
+ 1. Check `.env.local`:
137
+ ```bash
138
+ cat .env.local | grep SUPABASE
139
+ ```
140
+
141
+ 2. Verify environment variables loaded:
142
+ ```bash
143
+ echo $NEXT_PUBLIC_SUPABASE_URL
144
+ ```
145
+
146
+ **Solution:**
147
+ - Copy from `.env.local.example` if exists
148
+ - Get keys from Supabase Dashboard > Project Settings > API
149
+ - Restart dev server after adding env vars
150
+
151
+ ---
152
+
153
+ ### Issue 5: CORS Errors
154
+
155
+ **Symptoms:**
156
+ - "CORS policy" errors in browser console
157
+ - Requests blocked from localhost
158
+ - Works in production, fails locally
159
+
160
+ **Diagnosis:**
161
+
162
+ 1. Check Supabase project settings:
163
+ - Dashboard > Authentication > URL Configuration
164
+ - Redirect URLs should include `http://localhost:3000`
165
+
166
+ 2. Verify request origin:
167
+ ```javascript
168
+ console.log('Origin:', window.location.origin);
169
+ ```
170
+
171
+ **Solution:**
172
+ - Add localhost to allowed redirect URLs in Supabase
173
+ - Add site URL to authentication settings
174
+ - Ensure using HTTPS in production
175
+
176
+ ---
177
+
178
+ ### Issue 6: Timeout on Large Queries
179
+
180
+ **Symptoms:**
181
+ - "AbortError: The operation was aborted"
182
+ - Queries taking >15 seconds
183
+ - Timeout on complex joins
184
+
185
+ **Diagnosis:**
186
+
187
+ 1. Check query performance:
188
+ ```sql
189
+ EXPLAIN ANALYZE
190
+ SELECT * FROM large_table WHERE ...;
191
+ ```
192
+
193
+ 2. Look for missing indexes:
194
+ ```sql
195
+ -- Check if index exists
196
+ SELECT * FROM pg_indexes WHERE tablename = 'your_table';
197
+ ```
198
+
199
+ **Solution:**
200
+ - Add indexes for WHERE clause columns
201
+ - Add indexes for foreign keys
202
+ - Paginate results (use `.range(start, end)`)
203
+ - Increase timeout in `supabaseClient.ts` if justified
204
+
205
+ **Reference:** `lib/supabaseClient.ts` - 15 second timeout configured
206
+
207
+ ---
208
+
209
+ ## Debugging Checklist
210
+
211
+ When encountering Supabase errors:
212
+
213
+ - [ ] Check browser console for errors
214
+ - [ ] Verify auth session exists
215
+ - [ ] Test query in Supabase SQL editor
216
+ - [ ] Review RLS policies on affected tables
217
+ - [ ] Check for missing indexes
218
+ - [ ] Verify environment variables loaded
219
+ - [ ] Check network tab for failed requests
220
+ - [ ] Review Supabase client configuration
221
+
222
+ ---
223
+
224
+ ## Tools
225
+
226
+ ### Log Supabase Queries
227
+
228
+ Add to `lib/supabaseClient.ts`:
229
+
230
+ ```typescript
231
+ global: {
232
+ fetch: (url, options = {}) => {
233
+ Logger.debug('[Supabase] Request:', { url, method: options.method });
234
+ // ... existing timeout logic
235
+ },
236
+ }
237
+ ```
238
+
239
+ ### Test RLS in SQL Editor
240
+
241
+ ```sql
242
+ -- Simulate authenticated user
243
+ SET LOCAL role authenticated;
244
+ SET LOCAL request.jwt.claims.sub = 'user-uuid-here';
245
+
246
+ -- Run your query
247
+ SELECT * FROM your_table;
248
+
249
+ -- Reset
250
+ RESET role;
251
+ ```
252
+
253
+ ---
254
+
255
+ ## Expected Output
256
+
257
+ ✅ Issue identified and root cause understood
258
+ ✅ Solution implemented or workaround documented
259
+ ✅ Verified fix resolves the problem
260
+ ✅ Added prevention measures (indexes, policies, etc.)