superkit-mcp-server 1.2.4 → 1.2.6

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 (162) 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/__tests__/test_apply_prompt_args.js +104 -0
  20. package/build/index.js +106 -45
  21. package/build/tools/todoTools.js +39 -39
  22. package/build/tools/validators/__tests__/apiSchema.test.js +23 -23
  23. package/build/tools/validators/__tests__/convertRules.test.js +5 -5
  24. package/build/tools/validators/__tests__/frontendDesign.test.js +12 -12
  25. package/build/tools/validators/__tests__/geoChecker.test.js +19 -19
  26. package/build/tools/validators/__tests__/mobileAudit.test.js +12 -12
  27. package/build/tools/validators/__tests__/reactPerformanceChecker.test.js +17 -17
  28. package/build/tools/validators/__tests__/securityScan.test.js +6 -6
  29. package/build/tools/validators/__tests__/seoChecker.test.js +16 -16
  30. package/build/tools/validators/__tests__/typeCoverage.test.js +14 -14
  31. package/commands/README.md +122 -122
  32. package/commands/ask.toml +72 -72
  33. package/commands/brainstorm.toml +119 -119
  34. package/commands/chat.toml +77 -77
  35. package/commands/code-preview.toml +37 -37
  36. package/commands/code.toml +28 -28
  37. package/commands/content.toml +200 -200
  38. package/commands/cook.toml +77 -77
  39. package/commands/copywrite.toml +131 -131
  40. package/commands/db.toml +192 -192
  41. package/commands/debug.toml +166 -166
  42. package/commands/design.toml +158 -158
  43. package/commands/dev-rules.toml +14 -14
  44. package/commands/do.toml +117 -117
  45. package/commands/doc-rules.toml +14 -14
  46. package/commands/docs.toml +148 -148
  47. package/commands/fix.toml +440 -440
  48. package/commands/fullstack.toml +175 -175
  49. package/commands/git.toml +235 -235
  50. package/commands/help.toml +84 -84
  51. package/commands/integrate.toml +127 -127
  52. package/commands/journal.toml +136 -136
  53. package/commands/kit-setup.toml +40 -40
  54. package/commands/mcp.toml +183 -183
  55. package/commands/orchestration.toml +15 -15
  56. package/commands/plan.toml +206 -172
  57. package/commands/pm.toml +148 -148
  58. package/commands/pr.toml +50 -50
  59. package/commands/project.toml +32 -32
  60. package/commands/research.toml +117 -117
  61. package/commands/review-pr.toml +63 -63
  62. package/commands/review.toml +190 -190
  63. package/commands/scout-ext.toml +97 -97
  64. package/commands/scout.toml +79 -79
  65. package/commands/screenshot.toml +65 -65
  66. package/commands/session.toml +102 -102
  67. package/commands/skill.toml +384 -384
  68. package/commands/status.toml +22 -22
  69. package/commands/team.toml +56 -56
  70. package/commands/test.toml +164 -164
  71. package/commands/ticket.toml +70 -70
  72. package/commands/use.toml +106 -106
  73. package/commands/video.toml +83 -83
  74. package/commands/watzup.toml +71 -71
  75. package/commands/workflow.toml +14 -14
  76. package/package.json +35 -35
  77. package/skills/meta/README.md +30 -30
  78. package/skills/meta/api-design/SKILL.md +134 -134
  79. package/skills/meta/code-review/SKILL.md +44 -44
  80. package/skills/meta/code-review/checklists/pre-merge.md +25 -25
  81. package/skills/meta/code-review/workflows/architecture-pass.md +26 -26
  82. package/skills/meta/code-review/workflows/performance-pass.md +27 -27
  83. package/skills/meta/code-review/workflows/security-pass.md +29 -29
  84. package/skills/meta/compound-docs/SKILL.md +133 -133
  85. package/skills/meta/debug/SKILL.md +40 -40
  86. package/skills/meta/debug/templates/bug-report.template.md +31 -31
  87. package/skills/meta/debug/workflows/reproduce-issue.md +20 -20
  88. package/skills/meta/docker/SKILL.md +126 -126
  89. package/skills/meta/examples/supabase/SKILL.md +46 -46
  90. package/skills/meta/examples/supabase/references/best-practices.md +319 -319
  91. package/skills/meta/examples/supabase/references/common-patterns.md +373 -373
  92. package/skills/meta/examples/supabase/templates/migration-template.sql +49 -49
  93. package/skills/meta/examples/supabase/templates/rls-policy-template.sql +77 -77
  94. package/skills/meta/examples/supabase/workflows/debugging.md +260 -260
  95. package/skills/meta/examples/supabase/workflows/migration-workflow.md +211 -211
  96. package/skills/meta/examples/supabase/workflows/rls-policies.md +244 -244
  97. package/skills/meta/examples/supabase/workflows/schema-design.md +321 -321
  98. package/skills/meta/file-todos/SKILL.md +88 -88
  99. package/skills/meta/mobile/SKILL.md +140 -140
  100. package/skills/meta/nextjs/SKILL.md +101 -101
  101. package/skills/meta/performance/SKILL.md +130 -130
  102. package/skills/meta/react-patterns/SKILL.md +83 -83
  103. package/skills/meta/security/SKILL.md +114 -114
  104. package/skills/meta/session-resume/SKILL.md +96 -96
  105. package/skills/meta/tailwind/SKILL.md +139 -139
  106. package/skills/meta/testing/SKILL.md +43 -43
  107. package/skills/meta/testing/references/vitest-patterns.md +45 -45
  108. package/skills/meta/testing/templates/component-test.template.tsx +37 -37
  109. package/skills/tech/alpha-vantage/SKILL.md +142 -142
  110. package/skills/tech/alpha-vantage/references/commodities.md +153 -153
  111. package/skills/tech/alpha-vantage/references/economic-indicators.md +158 -158
  112. package/skills/tech/alpha-vantage/references/forex-crypto.md +154 -154
  113. package/skills/tech/alpha-vantage/references/fundamentals.md +223 -223
  114. package/skills/tech/alpha-vantage/references/intelligence.md +138 -138
  115. package/skills/tech/alpha-vantage/references/options.md +93 -93
  116. package/skills/tech/alpha-vantage/references/technical-indicators.md +374 -374
  117. package/skills/tech/alpha-vantage/references/time-series.md +157 -157
  118. package/skills/tech/financial-modeling/SKILL.md +18 -18
  119. package/skills/tech/financial-modeling/skills/3-statements/SKILL.md +368 -368
  120. package/skills/tech/financial-modeling/skills/3-statements/references/formatting.md +118 -118
  121. package/skills/tech/financial-modeling/skills/3-statements/references/formulas.md +292 -292
  122. package/skills/tech/financial-modeling/skills/3-statements/references/sec-filings.md +125 -125
  123. package/skills/tech/financial-modeling/skills/dcf-model/SKILL.md +1210 -1210
  124. package/skills/tech/financial-modeling/skills/dcf-model/TROUBLESHOOTING.md +40 -40
  125. package/skills/tech/financial-modeling/skills/dcf-model/requirements.txt +8 -8
  126. package/skills/tech/financial-modeling/skills/dcf-model/scripts/validate_dcf.py +292 -292
  127. package/skills/tech/financial-modeling/skills/lbo-model/SKILL.md +236 -236
  128. package/skills/tech/financial-modeling/skills/merger-model/SKILL.md +108 -108
  129. package/skills/workflows/README.md +203 -203
  130. package/skills/workflows/adr.md +174 -174
  131. package/skills/workflows/changelog.md +74 -74
  132. package/skills/workflows/compound.md +323 -323
  133. package/skills/workflows/compound_health.md +74 -74
  134. package/skills/workflows/create-agent-skill.md +138 -138
  135. package/skills/workflows/cycle.md +144 -144
  136. package/skills/workflows/deploy-docs.md +84 -84
  137. package/skills/workflows/development-rules.md +42 -42
  138. package/skills/workflows/doc.md +95 -95
  139. package/skills/workflows/documentation-management.md +34 -34
  140. package/skills/workflows/explore.md +146 -146
  141. package/skills/workflows/generate_command.md +106 -106
  142. package/skills/workflows/heal-skill.md +97 -97
  143. package/skills/workflows/housekeeping.md +229 -229
  144. package/skills/workflows/kit-setup.md +102 -102
  145. package/skills/workflows/map-codebase.md +78 -78
  146. package/skills/workflows/orchestration-protocol.md +43 -43
  147. package/skills/workflows/plan-compound.md +439 -439
  148. package/skills/workflows/plan_review.md +269 -269
  149. package/skills/workflows/primary-workflow.md +37 -37
  150. package/skills/workflows/promote_pattern.md +86 -86
  151. package/skills/workflows/release-docs.md +82 -82
  152. package/skills/workflows/report-bug.md +135 -135
  153. package/skills/workflows/reproduce-bug.md +118 -118
  154. package/skills/workflows/resolve_pr.md +133 -133
  155. package/skills/workflows/resolve_todo.md +128 -128
  156. package/skills/workflows/review-compound.md +376 -376
  157. package/skills/workflows/skill-review.md +127 -127
  158. package/skills/workflows/specs.md +257 -257
  159. package/skills/workflows/triage-sprint.md +102 -102
  160. package/skills/workflows/triage.md +152 -152
  161. package/skills/workflows/work.md +399 -399
  162. 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.)