vibes-plug 2.14.1 → 3.9.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 (151) hide show
  1. package/.claude/rules/vibes-plug-core.md +5 -0
  2. package/.cursor/rules/vibes-plug-core.mdc +7 -2
  3. package/.cursorrules +8 -2
  4. package/AGENTS.md +23 -2
  5. package/CHANGELOG.md +114 -0
  6. package/CLAUDE.md +10 -3
  7. package/README.md +216 -611
  8. package/bin/vibes.mjs +1104 -0
  9. package/package.json +11 -3
  10. package/plugin.json +4 -3
  11. package/scripts/check-anti-slop.mjs +53 -0
  12. package/scripts/install.js +3 -1
  13. package/scripts/update_skills.js +1 -1
  14. package/scripts/update_skills.mjs +86 -0
  15. package/scripts/validate-skills.mjs +111 -0
  16. package/skills/accessibility-testing-expert/SKILL.md +117 -116
  17. package/skills/affective-computing-emotion-ai/SKILL.md +83 -0
  18. package/skills/agentic-coding-workflow-expert/SKILL.md +297 -0
  19. package/skills/agentic-memory-architect/SKILL.md +52 -0
  20. package/skills/agentic-micro-economy-architect/SKILL.md +92 -0
  21. package/skills/ai-llm-integration-expert/SKILL.md +330 -194
  22. package/skills/ai-media-generation-expert/SKILL.md +173 -172
  23. package/skills/ai-prompt-engineering-expert/SKILL.md +204 -134
  24. package/skills/ai-safety-governance-expert/SKILL.md +223 -0
  25. package/skills/angular-expert/SKILL.md +149 -148
  26. package/skills/anti-slop/SKILL.md +134 -133
  27. package/skills/api-design-expert/SKILL.md +4 -3
  28. package/skills/api-gateway-proxy-expert/SKILL.md +3 -2
  29. package/skills/app-analyzer-optimizer/SKILL.md +4 -3
  30. package/skills/apple-ecosystem-expert/SKILL.md +6 -5
  31. package/skills/astro-framework-expert/SKILL.md +201 -200
  32. package/skills/async-queue-temporal-expert/SKILL.md +218 -217
  33. package/skills/authentication-identity-expert/SKILL.md +174 -173
  34. package/skills/autonomous-red-teamer/SKILL.md +338 -203
  35. package/skills/autonomous-tdd-debugger/SKILL.md +6 -5
  36. package/skills/biome-linter-formatter-expert/SKILL.md +90 -89
  37. package/skills/blockchain-web3-expert/SKILL.md +116 -115
  38. package/skills/brainstorming/SKILL.md +392 -377
  39. package/skills/browser-automation-expert/SKILL.md +260 -222
  40. package/skills/bun-runtime-expert/SKILL.md +5 -4
  41. package/skills/chatbot-messaging-expert/SKILL.md +115 -114
  42. package/skills/ci-cd-devops-architect/SKILL.md +3 -2
  43. package/skills/cloud-hosting-expert/SKILL.md +5 -4
  44. package/skills/coderabbit/SKILL.md +5 -4
  45. package/skills/compliance-gdpr-privacy-expert/SKILL.md +3 -2
  46. package/skills/composable-mach-architect/SKILL.md +338 -0
  47. package/skills/cron-scheduler-expert/SKILL.md +5 -4
  48. package/skills/data-pipeline-etl-expert/SKILL.md +3 -2
  49. package/skills/data-telemetry-expert/SKILL.md +5 -4
  50. package/skills/data-visualization-expert/SKILL.md +155 -154
  51. package/skills/database-orm-expert/SKILL.md +166 -165
  52. package/skills/deep-research-analyst/SKILL.md +182 -136
  53. package/skills/dependency-upgrade-migrator/SKILL.md +11 -10
  54. package/skills/design-system-architect/SKILL.md +4 -3
  55. package/skills/desktop-electron-expert/SKILL.md +129 -128
  56. package/skills/documentation-site-expert/SKILL.md +60 -59
  57. package/skills/doku-mcp-server/SKILL.md +5 -4
  58. package/skills/doku-payment-gateway/SKILL.md +250 -232
  59. package/skills/domain-driven-design-expert/SKILL.md +3 -2
  60. package/skills/e2e-testing-expert/SKILL.md +5 -4
  61. package/skills/ecommerce-expert/SKILL.md +88 -87
  62. package/skills/email-notification-expert/SKILL.md +5 -4
  63. package/skills/ephemeral-generative-ui-architect/SKILL.md +88 -0
  64. package/skills/error-resilience-expert/SKILL.md +14 -13
  65. package/skills/event-driven-architect/SKILL.md +5 -4
  66. package/skills/feature-flag-analytics-expert/SKILL.md +3 -2
  67. package/skills/file-upload-media-expert/SKILL.md +5 -4
  68. package/skills/firebase-security-expert/SKILL.md +5 -4
  69. package/skills/form-validation-expert/SKILL.md +7 -6
  70. package/skills/frontier-ai-models-expert/SKILL.md +116 -0
  71. package/skills/fullstack-expert/SKILL.md +185 -184
  72. package/skills/gemini-agent-booster/SKILL.md +248 -172
  73. package/skills/geospatial-maps-expert/SKILL.md +81 -80
  74. package/skills/global-a11y-i18n-expert/SKILL.md +5 -4
  75. package/skills/glsl-shader-expert/SKILL.md +191 -190
  76. package/skills/go-programming-expert/SKILL.md +5 -4
  77. package/skills/graph-rag-knowledge-expert/SKILL.md +201 -200
  78. package/skills/graphql-apollo-expert/SKILL.md +5 -4
  79. package/skills/headless-cms-expert/SKILL.md +182 -181
  80. package/skills/hig/SKILL.md +5 -4
  81. package/skills/js-backend-expert/SKILL.md +219 -218
  82. package/skills/legacy-code-translator/SKILL.md +6 -5
  83. package/skills/llm-finops-router/SKILL.md +52 -0
  84. package/skills/local-slm-edge-ai-expert/SKILL.md +168 -167
  85. package/skills/logging-error-tracking-expert/SKILL.md +5 -4
  86. package/skills/mcp-server-architect/SKILL.md +315 -307
  87. package/skills/micro-frontend-architect/SKILL.md +5 -4
  88. package/skills/mobile-expo-expert/SKILL.md +5 -4
  89. package/skills/modern-css-native-expert/SKILL.md +190 -189
  90. package/skills/monorepo-architect/SKILL.md +5 -4
  91. package/skills/mpa-orchestrator/SKILL.md +41 -4
  92. package/skills/multi-agent-orchestration/SKILL.md +388 -254
  93. package/skills/mvc-expert/SKILL.md +5 -4
  94. package/skills/n8n-automation-expert/SKILL.md +90 -89
  95. package/skills/nextjs-app-router-expert/SKILL.md +3 -2
  96. package/skills/openapi-swagger-codegen-expert/SKILL.md +4 -3
  97. package/skills/payment-gateway-expert/SKILL.md +131 -128
  98. package/skills/pdf-document-generation-expert/SKILL.md +92 -91
  99. package/skills/performance-web-vitals/SKILL.md +5 -4
  100. package/skills/post-quantum-crypto-migrator/SKILL.md +3 -2
  101. package/skills/prd-architect/SKILL.md +183 -182
  102. package/skills/proactive-background-watcher/SKILL.md +5 -4
  103. package/skills/production-ready-hardener/SKILL.md +10 -9
  104. package/skills/pwa-offline-first-expert/SKILL.md +227 -226
  105. package/skills/pydantic-ai-expert/SKILL.md +162 -161
  106. package/skills/python-programming-expert/SKILL.md +5 -4
  107. package/skills/rate-limit-abuse-prevention/SKILL.md +5 -4
  108. package/skills/realtime-collaboration-expert/SKILL.md +3 -2
  109. package/skills/rich-text-editor-expert/SKILL.md +178 -177
  110. package/skills/rust-programming-expert/SKILL.md +5 -4
  111. package/skills/saas-architect/SKILL.md +155 -154
  112. package/skills/saas-billing/SKILL.md +394 -382
  113. package/skills/saas-multi-tenant/SKILL.md +7 -6
  114. package/skills/scalability-clean-code/SKILL.md +5 -4
  115. package/skills/search-engine-expert/SKILL.md +90 -89
  116. package/skills/self-healing-cloud-orchestrator/SKILL.md +3 -2
  117. package/skills/senior-frontend/SKILL.md +14 -9
  118. package/skills/seo/SKILL.md +4 -4
  119. package/skills/session-memory-manager/SKILL.md +129 -128
  120. package/skills/solidjs-expert/SKILL.md +81 -80
  121. package/skills/spa-orchestrator/SKILL.md +5 -4
  122. package/skills/sse-websocket-streaming-expert/SKILL.md +3 -2
  123. package/skills/state-management-expert/SKILL.md +5 -4
  124. package/skills/supabase-security-expert/SKILL.md +5 -4
  125. package/skills/svelte-sveltekit-expert/SKILL.md +92 -91
  126. package/skills/svg-animation-motion-expert/SKILL.md +3 -2
  127. package/skills/synthetic-data-finetuning-expert/SKILL.md +156 -155
  128. package/skills/tailwind-expert/SKILL.md +62 -5
  129. package/skills/tanstack-query-expert/SKILL.md +5 -4
  130. package/skills/tauri-expert/SKILL.md +5 -4
  131. package/skills/typescript-expert/SKILL.md +5 -4
  132. package/skills/ui-ux-pro-max/SKILL.md +7 -6
  133. package/skills/vector-db-rag-expert/SKILL.md +209 -208
  134. package/skills/vercel-ai-sdk-expert/SKILL.md +226 -181
  135. package/skills/voice-ai-realtime-agent/SKILL.md +243 -242
  136. package/skills/vue-frontend-expert/SKILL.md +5 -4
  137. package/skills/wasm-edge-computing-expert/SKILL.md +3 -2
  138. package/skills/web-3d-graphics-expert/SKILL.md +314 -313
  139. package/skills/web-game-engine-expert/SKILL.md +330 -329
  140. package/skills/web-scraper/SKILL.md +158 -157
  141. package/skills/website-design-cloner/SKILL.md +5 -4
  142. package/skills/webxr-ar-vr-expert/SKILL.md +163 -162
  143. package/skills/wordpress-headless-expert/SKILL.md +145 -144
  144. package/skills/zero-tech-debt-auditor/SKILL.md +115 -0
  145. package/skills/zero-to-prod-orchestrator/SKILL.md +281 -229
  146. package/skills/zero-trust-secret-vault/SKILL.md +3 -2
  147. package/BLUEPRINT.md +0 -319
  148. package/skills/bootstrap-to-modern/SKILL.md +0 -94
  149. package/skills/multiple-entry-points/SKILL.md +0 -91
  150. package/skills/secure-fuzz-testing/SKILL.md +0 -207
  151. package/skills/visual-qa-vision-agent/SKILL.md +0 -71
