vibes-plug 2.11.0 → 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 (181) hide show
  1. package/.claude/rules/vibes-plug-core.md +5 -0
  2. package/.cursor/rules/vibes-plug-core.mdc +8 -3
  3. package/.cursorrules +9 -3
  4. package/AGENTS.md +25 -4
  5. package/CHANGELOG.md +151 -0
  6. package/CLAUDE.md +15 -8
  7. package/README.md +216 -641
  8. package/bin/vibes.mjs +1104 -0
  9. package/index.js +1 -1
  10. package/package.json +11 -3
  11. package/plugin.json +4 -3
  12. package/scripts/check-anti-slop.js +53 -0
  13. package/scripts/check-anti-slop.mjs +53 -0
  14. package/scripts/generate_swarm_gif.py +2 -2
  15. package/scripts/install.js +3 -1
  16. package/scripts/update_skills.js +1 -1
  17. package/scripts/update_skills.mjs +86 -0
  18. package/scripts/validate-skills.mjs +111 -0
  19. package/skills/accessibility-testing-expert/SKILL.md +117 -116
  20. package/skills/affective-computing-emotion-ai/SKILL.md +83 -0
  21. package/skills/agentic-coding-workflow-expert/SKILL.md +297 -0
  22. package/skills/agentic-memory-architect/SKILL.md +52 -0
  23. package/skills/agentic-micro-economy-architect/SKILL.md +92 -0
  24. package/skills/ai-llm-integration-expert/SKILL.md +330 -187
  25. package/skills/ai-media-generation-expert/SKILL.md +173 -172
  26. package/skills/ai-prompt-engineering-expert/SKILL.md +170 -50
  27. package/skills/ai-safety-governance-expert/SKILL.md +223 -0
  28. package/skills/angular-expert/SKILL.md +149 -148
  29. package/skills/anti-slop/SKILL.md +134 -0
  30. package/skills/api-design-expert/SKILL.md +4 -3
  31. package/skills/api-gateway-proxy-expert/SKILL.md +3 -2
  32. package/skills/app-analyzer-optimizer/SKILL.md +4 -3
  33. package/skills/apple-ecosystem-expert/SKILL.md +6 -5
  34. package/skills/astro-framework-expert/SKILL.md +201 -200
  35. package/skills/async-queue-temporal-expert/SKILL.md +218 -240
  36. package/skills/authentication-identity-expert/SKILL.md +79 -184
  37. package/skills/autonomous-red-teamer/SKILL.md +338 -203
  38. package/skills/autonomous-tdd-debugger/SKILL.md +6 -5
  39. package/skills/biome-linter-formatter-expert/SKILL.md +90 -89
  40. package/skills/blockchain-web3-expert/SKILL.md +116 -115
  41. package/skills/brainstorming/SKILL.md +392 -377
  42. package/skills/browser-automation-expert/SKILL.md +260 -222
  43. package/skills/bun-runtime-expert/SKILL.md +5 -4
  44. package/skills/chatbot-messaging-expert/SKILL.md +115 -114
  45. package/skills/ci-cd-devops-architect/SKILL.md +3 -2
  46. package/skills/cloud-hosting-expert/SKILL.md +5 -4
  47. package/skills/coderabbit/SKILL.md +5 -4
  48. package/skills/compliance-gdpr-privacy-expert/SKILL.md +3 -2
  49. package/skills/composable-mach-architect/SKILL.md +338 -0
  50. package/skills/cron-scheduler-expert/SKILL.md +5 -4
  51. package/skills/data-pipeline-etl-expert/SKILL.md +3 -2
  52. package/skills/data-telemetry-expert/SKILL.md +5 -4
  53. package/skills/data-visualization-expert/SKILL.md +155 -154
  54. package/skills/database-orm-expert/SKILL.md +102 -240
  55. package/skills/deep-research-analyst/SKILL.md +182 -0
  56. package/skills/dependency-upgrade-migrator/SKILL.md +11 -10
  57. package/skills/design-system-architect/SKILL.md +34 -3
  58. package/skills/desktop-electron-expert/SKILL.md +129 -128
  59. package/skills/documentation-site-expert/SKILL.md +60 -59
  60. package/skills/doku-mcp-server/SKILL.md +5 -4
  61. package/skills/doku-payment-gateway/SKILL.md +250 -232
  62. package/skills/domain-driven-design-expert/SKILL.md +3 -2
  63. package/skills/e2e-testing-expert/SKILL.md +5 -4
  64. package/skills/ecommerce-expert/SKILL.md +88 -87
  65. package/skills/email-notification-expert/SKILL.md +35 -7
  66. package/skills/ephemeral-generative-ui-architect/SKILL.md +88 -0
  67. package/skills/error-resilience-expert/SKILL.md +26 -4
  68. package/skills/event-driven-architect/SKILL.md +5 -4
  69. package/skills/feature-flag-analytics-expert/SKILL.md +3 -2
  70. package/skills/file-upload-media-expert/SKILL.md +5 -4
  71. package/skills/firebase-security-expert/SKILL.md +5 -4
  72. package/skills/form-validation-expert/SKILL.md +7 -6
  73. package/skills/frontier-ai-models-expert/SKILL.md +116 -0
  74. package/skills/fullstack-expert/SKILL.md +68 -144
  75. package/skills/gemini-agent-booster/SKILL.md +248 -172
  76. package/skills/geospatial-maps-expert/SKILL.md +81 -80
  77. package/skills/global-a11y-i18n-expert/SKILL.md +5 -4
  78. package/skills/glsl-shader-expert/SKILL.md +155 -71
  79. package/skills/go-programming-expert/SKILL.md +5 -4
  80. package/skills/graph-rag-knowledge-expert/SKILL.md +201 -159
  81. package/skills/graphql-apollo-expert/SKILL.md +5 -4
  82. package/skills/headless-cms-expert/SKILL.md +182 -181
  83. package/skills/hig/SKILL.md +5 -4
  84. package/skills/js-backend-expert/SKILL.md +219 -218
  85. package/skills/legacy-code-translator/SKILL.md +6 -5
  86. package/skills/llm-finops-router/SKILL.md +52 -0
  87. package/skills/local-slm-edge-ai-expert/SKILL.md +168 -167
  88. package/skills/logging-error-tracking-expert/SKILL.md +5 -4
  89. package/skills/mcp-server-architect/SKILL.md +316 -294
  90. package/skills/micro-frontend-architect/SKILL.md +5 -4
  91. package/skills/mobile-expo-expert/SKILL.md +5 -4
  92. package/skills/modern-css-native-expert/SKILL.md +190 -189
  93. package/skills/monorepo-architect/SKILL.md +5 -4
  94. package/skills/mpa-orchestrator/SKILL.md +41 -4
  95. package/skills/multi-agent-orchestration/SKILL.md +388 -254
  96. package/skills/mvc-expert/SKILL.md +5 -4
  97. package/skills/n8n-automation-expert/SKILL.md +90 -89
  98. package/skills/nextjs-app-router-expert/SKILL.md +3 -2
  99. package/skills/openapi-swagger-codegen-expert/SKILL.md +4 -3
  100. package/skills/payment-gateway-expert/SKILL.md +131 -128
  101. package/skills/pdf-document-generation-expert/SKILL.md +92 -91
  102. package/skills/performance-web-vitals/SKILL.md +5 -4
  103. package/skills/post-quantum-crypto-migrator/SKILL.md +3 -2
  104. package/skills/prd-architect/SKILL.md +85 -109
  105. package/skills/proactive-background-watcher/SKILL.md +5 -4
  106. package/skills/production-ready-hardener/SKILL.md +25 -27
  107. package/skills/pwa-offline-first-expert/SKILL.md +227 -185
  108. package/skills/pydantic-ai-expert/SKILL.md +162 -0
  109. package/skills/python-programming-expert/SKILL.md +5 -4
  110. package/skills/rate-limit-abuse-prevention/SKILL.md +5 -4
  111. package/skills/realtime-collaboration-expert/SKILL.md +3 -2
  112. package/skills/rich-text-editor-expert/SKILL.md +178 -177
  113. package/skills/rust-programming-expert/SKILL.md +5 -4
  114. package/skills/saas-architect/SKILL.md +155 -0
  115. package/skills/saas-billing/SKILL.md +394 -382
  116. package/skills/saas-multi-tenant/SKILL.md +7 -6
  117. package/skills/scalability-clean-code/SKILL.md +5 -4
  118. package/skills/search-engine-expert/SKILL.md +90 -89
  119. package/skills/self-healing-cloud-orchestrator/SKILL.md +3 -2
  120. package/skills/senior-frontend/SKILL.md +21 -18
  121. package/skills/senior-frontend/scripts/frontend_scaffolder.py +1 -1
  122. package/skills/seo/SKILL.md +4 -4
  123. package/skills/session-memory-manager/SKILL.md +129 -0
  124. package/skills/solidjs-expert/SKILL.md +81 -80
  125. package/skills/spa-orchestrator/SKILL.md +5 -4
  126. package/skills/sse-websocket-streaming-expert/SKILL.md +3 -2
  127. package/skills/state-management-expert/SKILL.md +5 -4
  128. package/skills/supabase-security-expert/SKILL.md +5 -4
  129. package/skills/svelte-sveltekit-expert/SKILL.md +92 -91
  130. package/skills/svg-animation-motion-expert/SKILL.md +3 -2
  131. package/skills/synthetic-data-finetuning-expert/SKILL.md +156 -0
  132. package/skills/tailwind-expert/SKILL.md +62 -5
  133. package/skills/tanstack-query-expert/SKILL.md +5 -4
  134. package/skills/tauri-expert/SKILL.md +5 -4
  135. package/skills/typescript-expert/SKILL.md +5 -4
  136. package/skills/ui-ux-pro-max/SKILL.md +7 -4
  137. package/skills/vector-db-rag-expert/SKILL.md +209 -208
  138. package/skills/vercel-ai-sdk-expert/SKILL.md +226 -0
  139. package/skills/voice-ai-realtime-agent/SKILL.md +243 -202
  140. package/skills/vue-frontend-expert/SKILL.md +5 -4
  141. package/skills/wasm-edge-computing-expert/SKILL.md +3 -2
  142. package/skills/web-3d-graphics-expert/SKILL.md +259 -82
  143. package/skills/web-game-engine-expert/SKILL.md +278 -50
  144. package/skills/web-scraper/SKILL.md +158 -157
  145. package/skills/website-design-cloner/SKILL.md +5 -4
  146. package/skills/webxr-ar-vr-expert/SKILL.md +105 -65
  147. package/skills/wordpress-headless-expert/SKILL.md +145 -144
  148. package/skills/zero-tech-debt-auditor/SKILL.md +115 -0
  149. package/skills/zero-to-prod-orchestrator/SKILL.md +281 -227
  150. package/skills/zero-trust-secret-vault/SKILL.md +3 -2
  151. package/BLUEPRINT.md +0 -309
  152. package/skills/ai-cost-token-optimizer/SKILL.md +0 -82
  153. package/skills/ai-evals-benchmark-expert/SKILL.md +0 -188
  154. package/skills/asisten-ramah/SKILL.md +0 -47
  155. package/skills/auto-doc-updater/SKILL.md +0 -220
  156. package/skills/autonomous-chaos-monkey/SKILL.md +0 -63
  157. package/skills/background-jobs-queue-expert/SKILL.md +0 -235
  158. package/skills/bootstrap-to-modern/SKILL.md +0 -94
  159. package/skills/database-migration-versioning-expert/SKILL.md +0 -90
  160. package/skills/edge-serverless-db-expert/SKILL.md +0 -99
  161. package/skills/mcp-client-orchestrator/SKILL.md +0 -76
  162. package/skills/mobile-push-notification-expert/SKILL.md +0 -71
  163. package/skills/monday-design-aesthetic/SKILL.md +0 -73
  164. package/skills/multiple-entry-points/SKILL.md +0 -91
  165. package/skills/project-context-mapper/SKILL.md +0 -85
  166. package/skills/saas-mvp-launcher/SKILL.md +0 -260
  167. package/skills/saas-transformer/SKILL.md +0 -500
  168. package/skills/saas-transformer/references/billing_integration_guide.md +0 -401
  169. package/skills/secure-fuzz-testing/SKILL.md +0 -207
  170. package/skills/self-evolving-memory-graph/SKILL.md +0 -91
  171. package/skills/session-context-loader/SKILL.md +0 -83
  172. package/skills/session-handoff-resume/SKILL.md +0 -164
  173. package/skills/skill-baru/SKILL.md +0 -178
  174. package/skills/supabase-migration/SKILL.md +0 -91
  175. package/skills/token-saver/SKILL.md +0 -119
  176. package/skills/ui-components-expert/SKILL.md +0 -166
  177. package/skills/vibe-code-gardener/SKILL.md +0 -181
  178. package/skills/visual-qa-vision-agent/SKILL.md +0 -71
  179. /package/skills/{saas-transformer → saas-architect}/references/feature_gating_patterns.md +0 -0
  180. /package/skills/{saas-transformer → saas-architect}/references/saas_transformation_checklist.md +0 -0
  181. /package/skills/{saas-transformer → saas-architect}/scripts/saas_transformation_scanner.py +0 -0
