vibes-plug 2.11.0 → 2.14.1

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 (69) hide show
  1. package/.cursor/rules/vibes-plug-core.mdc +3 -3
  2. package/.cursorrules +3 -3
  3. package/AGENTS.md +4 -4
  4. package/BLUEPRINT.md +16 -6
  5. package/CHANGELOG.md +37 -0
  6. package/CLAUDE.md +8 -8
  7. package/README.md +85 -115
  8. package/index.js +1 -1
  9. package/package.json +2 -2
  10. package/plugin.json +2 -2
  11. package/scripts/check-anti-slop.js +53 -0
  12. package/scripts/generate_swarm_gif.py +2 -2
  13. package/skills/ai-llm-integration-expert/SKILL.md +22 -15
  14. package/skills/ai-prompt-engineering-expert/SKILL.md +133 -83
  15. package/skills/anti-slop/SKILL.md +133 -0
  16. package/skills/async-queue-temporal-expert/SKILL.md +135 -158
  17. package/skills/authentication-identity-expert/SKILL.md +172 -278
  18. package/skills/brainstorming/SKILL.md +26 -26
  19. package/skills/database-orm-expert/SKILL.md +164 -303
  20. package/skills/deep-research-analyst/SKILL.md +136 -0
  21. package/skills/design-system-architect/SKILL.md +31 -1
  22. package/skills/email-notification-expert/SKILL.md +31 -4
  23. package/skills/error-resilience-expert/SKILL.md +21 -0
  24. package/skills/fullstack-expert/SKILL.md +183 -260
  25. package/skills/glsl-shader-expert/SKILL.md +190 -107
  26. package/skills/graph-rag-knowledge-expert/SKILL.md +42 -1
  27. package/skills/mcp-server-architect/SKILL.md +15 -1
  28. package/skills/prd-architect/SKILL.md +181 -206
  29. package/skills/production-ready-hardener/SKILL.md +16 -19
  30. package/skills/pwa-offline-first-expert/SKILL.md +42 -1
  31. package/skills/pydantic-ai-expert/SKILL.md +161 -0
  32. package/skills/saas-architect/SKILL.md +154 -0
  33. package/skills/senior-frontend/SKILL.md +9 -11
  34. package/skills/senior-frontend/scripts/frontend_scaffolder.py +1 -1
  35. package/skills/session-memory-manager/SKILL.md +128 -0
  36. package/skills/synthetic-data-finetuning-expert/SKILL.md +155 -0
  37. package/skills/ui-ux-pro-max/SKILL.md +4 -2
  38. package/skills/vercel-ai-sdk-expert/SKILL.md +181 -0
  39. package/skills/voice-ai-realtime-agent/SKILL.md +41 -1
  40. package/skills/web-3d-graphics-expert/SKILL.md +313 -137
  41. package/skills/web-game-engine-expert/SKILL.md +329 -102
  42. package/skills/webxr-ar-vr-expert/SKILL.md +162 -123
  43. package/skills/zero-to-prod-orchestrator/SKILL.md +26 -24
  44. package/skills/ai-cost-token-optimizer/SKILL.md +0 -82
  45. package/skills/ai-evals-benchmark-expert/SKILL.md +0 -188
  46. package/skills/asisten-ramah/SKILL.md +0 -47
  47. package/skills/auto-doc-updater/SKILL.md +0 -220
  48. package/skills/autonomous-chaos-monkey/SKILL.md +0 -63
  49. package/skills/background-jobs-queue-expert/SKILL.md +0 -235
  50. package/skills/database-migration-versioning-expert/SKILL.md +0 -90
  51. package/skills/edge-serverless-db-expert/SKILL.md +0 -99
  52. package/skills/mcp-client-orchestrator/SKILL.md +0 -76
  53. package/skills/mobile-push-notification-expert/SKILL.md +0 -71
  54. package/skills/monday-design-aesthetic/SKILL.md +0 -73
  55. package/skills/project-context-mapper/SKILL.md +0 -85
  56. package/skills/saas-mvp-launcher/SKILL.md +0 -260
  57. package/skills/saas-transformer/SKILL.md +0 -500
  58. package/skills/saas-transformer/references/billing_integration_guide.md +0 -401
  59. package/skills/self-evolving-memory-graph/SKILL.md +0 -91
  60. package/skills/session-context-loader/SKILL.md +0 -83
  61. package/skills/session-handoff-resume/SKILL.md +0 -164
  62. package/skills/skill-baru/SKILL.md +0 -178
  63. package/skills/supabase-migration/SKILL.md +0 -91
  64. package/skills/token-saver/SKILL.md +0 -119
  65. package/skills/ui-components-expert/SKILL.md +0 -166
  66. package/skills/vibe-code-gardener/SKILL.md +0 -181
  67. /package/skills/{saas-transformer → saas-architect}/references/feature_gating_patterns.md +0 -0
  68. /package/skills/{saas-transformer → saas-architect}/references/saas_transformation_checklist.md +0 -0
  69. /package/skills/{saas-transformer → saas-architect}/scripts/saas_transformation_scanner.py +0 -0