@@ -1,162 +1,163 @@
1
- ---
2
- name: webxr-ar-vr-expert
3
- description: "Expert guide for WebXR spatial computing, Web-based Virtual Reality (VR), Mixed Reality (MR), and Augmented Reality (AR) using Babylon.js and Three.js. Covers Apple Vision Pro, Meta Quest 3, hand tracking, and hit-testing / Panduan ahli WebXR spatial computing (VR/AR/MR)."
4
- author: "vibes-plug-swarm"
5
- ---
6
-
7
- # WebXR Spatial Computing Expert (VR, AR & MR)
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:
18
- - `web-3d-graphics-expert` — WebGPU/WebGL 3D scene rendering, lighting, and model optimization.
19
- - `web-game-engine-expert` — Spatial physics, grabbing interactions, and fixed-timestep motion.
20
- - `apple-ecosystem-expert` — Apple Vision Pro visionOS Safari WebXR features and spatial guidelines.
21
- - `glsl-shader-expert` — Passthrough blending and spatial holographic shaders.
22
- - `performance-web-vitals` — Maintaining rock-solid 72/90/120 FPS to prevent simulator sickness.
23
-
24
- ### Description
25
- Production-grade guidance for architecting immersive **Virtual Reality (VR)**, **Mixed Reality (MR)**, and **Augmented Reality (AR)** in the browser via the **WebXR Device API**. Covers modern head-mounted displays (**Meta Quest 3/3S**, **Apple Vision Pro**) and mobile AR, focusing on Babylon.js and Three.js with `@react-three/xr`.
26
-
27
- ### Trigger Conditions
28
- Activate this skill when the user is:
29
- - Developing spatial computing web applications or immersive web experiences.
30
- - Setting up WebXR sessions (`immersive-vr`, `immersive-ar`).
31
- - Implementing Hand Tracking (joint poses, pinch gestures) or spatial controller interactions.
32
- - Adding Mixed Reality passthrough or depth sensing.
33
- - Implementing AR Hit-Testing to snap 3D models onto real-world planes (floors, walls, tabletops).
34
- - Optimizing XR framerates (fixed foveated rendering) to eliminate motion sickness.
35
-
36
- ---
37
-
38
- ### Key Capabilities & Headset Targets (2026)
39
-
40
- | Target Platform | Session Mode | Key Features |
41
- | :--- | :--- | :--- |
42
- | **Meta Quest 3 / 3S** | `immersive-vr`, `immersive-ar` | Full-color stereo passthrough, high-precision hand tracking, fixed foveation levels 0-3. |
43
- | **Apple Vision Pro (visionOS)** | `immersive-vr`, `immersive-ar` | Eye-gaze + pinch interaction, 90/120Hz display refresh, strict privacy hand tracking. |
44
- | **Mobile AR (Android / iOS WebKit)** | `immersive-ar` | Surface hit-testing, ambient light estimation, instant plane detection. |
45
-
46
- ---
47
-
48
- ### 1. Babylon.js WebXR Setup (Gold Standard)
49
-
50
- Babylon.js provides the most comprehensive out-of-the-box WebXR implementation with integrated teleportation, controller profiles, and physics:
51
-
52
- ```typescript
53
- import { Scene, WebXRExperienceHelper, WebXRFeatureName } from '@babylonjs/core';
54
-
55
- export async function initBabylonXR(scene: Scene) {
56
- const xr = await scene.createDefaultXRExperienceAsync({
57
- uiOptions: {
58
- sessionMode: 'immersive-ar', // Fallback to 'immersive-vr' if AR is unsupported
59
- referenceSpaceType: 'local-floor'
60
- },
61
- optionalFeatures: ['hit-test', 'hand-tracking', 'anchors', 'plane-detection']
62
- });
63
-
64
- // Enable Fixed Foveated Rendering to reclaim 20-30% GPU performance on Quest
65
- const foveation = xr.baseExperience.featuresManager.enableFeature(
66
- WebXRFeatureName.FOVEATION,
67
- 'latest',
68
- { foveationLevel: 2 }
69
- );
70
-
71
- // Listen for Hand Tracking
72
- const handTracking = xr.baseExperience.featuresManager.enableFeature(
73
- WebXRFeatureName.HAND_TRACKING,
74
- 'latest',
75
- { xrInput: xr.input }
76
- );
77
-
78
- return xr;
79
- }
80
- ```
81
-
82
- ---
83
-
84
- ### 2. React Three Fiber Setup (`@react-three/xr`)
85
-
86
- ```tsx
87
- import { Canvas } from '@react-three/fiber';
88
- import { XR, createXRStore, Hands, Controllers } from '@react-three/xr';
89
-
90
- const store = createXRStore({
91
- foveation: 1,
92
- handTracking: true
93
- });
94
-
95
- export function SpatialApp() {
96
- return (
97
- <>
98
- <button className="xr-btn" onClick={() => store.enterAR()}>
99
- Enter Mixed Reality
100
- </button>
101
- <Canvas>
102
- <XR store={store}>
103
- <ambientLight intensity={0.8} />
104
- <directionalLight position={[5, 10, 5]} />
105
- <Controllers />
106
- <Hands />
107
- {/* Spatial 3D Objects */}
108
- <mesh position={[0, 1.2, -1]}>
109
- <boxGeometry args={[0.3, 0.3, 0.3]} />
110
- <meshStandardMaterial color="royalblue" />
111
- </mesh>
112
- </XR>
113
- </Canvas>
114
- </>
115
- );
116
- }
117
- ```
118
-
119
- ---
120
-
121
- ### Best Practices for Spatial Performance
122
- 1. **Rock-Solid Framerates:** VR requires stable 72, 90, or 120 FPS. Any frame drop causes instant vestibular nausea.
123
- 2. **Fixed Foveated Rendering (FFR):** Reduces fragment shader resolution in the user's peripheral vision, freeing substantial GPU overhead.
124
- 3. **No 2D DOM Overlays in VR:** Standard HTML elements cannot render inside an immersive session. Render spatial 3D UI panels using world-space 3D meshes or canvas textures.
125
-
126
- ---
127
-
128
- <a name="bahasa-indonesia"></a>
129
- ## Bahasa Indonesia
130
-
131
- ### Integrasi Orkestrasi
132
- Terhubung dan mengorkestrasi skill domain yang relevan:
133
- - `web-3d-graphics-expert` — Rendering scene 3D WebGPU/WebGL, pencahayaan, dan optimasi model.
134
- - `web-game-engine-expert` — Fisika spasial, interaksi menggenggam objek, dan pergerakan fixed-timestep.
135
- - `apple-ecosystem-expert` — Fitur WebXR Safari di Apple Vision Pro visionOS dan pedoman spasial.
136
- - `glsl-shader-expert` — Shader hologram dan blending passthrough AR.
137
- - `performance-web-vitals` — Menjaga kestabilan 72/90/120 FPS demi mencegah *motion sickness*.
138
-
139
- ### Deskripsi
140
- Panduan produksi untuk membangun aplikasi spasial imersif **Virtual Reality (VR)**, **Mixed Reality (MR)**, dan **Augmented Reality (AR)** di browser melalui **WebXR Device API**. Mencakup headset modern (**Meta Quest 3/3S**, **Apple Vision Pro**) serta perangkat mobile AR.
141
-
142
- ### Kondisi Pemicu
143
- Aktifkan skill ini ketika pengguna:
144
- - Mengembangkan aplikasi web *Spatial Computing* (VR/AR/MR).
145
- - Menginisialisasi sesi WebXR (`immersive-vr`, `immersive-ar`).
146
- - Mengimplementasikan *Hand Tracking* (pelacakan sendi tangan, gerakan cubit/pinch) atau kontroler spasial.
147
- - Mengaktifkan *Passthrough* warna Mixed Reality.
148
- - Menggunakan AR *Hit-Testing* untuk menempatkan objek 3D di lantai atau meja fisik.
149
- - Mengoptimalkan performa VR dengan *Fixed Foveated Rendering* (FFR).
150
-
151
- ---
152
-
153
- ### Panduan Inti Pengembangan Spasial
154
-
155
- 1. **Stabilitas Frame Rate Mutlak**:
156
- - Targetkan 72–90 FPS tanpa toleransi *stutter*. Pada kacamata VR, keterlambatan frame (*latency hitch*) langsung memicu rasa mual (*motion sickness*).
157
- 2. **Fixed Foveated Rendering (FFR)**:
158
- - Aktifkan fitur foveation pada Meta Quest untuk menurunkan resolusi tepi lensa (periferi mata), menghemat 20-30% daya GPU.
159
- 3. **Antarmuka 3D Spasial (Bukan HTML DOM)**:
160
- - Elemen HTML standar tidak dapat ditampilkan di dalam sesi imersif. Buat UI berupa panel 3D melayang (*world-space meshes*).
161
- 4. **Hit-Testing untuk AR**:
162
- - Manfaatkan *Hit-Test API* bawaan WebXR untuk mendeteksi bidang nyata permukaan meja atau lantai secara instan sebelum meletakkan objek 3D.
1
+ ---
2
+ name: webxr-ar-vr-expert
3
+ description: "Expert guide for WebXR spatial computing, Web-based Virtual Reality (VR), Mixed Reality (MR), and Augmented Reality (AR) using Babylon.js and Three.js. Covers Apple Vision Pro, Meta Quest 3, hand tracking, and hit-testing / Panduan ahli WebXR spatial computing (VR/AR/MR)."
4
+ author: "vibes-plug-swarm"
5
+ version: "3.0.0"
6
+ ---
7
+
8
+ # WebXR Spatial Computing Expert (VR, AR & MR)
9
+
10
+ [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
11
+
12
+ ---
13
+
14
+ <a name="english"></a>
15
+ ## English
16
+
17
+ ### Orchestration & Integration
18
+ Connects and orchestrates with relevant domain skills:
19
+ - `web-3d-graphics-expert` — WebGPU/WebGL 3D scene rendering, lighting, and model optimization.
20
+ - `web-game-engine-expert` — Spatial physics, grabbing interactions, and fixed-timestep motion.
21
+ - `apple-ecosystem-expert` — Apple Vision Pro visionOS Safari WebXR features and spatial guidelines.
22
+ - `glsl-shader-expert` — Passthrough blending and spatial holographic shaders.
23
+ - `performance-web-vitals` — Maintaining rock-solid 72/90/120 FPS to prevent simulator sickness.
24
+
25
+ ### Description
26
+ Production-grade guidance for architecting immersive **Virtual Reality (VR)**, **Mixed Reality (MR)**, and **Augmented Reality (AR)** in the browser via the **WebXR Device API**. Covers modern head-mounted displays (**Meta Quest 3/3S**, **Apple Vision Pro**) and mobile AR, focusing on Babylon.js and Three.js with `@react-three/xr`.
27
+
28
+ ### Trigger Conditions
29
+ Activate this skill when the user is:
30
+ - Developing spatial computing web applications or immersive web experiences.
31
+ - Setting up WebXR sessions (`immersive-vr`, `immersive-ar`).
32
+ - Implementing Hand Tracking (joint poses, pinch gestures) or spatial controller interactions.
33
+ - Adding Mixed Reality passthrough or depth sensing.
34
+ - Implementing AR Hit-Testing to snap 3D models onto real-world planes (floors, walls, tabletops).
35
+ - Optimizing XR framerates (fixed foveated rendering) to eliminate motion sickness.
36
+
37
+ ---
38
+
39
+ ### Key Capabilities & Headset Targets (2026)
40
+
41
+ | Target Platform | Session Mode | Key Features |
42
+ | :--- | :--- | :--- |
43
+ | **Meta Quest 3 / 3S** | `immersive-vr`, `immersive-ar` | Full-color stereo passthrough, high-precision hand tracking, fixed foveation levels 0-3. |
44
+ | **Apple Vision Pro (visionOS)** | `immersive-vr`, `immersive-ar` | Eye-gaze + pinch interaction, 90/120Hz display refresh, strict privacy hand tracking. |
45
+ | **Mobile AR (Android / iOS WebKit)** | `immersive-ar` | Surface hit-testing, ambient light estimation, instant plane detection. |
46
+
47
+ ---
48
+
49
+ ### 1. Babylon.js WebXR Setup (Gold Standard)
50
+
51
+ Babylon.js provides the most comprehensive out-of-the-box WebXR implementation with integrated teleportation, controller profiles, and physics:
52
+
53
+ ```typescript
54
+ import { Scene, WebXRExperienceHelper, WebXRFeatureName } from '@babylonjs/core';
55
+
56
+ export async function initBabylonXR(scene: Scene) {
57
+ const xr = await scene.createDefaultXRExperienceAsync({
58
+ uiOptions: {
59
+ sessionMode: 'immersive-ar', // Fallback to 'immersive-vr' if AR is unsupported
60
+ referenceSpaceType: 'local-floor'
61
+ },
62
+ optionalFeatures: ['hit-test', 'hand-tracking', 'anchors', 'plane-detection']
63
+ });
64
+
65
+ // Enable Fixed Foveated Rendering to reclaim 20-30% GPU performance on Quest
66
+ const foveation = xr.baseExperience.featuresManager.enableFeature(
67
+ WebXRFeatureName.FOVEATION,
68
+ 'latest',
69
+ { foveationLevel: 2 }
70
+ );
71
+
72
+ // Listen for Hand Tracking
73
+ const handTracking = xr.baseExperience.featuresManager.enableFeature(
74
+ WebXRFeatureName.HAND_TRACKING,
75
+ 'latest',
76
+ { xrInput: xr.input }
77
+ );
78
+
79
+ return xr;
80
+ }
81
+ ```
82
+
83
+ ---
84
+
85
+ ### 2. React Three Fiber Setup (`@react-three/xr`)
86
+
87
+ ```tsx
88
+ import { Canvas } from '@react-three/fiber';
89
+ import { XR, createXRStore, Hands, Controllers } from '@react-three/xr';
90
+
91
+ const store = createXRStore({
92
+ foveation: 1,
93
+ handTracking: true
94
+ });
95
+
96
+ export function SpatialApp() {
97
+ return (
98
+ <>
99
+ <button className="xr-btn" onClick={() => store.enterAR()}>
100
+ Enter Mixed Reality
101
+ </button>
102
+ <Canvas>
103
+ <XR store={store}>
104
+ <ambientLight intensity={0.8} />
105
+ <directionalLight position={[5, 10, 5]} />
106
+ <Controllers />
107
+ <Hands />
108
+ {/* Spatial 3D Objects */}
109
+ <mesh position={[0, 1.2, -1]}>
110
+ <boxGeometry args={[0.3, 0.3, 0.3]} />
111
+ <meshStandardMaterial color="royalblue" />
112
+ </mesh>
113
+ </XR>
114
+ </Canvas>
115
+ </>
116
+ );
117
+ }
118
+ ```
119
+
120
+ ---
121
+
122
+ ### Best Practices for Spatial Performance
123
+ 1. **Rock-Solid Framerates:** VR requires stable 72, 90, or 120 FPS. Any frame drop causes instant vestibular nausea.
124
+ 2. **Fixed Foveated Rendering (FFR):** Reduces fragment shader resolution in the user's peripheral vision, freeing substantial GPU overhead.
125
+ 3. **No 2D DOM Overlays in VR:** Standard HTML elements cannot render inside an immersive session. Render spatial 3D UI panels using world-space 3D meshes or canvas textures.
126
+
127
+ ---
128
+
129
+ <a name="bahasa-indonesia"></a>
130
+ ## Bahasa Indonesia
131
+
132
+ ### Integrasi Orkestrasi
133
+ Terhubung dan mengorkestrasi skill domain yang relevan:
134
+ - `web-3d-graphics-expert` — Rendering scene 3D WebGPU/WebGL, pencahayaan, dan optimasi model.
135
+ - `web-game-engine-expert` — Fisika spasial, interaksi menggenggam objek, dan pergerakan fixed-timestep.
136
+ - `apple-ecosystem-expert` — Fitur WebXR Safari di Apple Vision Pro visionOS dan pedoman spasial.
137
+ - `glsl-shader-expert` — Shader hologram dan blending passthrough AR.
138
+ - `performance-web-vitals` — Menjaga kestabilan 72/90/120 FPS demi mencegah *motion sickness*.
139
+
140
+ ### Deskripsi
141
+ Panduan produksi untuk membangun aplikasi spasial imersif **Virtual Reality (VR)**, **Mixed Reality (MR)**, dan **Augmented Reality (AR)** di browser melalui **WebXR Device API**. Mencakup headset modern (**Meta Quest 3/3S**, **Apple Vision Pro**) serta perangkat mobile AR.
142
+
143
+ ### Kondisi Pemicu
144
+ Aktifkan skill ini ketika pengguna:
145
+ - Mengembangkan aplikasi web *Spatial Computing* (VR/AR/MR).
146
+ - Menginisialisasi sesi WebXR (`immersive-vr`, `immersive-ar`).
147
+ - Mengimplementasikan *Hand Tracking* (pelacakan sendi tangan, gerakan cubit/pinch) atau kontroler spasial.
148
+ - Mengaktifkan *Passthrough* warna Mixed Reality.
149
+ - Menggunakan AR *Hit-Testing* untuk menempatkan objek 3D di lantai atau meja fisik.
150
+ - Mengoptimalkan performa VR dengan *Fixed Foveated Rendering* (FFR).
151
+
152
+ ---
153
+
154
+ ### Panduan Inti Pengembangan Spasial
155
+
156
+ 1. **Stabilitas Frame Rate Mutlak**:
157
+ - Targetkan 72–90 FPS tanpa toleransi *stutter*. Pada kacamata VR, keterlambatan frame (*latency hitch*) langsung memicu rasa mual (*motion sickness*).
158
+ 2. **Fixed Foveated Rendering (FFR)**:
159
+ - Aktifkan fitur foveation pada Meta Quest untuk menurunkan resolusi tepi lensa (periferi mata), menghemat 20-30% daya GPU.
160
+ 3. **Antarmuka 3D Spasial (Bukan HTML DOM)**:
161
+ - Elemen HTML standar tidak dapat ditampilkan di dalam sesi imersif. Buat UI berupa panel 3D melayang (*world-space meshes*).
162
+ 4. **Hit-Testing untuk AR**:
163
+ - Manfaatkan *Hit-Test API* bawaan WebXR untuk mendeteksi bidang nyata permukaan meja atau lantai secara instan sebelum meletakkan objek 3D.
@@ -1,144 +1,145 @@
1
- ---
2
- name: wordpress-headless-expert
3
- description: "Expert guide for headless WordPress architecture — WPGraphQL, ACF Pro, Faust.js, Next.js/Astro frontend, webhooks, and caching / Panduan ahli arsitektur WordPress headless."
4
- author: "Roedy Rustam"
5
- ---
6
-
7
- # WordPress Headless Expert (2026 Edition)
8
-
9
- [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
10
-
11
- ---
12
-
13
- <a name="english"></a>
14
- ## English
15
-
16
- ### Orchestration & Integration
17
- - **`headless-cms-expert`**: Comparing and migrating between CMS backends.
18
- - **`nextjs-app-router-expert`**: Next.js App Router integration with WPGraphQL.
19
- - **`astro-framework-expert`**: Static site generation and content pipelines from WordPress.
20
- - **`seo`**: Syncing Yoast SEO / Rank Math metadata to modern frontend head tags.
21
- - **`performance-web-vitals`**: Caching and Edge SSR optimization for decoupled WordPress.
22
-
23
- ### Description
24
- Production guide for architecting, deploying, and maintaining headless WordPress systems. Covers decoupled WordPress backends with WPGraphQL and Advanced Custom Fields (ACF Pro), frontend rendering with Next.js 15 or Astro 5, Faust.js framework integration, webhook-triggered on-demand revalidation, authentication (JWT / Application Passwords), and WooCommerce headless setups.
25
-
26
- ### Trigger Conditions
27
- - Decoupling an existing WordPress site into a headless architecture with Next.js/Astro.
28
- - Querying WordPress content using WPGraphQL and ACF Pro field groups.
29
- - Synchronizing SEO metadata (Yoast / RankMath) with modern frontend metadata APIs.
30
- - Setting up on-demand ISR revalidation hooks from WordPress publish events.
31
-
32
- ---
33
-
34
- ### Core Architecture & Patterns
35
-
36
- #### 1. WPGraphQL Query Integration (Next.js 15 Server Component)
37
- ```typescript
38
- const WP_GRAPHQL_ENDPOINT = process.env.WORDPRESS_API_URL || 'https://cms.example.com/graphql';
39
-
40
- interface PostPreview {
41
- id: string;
42
- title: string;
43
- slug: string;
44
- date: string;
45
- excerpt: string;
46
- featuredImage?: {
47
- node: {
48
- sourceUrl: string;
49
- altText: string;
50
- };
51
- };
52
- }
53
-
54
- export async function fetchWordPressPosts(): Promise<PostPreview[]> {
55
- const query = `
56
- query GetLatestPosts {
57
- posts(first: 10, where: { orderby: { field: DATE, order: DESC } }) {
58
- nodes {
59
- id
60
- title
61
- slug
62
- date
63
- excerpt
64
- featuredImage {
65
- node {
66
- sourceUrl
67
- altText
68
- }
69
- }
70
- }
71
- }
72
- }
73
- `;
74
-
75
- const res = await fetch(WP_GRAPHQL_ENDPOINT, {
76
- method: 'POST',
77
- headers: { 'Content-Type': 'application/json' },
78
- body: JSON.stringify({ query }),
79
- next: { tags: ['wordpress:posts'], revalidate: 3600 },
80
- });
81
-
82
- const { data } = await res.json();
83
- return data?.posts?.nodes ?? [];
84
- }
85
- ```
86
-
87
- #### 2. Yoast / RankMath SEO Metadata Extraction
88
- ```typescript
89
- export async function generateMetadata({ params }: { params: { slug: string } }) {
90
- const query = `
91
- query GetPostSEO($slug: ID!) {
92
- post(id: $slug, idType: SLUG) {
93
- title
94
- seo {
95
- title
96
- metaDesc
97
- opengraphTitle
98
- opengraphDescription
99
- opengraphImage {
100
- sourceUrl
101
- }
102
- }
103
- }
104
- }
105
- `;
106
-
107
- const res = await fetch(WP_GRAPHQL_ENDPOINT, {
108
- method: 'POST',
109
- headers: { 'Content-Type': 'application/json' },
110
- body: JSON.stringify({ query, variables: { slug: params.slug } }),
111
- });
112
-
113
- const { data } = await res.json();
114
- const seo = data?.post?.seo;
115
-
116
- return {
117
- title: seo?.title || data?.post?.title,
118
- description: seo?.metaDesc,
119
- openGraph: {
120
- title: seo?.opengraphTitle,
121
- description: seo?.opengraphDescription,
122
- images: seo?.opengraphImage ? [{ url: seo.opengraphImage.sourceUrl }] : [],
123
- },
124
- };
125
- }
126
- ```
127
-
128
- ---
129
-
130
- <a name="bahasa-indonesia"></a>
131
- ## Bahasa Indonesia
132
-
133
- ### Integrasi Orkestrasi
134
- - **`headless-cms-expert`**: Pemilihan dan perbandingan CMS backend.
135
- - **`nextjs-app-router-expert`**: Integrasi Next.js App Router dengan query WPGraphQL.
136
- - **`seo`**: Sinkronisasi data meta Yoast/RankMath ke tag metadata frontend modern.
137
-
138
- ### Deskripsi
139
- Panduan produksi untuk membangun dan memelihara arsitektur WordPress headless. Menggunakan WPGraphQL, ACF Pro, Faust.js, Next.js 15, atau Astro 5, revalidasi ISR instan via webhook, autentikasi aman, dan integrasi WooCommerce decoupled.
140
-
141
- ### Kondisi Pemicu
142
- - Memisahkan frontend WordPress ke arsitektur decoupled (Next.js/Astro).
143
- - Mengambil konten WordPress via WPGraphQL dan grup field ACF Pro.
144
- - Mengonfigurasi revalidasi instan saat konten diterbitkan di WordPress.
1
+ ---
2
+ name: wordpress-headless-expert
3
+ description: "Expert guide for headless WordPress architecture — WPGraphQL, ACF Pro, Faust.js, Next.js/Astro frontend, webhooks, and caching / Panduan ahli arsitektur WordPress headless."
4
+ author: "Roedy Rustam"
5
+ version: "3.0.0"
6
+ ---
7
+
8
+ # WordPress Headless Expert (2026 Edition)
9
+
10
+ [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
11
+
12
+ ---
13
+
14
+ <a name="english"></a>
15
+ ## English
16
+
17
+ ### Orchestration & Integration
18
+ - **`headless-cms-expert`**: Comparing and migrating between CMS backends.
19
+ - **`nextjs-app-router-expert`**: Next.js App Router integration with WPGraphQL.
20
+ - **`astro-framework-expert`**: Static site generation and content pipelines from WordPress.
21
+ - **`seo`**: Syncing Yoast SEO / Rank Math metadata to modern frontend head tags.
22
+ - **`performance-web-vitals`**: Caching and Edge SSR optimization for decoupled WordPress.
23
+
24
+ ### Description
25
+ Production guide for architecting, deploying, and maintaining headless WordPress systems. Covers decoupled WordPress backends with WPGraphQL and Advanced Custom Fields (ACF Pro), frontend rendering with Next.js 15 or Astro 5, Faust.js framework integration, webhook-triggered on-demand revalidation, authentication (JWT / Application Passwords), and WooCommerce headless setups.
26
+
27
+ ### Trigger Conditions
28
+ - Decoupling an existing WordPress site into a headless architecture with Next.js/Astro.
29
+ - Querying WordPress content using WPGraphQL and ACF Pro field groups.
30
+ - Synchronizing SEO metadata (Yoast / RankMath) with modern frontend metadata APIs.
31
+ - Setting up on-demand ISR revalidation hooks from WordPress publish events.
32
+
33
+ ---
34
+
35
+ ### Core Architecture & Patterns
36
+
37
+ #### 1. WPGraphQL Query Integration (Next.js 15 Server Component)
38
+ ```typescript
39
+ const WP_GRAPHQL_ENDPOINT = process.env.WORDPRESS_API_URL || 'https://cms.example.com/graphql';
40
+
41
+ interface PostPreview {
42
+ id: string;
43
+ title: string;
44
+ slug: string;
45
+ date: string;
46
+ excerpt: string;
47
+ featuredImage?: {
48
+ node: {
49
+ sourceUrl: string;
50
+ altText: string;
51
+ };
52
+ };
53
+ }
54
+
55
+ export async function fetchWordPressPosts(): Promise<PostPreview[]> {
56
+ const query = `
57
+ query GetLatestPosts {
58
+ posts(first: 10, where: { orderby: { field: DATE, order: DESC } }) {
59
+ nodes {
60
+ id
61
+ title
62
+ slug
63
+ date
64
+ excerpt
65
+ featuredImage {
66
+ node {
67
+ sourceUrl
68
+ altText
69
+ }
70
+ }
71
+ }
72
+ }
73
+ }
74
+ `;
75
+
76
+ const res = await fetch(WP_GRAPHQL_ENDPOINT, {
77
+ method: 'POST',
78
+ headers: { 'Content-Type': 'application/json' },
79
+ body: JSON.stringify({ query }),
80
+ next: { tags: ['wordpress:posts'], revalidate: 3600 },
81
+ });
82
+
83
+ const { data } = await res.json();
84
+ return data?.posts?.nodes ?? [];
85
+ }
86
+ ```
87
+
88
+ #### 2. Yoast / RankMath SEO Metadata Extraction
89
+ ```typescript
90
+ export async function generateMetadata({ params }: { params: { slug: string } }) {
91
+ const query = `
92
+ query GetPostSEO($slug: ID!) {
93
+ post(id: $slug, idType: SLUG) {
94
+ title
95
+ seo {
96
+ title
97
+ metaDesc
98
+ opengraphTitle
99
+ opengraphDescription
100
+ opengraphImage {
101
+ sourceUrl
102
+ }
103
+ }
104
+ }
105
+ }
106
+ `;
107
+
108
+ const res = await fetch(WP_GRAPHQL_ENDPOINT, {
109
+ method: 'POST',
110
+ headers: { 'Content-Type': 'application/json' },
111
+ body: JSON.stringify({ query, variables: { slug: params.slug } }),
112
+ });
113
+
114
+ const { data } = await res.json();
115
+ const seo = data?.post?.seo;
116
+
117
+ return {
118
+ title: seo?.title || data?.post?.title,
119
+ description: seo?.metaDesc,
120
+ openGraph: {
121
+ title: seo?.opengraphTitle,
122
+ description: seo?.opengraphDescription,
123
+ images: seo?.opengraphImage ? [{ url: seo.opengraphImage.sourceUrl }] : [],
124
+ },
125
+ };
126
+ }
127
+ ```
128
+
129
+ ---
130
+
131
+ <a name="bahasa-indonesia"></a>
132
+ ## Bahasa Indonesia
133
+
134
+ ### Integrasi Orkestrasi
135
+ - **`headless-cms-expert`**: Pemilihan dan perbandingan CMS backend.
136
+ - **`nextjs-app-router-expert`**: Integrasi Next.js App Router dengan query WPGraphQL.
137
+ - **`seo`**: Sinkronisasi data meta Yoast/RankMath ke tag metadata frontend modern.
138
+
139
+ ### Deskripsi
140
+ Panduan produksi untuk membangun dan memelihara arsitektur WordPress headless. Menggunakan WPGraphQL, ACF Pro, Faust.js, Next.js 15, atau Astro 5, revalidasi ISR instan via webhook, autentikasi aman, dan integrasi WooCommerce decoupled.
141
+
142
+ ### Kondisi Pemicu
143
+ - Memisahkan frontend WordPress ke arsitektur decoupled (Next.js/Astro).
144
+ - Mengambil konten WordPress via WPGraphQL dan grup field ACF Pro.
145
+ - Mengonfigurasi revalidasi instan saat konten diterbitkan di WordPress.