vibes-plug 1.0.0 → 2.5.0

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 (123) hide show
  1. package/.github/workflows/publish.yml +20 -0
  2. package/AGENTS.md +66 -0
  3. package/BLUEPRINT.md +152 -60
  4. package/CHANGELOG.md +50 -0
  5. package/README.md +346 -194
  6. package/package.json +25 -25
  7. package/plugin.json +1 -1
  8. package/skills/ai-cost-token-optimizer/SKILL.md +52 -0
  9. package/skills/ai-llm-integration-expert/SKILL.md +180 -162
  10. package/skills/api-design-expert/SKILL.md +314 -310
  11. package/skills/app-analyzer-optimizer/SKILL.md +193 -189
  12. package/skills/apple-ecosystem-expert/SKILL.md +142 -0
  13. package/skills/async-queue-temporal-expert/SKILL.md +54 -0
  14. package/skills/authentication-identity-expert/SKILL.md +251 -20
  15. package/skills/auto-doc-updater/SKILL.md +214 -204
  16. package/skills/autonomous-chaos-monkey/SKILL.md +63 -0
  17. package/skills/autonomous-red-teamer/SKILL.md +59 -0
  18. package/skills/autonomous-swarm-director/SKILL.md +69 -0
  19. package/skills/autonomous-tdd-debugger/SKILL.md +65 -0
  20. package/skills/bootstrap-to-modern/SKILL.md +90 -86
  21. package/skills/brainstorming/SKILL.md +373 -353
  22. package/skills/browser-automation-expert/SKILL.md +46 -0
  23. package/skills/ci-cd-devops-architect/SKILL.md +72 -45
  24. package/skills/cloud-hosting-expert/SKILL.md +244 -244
  25. package/skills/coderabbit/SKILL.md +192 -192
  26. package/skills/cron-scheduler-expert/SKILL.md +298 -0
  27. package/skills/data-telemetry-expert/SKILL.md +213 -213
  28. package/skills/database-orm-expert/SKILL.md +294 -294
  29. package/skills/dependency-upgrade-migrator/SKILL.md +295 -0
  30. package/skills/design-system-architect/SKILL.md +27 -10
  31. package/skills/doku-mcp-server/SKILL.md +251 -0
  32. package/skills/doku-payment-gateway/SKILL.md +227 -0
  33. package/skills/e2e-testing-expert/SKILL.md +315 -315
  34. package/skills/edge-serverless-db-expert/SKILL.md +43 -0
  35. package/skills/email-notification-expert/SKILL.md +362 -0
  36. package/skills/error-resilience-expert/SKILL.md +480 -0
  37. package/skills/event-driven-architect/SKILL.md +81 -81
  38. package/skills/feature-flag-analytics-expert/SKILL.md +46 -0
  39. package/skills/file-upload-media-expert/SKILL.md +431 -0
  40. package/skills/form-validation-expert/SKILL.md +401 -0
  41. package/skills/fullstack-expert/SKILL.md +202 -202
  42. package/skills/fullstack-expert/references/api_design_guide.md +466 -466
  43. package/skills/fullstack-expert/references/multi_language_backend.md +528 -528
  44. package/skills/fullstack-expert/scripts/api_contract_validator.py +253 -253
  45. package/skills/fullstack-expert/scripts/architecture_analyzer.py +326 -326
  46. package/skills/gemini-agent-booster/SKILL.md +135 -135
  47. package/skills/global-a11y-i18n-expert/SKILL.md +81 -81
  48. package/skills/glsl-shader-expert/SKILL.md +101 -0
  49. package/skills/go-programming-expert/SKILL.md +295 -295
  50. package/skills/graphql-apollo-expert/SKILL.md +108 -0
  51. package/skills/hig/SKILL.md +188 -188
  52. package/skills/hyper-context-synthesizer/SKILL.md +55 -0
  53. package/skills/js-backend-expert/SKILL.md +34 -9
  54. package/skills/legacy-code-translator/SKILL.md +65 -0
  55. package/skills/llm-cost-arbitrage-router/SKILL.md +59 -0
  56. package/skills/logging-error-tracking-expert/SKILL.md +338 -0
  57. package/skills/mcp-client-orchestrator/SKILL.md +70 -0
  58. package/skills/mcp-server-architect/SKILL.md +194 -194
  59. package/skills/micro-frontend-architect/SKILL.md +106 -0
  60. package/skills/mobile-expo-expert/SKILL.md +186 -186
  61. package/skills/mobile-push-notification-expert/SKILL.md +51 -0
  62. package/skills/monday-design-aesthetic/SKILL.md +67 -67
  63. package/skills/monorepo-architect/SKILL.md +227 -227
  64. package/skills/mpa-orchestrator/SKILL.md +101 -101
  65. package/skills/multi-agent-orchestration/SKILL.md +234 -234
  66. package/skills/multiple-entry-points/SKILL.md +55 -55
  67. package/skills/mvc-expert/SKILL.md +231 -231
  68. package/skills/payment-gateway-expert/SKILL.md +45 -45
  69. package/skills/performance-web-vitals/SKILL.md +332 -332
  70. package/skills/post-quantum-crypto-migrator/SKILL.md +57 -0
  71. package/skills/prd-architect/SKILL.md +201 -191
  72. package/skills/proactive-background-watcher/SKILL.md +62 -0
  73. package/skills/production-ready-hardener/PRODUCTION_READINESS_REPORT.md +67 -0
  74. package/skills/production-ready-hardener/SKILL.md +173 -186
  75. package/skills/production-ready-hardener/references/production_checklist.md +161 -161
  76. package/skills/production-ready-hardener/scripts/production_readiness_scanner.py +881 -875
  77. package/skills/project-context-mapper/SKILL.md +79 -0
  78. package/skills/python-programming-expert/SKILL.md +263 -132
  79. package/skills/rate-limit-abuse-prevention/SKILL.md +371 -0
  80. package/skills/realtime-collaboration-expert/SKILL.md +45 -45
  81. package/skills/rust-programming-expert/SKILL.md +235 -235
  82. package/skills/saas-billing/SKILL.md +377 -377
  83. package/skills/saas-multi-tenant/SKILL.md +251 -237
  84. package/skills/saas-mvp-launcher/SKILL.md +10 -0
  85. package/skills/saas-transformer/SKILL.md +187 -144
  86. package/skills/saas-transformer/references/billing_integration_guide.md +401 -401
  87. package/skills/saas-transformer/references/feature_gating_patterns.md +137 -137
  88. package/skills/saas-transformer/references/saas_transformation_checklist.md +121 -121
  89. package/skills/saas-transformer/scripts/saas_transformation_scanner.py +39 -29
  90. package/skills/scalability-clean-code/SKILL.md +229 -229
  91. package/skills/self-evolving-memory-graph/SKILL.md +75 -0
  92. package/skills/self-healing-cloud-orchestrator/SKILL.md +57 -0
  93. package/skills/senior-frontend/SKILL.md +161 -161
  94. package/skills/senior-fullstack/SKILL.md +167 -167
  95. package/skills/seo/SKILL.md +235 -225
  96. package/skills/seo-geo/SKILL.md +188 -188
  97. package/skills/session-context-loader/SKILL.md +77 -0
  98. package/skills/session-handoff-resume/SKILL.md +158 -158
  99. package/skills/skill_baru/SKILL.md +172 -147
  100. package/skills/spa-orchestrator/SKILL.md +288 -288
  101. package/skills/state-management-expert/SKILL.md +272 -272
  102. package/skills/supabase-security-expert/SKILL.md +243 -243
  103. package/skills/tailwind-expert/SKILL.md +188 -188
  104. package/skills/tanstack-query-expert/SKILL.md +199 -199
  105. package/skills/token-saver/SKILL.md +119 -111
  106. package/skills/typescript-expert/SKILL.md +324 -279
  107. package/skills/ui-components-expert/SKILL.md +263 -46
  108. package/skills/ui-ux-pro-max/SKILL.md +202 -201
  109. package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-310.pyc +0 -0
  110. package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-310.pyc +0 -0
  111. package/skills/ui_ux_expert/SKILL.md +17 -6
  112. package/skills/vector-db-rag-expert/SKILL.md +52 -0
  113. package/skills/vibe-code-gardener/SKILL.md +181 -173
  114. package/skills/visual-qa-vision-agent/SKILL.md +65 -0
  115. package/skills/vue-frontend-expert/SKILL.md +126 -0
  116. package/skills/web-3d-graphics-expert/SKILL.md +131 -0
  117. package/skills/web-game-engine-expert/SKILL.md +96 -0
  118. package/skills/web-scraper/SKILL.md +207 -205
  119. package/skills/website-design-cloner/SKILL.md +174 -0
  120. package/skills/webxr-ar-vr-expert/SKILL.md +117 -0
  121. package/skills/zero-to-prod-orchestrator/SKILL.md +206 -180
  122. package/skills/zero-trust-secret-vault/SKILL.md +40 -0
  123. package/vibes-swarm-demo.gif +0 -0
