vibes-plug 2.5.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 (177) 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 +37 -7
  5. package/BLUEPRINT.md +309 -217
  6. package/CHANGELOG.md +133 -1
  7. package/CLAUDE.md +70 -0
  8. package/LICENSE +1 -1
  9. package/README.md +641 -415
  10. package/index.js +19 -0
  11. package/package.json +44 -8
  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 -52
  17. package/skills/ai-evals-benchmark-expert/SKILL.md +188 -0
  18. package/skills/ai-llm-integration-expert/SKILL.md +185 -178
  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 +6 -3
  23. package/skills/api-gateway-proxy-expert/SKILL.md +81 -0
  24. package/skills/app-analyzer-optimizer/SKILL.md +6 -3
  25. package/skills/apple-ecosystem-expert/SKILL.md +144 -141
  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 +210 -24
  29. package/skills/authentication-identity-expert/SKILL.md +278 -275
  30. package/skills/auto-doc-updater/SKILL.md +7 -1
  31. package/skills/autonomous-chaos-monkey/SKILL.md +63 -63
  32. package/skills/autonomous-red-teamer/SKILL.md +172 -28
  33. package/skills/autonomous-tdd-debugger/SKILL.md +70 -64
  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 +9 -6
  38. package/skills/brainstorming/SKILL.md +58 -50
  39. package/skills/browser-automation-expert/SKILL.md +197 -21
  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 +45 -36
  43. package/skills/cloud-hosting-expert/SKILL.md +7 -1
  44. package/skills/coderabbit/SKILL.md +7 -1
  45. package/skills/compliance-gdpr-privacy-expert/SKILL.md +85 -0
  46. package/skills/cron-scheduler-expert/SKILL.md +303 -297
  47. package/skills/data-pipeline-etl-expert/SKILL.md +84 -0
  48. package/skills/data-telemetry-expert/SKILL.md +7 -1
  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 +13 -3
  52. package/skills/dependency-upgrade-migrator/SKILL.md +300 -294
  53. package/skills/design-system-architect/SKILL.md +278 -259
  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 +7 -1
  57. package/skills/doku-payment-gateway/SKILL.md +7 -1
  58. package/skills/domain-driven-design-expert/SKILL.md +82 -0
  59. package/skills/e2e-testing-expert/SKILL.md +7 -1
  60. package/skills/ecommerce-expert/SKILL.md +87 -0
  61. package/skills/edge-serverless-db-expert/SKILL.md +98 -42
  62. package/skills/email-notification-expert/SKILL.md +367 -361
  63. package/skills/error-resilience-expert/SKILL.md +485 -479
  64. package/skills/event-driven-architect/SKILL.md +7 -1
  65. package/skills/feature-flag-analytics-expert/SKILL.md +65 -45
  66. package/skills/file-upload-media-expert/SKILL.md +436 -430
  67. package/skills/firebase-security-expert/SKILL.md +7 -1
  68. package/skills/form-validation-expert/SKILL.md +406 -400
  69. package/skills/fullstack-expert/SKILL.md +60 -1
  70. package/skills/gemini-agent-booster/SKILL.md +173 -135
  71. package/skills/geospatial-maps-expert/SKILL.md +80 -0
  72. package/skills/global-a11y-i18n-expert/SKILL.md +7 -1
  73. package/skills/glsl-shader-expert/SKILL.md +106 -100
  74. package/skills/go-programming-expert/SKILL.md +21 -15
  75. package/skills/graph-rag-knowledge-expert/SKILL.md +159 -0
  76. package/skills/graphql-apollo-expert/SKILL.md +113 -107
  77. package/skills/headless-cms-expert/SKILL.md +181 -0
  78. package/skills/hig/SKILL.md +7 -1
  79. package/skills/js-backend-expert/SKILL.md +218 -216
  80. package/skills/legacy-code-translator/SKILL.md +70 -64
  81. package/skills/local-slm-edge-ai-expert/SKILL.md +167 -0
  82. package/skills/logging-error-tracking-expert/SKILL.md +343 -337
  83. package/skills/mcp-client-orchestrator/SKILL.md +75 -69
  84. package/skills/mcp-server-architect/SKILL.md +294 -194
  85. package/skills/micro-frontend-architect/SKILL.md +111 -105
  86. package/skills/mobile-expo-expert/SKILL.md +8 -2
  87. package/skills/mobile-push-notification-expert/SKILL.md +70 -50
  88. package/skills/modern-css-native-expert/SKILL.md +189 -0
  89. package/skills/monday-design-aesthetic/SKILL.md +7 -1
  90. package/skills/monorepo-architect/SKILL.md +7 -1
  91. package/skills/mpa-orchestrator/SKILL.md +20 -1
  92. package/skills/multi-agent-orchestration/SKILL.md +254 -234
  93. package/skills/multiple-entry-points/SKILL.md +37 -1
  94. package/skills/mvc-expert/SKILL.md +7 -1
  95. package/skills/n8n-automation-expert/SKILL.md +89 -0
  96. package/skills/nextjs-app-router-expert/SKILL.md +148 -0
  97. package/skills/openapi-swagger-codegen-expert/SKILL.md +67 -0
  98. package/skills/payment-gateway-expert/SKILL.md +85 -1
  99. package/skills/pdf-document-generation-expert/SKILL.md +91 -0
  100. package/skills/performance-web-vitals/SKILL.md +7 -1
  101. package/skills/post-quantum-crypto-migrator/SKILL.md +57 -57
  102. package/skills/prd-architect/SKILL.md +7 -1
  103. package/skills/proactive-background-watcher/SKILL.md +67 -61
  104. package/skills/production-ready-hardener/SKILL.md +461 -455
  105. package/skills/project-context-mapper/SKILL.md +84 -78
  106. package/skills/pwa-offline-first-expert/SKILL.md +185 -0
  107. package/skills/python-programming-expert/SKILL.md +407 -401
  108. package/skills/rate-limit-abuse-prevention/SKILL.md +376 -370
  109. package/skills/realtime-collaboration-expert/SKILL.md +55 -1
  110. package/skills/rich-text-editor-expert/SKILL.md +177 -0
  111. package/skills/rust-programming-expert/SKILL.md +7 -1
  112. package/skills/saas-billing/SKILL.md +7 -1
  113. package/skills/saas-multi-tenant/SKILL.md +7 -1
  114. package/skills/saas-mvp-launcher/SKILL.md +20 -1
  115. package/skills/saas-transformer/SKILL.md +499 -488
  116. package/skills/scalability-clean-code/SKILL.md +7 -1
  117. package/skills/search-engine-expert/SKILL.md +89 -0
  118. package/skills/secure-fuzz-testing/SKILL.md +7 -1
  119. package/skills/self-evolving-memory-graph/SKILL.md +90 -74
  120. package/skills/self-healing-cloud-orchestrator/SKILL.md +57 -57
  121. package/skills/senior-frontend/SKILL.md +141 -161
  122. package/skills/seo/SKILL.md +41 -17
  123. package/skills/session-context-loader/SKILL.md +82 -76
  124. package/skills/session-handoff-resume/SKILL.md +7 -1
  125. package/skills/{skill_baru → skill-baru}/SKILL.md +8 -2
  126. package/skills/solidjs-expert/SKILL.md +80 -0
  127. package/skills/spa-orchestrator/SKILL.md +20 -1
  128. package/skills/sse-websocket-streaming-expert/SKILL.md +93 -0
  129. package/skills/state-management-expert/SKILL.md +7 -1
  130. package/skills/supabase-migration/SKILL.md +47 -1
  131. package/skills/supabase-security-expert/SKILL.md +7 -1
  132. package/skills/svelte-sveltekit-expert/SKILL.md +91 -0
  133. package/skills/svg-animation-motion-expert/SKILL.md +115 -0
  134. package/skills/tailwind-expert/SKILL.md +88 -136
  135. package/skills/tanstack-query-expert/SKILL.md +7 -1
  136. package/skills/tauri-expert/SKILL.md +7 -1
  137. package/skills/token-saver/SKILL.md +1 -1
  138. package/skills/typescript-expert/SKILL.md +12 -6
  139. package/skills/ui-components-expert/SKILL.md +165 -279
  140. package/skills/ui-ux-pro-max/SKILL.md +23 -3
  141. package/skills/vector-db-rag-expert/SKILL.md +175 -19
  142. package/skills/vibe-code-gardener/SKILL.md +1 -1
  143. package/skills/visual-qa-vision-agent/SKILL.md +70 -64
  144. package/skills/voice-ai-realtime-agent/SKILL.md +202 -0
  145. package/skills/vue-frontend-expert/SKILL.md +131 -125
  146. package/skills/wasm-edge-computing-expert/SKILL.md +97 -0
  147. package/skills/web-3d-graphics-expert/SKILL.md +136 -130
  148. package/skills/web-game-engine-expert/SKILL.md +101 -95
  149. package/skills/web-scraper/SKILL.md +157 -207
  150. package/skills/website-design-cloner/SKILL.md +179 -173
  151. package/skills/webxr-ar-vr-expert/SKILL.md +122 -116
  152. package/skills/wordpress-headless-expert/SKILL.md +144 -0
  153. package/skills/zero-to-prod-orchestrator/SKILL.md +52 -27
  154. package/skills/zero-trust-secret-vault/SKILL.md +87 -39
  155. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  156. package/.github/workflows/publish.yml +0 -20
  157. package/CONTRIBUTING.md +0 -199
  158. package/SECURITY.md +0 -21
  159. package/banner.png +0 -0
  160. package/skills/autonomous-swarm-director/SKILL.md +0 -69
  161. package/skills/hyper-context-synthesizer/SKILL.md +0 -55
  162. package/skills/llm-cost-arbitrage-router/SKILL.md +0 -59
  163. package/skills/senior-fullstack/SKILL.md +0 -167
  164. package/skills/senior-fullstack/references/architecture_patterns.md +0 -160
  165. package/skills/senior-fullstack/references/development_workflows.md +0 -222
  166. package/skills/senior-fullstack/references/tech_stack_guide.md +0 -190
  167. package/skills/senior-fullstack/scripts/code_quality_analyzer.py +0 -114
  168. package/skills/senior-fullstack/scripts/fullstack_scaffolder.py +0 -114
  169. package/skills/senior-fullstack/scripts/project_scaffolder.py +0 -114
  170. package/skills/seo-aeo-landing-page-writer/SKILL.md +0 -97
  171. package/skills/seo-geo/SKILL.md +0 -188
  172. package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-310.pyc +0 -0
  173. package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-312.pyc +0 -0
  174. package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-310.pyc +0 -0
  175. package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-312.pyc +0 -0
  176. package/skills/ui_ux_expert/SKILL.md +0 -125
  177. package/vibes-swarm-demo.gif +0 -0