@@ -1,154 +1,155 @@
1
- ---
2
- name: data-visualization-expert
3
- description: "Expert guide for data visualization, charts, and dashboards using D3.js, Recharts, Chart.js, Nivo, and Tremor / Panduan ahli visualisasi data, chart, dan dashboard menggunakan D3.js, Recharts, Chart.js, Nivo, dan Tremor."
4
- author: "Roedy Rustam"
5
- ---
6
-
7
- # Data Visualization 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
- - **`senior-frontend`**: React component architecture for chart components.
18
- - **`data-telemetry-expert`**: Analytics data pipelines feeding visualizations.
19
- - **`state-management-expert`**: Managing chart state, filters, and drill-down navigation.
20
- - **`performance-web-vitals`**: Optimizing chart rendering performance with large datasets.
21
- - **`sse-websocket-streaming-expert`**: Real-time data feeds for live dashboards.
22
-
23
- ### Description
24
- Expert guide for building production-quality data visualizations and analytics dashboards. Covers D3.js v7 (low-level SVG/Canvas), Recharts (React-native charts), Chart.js 4 (lightweight canvas), Nivo (D3-powered React components), Tremor (dashboard components), and Apache ECharts. Includes responsive charts, real-time updates, accessibility, large dataset optimization, and dashboard layout patterns.
25
-
26
- ### Trigger Conditions
27
- - Building analytics dashboards or admin panels with charts.
28
- - Creating data visualizations (line, bar, pie, scatter, heatmap, treemap).
29
- - Implementing real-time updating charts or live data feeds.
30
- - Choosing a charting library for React, Vue, or vanilla JS.
31
- - Optimizing chart performance with large datasets (10K+ data points).
32
-
33
- ---
34
-
35
- ### Library Selection Guide
36
-
37
- | Library | Framework | Rendering | Customization | Learning Curve | Best For |
38
- |---------|-----------|-----------|---------------|----------------|----------|
39
- | D3.js v7 | Agnostic | SVG/Canvas | ★★★★★ | High | Custom visualizations |
40
- | Recharts | React | SVG | ★★★★ | Low | Standard React charts |
41
- | Nivo | React | SVG/Canvas | ★★★★★ | Medium | Beautiful, animated charts |
42
- | Tremor | React | SVG (Recharts) | ★★★ | Very Low | Dashboards, KPI cards |
43
- | Chart.js 4 | Agnostic | Canvas | ★★★ | Low | Lightweight, simple charts |
44
- | ECharts | Agnostic | Canvas/SVG | ★★★★★ | Medium | Complex, interactive, large data |
45
-
46
- **Recommendation:** Use **Tremor** for rapid dashboard prototyping. Use **Recharts** for standard React charts. Use **D3.js** only for highly custom visualizations.
47
-
48
- ### Core Patterns
49
-
50
- #### 1. Recharts (React Standard)
51
-
52
- ```tsx
53
- import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer } from 'recharts';
54
-
55
- function RevenueChart({ data }: { data: { date: string; revenue: number }[] }) {
56
- return (
57
- <ResponsiveContainer width="100%" height={400}>
58
- <LineChart data={data}>
59
- <CartesianGrid strokeDasharray="3 3" stroke="#374151" />
60
- <XAxis dataKey="date" stroke="#9CA3AF" />
61
- <YAxis stroke="#9CA3AF" tickFormatter={(v) => `$${(v / 1000).toFixed(0)}K`} />
62
- <Tooltip
63
- contentStyle={{ backgroundColor: '#1F2937', border: 'none', borderRadius: 8 }}
64
- formatter={(value: number) => [`$${value.toLocaleString()}`, 'Revenue']}
65
- />
66
- <Line type="monotone" dataKey="revenue" stroke="#8B5CF6" strokeWidth={2} dot={false} />
67
- </LineChart>
68
- </ResponsiveContainer>
69
- );
70
- }
71
- ```
72
-
73
- #### 2. Tremor Dashboard Components
74
-
75
- ```tsx
76
- import { Card, Metric, Text, AreaChart, BarList, Grid } from '@tremor/react';
77
-
78
- function AnalyticsDashboard({ metrics, chartData, topPages }) {
79
- return (
80
- <Grid numItemsMd={2} numItemsLg={3} className="gap-6">
81
- <Card>
82
- <Text>Total Revenue</Text>
83
- <Metric>$845,230</Metric>
84
- </Card>
85
- <Card>
86
- <Text>Revenue Over Time</Text>
87
- <AreaChart
88
- data={chartData}
89
- index="month"
90
- categories={['Revenue', 'Expenses']}
91
- colors={['violet', 'rose']}
92
- valueFormatter={(v) => `$${(v / 1000).toFixed(0)}K`}
93
- />
94
- </Card>
95
- <Card>
96
- <Text>Top Pages</Text>
97
- <BarList data={topPages} className="mt-4" />
98
- </Card>
99
- </Grid>
100
- );
101
- }
102
- ```
103
-
104
- #### 3. Real-Time Chart Updates
105
-
106
- ```tsx
107
- import { useEffect, useState } from 'react';
108
-
109
- function LiveMetricsChart() {
110
- const [data, setData] = useState<{ time: string; value: number }[]>([]);
111
-
112
- useEffect(() => {
113
- const es = new EventSource('/api/metrics/stream');
114
- es.onmessage = (event) => {
115
- const point = JSON.parse(event.data);
116
- setData((prev) => [...prev.slice(-60), point]); // Keep last 60 points
117
- };
118
- return () => es.close();
119
- }, []);
120
-
121
- return <LineChart data={data} /* ... */ />;
122
- }
123
- ```
124
-
125
- #### 4. Large Dataset Optimization
126
- - Use **Canvas** rendering (ECharts, Chart.js) for >5K data points.
127
- - Implement **data aggregation** on the server (downsample to 500-1000 points for display).
128
- - Use **windowed rendering** — only render visible data points.
129
- - Apply **debounced zoom/pan** to prevent excessive re-renders.
130
-
131
- ### Dashboard Layout Patterns
132
- - **KPI Row → Charts → Tables**: Top metrics cards, then charts, then detail tables.
133
- - **Filter Sidebar**: Global date range, category, and dimension filters.
134
- - **Drill-down**: Click chart segment → navigate to detail view.
135
- - **Export**: CSV/PNG/PDF export for all charts.
136
-
137
- ---
138
-
139
- <a name="bahasa-indonesia"></a>
140
- ## Bahasa Indonesia
141
-
142
- ### Integrasi Orkestrasi
143
- - **`senior-frontend`**: Arsitektur komponen React untuk komponen chart.
144
- - **`data-telemetry-expert`**: Pipeline data analitik yang mengisi visualisasi.
145
- - **`state-management-expert`**: Mengelola state chart, filter, dan navigasi drill-down.
146
-
147
- ### Deskripsi
148
- Panduan ahli untuk membangun visualisasi data dan dashboard analitik berkualitas produksi. Mencakup D3.js v7, Recharts, Chart.js 4, Nivo, Tremor, dan Apache ECharts. Termasuk chart responsif, update real-time, aksesibilitas, optimasi dataset besar, dan pola layout dashboard.
149
-
150
- ### Kondisi Pemicu
151
- - Membangun dashboard analitik atau panel admin dengan chart.
152
- - Membuat visualisasi data (line, bar, pie, scatter, heatmap, treemap).
153
- - Mengimplementasikan chart yang update real-time atau feed data langsung.
154
- - Memilih library charting untuk React, Vue, atau vanilla JS.
1
+ ---
2
+ name: data-visualization-expert
3
+ description: "Expert guide for data visualization, charts, and dashboards using D3.js, Recharts, Chart.js, Nivo, and Tremor / Panduan ahli visualisasi data, chart, dan dashboard menggunakan D3.js, Recharts, Chart.js, Nivo, dan Tremor."
4
+ author: "Roedy Rustam"
5
+ version: "3.0.0"
6
+ ---
7
+
8
+ # Data Visualization 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
+ - **`senior-frontend`**: React component architecture for chart components.
19
+ - **`data-telemetry-expert`**: Analytics data pipelines feeding visualizations.
20
+ - **`state-management-expert`**: Managing chart state, filters, and drill-down navigation.
21
+ - **`performance-web-vitals`**: Optimizing chart rendering performance with large datasets.
22
+ - **`sse-websocket-streaming-expert`**: Real-time data feeds for live dashboards.
23
+
24
+ ### Description
25
+ Expert guide for building production-quality data visualizations and analytics dashboards. Covers D3.js v7 (low-level SVG/Canvas), Recharts (React-native charts), Chart.js 4 (lightweight canvas), Nivo (D3-powered React components), Tremor (dashboard components), and Apache ECharts. Includes responsive charts, real-time updates, accessibility, large dataset optimization, and dashboard layout patterns.
26
+
27
+ ### Trigger Conditions
28
+ - Building analytics dashboards or admin panels with charts.
29
+ - Creating data visualizations (line, bar, pie, scatter, heatmap, treemap).
30
+ - Implementing real-time updating charts or live data feeds.
31
+ - Choosing a charting library for React, Vue, or vanilla JS.
32
+ - Optimizing chart performance with large datasets (10K+ data points).
33
+
34
+ ---
35
+
36
+ ### Library Selection Guide
37
+
38
+ | Library | Framework | Rendering | Customization | Learning Curve | Best For |
39
+ |---------|-----------|-----------|---------------|----------------|----------|
40
+ | D3.js v7 | Agnostic | SVG/Canvas | ★★★★★ | High | Custom visualizations |
41
+ | Recharts | React | SVG | ★★★★ | Low | Standard React charts |
42
+ | Nivo | React | SVG/Canvas | ★★★★★ | Medium | Beautiful, animated charts |
43
+ | Tremor | React | SVG (Recharts) | ★★★ | Very Low | Dashboards, KPI cards |
44
+ | Chart.js 4 | Agnostic | Canvas | ★★★ | Low | Lightweight, simple charts |
45
+ | ECharts | Agnostic | Canvas/SVG | ★★★★★ | Medium | Complex, interactive, large data |
46
+
47
+ **Recommendation:** Use **Tremor** for rapid dashboard prototyping. Use **Recharts** for standard React charts. Use **D3.js** only for highly custom visualizations.
48
+
49
+ ### Core Patterns
50
+
51
+ #### 1. Recharts (React Standard)
52
+
53
+ ```tsx
54
+ import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer } from 'recharts';
55
+
56
+ function RevenueChart({ data }: { data: { date: string; revenue: number }[] }) {
57
+ return (
58
+ <ResponsiveContainer width="100%" height={400}>
59
+ <LineChart data={data}>
60
+ <CartesianGrid strokeDasharray="3 3" stroke="#374151" />
61
+ <XAxis dataKey="date" stroke="#9CA3AF" />
62
+ <YAxis stroke="#9CA3AF" tickFormatter={(v) => `$${(v / 1000).toFixed(0)}K`} />
63
+ <Tooltip
64
+ contentStyle={{ backgroundColor: '#1F2937', border: 'none', borderRadius: 8 }}
65
+ formatter={(value: number) => [`$${value.toLocaleString()}`, 'Revenue']}
66
+ />
67
+ <Line type="monotone" dataKey="revenue" stroke="#8B5CF6" strokeWidth={2} dot={false} />
68
+ </LineChart>
69
+ </ResponsiveContainer>
70
+ );
71
+ }
72
+ ```
73
+
74
+ #### 2. Tremor Dashboard Components
75
+
76
+ ```tsx
77
+ import { Card, Metric, Text, AreaChart, BarList, Grid } from '@tremor/react';
78
+
79
+ function AnalyticsDashboard({ metrics, chartData, topPages }) {
80
+ return (
81
+ <Grid numItemsMd={2} numItemsLg={3} className="gap-6">
82
+ <Card>
83
+ <Text>Total Revenue</Text>
84
+ <Metric>$845,230</Metric>
85
+ </Card>
86
+ <Card>
87
+ <Text>Revenue Over Time</Text>
88
+ <AreaChart
89
+ data={chartData}
90
+ index="month"
91
+ categories={['Revenue', 'Expenses']}
92
+ colors={['violet', 'rose']}
93
+ valueFormatter={(v) => `$${(v / 1000).toFixed(0)}K`}
94
+ />
95
+ </Card>
96
+ <Card>
97
+ <Text>Top Pages</Text>
98
+ <BarList data={topPages} className="mt-4" />
99
+ </Card>
100
+ </Grid>
101
+ );
102
+ }
103
+ ```
104
+
105
+ #### 3. Real-Time Chart Updates
106
+
107
+ ```tsx
108
+ import { useEffect, useState } from 'react';
109
+
110
+ function LiveMetricsChart() {
111
+ const [data, setData] = useState<{ time: string; value: number }[]>([]);
112
+
113
+ useEffect(() => {
114
+ const es = new EventSource('/api/metrics/stream');
115
+ es.onmessage = (event) => {
116
+ const point = JSON.parse(event.data);
117
+ setData((prev) => [...prev.slice(-60), point]); // Keep last 60 points
118
+ };
119
+ return () => es.close();
120
+ }, []);
121
+
122
+ return <LineChart data={data} /* ... */ />;
123
+ }
124
+ ```
125
+
126
+ #### 4. Large Dataset Optimization
127
+ - Use **Canvas** rendering (ECharts, Chart.js) for >5K data points.
128
+ - Implement **data aggregation** on the server (downsample to 500-1000 points for display).
129
+ - Use **windowed rendering** — only render visible data points.
130
+ - Apply **debounced zoom/pan** to prevent excessive re-renders.
131
+
132
+ ### Dashboard Layout Patterns
133
+ - **KPI Row → Charts → Tables**: Top metrics cards, then charts, then detail tables.
134
+ - **Filter Sidebar**: Global date range, category, and dimension filters.
135
+ - **Drill-down**: Click chart segment → navigate to detail view.
136
+ - **Export**: CSV/PNG/PDF export for all charts.
137
+
138
+ ---
139
+
140
+ <a name="bahasa-indonesia"></a>
141
+ ## Bahasa Indonesia
142
+
143
+ ### Integrasi Orkestrasi
144
+ - **`senior-frontend`**: Arsitektur komponen React untuk komponen chart.
145
+ - **`data-telemetry-expert`**: Pipeline data analitik yang mengisi visualisasi.
146
+ - **`state-management-expert`**: Mengelola state chart, filter, dan navigasi drill-down.
147
+
148
+ ### Deskripsi
149
+ Panduan ahli untuk membangun visualisasi data dan dashboard analitik berkualitas produksi. Mencakup D3.js v7, Recharts, Chart.js 4, Nivo, Tremor, dan Apache ECharts. Termasuk chart responsif, update real-time, aksesibilitas, optimasi dataset besar, dan pola layout dashboard.
150
+
151
+ ### Kondisi Pemicu
152
+ - Membangun dashboard analitik atau panel admin dengan chart.
153
+ - Membuat visualisasi data (line, bar, pie, scatter, heatmap, treemap).
154
+ - Mengimplementasikan chart yang update real-time atau feed data langsung.
155
+ - Memilih library charting untuk React, Vue, atau vanilla JS.