vibes-plug 1.0.0 → 2.11.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 (183) hide show
  1. package/.claude/rules/vibes-plug-core.md +32 -0
  2. package/.cursor/rules/vibes-plug-core.mdc +51 -0
  3. package/.cursorrules +42 -0
  4. package/AGENTS.md +96 -0
  5. package/BLUEPRINT.md +309 -125
  6. package/CHANGELOG.md +183 -1
  7. package/CLAUDE.md +70 -0
  8. package/LICENSE +1 -1
  9. package/README.md +641 -263
  10. package/index.js +19 -0
  11. package/package.json +61 -25
  12. package/plugin.json +24 -7
  13. package/scripts/generate_swarm_gif.py +295 -0
  14. package/scripts/install.js +201 -0
  15. package/skills/accessibility-testing-expert/SKILL.md +116 -0
  16. package/skills/ai-cost-token-optimizer/SKILL.md +82 -0
  17. package/skills/ai-evals-benchmark-expert/SKILL.md +188 -0
  18. package/skills/ai-llm-integration-expert/SKILL.md +147 -122
  19. package/skills/ai-media-generation-expert/SKILL.md +172 -0
  20. package/skills/ai-prompt-engineering-expert/SKILL.md +84 -0
  21. package/skills/angular-expert/SKILL.md +148 -0
  22. package/skills/api-design-expert/SKILL.md +316 -309
  23. package/skills/api-gateway-proxy-expert/SKILL.md +81 -0
  24. package/skills/app-analyzer-optimizer/SKILL.md +195 -188
  25. package/skills/apple-ecosystem-expert/SKILL.md +145 -0
  26. package/skills/{asisten_ramah → asisten-ramah}/SKILL.md +7 -1
  27. package/skills/astro-framework-expert/SKILL.md +200 -0
  28. package/skills/async-queue-temporal-expert/SKILL.md +240 -0
  29. package/skills/authentication-identity-expert/SKILL.md +279 -45
  30. package/skills/auto-doc-updater/SKILL.md +219 -203
  31. package/skills/autonomous-chaos-monkey/SKILL.md +63 -0
  32. package/skills/autonomous-red-teamer/SKILL.md +203 -0
  33. package/skills/autonomous-tdd-debugger/SKILL.md +71 -0
  34. package/skills/background-jobs-queue-expert/SKILL.md +235 -0
  35. package/skills/biome-linter-formatter-expert/SKILL.md +89 -0
  36. package/skills/blockchain-web3-expert/SKILL.md +115 -0
  37. package/skills/bootstrap-to-modern/SKILL.md +93 -86
  38. package/skills/brainstorming/SKILL.md +381 -353
  39. package/skills/browser-automation-expert/SKILL.md +222 -0
  40. package/skills/bun-runtime-expert/SKILL.md +7 -1
  41. package/skills/chatbot-messaging-expert/SKILL.md +114 -0
  42. package/skills/ci-cd-devops-architect/SKILL.md +81 -45
  43. package/skills/cloud-hosting-expert/SKILL.md +249 -243
  44. package/skills/coderabbit/SKILL.md +197 -191
  45. package/skills/compliance-gdpr-privacy-expert/SKILL.md +85 -0
  46. package/skills/cron-scheduler-expert/SKILL.md +304 -0
  47. package/skills/data-pipeline-etl-expert/SKILL.md +84 -0
  48. package/skills/data-telemetry-expert/SKILL.md +218 -212
  49. package/skills/data-visualization-expert/SKILL.md +154 -0
  50. package/skills/database-migration-versioning-expert/SKILL.md +90 -0
  51. package/skills/database-orm-expert/SKILL.md +303 -293
  52. package/skills/dependency-upgrade-migrator/SKILL.md +301 -0
  53. package/skills/design-system-architect/SKILL.md +278 -242
  54. package/skills/desktop-electron-expert/SKILL.md +128 -0
  55. package/skills/documentation-site-expert/SKILL.md +59 -0
  56. package/skills/doku-mcp-server/SKILL.md +257 -0
  57. package/skills/doku-payment-gateway/SKILL.md +233 -0
  58. package/skills/domain-driven-design-expert/SKILL.md +82 -0
  59. package/skills/e2e-testing-expert/SKILL.md +320 -314
  60. package/skills/ecommerce-expert/SKILL.md +87 -0
  61. package/skills/edge-serverless-db-expert/SKILL.md +99 -0
  62. package/skills/email-notification-expert/SKILL.md +368 -0
  63. package/skills/error-resilience-expert/SKILL.md +486 -0
  64. package/skills/event-driven-architect/SKILL.md +86 -80
  65. package/skills/feature-flag-analytics-expert/SKILL.md +66 -0
  66. package/skills/file-upload-media-expert/SKILL.md +437 -0
  67. package/skills/firebase-security-expert/SKILL.md +7 -1
  68. package/skills/form-validation-expert/SKILL.md +407 -0
  69. package/skills/fullstack-expert/SKILL.md +260 -201
  70. package/skills/fullstack-expert/references/api_design_guide.md +466 -466
  71. package/skills/fullstack-expert/references/multi_language_backend.md +528 -528
  72. package/skills/fullstack-expert/scripts/api_contract_validator.py +253 -253
  73. package/skills/fullstack-expert/scripts/architecture_analyzer.py +326 -326
  74. package/skills/gemini-agent-booster/SKILL.md +142 -104
  75. package/skills/geospatial-maps-expert/SKILL.md +80 -0
  76. package/skills/global-a11y-i18n-expert/SKILL.md +86 -80
  77. package/skills/glsl-shader-expert/SKILL.md +107 -0
  78. package/skills/go-programming-expert/SKILL.md +300 -294
  79. package/skills/graph-rag-knowledge-expert/SKILL.md +159 -0
  80. package/skills/graphql-apollo-expert/SKILL.md +114 -0
  81. package/skills/headless-cms-expert/SKILL.md +181 -0
  82. package/skills/hig/SKILL.md +193 -187
  83. package/skills/js-backend-expert/SKILL.md +218 -191
  84. package/skills/legacy-code-translator/SKILL.md +71 -0
  85. package/skills/local-slm-edge-ai-expert/SKILL.md +167 -0
  86. package/skills/logging-error-tracking-expert/SKILL.md +344 -0
  87. package/skills/mcp-client-orchestrator/SKILL.md +76 -0
  88. package/skills/mcp-server-architect/SKILL.md +226 -126
  89. package/skills/micro-frontend-architect/SKILL.md +112 -0
  90. package/skills/mobile-expo-expert/SKILL.md +191 -185
  91. package/skills/mobile-push-notification-expert/SKILL.md +71 -0
  92. package/skills/modern-css-native-expert/SKILL.md +189 -0
  93. package/skills/monday-design-aesthetic/SKILL.md +72 -66
  94. package/skills/monorepo-architect/SKILL.md +232 -226
  95. package/skills/mpa-orchestrator/SKILL.md +120 -101
  96. package/skills/multi-agent-orchestration/SKILL.md +173 -153
  97. package/skills/multiple-entry-points/SKILL.md +91 -55
  98. package/skills/mvc-expert/SKILL.md +237 -231
  99. package/skills/n8n-automation-expert/SKILL.md +89 -0
  100. package/skills/nextjs-app-router-expert/SKILL.md +148 -0
  101. package/skills/openapi-swagger-codegen-expert/SKILL.md +67 -0
  102. package/skills/payment-gateway-expert/SKILL.md +129 -45
  103. package/skills/pdf-document-generation-expert/SKILL.md +91 -0
  104. package/skills/performance-web-vitals/SKILL.md +337 -331
  105. package/skills/post-quantum-crypto-migrator/SKILL.md +57 -0
  106. package/skills/prd-architect/SKILL.md +206 -190
  107. package/skills/proactive-background-watcher/SKILL.md +68 -0
  108. package/skills/production-ready-hardener/PRODUCTION_READINESS_REPORT.md +67 -0
  109. package/skills/production-ready-hardener/SKILL.md +461 -468
  110. package/skills/production-ready-hardener/references/production_checklist.md +161 -161
  111. package/skills/production-ready-hardener/scripts/production_readiness_scanner.py +881 -875
  112. package/skills/project-context-mapper/SKILL.md +85 -0
  113. package/skills/pwa-offline-first-expert/SKILL.md +185 -0
  114. package/skills/python-programming-expert/SKILL.md +407 -270
  115. package/skills/rate-limit-abuse-prevention/SKILL.md +377 -0
  116. package/skills/realtime-collaboration-expert/SKILL.md +99 -45
  117. package/skills/rich-text-editor-expert/SKILL.md +177 -0
  118. package/skills/rust-programming-expert/SKILL.md +240 -234
  119. package/skills/saas-billing/SKILL.md +382 -376
  120. package/skills/saas-multi-tenant/SKILL.md +256 -236
  121. package/skills/saas-mvp-launcher/SKILL.md +30 -1
  122. package/skills/saas-transformer/SKILL.md +499 -445
  123. package/skills/saas-transformer/references/billing_integration_guide.md +401 -401
  124. package/skills/saas-transformer/references/feature_gating_patterns.md +137 -137
  125. package/skills/saas-transformer/references/saas_transformation_checklist.md +121 -121
  126. package/skills/saas-transformer/scripts/saas_transformation_scanner.py +39 -29
  127. package/skills/scalability-clean-code/SKILL.md +234 -228
  128. package/skills/search-engine-expert/SKILL.md +89 -0
  129. package/skills/secure-fuzz-testing/SKILL.md +7 -1
  130. package/skills/self-evolving-memory-graph/SKILL.md +91 -0
  131. package/skills/self-healing-cloud-orchestrator/SKILL.md +57 -0
  132. package/skills/senior-frontend/SKILL.md +85 -105
  133. package/skills/seo/SKILL.md +258 -224
  134. package/skills/session-context-loader/SKILL.md +83 -0
  135. package/skills/session-handoff-resume/SKILL.md +163 -157
  136. package/skills/{skill_baru → skill-baru}/SKILL.md +177 -146
  137. package/skills/solidjs-expert/SKILL.md +80 -0
  138. package/skills/spa-orchestrator/SKILL.md +306 -287
  139. package/skills/sse-websocket-streaming-expert/SKILL.md +93 -0
  140. package/skills/state-management-expert/SKILL.md +277 -271
  141. package/skills/supabase-migration/SKILL.md +47 -1
  142. package/skills/supabase-security-expert/SKILL.md +248 -242
  143. package/skills/svelte-sveltekit-expert/SKILL.md +91 -0
  144. package/skills/svg-animation-motion-expert/SKILL.md +115 -0
  145. package/skills/tailwind-expert/SKILL.md +139 -187
  146. package/skills/tanstack-query-expert/SKILL.md +204 -198
  147. package/skills/tauri-expert/SKILL.md +7 -1
  148. package/skills/token-saver/SKILL.md +118 -110
  149. package/skills/typescript-expert/SKILL.md +329 -278
  150. package/skills/ui-components-expert/SKILL.md +166 -63
  151. package/skills/ui-ux-pro-max/SKILL.md +221 -200
  152. package/skills/vector-db-rag-expert/SKILL.md +208 -0
  153. package/skills/vibe-code-gardener/SKILL.md +180 -172
  154. package/skills/visual-qa-vision-agent/SKILL.md +71 -0
  155. package/skills/voice-ai-realtime-agent/SKILL.md +202 -0
  156. package/skills/vue-frontend-expert/SKILL.md +132 -0
  157. package/skills/wasm-edge-computing-expert/SKILL.md +97 -0
  158. package/skills/web-3d-graphics-expert/SKILL.md +137 -0
  159. package/skills/web-game-engine-expert/SKILL.md +102 -0
  160. package/skills/web-scraper/SKILL.md +98 -146
  161. package/skills/website-design-cloner/SKILL.md +180 -0
  162. package/skills/webxr-ar-vr-expert/SKILL.md +123 -0
  163. package/skills/wordpress-headless-expert/SKILL.md +144 -0
  164. package/skills/zero-to-prod-orchestrator/SKILL.md +231 -180
  165. package/skills/zero-trust-secret-vault/SKILL.md +88 -0
  166. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  167. package/CONTRIBUTING.md +0 -199
  168. package/SECURITY.md +0 -21
  169. package/banner.png +0 -0
  170. package/skills/senior-fullstack/SKILL.md +0 -167
  171. package/skills/senior-fullstack/references/architecture_patterns.md +0 -160
  172. package/skills/senior-fullstack/references/development_workflows.md +0 -222
  173. package/skills/senior-fullstack/references/tech_stack_guide.md +0 -190
  174. package/skills/senior-fullstack/scripts/code_quality_analyzer.py +0 -114
  175. package/skills/senior-fullstack/scripts/fullstack_scaffolder.py +0 -114
  176. package/skills/senior-fullstack/scripts/project_scaffolder.py +0 -114
  177. package/skills/seo-aeo-landing-page-writer/SKILL.md +0 -97
  178. package/skills/seo-geo/SKILL.md +0 -188
  179. package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-310.pyc +0 -0
  180. package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-312.pyc +0 -0
  181. package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-310.pyc +0 -0
  182. package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-312.pyc +0 -0
  183. package/skills/ui_ux_expert/SKILL.md +0 -114