@@ -0,0 +1,84 @@
1
+ ---
2
+ name: data-pipeline-etl-expert
3
+ description: "Expert guide for Data Pipelines, ETL/ELT, and Analytics Engineering. Covers dbt, Apache Airflow, Dagster, BigQuery, ClickHouse, and DuckDB / Panduan ahli untuk Data Pipelines, ETL/ELT. Mencakup dbt, Airflow, Dagster, BigQuery, ClickHouse, dan DuckDB."
4
+ author: "Roedy Rustam"
5
+ ---
6
+
7
+ # Data Pipeline & ETL Expert
8
+
9
+ [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
10
+
11
+ ---
12
+
13
+ <a name="english"></a>
14
+ ## English
15
+
16
+ ### Description
17
+ A specialized skill for building robust data architectures, Analytics Engineering, and ETL (Extract, Transform, Load) or ELT pipelines. It covers modern data stack orchestration (Airflow, Dagster), transformation tools (dbt), and high-performance OLAP databases (BigQuery, Snowflake, ClickHouse, DuckDB).
18
+
19
+ ### Trigger Conditions
20
+ - When designing reporting dashboards or analytics infrastructure for a SaaS.
21
+ - When moving large volumes of data from transactional databases (PostgreSQL/MySQL) to a data warehouse.
22
+ - When the user asks about "dbt", "Airflow", "ELT", or "Analytics Engineering".
23
+ - When building local or edge analytics using DuckDB.
24
+
25
+ ### Core Architectural Guidelines
26
+
27
+ #### 1. ELT over ETL
28
+ Prefer Extract-Load-Transform (ELT) over traditional ETL.
29
+ - **Extract & Load**: Use tools like Airbyte or Fivetran to dump raw data directly into the Data Warehouse.
30
+ - **Transform**: Perform transformations *inside* the Data Warehouse using SQL (via dbt) to leverage the warehouse's massive compute power.
31
+
32
+ #### 2. Analytics Engineering with dbt
33
+ Treat SQL like software engineering.
34
+ - Use `dbt` (Data Build Tool) to version control your SQL transformations.
35
+ - Implement tests (`not_null`, `unique`) on critical tables.
36
+ - Use Jinja templating in dbt to DRY up complex SQL queries.
37
+
38
+ #### 3. Data Orchestration (Airflow vs Dagster)
39
+ - **Apache Airflow**: The industry standard for scheduling and monitoring complex DAGs (Directed Acyclic Graphs). Best for Python-heavy teams.
40
+ - **Dagster**: A modern alternative focused on data assets rather than just tasks. Use Dagster when you want better local testing and asset-driven lineage.
41
+
42
+ #### 4. OLAP Database Selection
43
+ - **BigQuery / Snowflake**: Best for massive scale, fully managed cloud data warehousing.
44
+ - **ClickHouse**: Best for real-time, sub-second analytical queries on massive event streams.
45
+ - **DuckDB**: Best for local analytics, embedded analytical pipelines, or processing parquets in edge environments (Node.js/Python).
46
+
47
+ ## Orchestration & Integration
48
+ - Pairs with `data-telemetry-expert` to process the raw telemetry events captured by PostHog/OpenTelemetry.
49
+ - Complements `python-programming-expert` as Python is the lingua franca of data engineering.
50
+ - Works with `cron-scheduler-expert` when simpler, non-DAG cron jobs are sufficient for small ETL tasks.
51
+
52
+ ---
53
+
54
+ <a name="bahasa-indonesia"></a>
55
+ ## Bahasa Indonesia
56
+
57
+ ### Deskripsi
58
+ Panduan khusus untuk membangun arsitektur data yang kuat, Analytics Engineering, dan pipeline ETL/ELT. Mencakup orkestrasi (Airflow, Dagster), alat transformasi (dbt), dan database OLAP berkinerja tinggi (BigQuery, Snowflake, ClickHouse, DuckDB).
59
+
60
+ ### Kondisi Pemicu
61
+ - Saat merancang infrastruktur analitik atau dashboard pelaporan untuk SaaS.
62
+ - Saat memindahkan data bervolume besar dari database transaksional ke Data Warehouse.
63
+ - Saat membangun analitik lokal yang cepat menggunakan DuckDB.
64
+
65
+ ### Panduan Arsitektur Inti
66
+
67
+ #### 1. ELT lebih disukai daripada ETL
68
+ - **Extract & Load**: Pindahkan data mentah (raw data) langsung ke Data Warehouse (menggunakan Airbyte/Fivetran).
69
+ - **Transform**: Lakukan transformasi data *di dalam* Data Warehouse menggunakan SQL (dbt) untuk memanfaatkan kekuatan komputasi gudang data yang masif.
70
+
71
+ #### 2. Analytics Engineering dengan dbt (Data Build Tool)
72
+ Perlakukan transformasi data (SQL) layaknya rekayasa perangkat lunak. Gunakan dbt untuk version control, pengujian otomatis (`not_null`, `unique`), dan dokumentasi skema data Anda.
73
+
74
+ #### 3. Orkestrasi Data (DAG)
75
+ Gunakan Apache Airflow atau Dagster untuk menjadwalkan dan memonitor alur kerja data yang kompleks (DAG). Dagster sangat direkomendasikan untuk pendekatan modern yang berpusat pada aset data (asset-driven orchestration).
76
+
77
+ #### 4. Pemilihan Database OLAP
78
+ - **BigQuery / Snowflake**: Gudang data cloud fully-managed untuk analitik skala masif.
79
+ - **ClickHouse**: Sangat cepat untuk kueri analitik real-time. Cocok untuk data event stream/log.
80
+ - **DuckDB**: SQLite untuk analitik. Sangat cepat untuk memproses file Parquet atau CSV secara lokal maupun di lingkungan edge/serverless (via Python/Node.js).
81
+
82
+ ## Integrasi Orkestrasi
83
+ - Bekerja sama dengan `data-telemetry-expert` untuk memproses data mentah yang dikumpulkan.
84
+ - Melengkapi `python-programming-expert` dalam menulis skrip orkestrasi Airflow/Dagster.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: data-telemetry-expert
3
3
  description: "Expert guide for observability, analytics, telemetry, and data pipelines (OpenTelemetry, PostHog, Mixpanel) / Panduan ahli untuk observabilitas, telemetri, dan analitik."
4
- author: "Roedy Rustam"
4
+ author: "Roedy Rustam"
5
5
  ---
6
6
 
7
7
  # Data & Telemetry Expert (OpenTelemetry 1.x / ClickHouse Edition)
@@ -13,6 +13,9 @@ author: "Roedy Rustam"
13
13
  <a name="english"></a>
14
14
  ## English
15
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
+
16
19
  ### Description
17
20
  Expert guide for production observability, product analytics, and data pipelines. Covers **OpenTelemetry 1.x** (stable, vendor-neutral traces/metrics/logs), **PostHog** (open-source product analytics), **ClickHouse** (OLAP analytics database), Grafana stack, and AI agent observability patterns.
18
21
 
@@ -184,6 +187,9 @@ Backend tracing tools for LLM: **LangSmith** (LangChain/LangGraph), **OpenAI Tra
184
187
  <a name="bahasa-indonesia"></a>
185
188
  ## Bahasa Indonesia
186
189
 
190
+ ### Integrasi Orkestrasi
191
+ Terhubung dan mengorkestrasi skill domain yang relevan seperti `brainstorming`, `zero-to-prod-orchestrator`, dan `project-context-mapper` untuk memastikan eksekusi yang kohesif.
192
+
187
193
  ### Deskripsi
188
194
  Panduan ahli untuk observabilitas produksi, analitik produk, dan pipeline data. Mencakup **OpenTelemetry 1.x** (stabil, vendor-neutral traces/metrics/logs), **PostHog** (analitik produk open-source), **ClickHouse** (database analitik OLAP), dan pola observabilitas agen AI.
189
195
 
@@ -0,0 +1,154 @@
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.
@@ -0,0 +1,90 @@
1
+ ---
2
+ name: database-migration-versioning-expert
3
+ description: "Expert guide for database migrations: schema versioning, zero-downtime migrations, backward-compatible changes, data backfill, and rollback strategies / Panduan ahli migrasi database."
4
+ author: "Roedy Rustam"
5
+ ---
6
+
7
+ # Database Migration & Versioning Expert
8
+
9
+ [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
10
+
11
+ ---
12
+
13
+ <a name="english"></a>
14
+ ## English
15
+
16
+ ### Description
17
+ A specialized skill focused strictly on the lifecycle of database schemas in production environments. While `database-orm-expert` handles queries and types, this skill covers the DevOps aspect of databases: zero-downtime schema migrations, backward-compatible release cycles, stateful data backfills, rollback mechanisms, and schema versioning strategies.
18
+
19
+ ### Trigger Conditions
20
+ - When modifying an existing production database schema.
21
+ - When planning a deployment that involves database changes (blue-green, canary).
22
+ - When resolving merge conflicts in migration files (e.g., Prisma, Drizzle, Alembic).
23
+ - When designing backfill scripts for massive data migrations.
24
+
25
+ ### Core Architectural Guidelines
26
+
27
+ #### 1. Zero-Downtime Migration Pattern (Expand and Contract)
28
+ Never make breaking changes in a single deployment. Use the "Expand and Contract" pattern (Parallel Change):
29
+ - **Phase 1 (Expand)**: Add the new schema element (column, table) without removing the old one. Deploy the database change.
30
+ - **Phase 2 (Migrate)**: Update application code to write to *both* old and new elements, and read from the new element (with fallback). Deploy code.
31
+ - **Phase 3 (Backfill)**: Run a background script to backfill data from the old element to the new element for older records.
32
+ - **Phase 4 (Contract)**: Remove the old application code that writes to the old element. Deploy code.
33
+ - **Phase 5 (Cleanup)**: Drop the old schema element from the database.
34
+
35
+ #### 2. Backward Compatibility Rules
36
+ - **Never `DROP` or `RENAME`** a column/table in active use. Create a new one, migrate data, then drop the old one later.
37
+ - **Avoid changing constraints** on existing data without carefully verifying that all data complies.
38
+ - **Add `DEFAULT` values** to new `NOT NULL` columns, or make them nullable first, backfill, then enforce `NOT NULL`.
39
+
40
+ #### 3. Migration Mechanics
41
+ - Always use version-controlled, immutable migration scripts (e.g., `20260814_add_user_status.sql`).
42
+ - Never modify an already-applied migration file. If a mistake was made, create a new forward-migration to fix it.
43
+ - **Idempotency**: Write scripts that can be safely run multiple times (e.g., `CREATE TABLE IF NOT EXISTS`, `ADD COLUMN IF NOT EXISTS`).
44
+
45
+ #### 4. Safe Data Backfilling
46
+ For large tables (millions of rows), running `UPDATE table SET new_col = old_col` will lock the table and cause downtime.
47
+ - **Chunking**: Perform updates in batches using `LIMIT` and sleep intervals to avoid locking the database.
48
+ - **Background Jobs**: Use dedicated queues (like BullMQ or Inngest) to orchestrate massive backfills.
49
+
50
+ ## Orchestration & Integration
51
+ - Enhances `database-orm-expert` with production-grade migration strategies.
52
+ - Complements `ci-cd-devops-architect` for automated migration deployment steps.
53
+ - Integrates with `supabase-migration` for Supabase-specific PostgreSQL migration workflows.
54
+
55
+ ---
56
+
57
+ <a name="bahasa-indonesia"></a>
58
+ ## Bahasa Indonesia
59
+
60
+ ### Deskripsi
61
+ Skill khusus yang berfokus ketat pada siklus hidup skema database di lingkungan produksi. Sementara `database-orm-expert` menangani query dan tipe, skill ini mencakup aspek DevOps database: migrasi skema tanpa downtime (zero-downtime), rilis backward-compatible, skrip backfill data stateful, mekanisme rollback, dan strategi pembuatan versi skema.
62
+
63
+ ### Kondisi Pemicu
64
+ - Saat memodifikasi skema database produksi yang sudah ada.
65
+ - Saat merencanakan deployment yang melibatkan perubahan database (blue-green, canary).
66
+ - Saat merancang skrip backfill untuk tabel berukuran besar (jutaan baris).
67
+
68
+ ### Panduan Arsitektur Inti
69
+
70
+ #### 1. Pola Zero-Downtime (Expand and Contract)
71
+ Jangan pernah melakukan perubahan yang merusak (breaking change) dalam satu deployment.
72
+ - Tambahkan kolom baru tanpa menghapus yang lama.
73
+ - Ubah aplikasi untuk menulis ke keduanya dan membaca dari yang baru.
74
+ - Lakukan migrasi data lama (backfill).
75
+ - Hapus penggunaan kolom lama dari kode aplikasi.
76
+ - Hapus kolom lama dari database di migrasi berikutnya.
77
+
78
+ #### 2. Aturan Kompatibilitas Mundur (Backward Compatibility)
79
+ - **Jangan pernah melakukan `DROP` atau `RENAME`** pada kolom yang sedang aktif digunakan. Buat yang baru, pindahkan data, baru hapus yang lama di siklus rilis berikutnya.
80
+ - Kolom `NOT NULL` baru harus selalu memiliki nilai `DEFAULT`, atau jadikan nullable terlebih dahulu sebelum memaksakan constraint.
81
+
82
+ #### 3. Keamanan Skrip Migrasi
83
+ - Gunakan file migrasi yang immutable (tidak boleh diubah setelah di-deploy). Jika ada bug, buat file migrasi baru untuk memperbaikinya (forward-fix).
84
+ - Skrip harus sebisa mungkin bersifat idempoten.
85
+ - Untuk tabel besar, lakukan backfill data secara bertahap (chunking/batching) agar tidak terjadi table lock yang menyebabkan downtime aplikasi.
86
+
87
+ ## Integrasi Orkestrasi
88
+ - Memperkuat `database-orm-expert` dengan strategi deployment yang aman.
89
+ - Melengkapi `ci-cd-devops-architect` dalam alur CI/CD untuk otomatisasi migrasi.
90
+ - Terintegrasi dengan `supabase-migration` untuk ekosistem spesifik Supabase.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: database-orm-expert
3
3
  description: "Expert guide for database schema design, ORM tools (Prisma 6, Drizzle ORM, TypeORM), migrations, query optimization, and type-safe SQL patterns in TypeScript / Panduan ahli untuk desain skema database, ORM tools (Prisma 6, Drizzle ORM, TypeORM), migrasi, optimasi query, dan pola SQL type-safe di TypeScript."
4
- author: "Roedy Rustam"
4
+ author: "Roedy Rustam"
5
5
  ---
6
6
 
7
7
  # Database ORM Expert (Prisma 6 + Drizzle ORM Edition)
@@ -14,7 +14,7 @@ author: "Roedy Rustam"
14
14
  ## English
15
15
 
16
16
  ### Description
17
- Expert-level database development covering schema design, ORM selection, migrations, query optimization, and type-safe SQL patterns. Focuses on **Prisma 6** and **Drizzle ORM** as primary modern ORMs, with coverage of TypeORM, raw SQL via `postgres.js`, and connection pooling strategies for production workloads.
17
+ Design schemas, select ORMs, execute migrations, optimize queries, and implement type-safe SQL patterns. Prioritize **Prisma 6** and **Drizzle ORM**. Implement connection pooling for production workloads.
18
18
 
19
19
  ### Trigger Conditions
20
20
  - Designing or migrating a database schema.
@@ -25,6 +25,11 @@ Expert-level database development covering schema design, ORM selection, migrati
25
25
  - Implementing Row Level Security (RLS) patterns.
26
26
  - Working with PostgreSQL, MySQL, SQLite, or PlanetScale.
27
27
 
28
+ ## Orchestration & Integration
29
+ - `js-backend-expert`: For Node/Bun/Deno backend implementations integrating these ORMs.
30
+ - `edge-serverless-db-expert`: For edge/serverless connections (e.g., Supabase, Neon, Turso).
31
+ - `database-migration-versioning-expert`: For advanced migration strategies and CI/CD pipelines.
32
+
28
33
  ---
29
34
 
30
35
  ### ORM Selection Guide
@@ -259,7 +264,7 @@ npx drizzle-kit studio # open Drizzle Studio GUI
259
264
  ## Bahasa Indonesia
260
265
 
261
266
  ### Deskripsi
262
- Panduan pengembangan database level ahli mencakup desain skema, pemilihan ORM, migrasi, optimasi query, dan pola SQL type-safe. Berfokus pada **Prisma 6** dan **Drizzle ORM** sebagai ORM modern utama, dengan cakupan TypeORM, SQL mentah via `postgres.js`, dan strategi connection pooling untuk beban kerja produksi.
267
+ Rancang skema, pilih ORM, eksekusi migrasi, optimalkan query, dan implementasikan pola SQL type-safe. Prioritaskan **Prisma 6** dan **Drizzle ORM**. Implementasikan connection pooling untuk beban kerja produksi.
263
268
 
264
269
  ### Kondisi Pemicu
265
270
  - Merancang atau memigrasikan skema database.
@@ -270,6 +275,11 @@ Panduan pengembangan database level ahli mencakup desain skema, pemilihan ORM, m
270
275
  - Mengimplementasikan pola Row Level Security (RLS).
271
276
  - Bekerja dengan PostgreSQL, MySQL, SQLite, atau PlanetScale.
272
277
 
278
+ ## Integrasi Orkestrasi
279
+ - `js-backend-expert`: Untuk implementasi backend Node/Bun/Deno yang menggunakan ORM ini.
280
+ - `edge-serverless-db-expert`: Untuk koneksi edge/serverless (mis. Supabase, Neon, Turso).
281
+ - `database-migration-versioning-expert`: Untuk strategi migrasi lanjutan dan pipeline CI/CD.
282
+
273
283
  ### Panduan Pemilihan ORM
274
284
 
275
285
  Gunakan tabel di atas (lihat bagian English) sebagai referensi pemilihan ORM. Rekomendasi singkat: