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.
- package/.claude/rules/vibes-plug-core.md +5 -0
- package/.cursor/rules/vibes-plug-core.mdc +7 -2
- package/.cursorrules +8 -2
- package/AGENTS.md +23 -2
- package/CHANGELOG.md +114 -0
- package/CLAUDE.md +10 -3
- package/README.md +216 -611
- package/bin/vibes.mjs +1104 -0
- package/package.json +11 -3
- package/plugin.json +4 -3
- package/scripts/check-anti-slop.mjs +53 -0
- package/scripts/install.js +3 -1
- package/scripts/update_skills.js +1 -1
- package/scripts/update_skills.mjs +86 -0
- package/scripts/validate-skills.mjs +111 -0
- package/skills/accessibility-testing-expert/SKILL.md +117 -116
- package/skills/affective-computing-emotion-ai/SKILL.md +83 -0
- package/skills/agentic-coding-workflow-expert/SKILL.md +297 -0
- package/skills/agentic-memory-architect/SKILL.md +52 -0
- package/skills/agentic-micro-economy-architect/SKILL.md +92 -0
- package/skills/ai-llm-integration-expert/SKILL.md +330 -194
- package/skills/ai-media-generation-expert/SKILL.md +173 -172
- package/skills/ai-prompt-engineering-expert/SKILL.md +204 -134
- package/skills/ai-safety-governance-expert/SKILL.md +223 -0
- package/skills/angular-expert/SKILL.md +149 -148
- package/skills/anti-slop/SKILL.md +134 -133
- package/skills/api-design-expert/SKILL.md +4 -3
- package/skills/api-gateway-proxy-expert/SKILL.md +3 -2
- package/skills/app-analyzer-optimizer/SKILL.md +4 -3
- package/skills/apple-ecosystem-expert/SKILL.md +6 -5
- package/skills/astro-framework-expert/SKILL.md +201 -200
- package/skills/async-queue-temporal-expert/SKILL.md +218 -217
- package/skills/authentication-identity-expert/SKILL.md +174 -173
- package/skills/autonomous-red-teamer/SKILL.md +338 -203
- package/skills/autonomous-tdd-debugger/SKILL.md +6 -5
- package/skills/biome-linter-formatter-expert/SKILL.md +90 -89
- package/skills/blockchain-web3-expert/SKILL.md +116 -115
- package/skills/brainstorming/SKILL.md +392 -377
- package/skills/browser-automation-expert/SKILL.md +260 -222
- package/skills/bun-runtime-expert/SKILL.md +5 -4
- package/skills/chatbot-messaging-expert/SKILL.md +115 -114
- package/skills/ci-cd-devops-architect/SKILL.md +3 -2
- package/skills/cloud-hosting-expert/SKILL.md +5 -4
- package/skills/coderabbit/SKILL.md +5 -4
- package/skills/compliance-gdpr-privacy-expert/SKILL.md +3 -2
- package/skills/composable-mach-architect/SKILL.md +338 -0
- package/skills/cron-scheduler-expert/SKILL.md +5 -4
- package/skills/data-pipeline-etl-expert/SKILL.md +3 -2
- package/skills/data-telemetry-expert/SKILL.md +5 -4
- package/skills/data-visualization-expert/SKILL.md +155 -154
- package/skills/database-orm-expert/SKILL.md +166 -165
- package/skills/deep-research-analyst/SKILL.md +182 -136
- package/skills/dependency-upgrade-migrator/SKILL.md +11 -10
- package/skills/design-system-architect/SKILL.md +4 -3
- package/skills/desktop-electron-expert/SKILL.md +129 -128
- package/skills/documentation-site-expert/SKILL.md +60 -59
- package/skills/doku-mcp-server/SKILL.md +5 -4
- package/skills/doku-payment-gateway/SKILL.md +250 -232
- package/skills/domain-driven-design-expert/SKILL.md +3 -2
- package/skills/e2e-testing-expert/SKILL.md +5 -4
- package/skills/ecommerce-expert/SKILL.md +88 -87
- package/skills/email-notification-expert/SKILL.md +5 -4
- package/skills/ephemeral-generative-ui-architect/SKILL.md +88 -0
- package/skills/error-resilience-expert/SKILL.md +14 -13
- package/skills/event-driven-architect/SKILL.md +5 -4
- package/skills/feature-flag-analytics-expert/SKILL.md +3 -2
- package/skills/file-upload-media-expert/SKILL.md +5 -4
- package/skills/firebase-security-expert/SKILL.md +5 -4
- package/skills/form-validation-expert/SKILL.md +7 -6
- package/skills/frontier-ai-models-expert/SKILL.md +116 -0
- package/skills/fullstack-expert/SKILL.md +185 -184
- package/skills/gemini-agent-booster/SKILL.md +248 -172
- package/skills/geospatial-maps-expert/SKILL.md +81 -80
- package/skills/global-a11y-i18n-expert/SKILL.md +5 -4
- package/skills/glsl-shader-expert/SKILL.md +191 -190
- package/skills/go-programming-expert/SKILL.md +5 -4
- package/skills/graph-rag-knowledge-expert/SKILL.md +201 -200
- package/skills/graphql-apollo-expert/SKILL.md +5 -4
- package/skills/headless-cms-expert/SKILL.md +182 -181
- package/skills/hig/SKILL.md +5 -4
- package/skills/js-backend-expert/SKILL.md +219 -218
- package/skills/legacy-code-translator/SKILL.md +6 -5
- package/skills/llm-finops-router/SKILL.md +52 -0
- package/skills/local-slm-edge-ai-expert/SKILL.md +168 -167
- package/skills/logging-error-tracking-expert/SKILL.md +5 -4
- package/skills/mcp-server-architect/SKILL.md +315 -307
- package/skills/micro-frontend-architect/SKILL.md +5 -4
- package/skills/mobile-expo-expert/SKILL.md +5 -4
- package/skills/modern-css-native-expert/SKILL.md +190 -189
- package/skills/monorepo-architect/SKILL.md +5 -4
- package/skills/mpa-orchestrator/SKILL.md +41 -4
- package/skills/multi-agent-orchestration/SKILL.md +388 -254
- package/skills/mvc-expert/SKILL.md +5 -4
- package/skills/n8n-automation-expert/SKILL.md +90 -89
- package/skills/nextjs-app-router-expert/SKILL.md +3 -2
- package/skills/openapi-swagger-codegen-expert/SKILL.md +4 -3
- package/skills/payment-gateway-expert/SKILL.md +131 -128
- package/skills/pdf-document-generation-expert/SKILL.md +92 -91
- package/skills/performance-web-vitals/SKILL.md +5 -4
- package/skills/post-quantum-crypto-migrator/SKILL.md +3 -2
- package/skills/prd-architect/SKILL.md +183 -182
- package/skills/proactive-background-watcher/SKILL.md +5 -4
- package/skills/production-ready-hardener/SKILL.md +10 -9
- package/skills/pwa-offline-first-expert/SKILL.md +227 -226
- package/skills/pydantic-ai-expert/SKILL.md +162 -161
- package/skills/python-programming-expert/SKILL.md +5 -4
- package/skills/rate-limit-abuse-prevention/SKILL.md +5 -4
- package/skills/realtime-collaboration-expert/SKILL.md +3 -2
- package/skills/rich-text-editor-expert/SKILL.md +178 -177
- package/skills/rust-programming-expert/SKILL.md +5 -4
- package/skills/saas-architect/SKILL.md +155 -154
- package/skills/saas-billing/SKILL.md +394 -382
- package/skills/saas-multi-tenant/SKILL.md +7 -6
- package/skills/scalability-clean-code/SKILL.md +5 -4
- package/skills/search-engine-expert/SKILL.md +90 -89
- package/skills/self-healing-cloud-orchestrator/SKILL.md +3 -2
- package/skills/senior-frontend/SKILL.md +14 -9
- package/skills/seo/SKILL.md +4 -4
- package/skills/session-memory-manager/SKILL.md +129 -128
- package/skills/solidjs-expert/SKILL.md +81 -80
- package/skills/spa-orchestrator/SKILL.md +5 -4
- package/skills/sse-websocket-streaming-expert/SKILL.md +3 -2
- package/skills/state-management-expert/SKILL.md +5 -4
- package/skills/supabase-security-expert/SKILL.md +5 -4
- package/skills/svelte-sveltekit-expert/SKILL.md +92 -91
- package/skills/svg-animation-motion-expert/SKILL.md +3 -2
- package/skills/synthetic-data-finetuning-expert/SKILL.md +156 -155
- package/skills/tailwind-expert/SKILL.md +62 -5
- package/skills/tanstack-query-expert/SKILL.md +5 -4
- package/skills/tauri-expert/SKILL.md +5 -4
- package/skills/typescript-expert/SKILL.md +5 -4
- package/skills/ui-ux-pro-max/SKILL.md +7 -6
- package/skills/vector-db-rag-expert/SKILL.md +209 -208
- package/skills/vercel-ai-sdk-expert/SKILL.md +226 -181
- package/skills/voice-ai-realtime-agent/SKILL.md +243 -242
- package/skills/vue-frontend-expert/SKILL.md +5 -4
- package/skills/wasm-edge-computing-expert/SKILL.md +3 -2
- package/skills/web-3d-graphics-expert/SKILL.md +314 -313
- package/skills/web-game-engine-expert/SKILL.md +330 -329
- package/skills/web-scraper/SKILL.md +158 -157
- package/skills/website-design-cloner/SKILL.md +5 -4
- package/skills/webxr-ar-vr-expert/SKILL.md +163 -162
- package/skills/wordpress-headless-expert/SKILL.md +145 -144
- package/skills/zero-tech-debt-auditor/SKILL.md +115 -0
- package/skills/zero-to-prod-orchestrator/SKILL.md +281 -229
- package/skills/zero-trust-secret-vault/SKILL.md +3 -2
- package/BLUEPRINT.md +0 -319
- package/skills/bootstrap-to-modern/SKILL.md +0 -94
- package/skills/multiple-entry-points/SKILL.md +0 -91
- package/skills/secure-fuzz-testing/SKILL.md +0 -207
- package/skills/visual-qa-vision-agent/SKILL.md +0 -71
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: tanstack-query-expert
|
|
3
3
|
description: "Advanced TanStack Query (v5) expert. Covers useSuspenseQuery, infinite scrolling, optimistic mutations, SSR/React Server Components hydration, and advanced cache invalidation / Pakar manajemen state asinkron menggunakan TanStack Query (React Query) v5 dan Next.js App Router (SSR)."
|
|
4
|
-
author: "Roedy Rustam"
|
|
4
|
+
author: "Roedy Rustam"
|
|
5
|
+
version: "3.0.0"
|
|
5
6
|
---
|
|
6
7
|
|
|
7
8
|
# TanStack Query Expert (v5 + TanStack Router/Start Edition)
|
|
@@ -14,7 +15,7 @@ author: "Roedy Rustam"
|
|
|
14
15
|
## English
|
|
15
16
|
|
|
16
17
|
### Orchestration & Integration
|
|
17
|
-
Connects and orchestrates with relevant domain skills like `brainstorming`, `zero-to-prod-orchestrator`, and `
|
|
18
|
+
Connects and orchestrates with relevant domain skills like `brainstorming`, `zero-to-prod-orchestrator`, and `session-memory-manager` to ensure cohesive execution.
|
|
18
19
|
|
|
19
20
|
### Description
|
|
20
21
|
Production-grade TanStack Query (v5) mastery for modern React (v18/19) and Next.js (App Router) applications. Covers declarative data fetching, advanced cache invalidation, optimistic UI updates, Suspense boundaries, SSR hydration, and the new **TanStack Router** + **TanStack Start** ecosystem for full-stack type-safe applications.
|
|
@@ -155,7 +156,7 @@ export default async function UsersPage() {
|
|
|
155
156
|
## Bahasa Indonesia
|
|
156
157
|
|
|
157
158
|
### Integrasi Orkestrasi
|
|
158
|
-
Terhubung dan mengorkestrasi skill domain yang relevan seperti `brainstorming`, `zero-to-prod-orchestrator`, dan `
|
|
159
|
+
Terhubung dan mengorkestrasi skill domain yang relevan seperti `brainstorming`, `zero-to-prod-orchestrator`, dan `session-memory-manager` untuk memastikan eksekusi yang kohesif.
|
|
159
160
|
|
|
160
161
|
### Deskripsi
|
|
161
162
|
Penguasaan TanStack Query (v5) tingkat produksi untuk aplikasi React modern (v18/19) dan Next.js (App Router). Mencakup data fetching deklaratif, invalidasi cache lanjutan, optimistic UI, Suspense boundaries, hidrasi SSR, serta ekosistem **TanStack Router** + **TanStack Start** untuk aplikasi full-stack yang type-safe.
|
|
@@ -202,4 +203,4 @@ Prefetch di Server Component, lalu wrap dengan `<HydrationBoundary>` agar data l
|
|
|
202
203
|
### Pemecahan Masalah
|
|
203
204
|
- **Loop Fetching**: Query key tidak stabil atau `queryFn` yang melempar error tak tertangani.
|
|
204
205
|
- **`staleTime` vs `gcTime`**: Jangan set `gcTime` lebih kecil dari `staleTime`.
|
|
205
|
-
- **Hydration Mismatch**: Pastikan server dan client menghasilkan data awal yang identik.
|
|
206
|
+
- **Hydration Mismatch**: Pastikan server dan client menghasilkan data awal yang identik.
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: tauri-expert
|
|
3
3
|
description: "Expert skill for Tauri (v2) development, Rust backend, IPC, and security / Panduan ahli untuk pengembangan Tauri v2, Rust backend, IPC, dan keamanan."
|
|
4
|
-
author: "Roedy Rustam"
|
|
4
|
+
author: "Roedy Rustam"
|
|
5
|
+
version: "3.0.0"
|
|
5
6
|
---
|
|
6
7
|
|
|
7
8
|
# Tauri Expert
|
|
@@ -14,7 +15,7 @@ author: "Roedy Rustam"
|
|
|
14
15
|
## English
|
|
15
16
|
|
|
16
17
|
### Orchestration & Integration
|
|
17
|
-
Connects and orchestrates with relevant domain skills like `brainstorming`, `zero-to-prod-orchestrator`, and `
|
|
18
|
+
Connects and orchestrates with relevant domain skills like `brainstorming`, `zero-to-prod-orchestrator`, and `session-memory-manager` to ensure cohesive execution.
|
|
18
19
|
|
|
19
20
|
### Description
|
|
20
21
|
This skill provides best practice guidance for building cross-platform desktop and mobile applications using Tauri (specifically Tauri v2). It covers frontend integration with the Rust backend, Inter-Process Communication (IPC), state management, and security.
|
|
@@ -61,7 +62,7 @@ Active when:
|
|
|
61
62
|
## Bahasa Indonesia
|
|
62
63
|
|
|
63
64
|
### Integrasi Orkestrasi
|
|
64
|
-
Terhubung dan mengorkestrasi skill domain yang relevan seperti `brainstorming`, `zero-to-prod-orchestrator`, dan `
|
|
65
|
+
Terhubung dan mengorkestrasi skill domain yang relevan seperti `brainstorming`, `zero-to-prod-orchestrator`, dan `session-memory-manager` untuk memastikan eksekusi yang kohesif.
|
|
65
66
|
|
|
66
67
|
### Deskripsi
|
|
67
68
|
Skill ini memberikan panduan praktik terbaik (best practices) untuk membangun aplikasi desktop dan mobile lintas platform menggunakan Tauri (terutama Tauri v2). Skill ini mencakup integrasi frontend dengan backend Rust, Inter-Process Communication (IPC), manajemen state, serta keamanan.
|
|
@@ -100,4 +101,4 @@ Skill ini memberikan panduan praktik terbaik (best practices) untuk membangun ap
|
|
|
100
101
|
Aktif saat:
|
|
101
102
|
- Membangun, men-debug, atau melakukan *refactoring* pada aplikasi Tauri.
|
|
102
103
|
- Menulis sistem IPC antara frontend (React/Svelte/Vue) dan backend Rust.
|
|
103
|
-
- Mengonfigurasi keamanan (`tauri.conf.json`, capabilities, permission).
|
|
104
|
+
- Mengonfigurasi keamanan (`tauri.conf.json`, capabilities, permission).
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: typescript-expert
|
|
3
3
|
description: "Expert guide for TypeScript 5.8+ advanced type system, strict mode, generics, utility types, branded types, inferred type predicates, isolated declarations, and type-safe architectural patterns / Panduan ahli untuk sistem tipe TypeScript 5.8+, mode strict, generics, utility types, branded types, inferred type predicates, isolated declarations, dan pola arsitektur type-safe."
|
|
4
|
-
author: "Roedy Rustam"
|
|
4
|
+
author: "Roedy Rustam"
|
|
5
|
+
version: "3.0.0"
|
|
5
6
|
---
|
|
6
7
|
|
|
7
8
|
# TypeScript Expert (TypeScript 5.8+ Edition)
|
|
@@ -14,7 +15,7 @@ author: "Roedy Rustam"
|
|
|
14
15
|
## English
|
|
15
16
|
|
|
16
17
|
### Orchestration & Integration
|
|
17
|
-
Connects and orchestrates with relevant domain skills like `brainstorming`, `zero-to-prod-orchestrator`, and `
|
|
18
|
+
Connects and orchestrates with relevant domain skills like `brainstorming`, `zero-to-prod-orchestrator`, and `session-memory-manager` to ensure cohesive execution.
|
|
18
19
|
|
|
19
20
|
### Description
|
|
20
21
|
Expert-level TypeScript development covering the advanced type system, strict mode enforcement, generic programming, utility types, branded types, and type-safe patterns for production applications. Targets **TypeScript 5.8+** features including inferred type predicates, isolated declarations, `NoInfer`, `using` declarations, variadic tuple improvements, and `const` type parameters.
|
|
@@ -303,7 +304,7 @@ config.port.toFixed(2); // Works! Literal type preserved.
|
|
|
303
304
|
## Bahasa Indonesia
|
|
304
305
|
|
|
305
306
|
### Integrasi Orkestrasi
|
|
306
|
-
Terhubung dan mengorkestrasi skill domain yang relevan seperti `brainstorming`, `zero-to-prod-orchestrator`, dan `
|
|
307
|
+
Terhubung dan mengorkestrasi skill domain yang relevan seperti `brainstorming`, `zero-to-prod-orchestrator`, dan `session-memory-manager` untuk memastikan eksekusi yang kohesif.
|
|
307
308
|
|
|
308
309
|
### Deskripsi
|
|
309
310
|
Panduan TypeScript level ahli mencakup sistem tipe tingkat lanjut, penerapan strict mode, pemrograman generik, utility types, branded types, dan pola type-safe untuk aplikasi produksi. Menargetkan fitur **TypeScript 5.8+** termasuk inferred type predicates, isolated declarations, `NoInfer`, deklarasi `using`, peningkatan variadic tuple, dan parameter tipe `const`.
|
|
@@ -327,4 +328,4 @@ Panduan TypeScript level ahli mencakup sistem tipe tingkat lanjut, penerapan str
|
|
|
327
328
|
- **Zod**: Validasi data eksternal dan turunkan tipe TypeScript dari schema Zod.
|
|
328
329
|
- **Hindari `as any`**: Gunakan `unknown` dengan narrowing atau Zod untuk data yang tidak diketahui tipenya.
|
|
329
330
|
- **`satisfies` operator**: Validasi objek terhadap tipe tanpa melebarkan tipe yang diinferensi.
|
|
330
|
-
- **`moduleResolution: Bundler`**: Gunakan untuk proyek Next.js/Vite; `NodeNext` untuk Node.js/Bun backend.
|
|
331
|
+
- **`moduleResolution: Bundler`**: Gunakan untuk proyek Next.js/Vite; `NodeNext` untuk Node.js/Bun backend.
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ui-ux-pro-max
|
|
3
3
|
description: "Comprehensive design guide & BM25 search engine for web and mobile applications across 11 tech stacks / Panduan desain komprehensif & mesin pencari BM25 untuk aplikasi web dan mobile di 11 tech stack."
|
|
4
|
-
author: "Roedy Rustam"
|
|
4
|
+
author: "Roedy Rustam"
|
|
5
|
+
version: "3.0.0"
|
|
5
6
|
---
|
|
6
7
|
|
|
7
8
|
# UI/UX Pro Max - Design Intelligence System
|
|
@@ -14,7 +15,7 @@ author: "Roedy Rustam"
|
|
|
14
15
|
## English
|
|
15
16
|
|
|
16
17
|
### Orchestration & Integration
|
|
17
|
-
Connects and orchestrates with relevant domain skills like `brainstorming`, `zero-to-prod-orchestrator`, and `
|
|
18
|
+
Connects and orchestrates with relevant domain skills like `brainstorming`, `zero-to-prod-orchestrator`, and `session-memory-manager` to ensure cohesive execution.
|
|
18
19
|
|
|
19
20
|
### Description
|
|
20
21
|
UI/UX Pro Max is a comprehensive design intelligence engine equipped with an offline BM25 search index covering color palettes, typography, responsive patterns, icon sets, chart recommendations, UX guidelines, **Material Design 3 (M3)**, and stack-specific best practices across **11 technology stacks**.
|
|
@@ -58,7 +59,7 @@ python scripts/search.py "<query>" --domain <domain> --max-results 3
|
|
|
58
59
|
- `icons`: Icon usage guidance, SVG libraries (Lucide, Heroicons), and code imports
|
|
59
60
|
- `react`: React & Next.js performance optimizations, re-render fixes & dynamic imports
|
|
60
61
|
- `web`: Web interface guidelines (ARIA, focus traps, virtual list, form inputs)
|
|
61
|
-
- `m3`: Material Design 3 specific design tokens, color roles, elevation, and component specs
|
|
62
|
+
- `m3`: Material Design 3 specific design tokens, color roles, elevation, and component specs
|
|
62
63
|
- `preset-monday`: Monday.com spacious SaaS aesthetic (Vibrant Blue `#0073ea`, Clean White `#FFFFFF` + Light Grays `#F9F9F9`/`#F5F6F8`, Dark Footer `#111111`, Figtree/Inter fonts, 12-16px card radius, 80-120px vertical spacing)
|
|
63
64
|
|
|
64
65
|
*Example:* `python scripts/search.py "fintech dark theme" --domain color`
|
|
@@ -117,7 +118,7 @@ python scripts/search.py "<query>" --stack <stack> --max-results 3
|
|
|
117
118
|
## Bahasa Indonesia
|
|
118
119
|
|
|
119
120
|
### Integrasi Orkestrasi
|
|
120
|
-
Terhubung dan mengorkestrasi skill domain yang relevan seperti `brainstorming`, `zero-to-prod-orchestrator`, dan `
|
|
121
|
+
Terhubung dan mengorkestrasi skill domain yang relevan seperti `brainstorming`, `zero-to-prod-orchestrator`, dan `session-memory-manager` untuk memastikan eksekusi yang kohesif.
|
|
121
122
|
|
|
122
123
|
### Deskripsi
|
|
123
124
|
UI/UX Pro Max adalah mesin kecerdasan desain komprehensif yang dilengkapi indeks pencarian BM25 offline. Mencakup palet warna, tipografi, pola tata letak responsif, rekomendasi ikon, grafik visualisasi data, pedoman UX, **Material Design 3 (M3)**, serta praktik terbaik untuk **11 tumpukan teknologi (technology stacks)**.
|
|
@@ -160,7 +161,7 @@ python scripts/search.py "<kueri>" --domain <domain> --max-results 3
|
|
|
160
161
|
- `icons`: Panduan penggunaan ikon, pustaka SVG (Lucide, Heroicons), & import kode
|
|
161
162
|
- `react`: Optimasi performa React & Next.js, perbaikan re-render & dynamic import
|
|
162
163
|
- `web`: Pedoman antarmuka web (ARIA, focus trap, virtual list, input form)
|
|
163
|
-
- `m3`: Token desain spesifik Material Design 3, peran warna, elevasi, dan spesifikasi komponen
|
|
164
|
+
- `m3`: Token desain spesifik Material Design 3, peran warna, elevasi, dan spesifikasi komponen
|
|
164
165
|
- `preset-monday`: Estetika SaaS lapang ala Monday.com (Biru Cerah `#0073ea`, Putih Bersih `#FFFFFF` + Abu-abu Terang `#F9F9F9`/`#F5F6F8`, Footer Gelap `#111111`, font Figtree/Inter, radius kartu 12-16px, jarak seksi vertikal 80-120px)
|
|
165
166
|
|
|
166
167
|
*Contoh:* `python scripts/search.py "fintech dark theme" --domain color`
|
|
@@ -221,4 +222,4 @@ This generated image MUST be explicitly used as:
|
|
|
221
222
|
2. The website favicon (`favicon.ico` or equivalent).
|
|
222
223
|
3. The Open Graph (OG) image for SEO metadata (`og:image`).
|
|
223
224
|
|
|
224
|
-
Do not use placeholders for these assets. Generate and integrate them automatically.
|
|
225
|
+
Do not use placeholders for these assets. Generate and integrate them automatically.
|
|
@@ -1,208 +1,209 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: vector-db-rag-expert
|
|
3
|
-
description: "Expert guide for high-performance Vector Databases, Deep RAG architectures, pgvector 0.8+ HNSW, Reciprocal Rank Fusion (RRF), Cross-Encoder Re-ranking, and Late Chunking / Panduan ahli Vector DB, arsitektur Deep RAG, pgvector HNSW, RRF, dan Re-ranking."
|
|
4
|
-
author: "Roedy Rustam"
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
import {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
*
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
d.
|
|
70
|
-
|
|
71
|
-
COALESCE(1.0 / (${k} +
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
LEFT JOIN
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
- [ ]
|
|
109
|
-
- [ ]
|
|
110
|
-
- [ ]
|
|
111
|
-
- [ ]
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
import {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
d.
|
|
165
|
-
|
|
166
|
-
COALESCE(1.0 / (${k} +
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
LEFT JOIN
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
- [ ]
|
|
203
|
-
- [ ]
|
|
204
|
-
- [ ]
|
|
205
|
-
- [ ]
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
1
|
+
---
|
|
2
|
+
name: vector-db-rag-expert
|
|
3
|
+
description: "Expert guide for high-performance Vector Databases, Deep RAG architectures, pgvector 0.8+ HNSW, Reciprocal Rank Fusion (RRF), Cross-Encoder Re-ranking, and Late Chunking / Panduan ahli Vector DB, arsitektur Deep RAG, pgvector HNSW, RRF, dan Re-ranking."
|
|
4
|
+
author: "Roedy Rustam"
|
|
5
|
+
version: "3.0.0"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Vector DB & Deep RAG Expert (2026 Edition)
|
|
9
|
+
|
|
10
|
+
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<a name="english"></a>
|
|
15
|
+
## English
|
|
16
|
+
|
|
17
|
+
### Purpose & Overview
|
|
18
|
+
Production-grade architectural guide for Vector Databases (PostgreSQL `pgvector 0.8+`, Qdrant, LanceDB, Pinecone), Deep RAG indexing strategies, HNSW iterative search, **Reciprocal Rank Fusion (RRF)** hybrid retrieval, **Cross-Encoder Re-ranking** (Cohere Rerank v3, FlashRank, BGE-Reranker-v2), and **Late Chunking** to eliminate context fragmentation.
|
|
19
|
+
|
|
20
|
+
### Key Capabilities
|
|
21
|
+
1. **pgvector 0.8+ & HNSW Indexing**: High-dimensional vector storage, cosine/inner-product/L2 distance metric tuning, and iterative HNSW index scans with metadata filtering.
|
|
22
|
+
2. **Reciprocal Rank Fusion (RRF)**: Combining sparse keyword BM25 ranks with dense semantic vector ranks using $RRF(d) = \sum \frac{1}{k + rank(d)}$, far outperforming naive linear score weighting.
|
|
23
|
+
3. **Cross-Encoder Re-ranking**: Two-stage retrieval pipeline: retrieve Top-50 candidates via fast hybrid search, then re-rank down to Top-5 using a cross-encoder model to maximize NDCG@10.
|
|
24
|
+
4. **Late Chunking & Contextual Retrieval**: Embed long-context documents in full before pooling token embeddings into individual chunks, preserving document-level semantics across boundaries.
|
|
25
|
+
5. **RAG Evaluation**: Continuous retrieval precision and hallucination scoring using automated eval harnesses (Ragas, TruLens, DeepEval).
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
### Production Implementation Recipes
|
|
30
|
+
|
|
31
|
+
#### Recipe 1: Reciprocal Rank Fusion (RRF) Hybrid Search with Drizzle ORM
|
|
32
|
+
```typescript
|
|
33
|
+
import { sql } from 'drizzle-orm';
|
|
34
|
+
import { db } from '@/lib/db';
|
|
35
|
+
|
|
36
|
+
export interface SearchResult {
|
|
37
|
+
id: string;
|
|
38
|
+
content: string;
|
|
39
|
+
score: number;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Executes Reciprocal Rank Fusion (RRF) combining BM25 keyword search and pgvector HNSW
|
|
44
|
+
* k = 60 is the industry standard constant
|
|
45
|
+
*/
|
|
46
|
+
export async function reciprocalRankFusionSearch(
|
|
47
|
+
queryVector: number[],
|
|
48
|
+
queryText: string,
|
|
49
|
+
limit = 10,
|
|
50
|
+
k = 60
|
|
51
|
+
): Promise<SearchResult[]> {
|
|
52
|
+
const formattedVector = JSON.stringify(queryVector);
|
|
53
|
+
|
|
54
|
+
const results = await db.execute(sql`
|
|
55
|
+
WITH vector_matches AS (
|
|
56
|
+
SELECT id, ROW_NUMBER() OVER (ORDER BY embedding <=> ${formattedVector}::vector) AS rank
|
|
57
|
+
FROM documents
|
|
58
|
+
WHERE status = 'published'
|
|
59
|
+
ORDER BY embedding <=> ${formattedVector}::vector
|
|
60
|
+
LIMIT 50
|
|
61
|
+
),
|
|
62
|
+
text_matches AS (
|
|
63
|
+
SELECT id, ROW_NUMBER() OVER (ORDER BY ts_rank_cd(fts, websearch_to_tsquery('english', ${queryText})) DESC) AS rank
|
|
64
|
+
FROM documents
|
|
65
|
+
WHERE fts @@ websearch_to_tsquery('english', ${queryText})
|
|
66
|
+
LIMIT 50
|
|
67
|
+
)
|
|
68
|
+
SELECT
|
|
69
|
+
d.id,
|
|
70
|
+
d.content,
|
|
71
|
+
COALESCE(1.0 / (${k} + v.rank), 0.0) +
|
|
72
|
+
COALESCE(1.0 / (${k} + t.rank), 0.0) AS rrf_score
|
|
73
|
+
FROM documents d
|
|
74
|
+
LEFT JOIN vector_matches v ON d.id = v.id
|
|
75
|
+
LEFT JOIN text_matches t ON d.id = t.id
|
|
76
|
+
WHERE v.id IS NOT NULL OR t.id IS NOT NULL
|
|
77
|
+
ORDER BY rrf_score DESC
|
|
78
|
+
LIMIT ${limit};
|
|
79
|
+
`);
|
|
80
|
+
|
|
81
|
+
return results.rows as unknown as SearchResult[];
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
#### Recipe 2: Two-Stage Re-Ranking Pipeline with FlashRank (Node.js / TypeScript)
|
|
86
|
+
```typescript
|
|
87
|
+
import { FlashRankRegistry } from 'flashrank';
|
|
88
|
+
|
|
89
|
+
const ranker = new FlashRankRegistry();
|
|
90
|
+
|
|
91
|
+
export async function rerankCandidates(query: string, candidates: { id: string; text: string }[], topN = 5) {
|
|
92
|
+
const passages = candidates.map(c => ({ id: c.id, text: c.text }));
|
|
93
|
+
|
|
94
|
+
// Ultra-fast client/server cross-encoder re-ranking
|
|
95
|
+
const reranked = await ranker.rerank({
|
|
96
|
+
query,
|
|
97
|
+
passages,
|
|
98
|
+
model: 'ms-marco-TinyBERT-L-2-v2', // Lightweight, 2ms latency
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
return reranked.slice(0, topN);
|
|
102
|
+
}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
### Implementation Checklist
|
|
108
|
+
- [ ] Create `HNSW` index in PostgreSQL: `CREATE INDEX ON documents USING hnsw (embedding vector_cosine_ops) WITH (m = 16, ef_construction = 64);`
|
|
109
|
+
- [ ] Configure `hnsw.ef_search = 100` for high-recall queries during production traffic.
|
|
110
|
+
- [ ] Implement Reciprocal Rank Fusion (RRF) with constant `k = 60` instead of arbitrary linear weighting.
|
|
111
|
+
- [ ] Add a Cross-Encoder Re-ranker step before injecting retrieved chunks into the LLM system prompt.
|
|
112
|
+
- [ ] Apply Late Chunking or Contextual Chunking to retain parent document continuity.
|
|
113
|
+
|
|
114
|
+
## Orchestration & Integration
|
|
115
|
+
- Integrates with: `ai-llm-integration-expert`, `database-orm-expert`, `ai-cost-token-optimizer`, `app-analyzer-optimizer`.
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
<a name="bahasa-indonesia"></a>
|
|
120
|
+
## Bahasa Indonesia
|
|
121
|
+
|
|
122
|
+
### Deskripsi
|
|
123
|
+
Panduan arsitektur tingkat produksi untuk Vector Database (PostgreSQL `pgvector 0.8+`, Qdrant, LanceDB, Pinecone), arsitektur Deep RAG modern, pencarian HNSW iteratif, **Reciprocal Rank Fusion (RRF)** hybrid retrieval, **Cross-Encoder Re-ranking** (Cohere Rerank v3, FlashRank, BGE-Reranker-v2), dan **Late Chunking** untuk mencegah fragmentasi konteks.
|
|
124
|
+
|
|
125
|
+
### Fitur Utama
|
|
126
|
+
1. **pgvector 0.8+ & Indeks HNSW**: Penyimpanan vektor dimensi tinggi, tuning metrik jarak (cosine/inner-product/L2), dan pemindaian HNSW iteratif dengan filter metadata.
|
|
127
|
+
2. **Reciprocal Rank Fusion (RRF)**: Menggabungkan peringkat kata kunci BM25 dengan peringkat semantik vektor menggunakan rumus $RRF(d) = \sum \frac{1}{k + rank(d)}$, jauh lebih akurat daripada pembobotan linear biasa.
|
|
128
|
+
3. **Cross-Encoder Re-ranking**: Pipeline retrieval 2 tahap: ambil 50 kandidat teratas melalui pencarian hybrid, lalu urutkan ulang menjadi 5 dokumen paling relevan menggunakan model cross-encoder.
|
|
129
|
+
4. **Late Chunking**: Melakukan embedding dokumen secara utuh dalam transformer sebelum memecahnya menjadi chunk-chunk terpisah, mempertahankan makna global dokumen.
|
|
130
|
+
5. **Evaluasi RAG**: Pengukuran presisi retrieval dan deteksi halusinasi secara otomatis (Ragas, TruLens, DeepEval).
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
### Resep Implementasi Produksi
|
|
135
|
+
|
|
136
|
+
#### Resep 1: Pencarian Hybrid RRF dengan Drizzle ORM
|
|
137
|
+
```typescript
|
|
138
|
+
import { sql } from 'drizzle-orm';
|
|
139
|
+
import { db } from '@/lib/db';
|
|
140
|
+
|
|
141
|
+
export async function cariDokumenRRF(
|
|
142
|
+
queryVector: number[],
|
|
143
|
+
queryText: string,
|
|
144
|
+
limit = 10,
|
|
145
|
+
k = 60
|
|
146
|
+
) {
|
|
147
|
+
const vectorStr = JSON.stringify(queryVector);
|
|
148
|
+
|
|
149
|
+
const hasil = await db.execute(sql`
|
|
150
|
+
WITH vector_matches AS (
|
|
151
|
+
SELECT id, ROW_NUMBER() OVER (ORDER BY embedding <=> ${vectorStr}::vector) AS rank
|
|
152
|
+
FROM documents
|
|
153
|
+
WHERE status = 'published'
|
|
154
|
+
ORDER BY embedding <=> ${vectorStr}::vector
|
|
155
|
+
LIMIT 50
|
|
156
|
+
),
|
|
157
|
+
text_matches AS (
|
|
158
|
+
SELECT id, ROW_NUMBER() OVER (ORDER BY ts_rank_cd(fts, websearch_to_tsquery('english', ${queryText})) DESC) AS rank
|
|
159
|
+
FROM documents
|
|
160
|
+
WHERE fts @@ websearch_to_tsquery('english', ${queryText})
|
|
161
|
+
LIMIT 50
|
|
162
|
+
)
|
|
163
|
+
SELECT
|
|
164
|
+
d.id,
|
|
165
|
+
d.content,
|
|
166
|
+
COALESCE(1.0 / (${k} + v.rank), 0.0) +
|
|
167
|
+
COALESCE(1.0 / (${k} + t.rank), 0.0) AS skor_rrf
|
|
168
|
+
FROM documents d
|
|
169
|
+
LEFT JOIN vector_matches v ON d.id = v.id
|
|
170
|
+
LEFT JOIN text_matches t ON d.id = t.id
|
|
171
|
+
WHERE v.id IS NOT NULL OR t.id IS NOT NULL
|
|
172
|
+
ORDER BY skor_rrf DESC
|
|
173
|
+
LIMIT ${limit};
|
|
174
|
+
`);
|
|
175
|
+
|
|
176
|
+
return hasil.rows;
|
|
177
|
+
}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
#### Resep 2: Pipeline Re-Ranking dengan FlashRank (Node.js / TypeScript)
|
|
181
|
+
```typescript
|
|
182
|
+
import { FlashRankRegistry } from 'flashrank';
|
|
183
|
+
|
|
184
|
+
const ranker = new FlashRankRegistry();
|
|
185
|
+
|
|
186
|
+
export async function susunUlangKandidat(kueri: string, kandidat: { id: string; text: string }[], topN = 5) {
|
|
187
|
+
const passages = kandidat.map(c => ({ id: c.id, text: c.text }));
|
|
188
|
+
|
|
189
|
+
const hasilRerank = await ranker.rerank({
|
|
190
|
+
query: kueri,
|
|
191
|
+
passages,
|
|
192
|
+
model: 'ms-marco-TinyBERT-L-2-v2',
|
|
193
|
+
});
|
|
194
|
+
|
|
195
|
+
return hasilRerank.slice(0, topN);
|
|
196
|
+
}
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
### Checklist Implementasi
|
|
202
|
+
- [ ] Buat indeks `HNSW` di PostgreSQL: `CREATE INDEX ON documents USING hnsw (embedding vector_cosine_ops) WITH (m = 16, ef_construction = 64);`
|
|
203
|
+
- [ ] Konfigurasikan `hnsw.ef_search = 100` untuk kueri dengan recall tinggi di lingkungan produksi.
|
|
204
|
+
- [ ] Terapkan Reciprocal Rank Fusion (RRF) dengan konstanta `k = 60` alih-alih pembobotan linear manual.
|
|
205
|
+
- [ ] Tambahkan langkah Cross-Encoder Re-ranker sebelum menyuntikkan konteks ke prompt LLM.
|
|
206
|
+
- [ ] Terapkan Late Chunking agar konteks dokumen utuh tidak hilang saat dipotong.
|
|
207
|
+
|
|
208
|
+
## Integrasi Orkestrasi
|
|
209
|
+
- Terintegrasi dengan: `ai-llm-integration-expert`, `database-orm-expert`, `ai-cost-token-optimizer`, `app-analyzer-optimizer`.
|