@@ -0,0 +1,91 @@
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
+ ### Orchestration & Integration
17
+ Connects and orchestrates with relevant domain skills like `brainstorming`, `zero-to-prod-orchestrator`, and `project-context-mapper` to ensure cohesive execution.
18
+
19
+ ### Description
20
+ 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.
21
+
22
+ ### Trigger Conditions
23
+ Activate this skill when:
24
+ - The user corrects your code (e.g., "Don't use `any`, use `unknown`", or "Always use Arrow functions").
25
+ - You just spent a long time fixing a very complex bug.
26
+ - The user says "Remember this for the future."
27
+
28
+ ### Core Concepts
29
+
30
+ #### 1. Memory Encoding
31
+ 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.
32
+ Use the `multi_replace_file_content` or `write_to_file` tool to append the lesson to the memory file.
33
+
34
+ #### 2. Memory Format (`LEARNING_GRAPH.md`)
35
+ ```markdown
36
+ # 🧠 Self-Evolving Memory Graph
37
+
38
+ ## User Stylistic Preferences
39
+ - [2026-08-12] Always use `Tailwind v4 @theme` variables instead of arbitrary values like `text-[#ff0000]`.
40
+ - [2026-08-12] Prefer functional components with `const` over `function` declarations.
41
+
42
+ ## Hard-Learned Lessons (Avoid these mistakes)
43
+ - [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.
44
+
45
+ ## Architectural Decisions
46
+ - [2026-08-10] State Management: We exclusively use `Zustand` for global state. Do not suggest Redux.
47
+ ```
48
+
49
+ #### 3. Memory Retrieval
50
+ Ensure `session-context-loader` is configured to read this memory file at the start of every new chat session.
51
+
52
+ #### 4. Cross-Project Episodic Memory (Global Context)
53
+ - **Continuous Capture**: For complex architectural decisions or bug fixes that span beyond a single project, extract the root cause and solution into a global knowledge graph (e.g., `~/.gemini/knowledge` or equivalent `<appDataDir>/knowledge` KI system).
54
+ - **Contextual Retrieval**: On new sessions, search the global context directory for similar past issues before diving into complex bugs.
55
+ - **Synthesis & Injection**: Inject the historical context directly into the current execution loop, stating explicitly: *"I remember we solved this architectural issue in Project X using technique Y. Applying the same proven pattern here."*
56
+
57
+ ---
58
+
59
+ ### Integration with Other Skills (MANDATORY)
60
+ - `session-context-loader` — Essential for loading the `LEARNING_GRAPH.md` when a new session starts.
61
+ - `project-context-mapper` — The context map tracks *where* things are; the memory graph tracks *how* and *why* things are built.
62
+
63
+ ### Referenced By Orchestrators (MANDATORY)
64
+ - `brainstorming` — Add to "Discovery & Audit".
65
+ - `zero-to-prod-orchestrator` — Phase 1 (Discovery & Architecture).
66
+
67
+ ---
68
+
69
+ <a name="bahasa-indonesia"></a>
70
+ ## Bahasa Indonesia
71
+
72
+ ### Integrasi Orkestrasi
73
+ Terhubung dan mengorkestrasi skill domain yang relevan seperti `brainstorming`, `zero-to-prod-orchestrator`, dan `project-context-mapper` untuk memastikan eksekusi yang kohesif.
74
+
75
+ ### Deskripsi
76
+ 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`.
77
+
78
+ ### Kondisi Pemicu
79
+ - Saat pengguna mengoreksi gaya koding Anda (misal: "Gunakan bahasa Indonesia baku", "Jangan pakai `var`").
80
+ - Setelah Anda berhasil memecahkan *bug* yang menghabiskan waktu lama.
81
+ - Saat pengguna berkata "Ingat ini untuk proyek ke depannya."
82
+
83
+ ### Panduan Singkat
84
+ - **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*.
85
+ - **Kategorisasi Ingatan:** Pisahkan ingatan menjadi: Preferensi Gaya (*Style*), Pelajaran Berharga (*Lessons Learned*), dan Keputusan Arsitektur (*Decisions*).
86
+ - **Semakin Lama Semakin Pintar:** Dengan membaca file ini di awal setiap percakapan, Anda tidak akan pernah mengulangi kesalahan yang sama dua kali.
87
+
88
+ ### Memori Episodik Lintas-Proyek (Konteks Global)
89
+ - **Penangkapan Berkelanjutan**: Untuk bug yang rumit dan pola arsitektur tingkat lanjut, ekstrak solusi ke dalam grafik pengetahuan global (misal: `~/.gemini/knowledge`).
90
+ - **Pencarian Kontekstual**: Sebelum memecahkan masalah kompleks baru, cari direktori konteks global untuk kasus serupa.
91
+ - **Sintesis & Injeksi**: Secara proaktif sebutkan: *"Saya ingat kita menyelesaikan ini di Proyek X dengan cara Y, saya akan menerapkannya di sini."*
@@ -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: "Roedy Rustam"
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.
@@ -16,88 +16,63 @@ author: "Roedy Rustam"
16
16
  ### Description
17
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
18
 
19
+ ### Orchestration & Integration
20
+ - `ui-components-expert`: For building robust UI components (Radix, shadcn).
21
+ - `tailwind-expert`: For styling and custom @theme configurations.
22
+ - `nextjs-app-router-expert`: For RSC, caching, and Next.js routing patterns.
23
+ - `state-management-expert`: For client-side state (Zustand, Jotai).
24
+ - `tanstack-query-expert`: For advanced data fetching and server state caching.
25
+ - `spa-orchestrator`: For Single-Page Application architectures.
26
+ - `mpa-orchestrator`: For Multi-Page Application architectures.
27
+
19
28
  ### 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.
29
+ - Scaffold a new React or Next.js 15 project with TypeScript and Tailwind CSS v4.
30
+ - Generate new components, custom hooks, or Server Actions.
31
+ - Analyze and optimize bundle sizes and Core Web Vitals.
32
+ - Implement advanced React 19 patterns (`useActionState`, `useOptimistic`, `use()`).
33
+ - Build SPAs — coordinate with `spa-orchestrator`.
34
+ - Ensure accessibility compliance (WCAG 2.2) and testing.
26
35
 
27
36
  ### Technical Guidelines & Best Practices
28
37
 
29
38
  #### 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:
39
+ Use **Server Components** by default for performance and SEO. Use `'use client'` strictly for:
31
40
  - 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 }`.
41
+ - Interactive UI needing client hydration.
37
42
 
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.
43
+ *Next.js 15.2+ Requirements:*
44
+ - Await `Promise`-based `params` and `searchParams` before accessing properties.
45
+ - Use **Partial Prerendering (PPR)** natively. Wrap dynamic sections in `<Suspense>`.
40
46
 
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);
47
+ #### 2. React 19 Compiler & Hooks
48
+ Do not use `useMemo`, `useCallback`, or `React.memo` unless explicitly required; rely on the React 19 compiler.
49
49
 
50
- // use() with a promise (suspends until resolved)
51
- const data = use(fetchUserPromise);
52
- ```
50
+ **Mandatory Hooks:**
51
+ - **`useActionState`**: Manage form state, pending indicators, and action results with Server Actions.
52
+ - **`useOptimistic`**: Update UI instantly before server confirmation.
53
+ - **`useFormStatus`**: Read form submission state in child components.
54
+ - **`use(promise)`**: Unwrap promises or context inside render with Suspense.
53
55
 
54
56
  #### 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
- ```
57
+ Implement native View Transitions API for smooth page transitions. Use Next.js 15 `<Link viewTransition>` natively.
58
+
59
+ #### 4. Tailwind CSS v4
60
+ Use CSS-first configuration. Define custom tokens with `@theme` and register plugins with `@plugin` in the main CSS file.
79
61
 
80
62
  #### 5. Accessibility (WCAG 2.2) & Testing
81
- - Use semantic HTML tags (`<button>`, `<nav>`, `<main>`, `<article>`).
82
- - Ensure full keyboard navigability and proper `aria-*` labels.
63
+ - Enforce semantic HTML (`<button>`, `<nav>`, `<main>`, `<article>`).
64
+ - Enforce full keyboard navigability and valid `aria-*` labels.
83
65
  - Write unit tests using **Vitest** and **React Testing Library**.
84
- - Write E2E tests using **Playwright** (via `e2e-testing-expert` skill).
66
+ - Write E2E tests using **Playwright** via `e2e-testing-expert`.
85
67
 
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.
68
+ #### 6. Architecture Integration
69
+ - **SPA (`spa-orchestrator`)**: Use **TanStack Router** for type-safe client routing and **TanStack Query v5** for server state. Never use bare `useEffect` for data fetching.
70
+ - **MPA (`mpa-orchestrator`)**: Use **Alpine.js** or **HTMX** for micro-interactions. Apply Progressive Enhancement.
91
71
 
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.
72
+ #### 7. Advanced Animations
73
+ - **GSAP (GreenSock)**: Use for complex, timeline-based, scroll-driven animations (`ScrollTrigger`). Enforce `@gsap/react` `useGSAP()` hook for auto-cleanup.
74
+ - **Anime.js**: Use as a lightweight alternative for simple sequencing, SVG path animations, and DOM attribute animations.
75
+ - Prefer JS animations over CSS when timeline control (pause, reverse, dynamic stagger) is required.
101
76
 
102
77
  ---
103
78
 
@@ -107,55 +82,60 @@ When working within a centralized MPA (via `mpa-orchestrator`):
107
82
  ### Deskripsi
108
83
  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
84
 
85
+ ### Integrasi Orkestrasi
86
+ - `ui-components-expert`: Untuk membangun komponen UI yang kuat (Radix, shadcn).
87
+ - `tailwind-expert`: Untuk styling dan konfigurasi @theme kustom.
88
+ - `nextjs-app-router-expert`: Untuk RSC, caching, dan pola routing Next.js.
89
+ - `state-management-expert`: Untuk state client-side (Zustand, Jotai).
90
+ - `tanstack-query-expert`: Untuk fetching data lanjutan dan caching server state.
91
+ - `spa-orchestrator`: Untuk arsitektur Single-Page Application.
92
+ - `mpa-orchestrator`: Untuk arsitektur Multi-Page Application.
93
+
110
94
  ### 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.
95
+ - Buat proyek React atau Next.js 15 baru dengan TypeScript dan Tailwind CSS v4.
96
+ - Buat komponen baru, custom hooks, atau Server Actions.
97
+ - Analisis dan optimalkan ukuran bundle dan Core Web Vitals.
98
+ - Terapkan pola React 19 lanjutan (`useActionState`, `useOptimistic`, `use()`).
99
+ - Bangun SPA — koordinasikan dengan `spa-orchestrator`.
100
+ - Pastikan kepatuhan aksesibilitas (WCAG 2.2) dan pengujian.
117
101
 
118
102
  ### Panduan Teknis & Praktik Terbaik
119
103
 
120
104
  #### 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.
105
+ Gunakan **Server Components** secara default. Gunakan `'use client'` hanya untuk:
106
+ - State (`useState`, `useEffect`), event handler, API browser.
107
+ - UI interaktif yang membutuhkan hidrasi klien.
122
108
 
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 }`.
109
+ *Persyaratan Next.js 15.2+:*
110
+ - Wajib `await` pada `params` dan `searchParams` yang kini bertipe `Promise`.
111
+ - Gunakan **Partial Prerendering (PPR)** secara native. Bungkus bagian dinamis dengan `<Suspense>`.
126
112
 
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.
113
+ #### 2. React 19 Compiler & Hook Baru
114
+ Jangan gunakan `useMemo`, `useCallback`, atau `React.memo` kecuali sangat diperlukan; andalkan compiler React 19.
129
115
 
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.
116
+ **Hook Wajib:**
117
+ - **`useActionState`**: Kelola state form, indikator loading, dan hasil action dengan Server Actions.
118
+ - **`useOptimistic`**: Perbarui UI secara instan sebelum server mengonfirmasi.
119
+ - **`useFormStatus`**: Baca status form di dalam komponen anak.
120
+ - **`use(promise)`**: Buka promise atau context langsung di dalam render dengan Suspense.
135
121
 
136
122
  #### 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>`.
123
+ Terapkan View Transitions API bawaan browser untuk transisi halaman. Gunakan `<Link viewTransition>` pada Next.js 15.
138
124
 
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.
125
+ #### 4. Tailwind CSS v4
126
+ Gunakan konfigurasi CSS-first. Definisikan token kustom dengan `@theme` dan plugin dengan `@plugin` di file CSS utama.
141
127
 
142
128
  #### 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*).
129
+ - Wajib gunakan HTML semantik (`<button>`, `<nav>`, `<main>`).
130
+ - Wajib pastikan navigasi keyboard dengan label `aria-*` yang valid.
131
+ - Tulis pengujian unit dengan **Vitest** dan **React Testing Library**.
132
+ - Tulis pengujian E2E dengan **Playwright** via `e2e-testing-expert`.
133
+
134
+ #### 6. Integrasi Arsitektur
135
+ - **SPA (`spa-orchestrator`)**: Gunakan **TanStack Router** untuk routing klien dan **TanStack Query v5** untuk server state. Jangan gunakan `useEffect` murni untuk fetching data.
136
+ - **MPA (`mpa-orchestrator`)**: Gunakan **Alpine.js** atau **HTMX** untuk interaksi mikro. Terapkan Progressive Enhancement.
137
+
138
+ #### 7. Animasi Tingkat Lanjut
139
+ - **GSAP (GreenSock)**: Gunakan untuk animasi kompleks, berbasis timeline, dan scroll-driven. Wajib gunakan hook `useGSAP()` dari `@gsap/react`.
140
+ - **Anime.js**: Gunakan untuk staggering sederhana, animasi SVG, dan DOM.
141
+ - Utamakan animasi JS (GSAP/Anime.js) daripada CSS murni jika kontrol timeline (pause, reverse) dibutuhkan.