@@ -215,6 +215,30 @@ import { Dialog, Button, Select } from '@base-ui-components/react';
215
215
  </Dialog.Root>
216
216
  ```
217
217
 
218
+ ### The 4 Pillars of UI Components Catalog
219
+
220
+ #### 1. Input Controls (Buttons, Inputs, Selects)
221
+ - **Visual States**: Explicitly define `default`, `hover`, `active`, `focus`, `disabled`, and `error`.
222
+ - **Validation**: Display inline validation on blur using `aria-invalid` and `aria-describedby` (React Hook Form + Zod).
223
+ - **Touch Targets**: Minimum 44×44px (WCAG 2.5.8), M3 recommends 48×48px.
224
+ - **M3 Integration**: Use M3 button tiers (Filled, Tonal, Elevated, Outlined, Text) and FABs for primary actions.
225
+
226
+ #### 2. Navigation (Navbars, Tabs, Command Palettes)
227
+ - **Command Palette**: Add `⌘K` command menu via `cmdk`.
228
+ - **Responsive Layout**: Bottom nav (<768px), collapsible rail (tablet), full sidebar (desktop).
229
+ - **Smooth Page Transitions**: In Next.js 15, leverage `<Link viewTransition>` for layout morphing.
230
+ - **Active State**: Clear high-contrast indicator with `role="navigation"` and `aria-current="page"`.
231
+
232
+ #### 3. Information & Feedback (Toasts, Skeletons, Empty States)
233
+ - **Toasts**: Use **Sonner**; cap at max 3 concurrent visible toasts. Auto-dismiss success, keep errors persistent.
234
+ - **Loading UX**: Use layout-matching Skeletons over spinners to eliminate Cumulative Layout Shift (CLS).
235
+ - **Empty States**: Clear illustration, contextual message, and primary CTA.
236
+
237
+ #### 4. Containers & Layout (Cards, Modals, Sheets)
238
+ - **Modals & Dialogs**: Radix UI / Base UI Dialog with automatic focus trapping and background scroll lock.
239
+ - **Sheets / Drawers**: Bottom sheet for mobile secondary actions; side sheet on desktop.
240
+ - **Cards**: Flat border or subtle shadow (`shadow-sm`); avoid heavy drop shadows in light mode.
241
+
218
242
  ### WCAG 2.2 Accessibility Checklist
219
243
  - [ ] All interactive elements have visible focus indicators (`ring-2`).
220
244
  - [ ] Color contrast ≥ 4.5:1 (text), ≥ 3:1 (large text / UI components).
@@ -266,6 +290,12 @@ shadcn/ui v2 memperkenalkan sistem registry — distribusikan komponen Anda seba
266
290
  ### Base UI 1.x — Primitif Aksesibilitas Tanpa Gaya
267
291
  Base UI (dari tim MUI) adalah alternatif Radix UI untuk 2026 dengan dukungan native React 19. Sepenuhnya tanpa gaya — terapkan className/Tailwind apapun.
268
292
 
293
+ ### Katalog 4 Pilar Komponen UI
294
+ 1. **Input Controls (Tombol, Input, Select)**: Definisikan status visual (`default`, `hover`, `active`, `focus`, `disabled`, `error`). Tampilkan validasi inline on-blur (`aria-invalid`, `aria-describedby` via React Hook Form + Zod). Target sentuh minimal 44x44px.
295
+ 2. **Navigasi (Navbar, Tab, Command Palette)**: Sediakan menu perintah `⌘K` dengan `cmdk`. Layout responsif (navigasi bawah di mobile, rail di tablet, sidebar penuh di desktop). Transisi halaman halus via `<Link viewTransition>` di Next.js 15.
296
+ 3. **Informasi & Feedback (Toast, Skeleton, Empty State)**: Gunakan **Sonner** untuk toast (maksimal 3 bersamaan). Gunakan Skeleton sesuai tata letak untuk mencegah CLS dibanding spinner.
297
+ 4. **Wadah & Layout (Card, Modal, Sheet)**: Dialog/Modal dengan penguncian scroll dan focus trapping otomatis (Base UI/Radix). Gunakan bottom sheet di mobile dan side sheet di desktop.
298
+
269
299
  ### Checklist Aksesibilitas WCAG 2.2
270
300
  - Semua elemen interaktif memiliki indikator fokus yang terlihat.
271
301
  - Kontras warna ≥ 4.5:1 (teks), ≥ 3:1 (komponen UI).
@@ -276,4 +306,4 @@ Base UI (dari tim MUI) adalah alternatif Radix UI untuk 2026 dengan dukungan nat
276
306
 
277
307
 
278
308
  ## Orchestration & Integration
279
- - Integrates with frontend orchestrators, Tailwind v4, Base UI, and shadcn/ui.
309
+ - Integrates with frontend orchestrators, Tailwind v4, Base UI, and shadcn/ui.
@@ -295,6 +295,29 @@ export async function POST(request: Request) {
295
295
 
296
296
  ---
297
297
 
298
+ ### 7. Mobile Push Notifications & iOS Live Activities
299
+
300
+ ```typescript
301
+ import * as Notifications from 'expo-notifications';
302
+
303
+ // Register for push tokens (Expo Push / FCM / APNs)
304
+ export async function registerForPushNotificationsAsync() {
305
+ const { status: existingStatus } = await Notifications.getPermissionsAsync();
306
+ let finalStatus = existingStatus;
307
+ if (existingStatus !== 'granted') {
308
+ const { status } = await Notifications.requestPermissionsAsync();
309
+ finalStatus = status;
310
+ }
311
+ if (finalStatus !== 'granted') return null;
312
+ return (await Notifications.getExpoPushTokenAsync()).data;
313
+ }
314
+ ```
315
+ - **Expo Push & FCM**: Send batched push notifications with deep links, actions, and custom data payloads.
316
+ - **iOS Live Activities / Dynamic Island**: Update real-time status (orders, deliveries, live events) using ActivityKit.
317
+ - **Push Token Lifecycle**: Save push tokens to database associated with `userId`; handle token rotation and app reinstall events.
318
+
319
+ ---
320
+
298
321
  ### Common Pitfalls to Avoid
299
322
 
300
323
  | Anti-Pattern | Problem | Correct Approach |
@@ -349,6 +372,11 @@ Aktifkan skill ini ketika:
349
372
 
350
373
  **Rekomendasi**: Gunakan **Resend** untuk kebanyakan proyek baru (DX terbaik dengan React Email). Gunakan **Postmark** untuk email transaksional misi-kritis. Gunakan **AWS SES** untuk optimasi biaya volume tinggi (10k+/hari).
351
374
 
375
+ ### Notifikasi Push Mobile & iOS Live Activities
376
+ - **Expo Push & FCM**: Kirim notifikasi push masal dengan payload kustom, aksi tombol, dan deep linking ke rute aplikasi (Expo Router).
377
+ - **iOS Live Activities**: Tampilkan status dinamis secara real-time pada Dynamic Island dan Lock Screen iOS menggunakan ActivityKit.
378
+ - **Siklus Hidup Push Token**: Simpan token push ke database per `userId` dan tangani event rotasi token saat instal ulang aplikasi.
379
+
352
380
  ### Kesalahan Umum yang Harus Dihindari
353
381
 
354
382
  | Anti-Pola | Masalah | Pendekatan yang Benar |
@@ -361,8 +389,7 @@ Aktifkan skill ini ketika:
361
389
  ### Integrasi dengan Skill Lain
362
390
 
363
391
  - `saas-billing` — Email kuitansi pembayaran, sekuens dunning gagal bayar
364
- - `saas-transformer` — Email undangan tim, notifikasi workspace
392
+ - `saas-architect` — Email undangan tim, notifikasi workspace
365
393
  - `authentication-identity-expert` — Email reset password, verifikasi email, kode MFA
366
- - `mobile-push-notification-expert` — Strategi notifikasi terpadu (email + push + in-app)
367
- - `async-queue-temporal-expert` — Worker antrean email dengan BullMQ/Inngest
368
- - `production-ready-hardener` — Audit deliverabilitas email sebelum peluncuran
394
+ - `async-queue-temporal-expert` — Worker antrean pengiriman email & push dengan BullMQ/Inngest
395
+ - `production-ready-hardener` — Audit deliverabilitas email sebelum peluncuran
@@ -411,6 +411,18 @@ worker.on('failed', async (job, err) => {
411
411
 
412
412
  ---
413
413
 
414
+ ### 7. Chaos Engineering & Automated Failure Injection Protocol
415
+
416
+ 1. **Chaos Injection**: Actively test system resilience by simulating network disruptions, killing database connections, and injecting artificial latency (500ms–5000ms) or dropped packets using Toxiproxy or mock network middleware.
417
+ 2. **Failure Observation**: Monitor application behavior under duress. Check whether the UI hangs, returns blank screens, or if connections leak.
418
+ 3. **Automated Resilience Hardening**:
419
+ - Implement Circuit Breakers around fragile external API dependencies.
420
+ - Add exponential backoff with full jitter to avoid thundering herds.
421
+ - Implement graceful degradation: render cached data or contextual fallback states rather than throwing unhandled exceptions.
422
+ 4. **Resilience Verification**: Re-run the disruption loop until all failure modes are safely caught, logged to Sentry, and recovered from automatically.
423
+
424
+ ---
425
+
414
426
  ### Common Pitfalls to Avoid
415
427
 
416
428
  | Anti-Pattern | Problem | Correct Approach |
@@ -466,6 +478,15 @@ Aktifkan skill ini ketika:
466
478
  | **Isolasi Kegagalan** | Komponen yang gagal tidak boleh menghancurkan seluruh halaman |
467
479
  | **Lacak Semuanya** | Setiap error yang tidak tertangani harus sampai ke sistem monitoring |
468
480
 
481
+ ### Protokol Chaos Engineering & Injeksi Kegagalan Otomatis
482
+ 1. **Injeksi Kekacauan (Chaos Injection)**: Uji ketahanan dengan sengaja memutuskan koneksi database, menyuntikkan latensi jaringan (Toxiproxy), atau membuang paket request ke API eksternal.
483
+ 2. **Observasi Kegagalan**: Periksa apakah UI macet, layar menjadi putih kosong, atau connection pool bocor saat dependensi bermasalah.
484
+ 3. **Hardening Ketahanan Otomatis**:
485
+ - Terapkan Circuit Breaker pada panggilan API eksternal yang rentan.
486
+ - Tambahkan retry dengan exponential backoff dan random jitter.
487
+ - Terapkan degradasi anggun (*graceful degradation*): sajikan data cache atau UI fallback alternatif.
488
+ 4. **Verifikasi Ketahanan**: Ulangi simulasi gangguan hingga sistem bertahan tanpa crash fatal dan seluruh error tercatat di Sentry.
489
+
469
490
  ### Kesalahan Umum yang Harus Dihindari
470
491
 
471
492
  | Anti-Pola | Masalah | Pendekatan yang Benar |
@@ -1,261 +1,184 @@
1
- ---
2
- name: fullstack-expert
3
- description: "Expert-level fullstack development guide covering multi-language (TypeScript, Python, Go, Rust), multi-framework (Next.js, FastAPI, Gin, Axum), API design, microservices, DevOps, and system design / Panduan fullstack tingkat ahli mencakup multi-bahasa (TypeScript, Python, Go, Rust), multi-framework (Next.js, FastAPI, Gin, Axum), desain API, microservices, DevOps, dan system design."
1
+ ---
2
+ name: fullstack-expert
3
+ description: "Expert-level fullstack development guide covering multi-language (TypeScript, Python, Go, Rust), API design (OpenAPI 3.1, gRPC), microservices, system design patterns, and polyglot architecture / Panduan fullstack tingkat ahli mencakup multi-bahasa, desain API, microservices, dan arsitektur polyglot."
4
4
  author: "Roedy Rustam"
5
- ---
6
-
7
- # Fullstack Expert (2026 Multi-Language Edition)
8
-
9
- [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
10
-
11
- ---
12
-
13
- <a name="english"></a>
14
- ## English
15
-
16
- ### Orchestration & Integration
17
- Connects and orchestrates with relevant domain skills like `brainstorming`, `zero-to-prod-orchestrator`, and `project-context-mapper` to ensure cohesive execution.
18
-
19
- ### Description
20
- Expert-level fullstack development across multiple languages and frameworks. Covers tech stack selection, API design (REST/gRPC/GraphQL), microservice architecture, DevOps, system design patterns, and AI-native backend integration for 2026.
21
-
22
- ### Trigger Conditions
23
- - Choosing the right language and framework for a new service or feature.
24
- - Designing APIs between services in a multi-language architecture.
25
- - Planning a microservices decomposition strategy.
26
- - Implementing system design patterns (event sourcing, CQRS, saga pattern).
27
- - Integrating AI agents or LLM capabilities into a backend system.
28
-
29
- ### 2026 Technology Matrix
30
-
31
- #### Frontend
32
- | Tool | Version | Notes |
33
- |---|---|---|
34
- | React | 19.x | Compiler, Server Actions, `use()` hook |
35
- | Next.js | 15.x | PPR, RSC, App Router stable |
36
- | Astro | 5.x | Islands architecture, MDX, SSG |
37
- | TanStack Router | 1.x | Type-safe SPA routing |
38
- | TanStack Start | Beta | Full-stack Vite + RSC patterns |
39
- | Nuxt | 4.x | Vue 3 SSR/SSG, stable |
40
- | SvelteKit | 2.x | Lightweight, edge-ready |
41
-
42
- #### Backend
43
- | Language | Framework | Best For |
44
- |---|---|---|
45
- | TypeScript | Hono, Fastify 5, NestJS | Serverless, edge, type-safe RPC |
46
- | Python | FastAPI 0.115+, Django 5 | AI/ML workloads, data pipelines |
47
- | Go | net/http (1.22+), Gin, Echo | High-throughput microservices, CLI |
48
- | Rust | Axum 0.8, Actix-web 4 | Performance-critical, WASM |
49
-
50
- #### AI & Agents
51
- | Tool | Role |
52
- |---|---|
53
- | Vercel AI SDK 5.x | Full-stack AI streaming, RSC |
54
- | Mastra.ai | TS-first agent framework |
55
- | LangGraph | Python stateful agent workflows |
56
- | OpenAI Agents SDK | GPT-5 native agents + handoffs |
57
- | Google ADK | Gemini-powered agents |
58
- | Mem0 / MemGPT | Long-term agent memory |
59
-
60
- #### Infrastructure
61
- | Category | Tools |
62
- |---|---|
63
- | Container | Docker, Podman |
64
- | Orchestration | Kubernetes, Railway, Fly.io |
65
- | CI/CD | GitHub Actions, Turborepo |
66
- | Observability | OpenTelemetry 1.x, Grafana, Langfuse |
67
- | Databases | PostgreSQL (primary), ClickHouse (analytics), Redis (cache), Qdrant (vector) |
68
-
69
- ### API Design Standards
70
-
71
- #### REST — OpenAPI 3.1
72
- ```yaml
73
- # openapi.yaml
74
- openapi: "3.1.0"
75
- info:
76
- title: "My SaaS API"
77
- version: "1.0.0"
78
- paths:
79
- /api/v1/workspaces/{id}:
80
- get:
81
- summary: "Get workspace by ID"
82
- parameters:
83
- - name: id
84
- in: path
85
- required: true
86
- schema: { type: string, format: uuid }
87
- responses:
88
- "200":
89
- content:
90
- application/json:
91
- schema: { $ref: "#/components/schemas/Workspace" }
92
- "404":
93
- content:
94
- application/json:
95
- schema: { $ref: "#/components/schemas/ProblemDetail" }
96
- ```
97
-
98
- #### gRPC — Protocol Buffers
99
- ```protobuf
100
- syntax = "proto3";
101
- package user.v1;
102
-
103
- service UserService {
104
- rpc GetUser (GetUserRequest) returns (User);
105
- rpc ListUsers (ListUsersRequest) returns (stream User); // Server streaming
106
- rpc CreateUser (CreateUserRequest) returns (User);
107
- }
108
-
109
- message User {
110
- string id = 1;
111
- string email = 2;
112
- string name = 3;
113
- repeated string workspace_ids = 4;
114
- }
115
- ```
116
-
117
- ### Microservice Patterns
118
-
119
- #### Event-Driven (Saga Pattern)
120
- ```
121
- Order Service ──publishes──> "order.created" ──> Payment Service
122
- │
123
- ┌──────┴──────┐
124
- success? failure?
125
- │ │
126
- "payment.succeeded" "payment.failed"
127
- │ │
128
- Inventory Service Order Service
129
- (reserve stock) (cancel order)
130
- ```
131
-
132
- #### CQRS (Command Query Responsibility Segregation)
133
- - **Write side**: Commands update the primary PostgreSQL database.
134
- - **Read side**: Events are projected into read-optimized views (denormalized tables or ClickHouse).
135
- - Use when read patterns are very different from write patterns.
136
-
137
- ### AI-Native Backend Integration (2026)
138
- ```typescript
139
- // Pattern: AI as a service within existing API
140
- import { generateObject } from 'ai';
141
- import { anthropic } from '@ai-sdk/anthropic';
142
- import { z } from 'zod';
143
-
144
- // AI endpoint that returns structured data
145
- app.post('/api/analyze', async (c) => {
146
- const { content } = await c.req.json();
147
-
148
- const { object } = await generateObject({
149
- model: anthropic('claude-4-sonnet'),
150
- schema: z.object({
151
- sentiment: z.enum(['positive', 'neutral', 'negative']),
152
- topics: z.array(z.string()),
153
- summary: z.string().max(200),
154
- }),
155
- prompt: `Analyze this content: ${content}`,
156
- });
157
-
158
- return c.json(object);
159
- });
160
- ```
161
-
162
- ### SPA vs SSR vs Static — Decision Guide
163
- ```
164
- SEO-critical + mostly read? → Next.js SSR / Astro 5 (static)
165
- Highly interactive dashboard? → SPA (TanStack Start / Vite + TanStack Router)
166
- → see spa-orchestrator skill for architecture details
167
- Mixed (marketing + app)? → Next.js 15 with hybrid routing
168
- Real-time data? → SSR + WebSocket or SSE streaming
169
- ```
170
-
171
- ### Monorepo with Shared Types
172
- ```typescript
173
- // packages/types/src/index.ts — single source of truth
174
- export interface User {
175
- id: string;
176
- email: string;
177
- name: string;
178
- plan: 'free' | 'pro' | 'enterprise';
179
- isSuperAdmin: boolean;
180
- }
181
-
182
- // apps/api & apps/web use the same type
183
- import type { User } from '@myapp/types';
184
- ```
185
-
186
- ### Security Checklist (Fullstack)
187
- - [ ] All user inputs validated with Zod on the server.
188
- - [ ] JWT secrets rotated every 90 days; use short expiry + refresh tokens.
189
- - [ ] CSP headers configured (no `unsafe-inline` in production).
190
- - [ ] All DB queries use parameterized queries.
191
- - [ ] Rate limiting on all public API endpoints.
192
- - [ ] Super Admin routes restricted to `admin.domain.com` with `isSuperAdmin` check.
193
-
194
- ### Code Review Standards
195
- - Functions < 30 lines; files < 300 lines.
196
- - No business logic in UI components.
197
- - Every PR includes relevant tests (unit or E2E).
198
- - No `any` types in TypeScript production code.
199
- - Dependencies audited with `pnpm audit` on every PR.
200
-
201
- ---
202
-
203
- <a name="bahasa-indonesia"></a>
204
- ## Bahasa Indonesia
205
-
206
- ### Integrasi Orkestrasi
207
- Terhubung dan mengorkestrasi skill domain yang relevan seperti `brainstorming`, `zero-to-prod-orchestrator`, dan `project-context-mapper` untuk memastikan eksekusi yang kohesif.
208
-
209
- ### Deskripsi
210
- Panduan pengembangan fullstack tingkat ahli di berbagai bahasa dan framework. Mencakup pemilihan tech stack, desain API (REST/gRPC/GraphQL), arsitektur microservice, DevOps, pola desain sistem, dan integrasi backend AI-native untuk 2026.
211
-
212
- ### Kondisi Pemicu
213
- - Memilih bahasa dan framework yang tepat untuk layanan atau fitur baru.
214
- - Merancang API antar layanan dalam arsitektur multi-bahasa.
215
- - Merencanakan strategi dekomposisi microservice.
216
- - Mengimplementasikan pola desain sistem (event sourcing, CQRS, saga pattern).
217
- - Mengintegrasikan agen AI atau kemampuan LLM ke dalam sistem backend.
218
-
219
- ### Matriks Teknologi 2026
220
-
221
- #### Frontend
222
- React 19 + Next.js 15 (default SaaS), Astro 5 (konten), TanStack Router (SPA), Nuxt 4 (Vue), SvelteKit 2.
223
-
224
- #### Backend
225
- TypeScript/Hono (serverless, edge), Python/FastAPI (AI/ML), Go/net/http (throughput tinggi), Rust/Axum (kritis performa).
226
-
227
- #### AI & Agen
228
- Vercel AI SDK 5.x, Mastra.ai, LangGraph, OpenAI Agents SDK, Google ADK, Mem0/MemGPT untuk memori agen jangka panjang.
229
-
230
- #### Infrastruktur
231
- Docker/Kubernetes, GitHub Actions + Turborepo, OpenTelemetry 1.x, Langfuse. Database: PostgreSQL (utama), ClickHouse (analitik), Redis (cache), Qdrant (vektor).
232
-
233
- ### Standar Desain API
234
- - **REST + OpenAPI 3.1**: Untuk API publik dengan beberapa konsumen.
235
- - **gRPC**: Untuk komunikasi antar layanan internal berkinerja tinggi.
236
- - **Hono RPC / tRPC**: Untuk komunikasi full-stack TypeScript type-safe tanpa codegen.
237
-
238
- ### Pola Microservice
239
-
240
- #### Event-Driven (Saga Pattern)
241
- Orkestrasi transaksi terdistribusi melalui event — setiap layanan mempublikasikan event setelah berhasil; kegagalan memicu kompensasi di seluruh rantai.
242
-
243
- #### CQRS
244
- Pisahkan sisi tulis (PostgreSQL) dari sisi baca (view terdenormalisasi atau ClickHouse) ketika pola baca sangat berbeda dari pola tulis.
245
-
246
- ### Integrasi Backend AI-Native (2026)
247
- Gunakan Vercel AI SDK `generateObject()` dengan skema Zod untuk mengintegrasikan kemampuan AI ke endpoint API yang ada — mengembalikan output terstruktur yang dijamin sesuai tipe.
248
-
249
- ### SPA vs SSR vs Static
250
- Gunakan SSR/Astro untuk situs kritis SEO dan banyak baca. Gunakan SPA (TanStack Start) untuk dashboard yang sangat interaktif. Gunakan Next.js 15 dengan routing hybrid untuk aplikasi campuran (marketing + app).
251
-
252
- ### Monorepo dengan Shared Types
253
- Definisikan interface dan tipe bersama di `packages/types` — digunakan oleh semua app (web, admin, api, mobile) sebagai single source of truth.
254
-
255
- ### Checklist Keamanan & Code Review
256
- - Input pengguna divalidasi Zod di server.
257
- - Header CSP dikonfigurasi & parameterized query untuk DB.
258
- - Rate limiting di semua endpoint publik.
259
- - Rute Super Admin dibatasi di subdomain dengan cek `isSuperAdmin`.
260
- - Tidak ada logika bisnis di komponen UI; wajib ada unit/E2E test pada PR.
261
- - Tidak ada tipe `any` pada kode TypeScript produksi.
5
+ ---
6
+
7
+ # Fullstack Expert (2026 Polyglot & Systems Edition)
8
+
9
+ [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
10
+
11
+ ---
12
+
13
+ <a name="english"></a>
14
+ ## English
15
+
16
+ ### Orchestration & Integration
17
+ Connects and orchestrates with domain skills like `brainstorming`, `zero-to-prod-orchestrator`, `senior-frontend`, `js-backend-expert`, `go-programming-expert`, `python-programming-expert`, and `rust-programming-expert`.
18
+
19
+ ### Description
20
+ Expert-level fullstack development across multiple languages and frameworks. Focuses on polyglot backend architectures, system design patterns (Event-Driven Saga, CQRS), API contracts (OpenAPI 3.1, gRPC), and monorepo shared types.
21
+
22
+ ### Trigger Conditions
23
+ - Choosing the right language and framework for a multi-service architecture.
24
+ - Designing API contracts (REST, gRPC, Hono RPC) between heterogeneous services.
25
+ - Implementing distributed system design patterns (Saga, CQRS).
26
+ - Setting up a polyglot monorepo with shared types across frontend and backend.
27
+
28
+ ---
29
+
30
+ ### 2026 Polyglot Architecture Matrix
31
+
32
+ > For comprehensive frontend UI architecture, see `senior-frontend` and `nextjs-app-router-expert`.
33
+ > For dedicated AI agent workflows and LLM integrations, see `ai-llm-integration-expert` and `multi-agent-orchestration`.
34
+
35
+ | Language | Primary Frameworks | Ideal Workloads |
36
+ |---|---|---|
37
+ | **TypeScript** | Hono, Fastify 5, NestJS | Serverless, Edge APIs, type-safe RPC |
38
+ | **Python** | FastAPI 0.115+, Django 5 | Data science, LLM orchestration, async queues |
39
+ | **Go** | net/http (Go 1.25+), Gin, Echo | Ultra-high throughput microservices, networking, CLIs |
40
+ | **Rust** | Axum 0.8, Actix-web 4 | High-performance compute, memory safety, WASM |
41
+
42
+ #### Infrastructure & Multi-Service Storage
43
+ - **Primary OLTP**: PostgreSQL with connection pooling (PgBouncer / Supavisor).
44
+ - **Analytics OLAP**: ClickHouse / DuckDB for high-speed aggregations.
45
+ - **Cache & Ephemeral State**: Redis / Upstash with TTL.
46
+ - **Vector Search**: pgvector or Qdrant for semantic search.
47
+
48
+ ---
49
+
50
+ ### API Design Standards
51
+
52
+ #### REST — OpenAPI 3.1
53
+ ```yaml
54
+ openapi: "3.1.0"
55
+ info:
56
+ title: "SaaS Multi-Service API"
57
+ version: "1.0.0"
58
+ paths:
59
+ /api/v1/workspaces/{id}:
60
+ get:
61
+ summary: "Get workspace by ID"
62
+ parameters:
63
+ - name: id
64
+ in: path
65
+ required: true
66
+ schema: { type: string, format: uuid }
67
+ responses:
68
+ "200":
69
+ content:
70
+ application/json:
71
+ schema: { $ref: "#/components/schemas/Workspace" }
72
+ "404":
73
+ content:
74
+ application/json:
75
+ schema: { $ref: "#/components/schemas/ProblemDetail" }
76
+ ```
77
+
78
+ #### gRPC — Protocol Buffers (`proto3`)
79
+ ```protobuf
80
+ syntax = "proto3";
81
+ package user.v1;
82
+
83
+ service UserService {
84
+ rpc GetUser (GetUserRequest) returns (User);
85
+ rpc ListUsers (ListUsersRequest) returns (stream User);
86
+ rpc CreateUser (CreateUserRequest) returns (User);
87
+ }
88
+
89
+ message User {
90
+ string id = 1;
91
+ string email = 2;
92
+ string name = 3;
93
+ repeated string workspace_ids = 4;
94
+ }
95
+ ```
96
+
97
+ ---
98
+
99
+ ### Microservice Patterns
100
+
101
+ #### Event-Driven (Saga Pattern with Compensations)
102
+ ```
103
+ Order Service ──publishes──> "order.created" ──> Payment Service
104
+ │
105
+ ┌──────┴──────┐
106
+ success? failure?
107
+ │ │
108
+ "payment.succeeded" "payment.failed"
109
+ │ │
110
+ Inventory Service Order Service
111
+ (reserve stock) (cancel order)
112
+ ```
113
+
114
+ #### CQRS (Command Query Responsibility Segregation)
115
+ - **Write side**: Commands validate and update the primary relational database.
116
+ - **Read side**: Events project into read-optimized denormalized views or ClickHouse tables for high-frequency queries.
117
+
118
+ ---
119
+
120
+ ### AI-Native Backend Integration
121
+ ```typescript
122
+ import { generateObject } from 'ai';
123
+ import { anthropic } from '@ai-sdk/anthropic';
124
+ import { z } from 'zod';
125
+
126
+ app.post('/api/analyze', async (c) => {
127
+ const { content } = await c.req.json();
128
+ const { object } = await generateObject({
129
+ model: anthropic('claude-3-7-sonnet-20250219'),
130
+ schema: z.object({
131
+ sentiment: z.enum(['positive', 'neutral', 'negative']),
132
+ topics: z.array(z.string()),
133
+ summary: z.string().max(200),
134
+ }),
135
+ prompt: `Analyze: ${content}`,
136
+ });
137
+ return c.json(object);
138
+ });
139
+ ```
140
+
141
+ ---
142
+
143
+ ### Monorepo with Shared Types
144
+ ```typescript
145
+ // packages/types/src/index.ts — single source of truth
146
+ export interface User {
147
+ id: string;
148
+ email: string;
149
+ name: string;
150
+ plan: 'free' | 'pro' | 'enterprise';
151
+ isSuperAdmin: boolean;
152
+ }
153
+ ```
154
+
155
+ ### Production Security Checklist
156
+ - [ ] User inputs validated with Zod / Pydantic on the server.
157
+ - [ ] Parameterized queries enforced across all database layers.
158
+ - [ ] Rate limiting on all public endpoints (`rate-limit-abuse-prevention`).
159
+ - [ ] Super Admin routes strictly isolated to dedicated subdomain.
160
+
161
+ ## Orchestration & Integration
162
+ - Integrates with: `js-backend-expert`, `go-programming-expert`, `python-programming-expert`, `rust-programming-expert`, `nextjs-app-router-expert`, `api-design-expert`.
163
+
164
+ ---
165
+
166
+ <a name="bahasa-indonesia"></a>
167
+ ## Bahasa Indonesia
168
+
169
+ ### Deskripsi
170
+ Panduan pengembangan fullstack tingkat ahli multi-bahasa (TypeScript, Python, Go, Rust), desain kontrak API (OpenAPI 3.1, gRPC), pola arsitektur microservices (Saga, CQRS), dan monorepo shared types.
171
+
172
+ ### Matriks Arsitektur Polyglot 2026
173
+ - **TypeScript**: Hono, Fastify 5, NestJS (Serverless, Cloudflare Edge, Hono RPC).
174
+ - **Python**: FastAPI 0.115+, Django 5 (AI/ML, orkestrasi LLM, pipeline asinkron).
175
+ - **Go**: net/http (Go 1.25+), Gin (Microservices throughput tinggi, CLI).
176
+ - **Rust**: Axum 0.8, Actix-web 4 (Performa ekstrem, komputasi berat, WASM).
177
+
178
+ ### Pola Sistem Terdistribusi
179
+ 1. **Saga Pattern**: Kompensasi rollback bertahap saat transaksi multi-layanan mengalami kegagalan.
180
+ 2. **CQRS**: Memisahkan database tulis (PostgreSQL) dari view proyeksi baca (ClickHouse/Redis) untuk beban baca tinggi.
181
+ 3. **Monorepo Shared Types**: Simpan definisi tipe bersama di `packages/types` sebagai single source of truth antara frontend dan backend.
182
+
183
+ ## Integrasi Orkestrasi
184
+ - Terintegrasi dengan: `js-backend-expert`, `go-programming-expert`, `python-programming-expert`, `rust-programming-expert`, `nextjs-app-router-expert`, `api-design-expert`.