Skip to main content

audit-hooks

Audit & fix hooks and API usage patterns — eliminate server actions, raw fetch, and stale patterns

معلومات المصدر

المستودع
trycompai/comp
آخر نشاط في المصدر
٢٧ أبريل ٢٠٢٦ في ١٣:٥٦
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٢٬٠٣٥
التفرعات
٤٣٣

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
audit-hooks
description
Audit & fix hooks and API usage patterns — eliminate server actions, raw fetch, and stale patterns
Audit the specified files for hook and API usage compliance. **Fix every issue found immediately.** ## Forbidden Patterns (fix immediately) 1. **`useAction` from `next-safe-action`** → replace with SWR hook or custom mutation hook 2. **Server actions mutating via `@db`** → delete and use API hook instead 3. **Direct `@db` in client components** → replace with `apiClient` via hook 4. **Direct `@db` in Next.js pages for mutations** → replace with `serverApi` 5. **Raw `fetch()` without `credentials: 'include'`** → use `apiClient` 6. **`window.location.reload()` after mutations** → use SWR `mutate()` 7. **`router.refresh()` after mutations** → use SWR `mutate()` 8. **`useEffect` + `apiClient.get` for data fetching** → replace with `useSWR` 9. **Callback props for data refresh** (`onXxxAdded`, `onSuccess`) → remove, rely on SWR cache sharing ## Required Patterns - **Client data fetching**: `useSWR` with `apiClient` or custom hook - **Client mutations**: custom hooks wrapping `apiClient` with `mutate()` for cache invalidation - **Server components**: `serverApi` from `apps/app/src/lib/api-server.ts` - **SWR**: `fallbackData` for SSR data, `revalidateOnMount: !initialData` - **API response**: lists = `response.data.data`, single = `response.data` - **`mutate()` safety**: guard against `undefined` in optimistic update functions - **`Array.isArray()` checks**: when consuming SWR data that could be stale ## Process 1. Read files specified in `$ARGUMENTS` 2. Find forbidden patterns and fix them 3. Ensure all data fetching uses SWR hooks 4. Run typecheck to verify: `bunx turbo run typecheck --filter=@trycompai/app`
عرض على GitHub