vibes-plug 1.0.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 (183) 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 +96 -0
  5. package/BLUEPRINT.md +309 -125
  6. package/CHANGELOG.md +183 -1
  7. package/CLAUDE.md +70 -0
  8. package/LICENSE +1 -1
  9. package/README.md +641 -263
  10. package/index.js +19 -0
  11. package/package.json +61 -25
  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 -0
  17. package/skills/ai-evals-benchmark-expert/SKILL.md +188 -0
  18. package/skills/ai-llm-integration-expert/SKILL.md +147 -122
  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 +316 -309
  23. package/skills/api-gateway-proxy-expert/SKILL.md +81 -0
  24. package/skills/app-analyzer-optimizer/SKILL.md +195 -188
  25. package/skills/apple-ecosystem-expert/SKILL.md +145 -0
  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 +240 -0
  29. package/skills/authentication-identity-expert/SKILL.md +279 -45
  30. package/skills/auto-doc-updater/SKILL.md +219 -203
  31. package/skills/autonomous-chaos-monkey/SKILL.md +63 -0
  32. package/skills/autonomous-red-teamer/SKILL.md +203 -0
  33. package/skills/autonomous-tdd-debugger/SKILL.md +71 -0
  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 +93 -86
  38. package/skills/brainstorming/SKILL.md +381 -353
  39. package/skills/browser-automation-expert/SKILL.md +222 -0
  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 +81 -45
  43. package/skills/cloud-hosting-expert/SKILL.md +249 -243
  44. package/skills/coderabbit/SKILL.md +197 -191
  45. package/skills/compliance-gdpr-privacy-expert/SKILL.md +85 -0
  46. package/skills/cron-scheduler-expert/SKILL.md +304 -0
  47. package/skills/data-pipeline-etl-expert/SKILL.md +84 -0
  48. package/skills/data-telemetry-expert/SKILL.md +218 -212
  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 +303 -293
  52. package/skills/dependency-upgrade-migrator/SKILL.md +301 -0
  53. package/skills/design-system-architect/SKILL.md +278 -242
  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 +257 -0
  57. package/skills/doku-payment-gateway/SKILL.md +233 -0
  58. package/skills/domain-driven-design-expert/SKILL.md +82 -0
  59. package/skills/e2e-testing-expert/SKILL.md +320 -314
  60. package/skills/ecommerce-expert/SKILL.md +87 -0
  61. package/skills/edge-serverless-db-expert/SKILL.md +99 -0
  62. package/skills/email-notification-expert/SKILL.md +368 -0
  63. package/skills/error-resilience-expert/SKILL.md +486 -0
  64. package/skills/event-driven-architect/SKILL.md +86 -80
  65. package/skills/feature-flag-analytics-expert/SKILL.md +66 -0
  66. package/skills/file-upload-media-expert/SKILL.md +437 -0
  67. package/skills/firebase-security-expert/SKILL.md +7 -1
  68. package/skills/form-validation-expert/SKILL.md +407 -0
  69. package/skills/fullstack-expert/SKILL.md +260 -201
  70. package/skills/fullstack-expert/references/api_design_guide.md +466 -466
  71. package/skills/fullstack-expert/references/multi_language_backend.md +528 -528
  72. package/skills/fullstack-expert/scripts/api_contract_validator.py +253 -253
  73. package/skills/fullstack-expert/scripts/architecture_analyzer.py +326 -326
  74. package/skills/gemini-agent-booster/SKILL.md +142 -104
  75. package/skills/geospatial-maps-expert/SKILL.md +80 -0
  76. package/skills/global-a11y-i18n-expert/SKILL.md +86 -80
  77. package/skills/glsl-shader-expert/SKILL.md +107 -0
  78. package/skills/go-programming-expert/SKILL.md +300 -294
  79. package/skills/graph-rag-knowledge-expert/SKILL.md +159 -0
  80. package/skills/graphql-apollo-expert/SKILL.md +114 -0
  81. package/skills/headless-cms-expert/SKILL.md +181 -0
  82. package/skills/hig/SKILL.md +193 -187
  83. package/skills/js-backend-expert/SKILL.md +218 -191
  84. package/skills/legacy-code-translator/SKILL.md +71 -0
  85. package/skills/local-slm-edge-ai-expert/SKILL.md +167 -0
  86. package/skills/logging-error-tracking-expert/SKILL.md +344 -0
  87. package/skills/mcp-client-orchestrator/SKILL.md +76 -0
  88. package/skills/mcp-server-architect/SKILL.md +226 -126
  89. package/skills/micro-frontend-architect/SKILL.md +112 -0
  90. package/skills/mobile-expo-expert/SKILL.md +191 -185
  91. package/skills/mobile-push-notification-expert/SKILL.md +71 -0
  92. package/skills/modern-css-native-expert/SKILL.md +189 -0
  93. package/skills/monday-design-aesthetic/SKILL.md +72 -66
  94. package/skills/monorepo-architect/SKILL.md +232 -226
  95. package/skills/mpa-orchestrator/SKILL.md +120 -101
  96. package/skills/multi-agent-orchestration/SKILL.md +173 -153
  97. package/skills/multiple-entry-points/SKILL.md +91 -55
  98. package/skills/mvc-expert/SKILL.md +237 -231
  99. package/skills/n8n-automation-expert/SKILL.md +89 -0
  100. package/skills/nextjs-app-router-expert/SKILL.md +148 -0
  101. package/skills/openapi-swagger-codegen-expert/SKILL.md +67 -0
  102. package/skills/payment-gateway-expert/SKILL.md +129 -45
  103. package/skills/pdf-document-generation-expert/SKILL.md +91 -0
  104. package/skills/performance-web-vitals/SKILL.md +337 -331
  105. package/skills/post-quantum-crypto-migrator/SKILL.md +57 -0
  106. package/skills/prd-architect/SKILL.md +206 -190
  107. package/skills/proactive-background-watcher/SKILL.md +68 -0
  108. package/skills/production-ready-hardener/PRODUCTION_READINESS_REPORT.md +67 -0
  109. package/skills/production-ready-hardener/SKILL.md +461 -468
  110. package/skills/production-ready-hardener/references/production_checklist.md +161 -161
  111. package/skills/production-ready-hardener/scripts/production_readiness_scanner.py +881 -875
  112. package/skills/project-context-mapper/SKILL.md +85 -0
  113. package/skills/pwa-offline-first-expert/SKILL.md +185 -0
  114. package/skills/python-programming-expert/SKILL.md +407 -270
  115. package/skills/rate-limit-abuse-prevention/SKILL.md +377 -0
  116. package/skills/realtime-collaboration-expert/SKILL.md +99 -45
  117. package/skills/rich-text-editor-expert/SKILL.md +177 -0
  118. package/skills/rust-programming-expert/SKILL.md +240 -234
  119. package/skills/saas-billing/SKILL.md +382 -376
  120. package/skills/saas-multi-tenant/SKILL.md +256 -236
  121. package/skills/saas-mvp-launcher/SKILL.md +30 -1
  122. package/skills/saas-transformer/SKILL.md +499 -445
  123. package/skills/saas-transformer/references/billing_integration_guide.md +401 -401
  124. package/skills/saas-transformer/references/feature_gating_patterns.md +137 -137
  125. package/skills/saas-transformer/references/saas_transformation_checklist.md +121 -121
  126. package/skills/saas-transformer/scripts/saas_transformation_scanner.py +39 -29
  127. package/skills/scalability-clean-code/SKILL.md +234 -228
  128. package/skills/search-engine-expert/SKILL.md +89 -0
  129. package/skills/secure-fuzz-testing/SKILL.md +7 -1
  130. package/skills/self-evolving-memory-graph/SKILL.md +91 -0
  131. package/skills/self-healing-cloud-orchestrator/SKILL.md +57 -0
  132. package/skills/senior-frontend/SKILL.md +85 -105
  133. package/skills/seo/SKILL.md +258 -224
  134. package/skills/session-context-loader/SKILL.md +83 -0
  135. package/skills/session-handoff-resume/SKILL.md +163 -157
  136. package/skills/{skill_baru → skill-baru}/SKILL.md +177 -146
  137. package/skills/solidjs-expert/SKILL.md +80 -0
  138. package/skills/spa-orchestrator/SKILL.md +306 -287
  139. package/skills/sse-websocket-streaming-expert/SKILL.md +93 -0
  140. package/skills/state-management-expert/SKILL.md +277 -271
  141. package/skills/supabase-migration/SKILL.md +47 -1
  142. package/skills/supabase-security-expert/SKILL.md +248 -242
  143. package/skills/svelte-sveltekit-expert/SKILL.md +91 -0
  144. package/skills/svg-animation-motion-expert/SKILL.md +115 -0
  145. package/skills/tailwind-expert/SKILL.md +139 -187
  146. package/skills/tanstack-query-expert/SKILL.md +204 -198
  147. package/skills/tauri-expert/SKILL.md +7 -1
  148. package/skills/token-saver/SKILL.md +118 -110
  149. package/skills/typescript-expert/SKILL.md +329 -278
  150. package/skills/ui-components-expert/SKILL.md +166 -63
  151. package/skills/ui-ux-pro-max/SKILL.md +221 -200
  152. package/skills/vector-db-rag-expert/SKILL.md +208 -0
  153. package/skills/vibe-code-gardener/SKILL.md +180 -172
  154. package/skills/visual-qa-vision-agent/SKILL.md +71 -0
  155. package/skills/voice-ai-realtime-agent/SKILL.md +202 -0
  156. package/skills/vue-frontend-expert/SKILL.md +132 -0
  157. package/skills/wasm-edge-computing-expert/SKILL.md +97 -0
  158. package/skills/web-3d-graphics-expert/SKILL.md +137 -0
  159. package/skills/web-game-engine-expert/SKILL.md +102 -0
  160. package/skills/web-scraper/SKILL.md +98 -146
  161. package/skills/website-design-cloner/SKILL.md +180 -0
  162. package/skills/webxr-ar-vr-expert/SKILL.md +123 -0
  163. package/skills/wordpress-headless-expert/SKILL.md +144 -0
  164. package/skills/zero-to-prod-orchestrator/SKILL.md +231 -180
  165. package/skills/zero-trust-secret-vault/SKILL.md +88 -0
  166. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  167. package/CONTRIBUTING.md +0 -199
  168. package/SECURITY.md +0 -21
  169. package/banner.png +0 -0
  170. package/skills/senior-fullstack/SKILL.md +0 -167
  171. package/skills/senior-fullstack/references/architecture_patterns.md +0 -160
  172. package/skills/senior-fullstack/references/development_workflows.md +0 -222
  173. package/skills/senior-fullstack/references/tech_stack_guide.md +0 -190
  174. package/skills/senior-fullstack/scripts/code_quality_analyzer.py +0 -114
  175. package/skills/senior-fullstack/scripts/fullstack_scaffolder.py +0 -114
  176. package/skills/senior-fullstack/scripts/project_scaffolder.py +0 -114
  177. package/skills/seo-aeo-landing-page-writer/SKILL.md +0 -97
  178. package/skills/seo-geo/SKILL.md +0 -188
  179. package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-310.pyc +0 -0
  180. package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-312.pyc +0 -0
  181. package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-310.pyc +0 -0
  182. package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-312.pyc +0 -0
  183. package/skills/ui_ux_expert/SKILL.md +0 -114