@@ -0,0 +1,75 @@
1
+ ---
2
+ name: self-evolving-memory-graph
3
+ description: "Grants the AI long-term episodic memory. The agent autonomously documents the user's coding preferences, past mistakes to avoid, and architectural decisions into a persistent learning graph."
4
+ author: "Roedy Rustam"
5
+ ---
6
+
7
+ # Self-Evolving Memory Graph (Episodic Memory)
8
+
9
+ [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
10
+
11
+ ---
12
+
13
+ <a name="english"></a>
14
+ ## English
15
+
16
+ ### Description
17
+ Claude forgets everything once a chat is cleared, and its "Project Knowledge" requires manual human updating. This skill gives Antigravity the "superpower" of continuous, autonomous self-improvement. The agent actively listens for user corrections, stylistic preferences, and hard-learned debugging lessons, writing them into a persistent `LEARNING_GRAPH.md` (or `.agents/LEARNING.md`) file. The agent gets smarter and more aligned with the user over time.
18
+
19
+ ### Trigger Conditions
20
+ Activate this skill when:
21
+ - The user corrects your code (e.g., "Don't use `any`, use `unknown`", or "Always use Arrow functions").
22
+ - You just spent a long time fixing a very complex bug.
23
+ - The user says "Remember this for the future."
24
+
25
+ ### Core Concepts
26
+
27
+ #### 1. Memory Encoding
28
+ Whenever a hard lesson is learned or a strong user preference is stated, do not just say "I will remember that." You must physically write it down.
29
+ Use the `multi_replace_file_content` or `write_to_file` tool to append the lesson to the memory file.
30
+
31
+ #### 2. Memory Format (`LEARNING_GRAPH.md`)
32
+ ```markdown
33
+ # 🧠 Self-Evolving Memory Graph
34
+
35
+ ## User Stylistic Preferences
36
+ - [2026-08-12] Always use `Tailwind v4 @theme` variables instead of arbitrary values like `text-[#ff0000]`.
37
+ - [2026-08-12] Prefer functional components with `const` over `function` declarations.
38
+
39
+ ## Hard-Learned Lessons (Avoid these mistakes)
40
+ - [2026-08-11] Supabase RLS policies: Never use `auth.uid()` in a `FOR ALL` policy without checking role claims. It caused an infinite recursion bug in `users` table.
41
+
42
+ ## Architectural Decisions
43
+ - [2026-08-10] State Management: We exclusively use `Zustand` for global state. Do not suggest Redux.
44
+ ```
45
+
46
+ #### 3. Memory Retrieval
47
+ Ensure `session-context-loader` is configured to read this memory file at the start of every new chat session.
48
+
49
+ ---
50
+
51
+ ### Integration with Other Skills (MANDATORY)
52
+ - `session-context-loader` — Essential for loading the `LEARNING_GRAPH.md` when a new session starts.
53
+ - `project-context-mapper` — The context map tracks *where* things are; the memory graph tracks *how* and *why* things are built.
54
+
55
+ ### Referenced By Orchestrators (MANDATORY)
56
+ - `brainstorming` — Add to "Discovery & Audit".
57
+ - `zero-to-prod-orchestrator` — Phase 1 (Discovery & Architecture).
58
+
59
+ ---
60
+
61
+ <a name="bahasa-indonesia"></a>
62
+ ## Bahasa Indonesia
63
+
64
+ ### Deskripsi
65
+ Claude melupakan segalanya saat sesi chat baru dimulai. Skill ini memberi Anda "kekuatan super" berupa *Ingatan Jangka Panjang* yang berevolusi sendiri. Agen secara aktif mencatat preferensi koding pengguna, pelajaran dari *bug* yang sulit dipecahkan, dan keputusan arsitektur ke dalam file persisten `LEARNING_GRAPH.md`.
66
+
67
+ ### Kondisi Pemicu
68
+ - Saat pengguna mengoreksi gaya koding Anda (misal: "Gunakan bahasa Indonesia baku", "Jangan pakai `var`").
69
+ - Setelah Anda berhasil memecahkan *bug* yang menghabiskan waktu lama.
70
+ - Saat pengguna berkata "Ingat ini untuk proyek ke depannya."
71
+
72
+ ### Panduan Singkat
73
+ - **Jangan Hanya Berjanji:** Jika pengguna mengoreksi Anda, jangan sekadar menjawab "Baik, saya akan ingat." LLM tidak punya ingatan bawaan antar-sesi. Anda **wajib** menulis koreksi tersebut ke dalam file `LEARNING_GRAPH.md` di folder `.agents/` atau direktori *root*.
74
+ - **Kategorisasi Ingatan:** Pisahkan ingatan menjadi: Preferensi Gaya (*Style*), Pelajaran Berharga (*Lessons Learned*), dan Keputusan Arsitektur (*Decisions*).
75
+ - **Semakin Lama Semakin Pintar:** Dengan membaca file ini di awal setiap percakapan, Anda tidak akan pernah mengulangi kesalahan yang sama dua kali.
@@ -0,0 +1,57 @@
1
+ ---
2
+ name: self-healing-cloud-orchestrator
3
+ description: "Real-time log monitoring, crash detection, and auto-hotfixing code without human intervention / Pemantauan log real-time, deteksi kerusakan, dan perbaikan kode hotfix otomatis tanpa intervensi manusia."
4
+ author: vibes-plug-swarm
5
+ ---
6
+
7
+ # Self-Healing Cloud Orchestrator (Code-to-Cloud Auto Remediation)
8
+
9
+ [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
10
+
11
+ ---
12
+
13
+ <a name="english"></a>
14
+ ## English
15
+
16
+ ### Description
17
+ Bridges the gap between code generation and Cloud Operations (CloudOps). This agent continuously monitors production or staging logs (via Vercel, AWS CloudWatch, Datadog, or Sentry MCP servers). When an anomaly, crash (OOM, Null Pointer), or configuration mismatch occurs, it autonomously downloads the stack trace, identifies the root cause in the source code, writes a patch, validates it locally, and pushes a hotfix deployment without requiring human intervention.
18
+
19
+ ### Trigger Conditions
20
+ - Post-deployment in Phase 8, running as a persistent background daemon.
21
+ - When an application goes down or experiences a spike in 5xx errors.
22
+ - When `proactive-background-watcher` detects a critical health-check failure.
23
+
24
+ ### Operating Protocol
25
+ 1. **Telemetry Ingestion**: Listens to structured logs and APM alerts.
26
+ 2. **Root Cause Analysis (RCA)**: Parses stack traces and maps them to the local repository's current commit state.
27
+ 3. **Autonomous Patching**: Writes the necessary fix (e.g., adding missing env vars, fixing memory leaks, patching unhandled promise rejections).
28
+ 4. **Validation & Deploy**: Runs local unit/E2E tests via `autonomous-tdd-debugger` and commits the hotfix to trigger the CI/CD pipeline.
29
+
30
+ ## Orchestration & Integration
31
+ - Utilizes `proactive-background-watcher` for continuous daemon execution.
32
+ - Consumes data from `logging-error-tracking-expert` and `data-telemetry-expert`.
33
+ - Delegates to `ci-cd-devops-architect` to push fixes and initiate deployments.
34
+
35
+ ---
36
+
37
+ <a name="bahasa-indonesia"></a>
38
+ ## Bahasa Indonesia
39
+
40
+ ### Deskripsi
41
+ Menjembatani kesenjangan antara pembuatan kode dan Operasi Cloud (CloudOps). Agen ini secara terus-menerus memantau log produksi atau staging (melalui server MCP Vercel, AWS CloudWatch, Datadog, atau Sentry). Ketika terjadi anomali, kerusakan (OOM, Null Pointer), atau ketidaksesuaian konfigurasi, agen ini secara otonom mengunduh *stack trace*, mengidentifikasi akar masalah pada *source code*, menulis *patch*, memvalidasinya secara lokal, dan meluncurkan *deployment hotfix* tanpa intervensi manusia.
42
+
43
+ ### Kondisi Pemicu
44
+ - Pasca-deployment di Fase 8, berjalan sebagai daemon latar belakang yang persisten.
45
+ - Ketika sebuah aplikasi tumbang (*down*) atau mengalami lonjakan *error* 5xx.
46
+ - Ketika `proactive-background-watcher` mendeteksi kegagalan pengecekan kesehatan (*health-check*) yang kritis.
47
+
48
+ ### Protokol Operasi
49
+ 1. **Penyerapan Telemetri**: Mendengarkan log terstruktur dan peringatan APM.
50
+ 2. **Analisis Akar Masalah (RCA)**: Menguraikan *stack trace* dan memetakannya ke status komit repositori lokal saat ini.
51
+ 3. **Patching Otonom**: Menulis perbaikan yang diperlukan (misal: menambahkan *environment variable* yang hilang, memperbaiki kebocoran memori, menambal *unhandled promise rejection*).
52
+ 4. **Validasi & Deploy**: Menjalankan *unit test/E2E test* lokal melalui `autonomous-tdd-debugger` lalu melakukan komit untuk memicu pipeline CI/CD.
53
+
54
+ ## Integrasi Orkestrasi
55
+ - Menggunakan `proactive-background-watcher` untuk eksekusi daemon berkelanjutan.
56
+ - Mengonsumsi data dari `logging-error-tracking-expert` dan `data-telemetry-expert`.
57
+ - Mendelegasikan tugas ke `ci-cd-devops-architect` untuk mendorong perbaikan (*push*) dan memulai deployment.
@@ -1,161 +1,161 @@
1
- ---
2
- name: senior-frontend
3
- description: "Frontend development for React 19, Next.js 15, TypeScript, and Tailwind CSS v4 / Pengembangan frontend dengan React 19, Next.js 15, TypeScript, dan Tailwind CSS v4."
4
- author: "Roedy Rustam"
5
- ---
6
-
7
- # Senior Frontend Specialist (2026 Edition)
8
-
9
- [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
10
-
11
- ---
12
-
13
- <a name="english"></a>
14
- ## English
15
-
16
- ### Description
17
- Production-grade frontend development patterns, performance optimization, and modern ecosystem integrations for React 19 / Next.js 15 applications with Tailwind CSS v4 and TypeScript. Covers React 19 Compiler, Partial Prerendering (PPR), View Transitions API, and SPA/MPA hybrid strategies.
18
-
19
- ### Trigger Conditions
20
- - Use when scaffolding a new React or Next.js 15 project with TypeScript and Tailwind CSS v4.
21
- - Use when generating new components, custom hooks, or Server Actions.
22
- - Use when analyzing and optimizing bundle sizes and Core Web Vitals.
23
- - Use to implement advanced React 19 patterns (`useActionState`, `useOptimistic`, `use()`).
24
- - Use when working in SPA mode — coordinate with `spa-orchestrator` for architecture decisions.
25
- - Use to ensure accessibility compliance (WCAG 2.2) and implement robust testing.
26
-
27
- ### Technical Guidelines & Best Practices
28
-
29
- #### 1. Next.js 15: Server vs Client Components
30
- Use **Server Components** by default for performance and SEO. Use `'use client'` only when you need:
31
- - State (`useState`, `useEffect`), event handlers (`onClick`), browser APIs.
32
- - Interactive UI that must be hydrated on the client.
33
-
34
- *Next.js 15 Notes:*
35
- - `params` and `searchParams` are now `Promise`-based — always `await` them before reading properties.
36
- - **Partial Prerendering (PPR)**: Wrap dynamic sections in `<Suspense>` — Next.js will statically pre-render the shell and stream dynamic content. Enable with `experimental: { ppr: true }`.
37
-
38
- #### 2. React 19 — New Hooks & Compiler
39
- React 19 ships with a **compiler** that auto-applies memoization. You no longer need `useMemo`, `useCallback`, or `React.memo` in most cases — the compiler handles it.
40
-
41
- **New Hooks:**
42
- - **`useActionState`**: Manage form state, pending indicators, and action results natively with Server Actions.
43
- - **`useOptimistic`**: Instantly update UI before server confirms (likes, cart additions).
44
- - **`useFormStatus`**: Read form submission state inside child components.
45
- - **`use(promise)`**: Unwrap promises or context inside render — works with Suspense.
46
- ```tsx
47
- // use() with context
48
- const theme = use(ThemeContext);
49
-
50
- // use() with a promise (suspends until resolved)
51
- const data = use(fetchUserPromise);
52
- ```
53
-
54
- #### 3. View Transitions API
55
- Use the native browser View Transitions API for smooth page transitions without heavy libraries:
56
- ```tsx
57
- import { unstable_ViewTransition as ViewTransition } from 'react';
58
-
59
- // Wrap changing elements
60
- <ViewTransition name="hero-image">
61
- <img src={image} />
62
- </ViewTransition>
63
- ```
64
- Next.js 15 App Router supports View Transitions natively via the `<Link>` component with `viewTransition` prop.
65
-
66
- #### 4. Tailwind CSS v4 CSS-First Configuration
67
- Tailwind CSS v4 uses **CSS-first configuration**. Define custom theme tokens using the `@theme` directive in your main CSS file. Use the new `@plugin` directive to register plugins:
68
- ```css
69
- @import "tailwindcss";
70
-
71
- @theme {
72
- --color-brand: oklch(55% 0.2 250);
73
- --font-sans: "Inter", sans-serif;
74
- --animate-fade-in: fade-in 0.3s ease-out;
75
- }
76
-
77
- @plugin "@tailwindcss/typography";
78
- ```
79
-
80
- #### 5. Accessibility (WCAG 2.2) & Testing
81
- - Use semantic HTML tags (`<button>`, `<nav>`, `<main>`, `<article>`).
82
- - Ensure full keyboard navigability and proper `aria-*` labels.
83
- - Write unit tests using **Vitest** and **React Testing Library**.
84
- - Write E2E tests using **Playwright** (via `e2e-testing-expert` skill).
85
-
86
- #### 6. SPA Integration (spa-orchestrator)
87
- When building a decoupled SPA (not Next.js SSR):
88
- - Coordinate with `spa-orchestrator` for architecture decisions (routing, state, API layer).
89
- - Use **TanStack Router** for fully type-safe client-side routing (preferred over React Router for new projects).
90
- - Use **TanStack Query v5** for all server state — never use bare `useEffect` for data fetching.
91
-
92
- #### 7. Multi-Page Application (MPA) Integration
93
- When working within a centralized MPA (via `mpa-orchestrator`):
94
- - Use **Alpine.js** or **HTMX** for micro-interactions without heavy client bundles.
95
- - Apply **Progressive Enhancement**: ensure forms and links work without JavaScript first.
96
-
97
- #### 8. Advanced Animations (GSAP)
98
- - Use **GSAP (GreenSock Animation Platform)** for complex, timeline-based, and scroll-driven animations (`ScrollTrigger`).
99
- - Prefer GSAP over CSS animations for sequences requiring pausing, reversing, staggering, or timeline control.
100
- - In React, always use the `@gsap/react` `useGSAP()` hook for automatic cleanup and scope management to prevent memory leaks.
101
-
102
- ---
103
-
104
- <a name="bahasa-indonesia"></a>
105
- ## Bahasa Indonesia
106
-
107
- ### Deskripsi
108
- Pola pengembangan frontend tingkat produksi, optimasi performa, dan integrasi ekosistem modern untuk aplikasi React 19 / Next.js 15 dengan Tailwind CSS v4 dan TypeScript. Mencakup React 19 Compiler, Partial Prerendering (PPR), View Transitions API, dan strategi hybrid SPA/MPA.
109
-
110
- ### Kondisi Pemicu
111
- - Gunakan saat merancang proyek React atau Next.js 15 baru dengan TypeScript dan Tailwind CSS v4.
112
- - Gunakan saat membuat komponen baru, custom hooks, atau Server Actions.
113
- - Gunakan saat menganalisis dan mengoptimalkan bundle dan Core Web Vitals.
114
- - Gunakan untuk mengimplementasikan pola React 19 lanjutan (`useActionState`, `useOptimistic`, `use()`).
115
- - Gunakan saat membangun SPA — koordinasikan dengan `spa-orchestrator` untuk keputusan arsitektur.
116
- - Gunakan untuk memastikan kepatuhan aksesibilitas (WCAG 2.2) dan pengujian otomatis.
117
-
118
- ### Panduan Teknis & Praktik Terbaik
119
-
120
- #### 1. Next.js 15: Server vs Client Components
121
- Gunakan **Server Components** secara default untuk performa dan SEO. Gunakan `'use client'` hanya saat dibutuhkan state, event handler, atau API browser.
122
-
123
- *Catatan Next.js 15:*
124
- - `params` dan `searchParams` sekarang bertipe `Promise` — lakukan `await` sebelum mengakses nilainya.
125
- - **Partial Prerendering (PPR)**: Bungkus bagian dinamis dengan `<Suspense>` — Next.js akan men-prerender shell statis dan meng-stream konten dinamis. Aktifkan dengan `experimental: { ppr: true }`.
126
-
127
- #### 2. React 19 — Hook Baru & Compiler
128
- React 19 hadir dengan **compiler** yang otomatis menerapkan memoization. Anda tidak lagi perlu `useMemo`, `useCallback`, atau `React.memo` di sebagian besar kasus.
129
-
130
- **Hook Baru:**
131
- - **`useActionState`**: Mengelola state form, indikator loading, dan hasil action dengan Server Actions.
132
- - **`useOptimistic`**: Memperbarui UI secara instan sebelum server mengonfirmasi.
133
- - **`useFormStatus`**: Membaca status form di dalam komponen anak.
134
- - **`use(promise)`**: Membuka *promise* atau context langsung di dalam render — bekerja bersama Suspense.
135
-
136
- #### 3. View Transitions API
137
- Gunakan View Transitions API bawaan browser untuk transisi halaman yang mulus tanpa library berat. Next.js 15 mendukung ini secara native melalui `<Link viewTransition>`.
138
-
139
- #### 4. Tailwind CSS v4 CSS-First Configuration
140
- Konfigurasi kustom tema dilakukan langsung di file CSS menggunakan direktif `@theme`. Gunakan `@plugin` untuk mendaftarkan plugin.
141
-
142
- #### 5. Aksesibilitas (WCAG 2.2) & Pengujian
143
- - Gunakan HTML semantik (`<button>`, `<nav>`, `<main>`).
144
- - Pastikan navigasi keyboard berfungsi penuh dengan label `aria-*` yang tepat.
145
- - Pengujian unit dengan Vitest + React Testing Library; E2E dengan Playwright.
146
-
147
- #### 6. Integrasi SPA (spa-orchestrator)
148
- Saat membangun SPA terpisah (bukan Next.js SSR):
149
- - Koordinasikan dengan `spa-orchestrator` untuk keputusan routing, state, dan API layer.
150
- - Gunakan **TanStack Router** untuk routing type-safe di sisi klien.
151
- - Gunakan **TanStack Query v5** untuk semua server state.
152
-
153
- #### 7. Integrasi MPA (mpa-orchestrator)
154
- Saat bekerja dalam arsitektur MPA terpusat:
155
- - Gunakan Alpine.js atau HTMX untuk interaksi mikro yang ringan.
156
- - Terapkan Progressive Enhancement: form dan link harus berfungsi tanpa JavaScript terlebih dahulu.
157
-
158
- #### 8. Animasi Tingkat Lanjut (GSAP)
159
- - Gunakan **GSAP (GreenSock Animation Platform)** untuk animasi kompleks, berbasis timeline, dan *scroll-driven* (`ScrollTrigger`).
160
- - Utamakan GSAP dibandingkan CSS untuk animasi yang membutuhkan kontrol *timeline*, jeda (*pause*), *reverse*, atau *stagger*.
161
- - Di React, selalu gunakan hook `useGSAP()` dari `@gsap/react` untuk *cleanup* otomatis dan manajemen *scope* guna mencegah kebocoran memori (*memory leak*).
1
+ ---
2
+ name: senior-frontend
3
+ description: "Frontend development for React 19, Next.js 15, TypeScript, and Tailwind CSS v4 / Pengembangan frontend dengan React 19, Next.js 15, TypeScript, dan Tailwind CSS v4."
4
+ author: "Roedy Rustam"
5
+ ---
6
+
7
+ # Senior Frontend Specialist (2026 Edition)
8
+
9
+ [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
10
+
11
+ ---
12
+
13
+ <a name="english"></a>
14
+ ## English
15
+
16
+ ### Description
17
+ Production-grade frontend development patterns, performance optimization, and modern ecosystem integrations for React 19 / Next.js 15 applications with Tailwind CSS v4 and TypeScript. Covers React 19 Compiler, Partial Prerendering (PPR), View Transitions API, and SPA/MPA hybrid strategies.
18
+
19
+ ### Trigger Conditions
20
+ - Use when scaffolding a new React or Next.js 15 project with TypeScript and Tailwind CSS v4.
21
+ - Use when generating new components, custom hooks, or Server Actions.
22
+ - Use when analyzing and optimizing bundle sizes and Core Web Vitals.
23
+ - Use to implement advanced React 19 patterns (`useActionState`, `useOptimistic`, `use()`).
24
+ - Use when working in SPA mode — coordinate with `spa-orchestrator` for architecture decisions.
25
+ - Use to ensure accessibility compliance (WCAG 2.2) and implement robust testing.
26
+
27
+ ### Technical Guidelines & Best Practices
28
+
29
+ #### 1. Next.js 15: Server vs Client Components
30
+ Use **Server Components** by default for performance and SEO. Use `'use client'` only when you need:
31
+ - State (`useState`, `useEffect`), event handlers (`onClick`), browser APIs.
32
+ - Interactive UI that must be hydrated on the client.
33
+
34
+ *Next.js 15 Notes:*
35
+ - `params` and `searchParams` are now `Promise`-based — always `await` them before reading properties.
36
+ - **Partial Prerendering (PPR)**: Wrap dynamic sections in `<Suspense>` — Next.js will statically pre-render the shell and stream dynamic content. Enable with `experimental: { ppr: true }`.
37
+
38
+ #### 2. React 19 — New Hooks & Compiler
39
+ React 19 ships with a **compiler** that auto-applies memoization. You no longer need `useMemo`, `useCallback`, or `React.memo` in most cases — the compiler handles it.
40
+
41
+ **New Hooks:**
42
+ - **`useActionState`**: Manage form state, pending indicators, and action results natively with Server Actions.
43
+ - **`useOptimistic`**: Instantly update UI before server confirms (likes, cart additions).
44
+ - **`useFormStatus`**: Read form submission state inside child components.
45
+ - **`use(promise)`**: Unwrap promises or context inside render — works with Suspense.
46
+ ```tsx
47
+ // use() with context
48
+ const theme = use(ThemeContext);
49
+
50
+ // use() with a promise (suspends until resolved)
51
+ const data = use(fetchUserPromise);
52
+ ```
53
+
54
+ #### 3. View Transitions API
55
+ Use the native browser View Transitions API for smooth page transitions without heavy libraries:
56
+ ```tsx
57
+ import { unstable_ViewTransition as ViewTransition } from 'react';
58
+
59
+ // Wrap changing elements
60
+ <ViewTransition name="hero-image">
61
+ <img src={image} />
62
+ </ViewTransition>
63
+ ```
64
+ Next.js 15 App Router supports View Transitions natively via the `<Link>` component with `viewTransition` prop.
65
+
66
+ #### 4. Tailwind CSS v4 CSS-First Configuration
67
+ Tailwind CSS v4 uses **CSS-first configuration**. Define custom theme tokens using the `@theme` directive in your main CSS file. Use the new `@plugin` directive to register plugins:
68
+ ```css
69
+ @import "tailwindcss";
70
+
71
+ @theme {
72
+ --color-brand: oklch(55% 0.2 250);
73
+ --font-sans: "Inter", sans-serif;
74
+ --animate-fade-in: fade-in 0.3s ease-out;
75
+ }
76
+
77
+ @plugin "@tailwindcss/typography";
78
+ ```
79
+
80
+ #### 5. Accessibility (WCAG 2.2) & Testing
81
+ - Use semantic HTML tags (`<button>`, `<nav>`, `<main>`, `<article>`).
82
+ - Ensure full keyboard navigability and proper `aria-*` labels.
83
+ - Write unit tests using **Vitest** and **React Testing Library**.
84
+ - Write E2E tests using **Playwright** (via `e2e-testing-expert` skill).
85
+
86
+ #### 6. SPA Integration (spa-orchestrator)
87
+ When building a decoupled SPA (not Next.js SSR):
88
+ - Coordinate with `spa-orchestrator` for architecture decisions (routing, state, API layer).
89
+ - Use **TanStack Router** for fully type-safe client-side routing (preferred over React Router for new projects).
90
+ - Use **TanStack Query v5** for all server state — never use bare `useEffect` for data fetching.
91
+
92
+ #### 7. Multi-Page Application (MPA) Integration
93
+ When working within a centralized MPA (via `mpa-orchestrator`):
94
+ - Use **Alpine.js** or **HTMX** for micro-interactions without heavy client bundles.
95
+ - Apply **Progressive Enhancement**: ensure forms and links work without JavaScript first.
96
+
97
+ #### 8. Advanced Animations (GSAP & Anime.js)
98
+ - **GSAP (GreenSock)**: Use for complex, timeline-based, and scroll-driven animations (`ScrollTrigger`). In React, always use `@gsap/react` `useGSAP()` hook for automatic cleanup.
99
+ - **Anime.js**: Use as a lightweight, powerful alternative for simpler sequencing, staggering, SVG path animations, and DOM attribute animations. It's often preferred when bundle size is a strict concern and scroll-driven features are not needed.
100
+ - Prefer JS animations (GSAP/Anime.js) over CSS for sequences requiring pausing, reversing, or timeline control.
101
+
102
+ ---
103
+
104
+ <a name="bahasa-indonesia"></a>
105
+ ## Bahasa Indonesia
106
+
107
+ ### Deskripsi
108
+ Pola pengembangan frontend tingkat produksi, optimasi performa, dan integrasi ekosistem modern untuk aplikasi React 19 / Next.js 15 dengan Tailwind CSS v4 dan TypeScript. Mencakup React 19 Compiler, Partial Prerendering (PPR), View Transitions API, dan strategi hybrid SPA/MPA.
109
+
110
+ ### Kondisi Pemicu
111
+ - Gunakan saat merancang proyek React atau Next.js 15 baru dengan TypeScript dan Tailwind CSS v4.
112
+ - Gunakan saat membuat komponen baru, custom hooks, atau Server Actions.
113
+ - Gunakan saat menganalisis dan mengoptimalkan bundle dan Core Web Vitals.
114
+ - Gunakan untuk mengimplementasikan pola React 19 lanjutan (`useActionState`, `useOptimistic`, `use()`).
115
+ - Gunakan saat membangun SPA — koordinasikan dengan `spa-orchestrator` untuk keputusan arsitektur.
116
+ - Gunakan untuk memastikan kepatuhan aksesibilitas (WCAG 2.2) dan pengujian otomatis.
117
+
118
+ ### Panduan Teknis & Praktik Terbaik
119
+
120
+ #### 1. Next.js 15: Server vs Client Components
121
+ Gunakan **Server Components** secara default untuk performa dan SEO. Gunakan `'use client'` hanya saat dibutuhkan state, event handler, atau API browser.
122
+
123
+ *Catatan Next.js 15:*
124
+ - `params` dan `searchParams` sekarang bertipe `Promise` — lakukan `await` sebelum mengakses nilainya.
125
+ - **Partial Prerendering (PPR)**: Bungkus bagian dinamis dengan `<Suspense>` — Next.js akan men-prerender shell statis dan meng-stream konten dinamis. Aktifkan dengan `experimental: { ppr: true }`.
126
+
127
+ #### 2. React 19 — Hook Baru & Compiler
128
+ React 19 hadir dengan **compiler** yang otomatis menerapkan memoization. Anda tidak lagi perlu `useMemo`, `useCallback`, atau `React.memo` di sebagian besar kasus.
129
+
130
+ **Hook Baru:**
131
+ - **`useActionState`**: Mengelola state form, indikator loading, dan hasil action dengan Server Actions.
132
+ - **`useOptimistic`**: Memperbarui UI secara instan sebelum server mengonfirmasi.
133
+ - **`useFormStatus`**: Membaca status form di dalam komponen anak.
134
+ - **`use(promise)`**: Membuka *promise* atau context langsung di dalam render — bekerja bersama Suspense.
135
+
136
+ #### 3. View Transitions API
137
+ Gunakan View Transitions API bawaan browser untuk transisi halaman yang mulus tanpa library berat. Next.js 15 mendukung ini secara native melalui `<Link viewTransition>`.
138
+
139
+ #### 4. Tailwind CSS v4 CSS-First Configuration
140
+ Konfigurasi kustom tema dilakukan langsung di file CSS menggunakan direktif `@theme`. Gunakan `@plugin` untuk mendaftarkan plugin.
141
+
142
+ #### 5. Aksesibilitas (WCAG 2.2) & Pengujian
143
+ - Gunakan HTML semantik (`<button>`, `<nav>`, `<main>`).
144
+ - Pastikan navigasi keyboard berfungsi penuh dengan label `aria-*` yang tepat.
145
+ - Pengujian unit dengan Vitest + React Testing Library; E2E dengan Playwright.
146
+
147
+ #### 6. Integrasi SPA (spa-orchestrator)
148
+ Saat membangun SPA terpisah (bukan Next.js SSR):
149
+ - Koordinasikan dengan `spa-orchestrator` untuk keputusan routing, state, dan API layer.
150
+ - Gunakan **TanStack Router** untuk routing type-safe di sisi klien.
151
+ - Gunakan **TanStack Query v5** untuk semua server state.
152
+
153
+ #### 7. Integrasi MPA (mpa-orchestrator)
154
+ Saat bekerja dalam arsitektur MPA terpusat:
155
+ - Gunakan Alpine.js atau HTMX untuk interaksi mikro yang ringan.
156
+ - Terapkan Progressive Enhancement: form dan link harus berfungsi tanpa JavaScript terlebih dahulu.
157
+
158
+ #### 8. Animasi Tingkat Lanjut (GSAP & Anime.js)
159
+ - **GSAP (GreenSock)**: Gunakan untuk animasi kompleks, berbasis timeline, dan *scroll-driven* (`ScrollTrigger`). Di React, selalu gunakan hook `useGSAP()` dari `@gsap/react` untuk mencegah kebocoran memori.
160
+ - **Anime.js**: Gunakan sebagai alternatif yang lebih ringan namun sangat kuat untuk animasi DOM, properti CSS, SVG, dan *staggering* sederhana. Sangat cocok jika ukuran *bundle* menjadi prioritas utama.
161
+ - Utamakan pustaka JS (GSAP/Anime.js) dibandingkan CSS murni untuk animasi yang membutuhkan kontrol *timeline*, jeda (*pause*), *reverse*, atau *stagger* dinamis.