@@ -1,192 +1,219 @@
1
- ---
2
- name: js-backend-expert
3
- description: "Expert-level skill for Node.js 22+, Bun 1.2+, and Deno 2.x backend development. Covers Express 5, Fastify 5, Hono, NestJS, Prisma 6, Drizzle ORM, WebSockets, and microservices in English and Indonesian."
1
+ ---
2
+ name: js-backend-expert
3
+ description: "Expert-level skill for Node.js 24+ (LTS), Bun 1.2+, and Deno 2.x backend development. Covers Express 5, Fastify 5, Hono v4, NestJS, Prisma 6, Drizzle ORM, WebSockets, BullMQ, OpenTelemetry, and microservices in English and Indonesian."
4
4
  author: "Roedy Rustam"
5
- ---
6
-
7
- # JS Backend Expert (Node.js 24 / Bun 1.2 / Deno 2.x Edition)
8
-
9
- [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
10
-
11
- ---
12
-
13
- <a name="english"></a>
14
- ## English
15
-
16
- ### Description
17
- Production-grade guidance for building fast, scalable, and resilient JavaScript/TypeScript backend APIs, microservices, and serverless functions across **Node.js 24 (LTS)**, **Bun 1.2+**, and **Deno 2.x**. Covers high-throughput frameworks (Fastify 5, Hono, Express 5, NestJS), type-safe ORMs (Drizzle, Prisma 6), **Hono RPC** for type-safe full-stack communication, Edge Runtime patterns, WebSockets, BullMQ background jobs, and graceful shutdown handling.
18
-
19
- ### Trigger Conditions
20
- - Bootstrapping or refactoring a Node.js, Bun, or Deno backend application or microservice.
21
- - Writing RESTful, GraphQL, WebSocket, or SSE (Server-Sent Events) API endpoints.
22
- - Developing web servers using **Fastify 5**, **Hono**, **Express 5**, or **NestJS**.
23
- - Building type-safe full-stack apps with **Hono RPC** or **tRPC**.
24
- - Deploying backend logic to Edge Runtimes (Cloudflare Workers, Vercel Edge).
25
- - Interacting with databases using **Drizzle ORM**, **Prisma 6**, or **Kysely**.
26
- - Setting up background job processing with **BullMQ** and **Redis**.
27
- - Implementing rate limiting, CORS, Content Security Policy (CSP), and JWT/Session authentication.
28
- - Writing backend tests using **Vitest**, **Supertest**, or Node's native `node:test` runner.
29
-
30
- ### Runtime Matrix (Node.js 24 vs Bun 1.2 vs Deno 2.x)
31
-
32
- | Feature / Runtime | Node.js 24 (LTS) | Bun 1.2+ | Deno 2.x |
33
- |---|---|---|---|
34
- | Module Standard | Native ESM / CJS | Native ESM / CJS | Native ESM |
35
- | `.env` Loading | Native `--env-file` | Native | Native |
36
- | TypeScript Execution | Native `--experimental-strip-types` / `tsx` | Native (Zero-config) | Native (Zero-config) |
37
- | HTTP Server | `node:http` / `Fastify` | `Bun.serve()` / `Hono` | `Deno.serve()` / `Hono` |
38
- | Native WebSockets | Built-in (`WebSocket`) | Built-in (`Bun.serve`) | Built-in (`Deno.upgradeWebSocket`) |
39
- | Package Manager | npm / pnpm | bun (built-in) | npm / jsr |
40
- | Test Runner | `node:test` / Vitest | `bun test` | `deno test` |
41
- | Edge Deploy | Vercel Serverless | Railway / Fly.io | Deno Deploy |
42
-
43
- ### Framework Guidance
44
-
45
- #### 1. Fastify 5 (High-Throughput & Schema Validation)
46
- Use Fastify for performance-critical REST APIs. Always validate input using **TypeBox** or **Zod**:
47
- ```typescript
48
- import Fastify from 'fastify';
49
- import { z } from 'zod';
50
-
51
- const app = Fastify({ logger: true });
52
-
53
- app.post('/api/users', async (request, reply) => {
54
- const bodySchema = z.object({
55
- email: z.string().email(),
56
- name: z.string().min(2),
57
- });
58
- const data = bodySchema.parse(request.body);
59
- return reply.status(201).send({ status: 'created', user: data });
60
- });
61
- ```
62
-
63
- #### 2. Hono (Multi-Runtime & Hono RPC)
64
- Use Hono for cross-runtime backends. The killer feature in 2026 is **Hono RPC** — end-to-end type-safe API calls without code generation:
65
- ```typescript
66
- // server.ts
67
- import { Hono } from 'hono';
68
- import { zValidator } from '@hono/zod-validator';
69
- import { z } from 'zod';
70
-
71
- const app = new Hono()
72
- .get('/health', (c) => c.json({ status: 'ok' }))
73
- .post(
74
- '/users',
75
- zValidator('json', z.object({ name: z.string(), email: z.string().email() })),
76
- async (c) => {
77
- const body = c.req.valid('json');
78
- const user = await db.user.create({ data: body });
79
- return c.json(user, 201);
80
- }
81
- );
82
-
83
- export type AppType = typeof app;
84
- export default app;
85
-
86
- // client.ts — fully type-safe, no codegen needed
87
- import { hc } from 'hono/client';
88
- import type { AppType } from './server';
89
-
90
- const client = hc<AppType>('http://localhost:3000');
91
- const res = await client.users.$post({ json: { name: 'Alice', email: 'alice@example.com' } });
92
- const user = await res.json(); // Fully typed!
93
- ```
94
-
95
- #### 3. Express 5
96
- Express 5 natively catches rejected promises in async route handlers eliminating the need for `express-async-errors`. It's ideal for teams already familiar with Express.
97
-
98
- #### 4. Edge Runtime (Cloudflare Workers / Vercel Edge)
99
- For ultra-low latency at the edge, use **Hono** (runs natively on all edge platforms):
100
- ```typescript
101
- // Cloudflare Worker
102
- export default {
103
- async fetch(request: Request, env: Env): Promise<Response> {
104
- return app.fetch(request, env);
105
- }
106
- };
107
- ```
108
- Edge Runtime restrictions: No Node.js built-ins (`fs`, `path`), limited memory, no long-running processes. Use `fetch`, Web Crypto API, and Cloudflare KV/D1/R2.
109
-
110
- ---
111
-
112
- ### Type-Safe Data Layer (Drizzle ORM & Prisma 6)
113
- - **Drizzle ORM**: Prefer for zero-overhead, SQL-like TypeScript query building in serverless/edge applications.
114
- - **Prisma 6**: Prefer for complex relational schema modeling, auto-generated TypeScript client, and rich `prisma studio` tooling.
115
- - **Connection Pooling**: Always use connection poolers (PgBouncer, Supavisor, Neon Hyperdrive) when deploying serverless handlers.
116
-
117
- ### Background Jobs (BullMQ + Redis)
118
- ```typescript
119
- import { Queue, Worker } from 'bullmq';
120
- import { Redis } from 'ioredis';
121
-
122
- const connection = new Redis({ maxRetriesPerRequest: null });
123
- const emailQueue = new Queue('email', { connection });
124
-
125
- // Enqueue
126
- await emailQueue.add('welcome-email', { userId: '123' }, { delay: 1000 });
127
-
128
- // Worker
129
- const worker = new Worker('email', async (job) => {
130
- await sendWelcomeEmail(job.data.userId);
131
- }, { connection, concurrency: 5 });
132
- ```
133
-
134
- ### Graceful Shutdown & Resilience
135
- Never terminate the process abruptly. Clean up database pools, HTTP listeners, and Redis queues:
136
- ```typescript
137
- const shutdown = async (signal: string) => {
138
- console.log(`Received ${signal}. Shutting down gracefully...`);
139
- await server.close();
140
- await dbPool.end();
141
- await worker.close();
142
- process.exit(0);
143
- };
144
-
145
- process.on('SIGTERM', () => shutdown('SIGTERM'));
146
- process.on('SIGINT', () => shutdown('SIGINT'));
147
- ```
148
-
149
- ---
150
-
151
- <a name="bahasa-indonesia"></a>
152
- ## Bahasa Indonesia
153
-
154
- ### Deskripsi
155
- Panduan tingkat produksi untuk membangun API backend JavaScript/TypeScript yang cepat, skalabel, dan tangguh di lingkungan **Node.js 24 (LTS)**, **Bun 1.2+**, dan **Deno 2.x**. Mencakup framework berkinerja tinggi (Fastify 5, Hono, Express 5, NestJS), ORM type-safe (Drizzle, Prisma 6), **Hono RPC** untuk komunikasi full-stack type-safe, pola Edge Runtime, WebSocket, background jobs (BullMQ), dan penanganan *graceful shutdown*.
156
-
157
- ### Kondisi Pemicu
158
- - Merancang atau merefaktor aplikasi backend Node.js, Bun, atau Deno.
159
- - Menulis endpoint RESTful, GraphQL, WebSocket, atau SSE.
160
- - Membangun web server dengan Fastify 5, Hono, Express 5, atau NestJS.
161
- - Membangun aplikasi full-stack type-safe dengan **Hono RPC** atau tRPC.
162
- - Men-deploy logika backend ke Edge Runtime (Cloudflare Workers, Vercel Edge).
163
- - Berinteraksi dengan database menggunakan Drizzle ORM, Prisma 6, atau Kysely.
164
- - Mengatur background job dengan BullMQ dan Redis.
165
-
166
- ### Matriks Runtime
167
- Node.js 24 sebagai LTS terbaru, Bun 1.2+ untuk performa maksimal dan zero-config TypeScript, Deno 2.x untuk keamanan bawaan dan kompatibilitas npm.
168
-
169
- ### Panduan Framework
170
-
171
- #### 1. Fastify 5 — Kinerja Tinggi & Validasi Skema
172
- Gunakan untuk REST API dengan throughput tinggi. Selalu validasi input menggunakan TypeBox atau Zod.
173
-
174
- #### 2. Hono & Hono RPC Multi-Runtime & Type-Safe Full-Stack
175
- Hono berjalan di Node.js, Bun, Cloudflare Workers, dan Deno. **Hono RPC** adalah fitur unggulan 2026 — panggilan API end-to-end yang fully type-safe tanpa code generation. Klien mendapatkan tipe yang tepat dari definisi server secara otomatis.
176
-
177
- #### 3. Express 5
178
- Express 5 otomatis menangkap rejected promises di async route handler tanpa butuh library tambahan.
179
-
180
- #### 4. Edge Runtime (Cloudflare Workers / Vercel Edge)
181
- Gunakan Hono untuk latensi ultra-rendah di edge. Batasan edge: tanpa built-in Node.js (`fs`, `path`), memori terbatas, tanpa proses long-running. Gunakan `fetch`, Web Crypto API, dan Cloudflare KV/D1/R2.
182
-
183
- ### Lapisan Data Type-Safe
184
- - **Drizzle ORM**: Ideal untuk serverless/edge dengan query bergaya SQL dan zero overhead.
185
- - **Prisma 6**: Ideal untuk pemodelan skema relasional kompleks dan tooling prisma studio yang kaya.
186
- - **Connection Pooling**: Wajib di lingkungan serverless gunakan PgBouncer, Supavisor, atau Neon Hyperdrive.
187
-
188
- ### Background Jobs (BullMQ + Redis)
189
- Gunakan BullMQ dengan Redis untuk pemrosesan tugas latar belakang yang andal dengan retry otomatis, delay, dan konkurensi yang dapat dikonfigurasi.
190
-
191
- ### Graceful Shutdown
192
- Jangan hentikan proses secara mendadak. Bersihkan connection pool, HTTP server, dan worker queue sebelum keluar.
5
+ ---
6
+
7
+ # JS Backend Expert (Node.js 24 LTS / Bun 1.2 / Deno 2.x Edition)
8
+
9
+ [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
10
+
11
+ ---
12
+
13
+ <a name="english"></a>
14
+ ## English
15
+
16
+ ### Description
17
+ Production-grade guidance for building fast, scalable, and resilient JavaScript/TypeScript backend APIs, microservices, and serverless functions across **Node.js 24 (LTS)**, **Bun 1.2+**, and **Deno 2.x**. Covers high-throughput frameworks (Fastify 5, Hono, Express 5, NestJS), type-safe ORMs (Drizzle, Prisma 6), **Hono RPC** for type-safe full-stack communication, Edge Runtime patterns, WebSockets, BullMQ background jobs, and graceful shutdown handling.
18
+
19
+ ### Trigger Conditions
20
+ - Bootstrapping or refactoring a Node.js, Bun, or Deno backend application or microservice.
21
+ - Writing RESTful, GraphQL, WebSocket, or SSE (Server-Sent Events) API endpoints.
22
+ - Developing web servers using **Fastify 5**, **Hono**, **Express 5**, or **NestJS**.
23
+ - Building type-safe full-stack apps with **Hono RPC** or **tRPC**.
24
+ - Deploying backend logic to Edge Runtimes (Cloudflare Workers, Vercel Edge).
25
+ - Interacting with databases using **Drizzle ORM**, **Prisma 6**, or **Kysely**.
26
+ - Setting up background job processing with **BullMQ** and **Redis**.
27
+ - Implementing rate limiting, CORS, Content Security Policy (CSP), and JWT/Session authentication.
28
+ - Writing backend tests using **Vitest**, **Supertest**, or Node's native `node:test` runner.
29
+
30
+ ### Runtime Matrix (Node.js 24 vs Bun 1.2 vs Deno 2.x)
31
+
32
+ | Feature / Runtime | Node.js 24 (LTS) | Bun 1.2+ | Deno 2.x |
33
+ |---|---|---|---|
34
+ | Module Standard | Native ESM / CJS | Native ESM / CJS | Native ESM |
35
+ | `.env` Loading | Native `--env-file` | Native | Native |
36
+ | TypeScript Execution | Native `--experimental-strip-types` / `tsx` | Native (Zero-config) | Native (Zero-config) |
37
+ | HTTP Server | `node:http` / `Fastify` | `Bun.serve()` / `Hono` | `Deno.serve()` / `Hono` |
38
+ | Native WebSockets | Built-in (`WebSocket`) | Built-in (`Bun.serve`) | Built-in (`Deno.upgradeWebSocket`) |
39
+ | Package Manager | npm / pnpm | bun (built-in) | npm / jsr |
40
+ | Test Runner | `node:test` / Vitest | `bun test` | `deno test` |
41
+ | Edge Deploy | Vercel Serverless | Railway / Fly.io | Deno Deploy |
42
+
43
+ ### Framework Guidance
44
+
45
+ #### 1. Fastify 5 (High-Throughput & Schema Validation)
46
+ Use Fastify for performance-critical REST APIs. Always validate input using **TypeBox** or **Zod**:
47
+ ```typescript
48
+ import Fastify from 'fastify';
49
+ import { z } from 'zod';
50
+
51
+ const app = Fastify({ logger: true });
52
+
53
+ app.post('/api/users', async (request, reply) => {
54
+ const bodySchema = z.object({
55
+ email: z.string().email(),
56
+ name: z.string().min(2),
57
+ });
58
+ const data = bodySchema.parse(request.body);
59
+ return reply.status(201).send({ status: 'created', user: data });
60
+ });
61
+ ```
62
+
63
+ #### 2. Hono (Multi-Runtime & Hono RPC)
64
+ Use Hono for cross-runtime backends. The killer feature in 2026 is **Hono RPC** — end-to-end type-safe API calls without code generation:
65
+ ```typescript
66
+ // server.ts
67
+ import { Hono } from 'hono';
68
+ import { zValidator } from '@hono/zod-validator';
69
+ import { z } from 'zod';
70
+
71
+ const app = new Hono()
72
+ .get('/health', (c) => c.json({ status: 'ok' }))
73
+ .post(
74
+ '/users',
75
+ zValidator('json', z.object({ name: z.string(), email: z.string().email() })),
76
+ async (c) => {
77
+ const body = c.req.valid('json');
78
+ const user = await db.user.create({ data: body });
79
+ return c.json(user, 201);
80
+ }
81
+ );
82
+
83
+ export type AppType = typeof app;
84
+ export default app;
85
+
86
+ // client.ts — fully type-safe, no codegen needed
87
+ import { hc } from 'hono/client';
88
+ import type { AppType } from './server';
89
+
90
+ const client = hc<AppType>('http://localhost:3000');
91
+ const res = await client.users.$post({ json: { name: 'Alice', email: 'alice@example.com' } });
92
+ const user = await res.json(); // Fully typed!
93
+ ```
94
+
95
+ #### 3. NestJS (Enterprise Architecture)
96
+ Use NestJS for large-scale, enterprise-grade applications. It enforces a strict modular architecture (Controllers, Providers, Modules) inspired by Angular.
97
+ - **Dependency Injection**: Leverage built-in DI for testable, loosely coupled services.
98
+ - **TypeScript First**: Decorators (`@Controller()`, `@Get()`) provide clean, declarative routing.
99
+ - **Under the Hood**: By default uses Express, but can be switched to Fastify for higher performance using `platform-fastify`.
100
+
101
+ #### 4. Express 5
102
+ Express 5 natively catches rejected promises in async route handlers — eliminating the need for `express-async-errors`. While less opinionated than NestJS and slower than Fastify, its ecosystem is unparalleled. Ideal for teams migrating legacy apps.
103
+
104
+ #### 5. Edge Runtime (Cloudflare Workers / Vercel Edge)
105
+ For ultra-low latency at the edge, use **Hono** (runs natively on all edge platforms):
106
+ ```typescript
107
+ // Cloudflare Worker
108
+ export default {
109
+ async fetch(request: Request, env: Env): Promise<Response> {
110
+ return app.fetch(request, env);
111
+ }
112
+ };
113
+ ```
114
+ Edge Runtime restrictions: No Node.js built-ins (`fs`, `path`), limited memory, no long-running processes. Use `fetch`, Web Crypto API, and Cloudflare KV/D1/R2.
115
+
116
+ ---
117
+
118
+ ### Type-Safe Data Layer (Drizzle ORM & Prisma 6)
119
+ - **Drizzle ORM**: Prefer for zero-overhead, SQL-like TypeScript query building in serverless/edge applications.
120
+ - **Prisma 6**: Prefer for complex relational schema modeling, auto-generated TypeScript client, and rich `prisma studio` tooling.
121
+ - **Connection Pooling**: Always use connection poolers (PgBouncer, Supavisor, Neon Hyperdrive) when deploying serverless handlers.
122
+
123
+ ### Background Jobs (BullMQ + Redis)
124
+ ```typescript
125
+ import { Queue, Worker } from 'bullmq';
126
+ import { Redis } from 'ioredis';
127
+
128
+ const connection = new Redis({ maxRetriesPerRequest: null });
129
+ const emailQueue = new Queue('email', { connection });
130
+
131
+ // Enqueue
132
+ await emailQueue.add('welcome-email', { userId: '123' }, { delay: 1000 });
133
+
134
+ // Worker
135
+ const worker = new Worker('email', async (job) => {
136
+ await sendWelcomeEmail(job.data.userId);
137
+ }, { connection, concurrency: 5 });
138
+ ```
139
+
140
+ ### Graceful Shutdown & Resilience
141
+ Never terminate the process abruptly. Clean up database pools, HTTP listeners, and Redis queues:
142
+ ```typescript
143
+ const shutdown = async (signal: string) => {
144
+ console.log(`Received ${signal}. Shutting down gracefully...`);
145
+ await server.close();
146
+ await dbPool.end();
147
+ await worker.close();
148
+ process.exit(0);
149
+ };
150
+
151
+ process.on('SIGTERM', () => shutdown('SIGTERM'));
152
+ process.on('SIGINT', () => shutdown('SIGINT'));
153
+ ```
154
+
155
+ ## Orchestration & Integration
156
+ - **Upstream Orchestrator**: Executes during **Phase 4** of `zero-to-prod-orchestrator` or after backend decision lock in `brainstorming`.
157
+ - **API Contracts & Specs**: Delegate OpenAPI / GraphQL / gRPC design to `api-design-expert` and TypeScript type generation to `typescript-expert`.
158
+ - **Database & ORM Layer**: Delegate schema design, migrations, and pooling to `database-orm-expert` and `supabase-migration`. Connect to `edge-serverless-db-expert` for serverless database architectures.
159
+ - **Authentication & Security**: Delegate JWT/OAuth2 flows to `authentication-identity-expert` and environment secret security to `zero-trust-secret-vault`.
160
+ - **Durable Async Jobs**: Delegate fault-tolerant long-running workflows to `async-queue-temporal-expert`.
161
+ - **Error Resilience**: Implement error handling patterns and circuit breakers via `error-resilience-expert`.
162
+ - **Automated Testing & Docs**: Delegate integration testing to `e2e-testing-expert` and update change logs via `auto-doc-updater`.
163
+
164
+ ---
165
+
166
+ <a name="bahasa-indonesia"></a>
167
+ ## Bahasa Indonesia
168
+
169
+ ### Deskripsi
170
+ Panduan tingkat produksi untuk membangun API backend JavaScript/TypeScript yang cepat, skalabel, dan tangguh di lingkungan **Node.js 24 LTS**, **Bun 1.2+**, dan **Deno 2.x**. Mencakup framework berkinerja tinggi (Fastify 5, Hono v4, Express 5, NestJS), ORM type-safe (Drizzle, Prisma 6), **Hono RPC** untuk komunikasi full-stack type-safe, pola Edge Runtime, WebSocket, background jobs (BullMQ), OpenTelemetry, dan penanganan *graceful shutdown*.
171
+
172
+ ### Kondisi Pemicu
173
+ - Merancang atau merefaktor aplikasi backend Node.js, Bun, atau Deno.
174
+ - Menulis endpoint RESTful, GraphQL, WebSocket, atau SSE.
175
+ - Membangun web server dengan Fastify 5, Hono, Express 5, atau NestJS.
176
+ - Membangun aplikasi full-stack type-safe dengan **Hono RPC** atau tRPC.
177
+ - Men-deploy logika backend ke Edge Runtime (Cloudflare Workers, Vercel Edge).
178
+ - Berinteraksi dengan database menggunakan Drizzle ORM, Prisma 6, atau Kysely.
179
+ - Mengatur background job dengan BullMQ dan Redis.
180
+
181
+ ### Matriks Runtime
182
+ Node.js 24 sebagai LTS terbaru, Bun 1.2+ untuk performa maksimal dan zero-config TypeScript, Deno 2.x untuk keamanan bawaan dan kompatibilitas npm.
183
+
184
+ ### Panduan Framework
185
+
186
+ #### 1. Fastify 5Kinerja Tinggi & Validasi Skema
187
+ Gunakan untuk REST API dengan throughput tinggi. Selalu validasi input menggunakan TypeBox atau Zod.
188
+
189
+ #### 2. Hono & Hono RPC Multi-Runtime & Type-Safe Full-Stack
190
+ Hono berjalan di Node.js, Bun, Cloudflare Workers, dan Deno. **Hono RPC** adalah fitur unggulan 2026 — panggilan API end-to-end yang fully type-safe tanpa code generation. Klien mendapatkan tipe yang tepat dari definisi server secara otomatis.
191
+
192
+ #### 3. NestJS Arsitektur Enterprise
193
+ Gunakan NestJS untuk aplikasi skala besar tingkat *enterprise*. NestJS memaksakan arsitektur modular yang ketat dengan Dependency Injection dan Decorators. NestJS menggunakan Express secara bawaan, namun dapat dialihkan ke Fastify untuk performa lebih tinggi.
194
+
195
+ #### 4. Express 5
196
+ Express 5 otomatis menangkap rejected promises di async route handler tanpa butuh library tambahan. Sangat cocok untuk tim yang sudah familiar dengan ekosistem Express.
197
+
198
+ #### 5. Edge Runtime (Cloudflare Workers / Vercel Edge)
199
+ Gunakan Hono untuk latensi ultra-rendah di edge. Batasan edge: tanpa built-in Node.js (`fs`, `path`), memori terbatas, tanpa proses long-running. Gunakan `fetch`, Web Crypto API, dan Cloudflare KV/D1/R2.
200
+
201
+ ### Lapisan Data Type-Safe
202
+ - **Drizzle ORM**: Ideal untuk serverless/edge dengan query bergaya SQL dan zero overhead.
203
+ - **Prisma 6**: Ideal untuk pemodelan skema relasional kompleks dan tooling prisma studio yang kaya.
204
+ - **Connection Pooling**: Wajib di lingkungan serverless — gunakan PgBouncer, Supavisor, atau Neon Hyperdrive.
205
+
206
+ ### Background Jobs (BullMQ + Redis)
207
+ Gunakan BullMQ dengan Redis untuk pemrosesan tugas latar belakang yang andal dengan retry otomatis, delay, dan konkurensi yang dapat dikonfigurasi.
208
+
209
+ ### Graceful Shutdown
210
+ Jangan hentikan proses secara mendadak. Bersihkan connection pool, HTTP server, dan worker queue sebelum keluar.
211
+
212
+ ## Integrasi Orkestrasi
213
+ - **Orkestrator Utama**: Dieksekusi pada **Fase 4** dari `zero-to-prod-orchestrator` atau setelah finalisasi backend di `brainstorming`.
214
+ - **Kontrak & Spesifikasi API**: Delegasikan desain OpenAPI / GraphQL / gRPC ke `api-design-expert` dan tipe TypeScript ke `typescript-expert`.
215
+ - **Database & ORM**: Delegasikan desain skema, migrasi, dan pooling ke `database-orm-expert` dan `supabase-migration`. Hubungkan dengan `edge-serverless-db-expert` untuk arsitektur database serverless.
216
+ - **Autentikasi & Keamanan**: Delegasikan alur JWT/OAuth2 ke `authentication-identity-expert` dan keamanan kredensial ke `zero-trust-secret-vault`.
217
+ - **Pekerjaan Asinkron Tahan Gagal**: Delegasikan workflow kompleks ke `async-queue-temporal-expert`.
218
+ - **Ketahanan Error**: Terapkan pola penanganan error dan circuit breaker melalui `error-resilience-expert`.
219
+ - **Pengujian & Dokumentasi**: Delegasikan pengujian integrasi ke `e2e-testing-expert` dan perbarui catatan perubahan via `auto-doc-updater`.
@@ -0,0 +1,71 @@
1
+ ---
2
+ name: legacy-code-translator
3
+ description: "Methodological guide for the AI Agent to safely and systematically translate, refactor, and modernize giant legacy codebases (PHP, Python 2, old React) into modern stacks."
4
+ author: "Roedy Rustam"
5
+ ---
6
+
7
+ # Legacy Code Translator (Refactoring Engine)
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
+ A rigid methodology for the AI agent to reverse-engineer and translate legacy codebases into modern architectures without losing business logic. This gives the agent the "superpower" to handle massive enterprise migrations safely, avoiding the common hallucination trap of rewriting everything at once.
21
+
22
+ ### Trigger Conditions
23
+ Activate this skill when the user says:
24
+ - "Migrate this old PHP codebase to Next.js."
25
+ - "Translate this Python script to Rust."
26
+ - "Refactor this giant React class component into hooks."
27
+
28
+ ### Core Concepts
29
+
30
+ #### 1. The 4-Step Migration Protocol
31
+ The agent MUST follow this exact sequence:
32
+ 1. **Understand (AST Map):** Map out the legacy code's inputs, outputs, and side effects. Document this in an artifact (`migration_plan.md`).
33
+ 2. **Isolate Logic:** Separate the core business rules from the legacy framework bindings (e.g., separate the tax calculation logic from the WordPress hook).
34
+ 3. **Translate:** Write the modernized code in the new language/framework.
35
+ 4. **Verify (Shadow Testing):** Compare the output of the new code against the old code using identical inputs.
36
+
37
+ #### 2. Agent Constraints
38
+ - **NEVER overwrite the legacy file directly.** Always create the new file side-by-side (e.g., `User.legacy.php` and `user.service.ts`).
39
+ - **NEVER attempt to translate a 2000-line file in one shot.** Break it down by functions or modules to prevent context window exhaustion and token truncation.
40
+ - **Preserve quirks:** Sometimes legacy bugs are actually relied-upon business logic. Document suspicious logic before fixing it.
41
+
42
+ ---
43
+
44
+ ### Integration with Other Skills (MANDATORY)
45
+ - `prd-architect` — To document the extracted business rules before writing modern code.
46
+ - `project-context-mapper` — To understand how the legacy files intertwine before pulling them apart.
47
+ - `autonomous-tdd-debugger` — To write tests against the old code, ensuring the new code passes the exact same tests.
48
+
49
+ ### Referenced By Orchestrators (MANDATORY)
50
+ - `brainstorming` — Add to "Architecture & Scale".
51
+ - `zero-to-prod-orchestrator` — Phase 2 (Foundation / Refactoring).
52
+
53
+ ---
54
+
55
+ <a name="bahasa-indonesia"></a>
56
+ ## Bahasa Indonesia
57
+
58
+ ### Integrasi Orkestrasi
59
+ Terhubung dan mengorkestrasi skill domain yang relevan seperti `brainstorming`, `zero-to-prod-orchestrator`, dan `project-context-mapper` untuk memastikan eksekusi yang kohesif.
60
+
61
+ ### Deskripsi
62
+ Panduan metodologis ketat bagi Agen AI untuk membongkar, menerjemahkan, dan memodernisasi *codebase* warisan (legacy) berskala raksasa (seperti PHP 5 atau React lawas) ke arsitektur modern tanpa kehilangan atau merusak *business logic* yang ada.
63
+
64
+ ### Kondisi Pemicu
65
+ - Saat diminta memigrasikan sistem lama ke framework baru.
66
+ - Saat harus menerjemahkan kode antar bahasa pemrograman (misal: Python ke Rust, atau PHP ke Go).
67
+
68
+ ### Panduan Singkat
69
+ - **Jangan Langsung Timpa:** Jangan pernah menulis ulang kode lama di file yang sama. Buat file baru bersisian (`old_logic.js` -> `new_logic.ts`), lalu perlahan pindahkan impornya.
70
+ - **Pecah Skala Raksasa:** LLM akan berhalusinasi jika diminta menerjemahkan 2000 baris kode sekaligus. Pecah tugas tersebut menjadi level fungsi (function-by-function).
71
+ - **Pemetaan Input/Output:** Sebelum menulis kode baru, agen wajib mendaftar semua *input* (argumen, variabel global, request DB) dan *output* (return, modifikasi state, update DB) dari fungsi lama ke dalam dokumen artefak.