vibes-plug 1.0.0 → 2.5.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/.github/workflows/publish.yml +20 -0
- package/AGENTS.md +66 -0
- package/BLUEPRINT.md +152 -60
- package/CHANGELOG.md +50 -0
- package/README.md +346 -194
- package/package.json +25 -25
- package/plugin.json +1 -1
- package/skills/ai-cost-token-optimizer/SKILL.md +52 -0
- package/skills/ai-llm-integration-expert/SKILL.md +180 -162
- package/skills/api-design-expert/SKILL.md +314 -310
- package/skills/app-analyzer-optimizer/SKILL.md +193 -189
- package/skills/apple-ecosystem-expert/SKILL.md +142 -0
- package/skills/async-queue-temporal-expert/SKILL.md +54 -0
- package/skills/authentication-identity-expert/SKILL.md +251 -20
- package/skills/auto-doc-updater/SKILL.md +214 -204
- package/skills/autonomous-chaos-monkey/SKILL.md +63 -0
- package/skills/autonomous-red-teamer/SKILL.md +59 -0
- package/skills/autonomous-swarm-director/SKILL.md +69 -0
- package/skills/autonomous-tdd-debugger/SKILL.md +65 -0
- package/skills/bootstrap-to-modern/SKILL.md +90 -86
- package/skills/brainstorming/SKILL.md +373 -353
- package/skills/browser-automation-expert/SKILL.md +46 -0
- package/skills/ci-cd-devops-architect/SKILL.md +72 -45
- package/skills/cloud-hosting-expert/SKILL.md +244 -244
- package/skills/coderabbit/SKILL.md +192 -192
- package/skills/cron-scheduler-expert/SKILL.md +298 -0
- package/skills/data-telemetry-expert/SKILL.md +213 -213
- package/skills/database-orm-expert/SKILL.md +294 -294
- package/skills/dependency-upgrade-migrator/SKILL.md +295 -0
- package/skills/design-system-architect/SKILL.md +27 -10
- package/skills/doku-mcp-server/SKILL.md +251 -0
- package/skills/doku-payment-gateway/SKILL.md +227 -0
- package/skills/e2e-testing-expert/SKILL.md +315 -315
- package/skills/edge-serverless-db-expert/SKILL.md +43 -0
- package/skills/email-notification-expert/SKILL.md +362 -0
- package/skills/error-resilience-expert/SKILL.md +480 -0
- package/skills/event-driven-architect/SKILL.md +81 -81
- package/skills/feature-flag-analytics-expert/SKILL.md +46 -0
- package/skills/file-upload-media-expert/SKILL.md +431 -0
- package/skills/form-validation-expert/SKILL.md +401 -0
- package/skills/fullstack-expert/SKILL.md +202 -202
- package/skills/fullstack-expert/references/api_design_guide.md +466 -466
- package/skills/fullstack-expert/references/multi_language_backend.md +528 -528
- package/skills/fullstack-expert/scripts/api_contract_validator.py +253 -253
- package/skills/fullstack-expert/scripts/architecture_analyzer.py +326 -326
- package/skills/gemini-agent-booster/SKILL.md +135 -135
- package/skills/global-a11y-i18n-expert/SKILL.md +81 -81
- package/skills/glsl-shader-expert/SKILL.md +101 -0
- package/skills/go-programming-expert/SKILL.md +295 -295
- package/skills/graphql-apollo-expert/SKILL.md +108 -0
- package/skills/hig/SKILL.md +188 -188
- package/skills/hyper-context-synthesizer/SKILL.md +55 -0
- package/skills/js-backend-expert/SKILL.md +34 -9
- package/skills/legacy-code-translator/SKILL.md +65 -0
- package/skills/llm-cost-arbitrage-router/SKILL.md +59 -0
- package/skills/logging-error-tracking-expert/SKILL.md +338 -0
- package/skills/mcp-client-orchestrator/SKILL.md +70 -0
- package/skills/mcp-server-architect/SKILL.md +194 -194
- package/skills/micro-frontend-architect/SKILL.md +106 -0
- package/skills/mobile-expo-expert/SKILL.md +186 -186
- package/skills/mobile-push-notification-expert/SKILL.md +51 -0
- package/skills/monday-design-aesthetic/SKILL.md +67 -67
- package/skills/monorepo-architect/SKILL.md +227 -227
- package/skills/mpa-orchestrator/SKILL.md +101 -101
- package/skills/multi-agent-orchestration/SKILL.md +234 -234
- package/skills/multiple-entry-points/SKILL.md +55 -55
- package/skills/mvc-expert/SKILL.md +231 -231
- package/skills/payment-gateway-expert/SKILL.md +45 -45
- package/skills/performance-web-vitals/SKILL.md +332 -332
- package/skills/post-quantum-crypto-migrator/SKILL.md +57 -0
- package/skills/prd-architect/SKILL.md +201 -191
- package/skills/proactive-background-watcher/SKILL.md +62 -0
- package/skills/production-ready-hardener/PRODUCTION_READINESS_REPORT.md +67 -0
- package/skills/production-ready-hardener/SKILL.md +173 -186
- package/skills/production-ready-hardener/references/production_checklist.md +161 -161
- package/skills/production-ready-hardener/scripts/production_readiness_scanner.py +881 -875
- package/skills/project-context-mapper/SKILL.md +79 -0
- package/skills/python-programming-expert/SKILL.md +263 -132
- package/skills/rate-limit-abuse-prevention/SKILL.md +371 -0
- package/skills/realtime-collaboration-expert/SKILL.md +45 -45
- package/skills/rust-programming-expert/SKILL.md +235 -235
- package/skills/saas-billing/SKILL.md +377 -377
- package/skills/saas-multi-tenant/SKILL.md +251 -237
- package/skills/saas-mvp-launcher/SKILL.md +10 -0
- package/skills/saas-transformer/SKILL.md +187 -144
- package/skills/saas-transformer/references/billing_integration_guide.md +401 -401
- package/skills/saas-transformer/references/feature_gating_patterns.md +137 -137
- package/skills/saas-transformer/references/saas_transformation_checklist.md +121 -121
- package/skills/saas-transformer/scripts/saas_transformation_scanner.py +39 -29
- package/skills/scalability-clean-code/SKILL.md +229 -229
- package/skills/self-evolving-memory-graph/SKILL.md +75 -0
- package/skills/self-healing-cloud-orchestrator/SKILL.md +57 -0
- package/skills/senior-frontend/SKILL.md +161 -161
- package/skills/senior-fullstack/SKILL.md +167 -167
- package/skills/seo/SKILL.md +235 -225
- package/skills/seo-geo/SKILL.md +188 -188
- package/skills/session-context-loader/SKILL.md +77 -0
- package/skills/session-handoff-resume/SKILL.md +158 -158
- package/skills/skill_baru/SKILL.md +172 -147
- package/skills/spa-orchestrator/SKILL.md +288 -288
- package/skills/state-management-expert/SKILL.md +272 -272
- package/skills/supabase-security-expert/SKILL.md +243 -243
- package/skills/tailwind-expert/SKILL.md +188 -188
- package/skills/tanstack-query-expert/SKILL.md +199 -199
- package/skills/token-saver/SKILL.md +119 -111
- package/skills/typescript-expert/SKILL.md +324 -279
- package/skills/ui-components-expert/SKILL.md +263 -46
- package/skills/ui-ux-pro-max/SKILL.md +202 -201
- package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-310.pyc +0 -0
- package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-310.pyc +0 -0
- package/skills/ui_ux_expert/SKILL.md +17 -6
- package/skills/vector-db-rag-expert/SKILL.md +52 -0
- package/skills/vibe-code-gardener/SKILL.md +181 -173
- package/skills/visual-qa-vision-agent/SKILL.md +65 -0
- package/skills/vue-frontend-expert/SKILL.md +126 -0
- package/skills/web-3d-graphics-expert/SKILL.md +131 -0
- package/skills/web-game-engine-expert/SKILL.md +96 -0
- package/skills/web-scraper/SKILL.md +207 -205
- package/skills/website-design-cloner/SKILL.md +174 -0
- package/skills/webxr-ar-vr-expert/SKILL.md +117 -0
- package/skills/zero-to-prod-orchestrator/SKILL.md +206 -180
- package/skills/zero-trust-secret-vault/SKILL.md +40 -0
- package/vibes-swarm-demo.gif +0 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: graphql-apollo-expert
|
|
3
|
+
description: "Expert guide for designing and consuming GraphQL APIs. Covers Apollo Server/Client, NestJS GraphQL (Code-First & Schema-First), TypeGraphQL, caching, and N+1 query optimization."
|
|
4
|
+
author: "Roedy Rustam"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# GraphQL & Apollo Expert
|
|
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 and consuming **GraphQL APIs**. Focuses on the **Apollo** ecosystem (Apollo Server, Apollo Client, Federation), **NestJS GraphQL** integration, and solving common performance pitfalls like the N+1 query problem using DataLoaders.
|
|
18
|
+
|
|
19
|
+
### Trigger Conditions
|
|
20
|
+
Activate this skill when the user is:
|
|
21
|
+
- Setting up a GraphQL server with NestJS, Express, or Apollo Server.
|
|
22
|
+
- Using `@apollo/client` or `@vue/apollo-composable` on the frontend.
|
|
23
|
+
- Deciding between Code-First vs. Schema-First GraphQL design.
|
|
24
|
+
- Optimizing backend database queries triggered by GraphQL resolvers (N+1 problem).
|
|
25
|
+
- Implementing GraphQL Subscriptions via WebSockets.
|
|
26
|
+
|
|
27
|
+
### Core Concepts
|
|
28
|
+
|
|
29
|
+
#### 1. Code-First vs Schema-First (NestJS)
|
|
30
|
+
- **Code-First (Recommended for TypeScript):** Define resolvers and object types using TS decorators. The schema `.gql` file is automatically generated. Ensures a single source of truth.
|
|
31
|
+
- **Schema-First:** Write raw `.gql` files and use tools to generate TypeScript interfaces.
|
|
32
|
+
|
|
33
|
+
```typescript
|
|
34
|
+
// NestJS Code-First Example
|
|
35
|
+
import { ObjectType, Field, Int } from '@nestjs/graphql';
|
|
36
|
+
|
|
37
|
+
@ObjectType()
|
|
38
|
+
export class User {
|
|
39
|
+
@Field(() => Int)
|
|
40
|
+
id: number;
|
|
41
|
+
|
|
42
|
+
@Field()
|
|
43
|
+
email: string;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
import { Resolver, Query } from '@nestjs/graphql';
|
|
47
|
+
|
|
48
|
+
@Resolver(() => User)
|
|
49
|
+
export class UserResolver {
|
|
50
|
+
@Query(() => [User])
|
|
51
|
+
async users(): Promise<User[]> {
|
|
52
|
+
return [{ id: 1, email: 'user@example.com' }];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
#### 2. The N+1 Problem & DataLoader
|
|
58
|
+
GraphQL's resolver architecture easily causes the N+1 query problem (e.g., querying authors and their posts results in 1 query for authors, and N queries for each author's posts).
|
|
59
|
+
**Solution:** Always use `DataLoader` to batch and cache database requests within a single GraphQL execution tick.
|
|
60
|
+
|
|
61
|
+
#### 3. Apollo Client (Frontend)
|
|
62
|
+
Use Apollo Client for robust caching and normalized state management on the frontend.
|
|
63
|
+
```tsx
|
|
64
|
+
import { useQuery, gql } from '@apollo/client';
|
|
65
|
+
|
|
66
|
+
const GET_USERS = gql`
|
|
67
|
+
query GetUsers {
|
|
68
|
+
users {
|
|
69
|
+
id
|
|
70
|
+
email
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
`;
|
|
74
|
+
|
|
75
|
+
function UserList() {
|
|
76
|
+
const { loading, error, data } = useQuery(GET_USERS);
|
|
77
|
+
if (loading) return <p>Loading...</p>;
|
|
78
|
+
return <div>{data.users[0].email}</div>;
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Integration with Other Skills (MANDATORY)
|
|
83
|
+
This skill works best when combined with:
|
|
84
|
+
- `js-backend-expert` — For setting up the underlying Node.js/NestJS server architecture.
|
|
85
|
+
- `database-orm-expert` — For connecting Prisma/Drizzle ORM directly to GraphQL resolvers and DataLoaders.
|
|
86
|
+
- `senior-frontend` / `vue-frontend-expert` — For integrating Apollo Client into React or Vue applications.
|
|
87
|
+
|
|
88
|
+
### Referenced By Orchestrators (MANDATORY)
|
|
89
|
+
- `brainstorming` — Add to "API Design & Contracts".
|
|
90
|
+
- `zero-to-prod-orchestrator` — Phase 4 (Backend APIs).
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
<a name="bahasa-indonesia"></a>
|
|
95
|
+
## Bahasa Indonesia
|
|
96
|
+
|
|
97
|
+
### Deskripsi
|
|
98
|
+
Panduan produksi untuk membangun dan mengkonsumsi API **GraphQL**. Mencakup ekosistem **Apollo**, **NestJS GraphQL**, dan teknik optimasi performa seperti *DataLoader*.
|
|
99
|
+
|
|
100
|
+
### Kondisi Pemicu
|
|
101
|
+
- Saat mengkonfigurasi server GraphQL menggunakan NestJS atau Apollo.
|
|
102
|
+
- Saat menggunakan Apollo Client di aplikasi React atau Vue.
|
|
103
|
+
- Saat menghadapi masalah performa N+1 query pada resolusi data.
|
|
104
|
+
|
|
105
|
+
### Panduan Singkat
|
|
106
|
+
- **Pilih Code-First di TypeScript:** Di NestJS atau TypeScript murni, gunakan pendekatan *Code-First* (`@nestjs/graphql` atau TypeGraphQL) agar Anda tidak perlu mengelola file `.gql` dan *interface* TS secara terpisah.
|
|
107
|
+
- **Gunakan DataLoader Wajib:** Jangan pernah melakukan *query* database langsung di dalam resolver yang mengembalikan *list of objects* bersarang. Gunakan `DataLoader` dari Facebook untuk mengumpulkan (batching) request database.
|
|
108
|
+
- **Frontend Caching:** Manfaatkan normalisasi *cache* bawaan Apollo Client agar Anda tidak perlu menggunakan Redux atau state manager lain untuk menyimpan data dari server.
|
package/skills/hig/SKILL.md
CHANGED
|
@@ -1,188 +1,188 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: hig
|
|
3
|
-
description: "Applies Human Interface Guidelines (HIG) principles — Hierarchy, Harmony, and Consistency — to UI/UX designs to ensure intuitive and cohesive interfaces / Menerapkan prinsip Human Interface Guidelines (HIG) — Hierarchy, Harmony, dan Consistency — pada desain UI/UX untuk memastikan antarmuka yang intuitif dan kohesif."
|
|
4
|
-
author: "Roedy Rustam"
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Human Interface Guidelines (HIG) Expert (2026 Edition)
|
|
8
|
-
|
|
9
|
-
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
<a name="english"></a>
|
|
14
|
-
## English
|
|
15
|
-
|
|
16
|
-
### Description
|
|
17
|
-
Applies Human Interface Guidelines (HIG) principles to web and mobile UI/UX designs. Covers the core triad (Hierarchy, Harmony, Consistency), Apple's HIG 2025 updates, Google Material Design 3, spatial design for Apple Vision Pro, and modern accessibility requirements.
|
|
18
|
-
|
|
19
|
-
### Trigger Conditions
|
|
20
|
-
- Reviewing or critiquing a UI design for HIG violations.
|
|
21
|
-
- Making design decisions about typography scale, color usage, or layout hierarchy.
|
|
22
|
-
- Designing for multiple platforms (iOS, Android, web) with consistent patterns.
|
|
23
|
-
- Evaluating whether a UI feels "premium" or "amateur".
|
|
24
|
-
- Ensuring UI components follow platform conventions (button placement, nav patterns).
|
|
25
|
-
|
|
26
|
-
### The Core HIG Triad
|
|
27
|
-
|
|
28
|
-
#### 1. Hierarchy — Guide the User's Eye
|
|
29
|
-
Visual hierarchy controls where the user looks first and how they navigate information.
|
|
30
|
-
|
|
31
|
-
**Typography Hierarchy:**
|
|
32
|
-
```css
|
|
33
|
-
/* Clear hierarchy with size and weight — 4 levels max */
|
|
34
|
-
.h1 { font-size: 2.25rem; font-weight: 700; letter-spacing: -0.02em; }
|
|
35
|
-
.h2 { font-size: 1.5rem; font-weight: 600; letter-spacing: -0.01em; }
|
|
36
|
-
.h3 { font-size: 1.25rem; font-weight: 600; }
|
|
37
|
-
.body { font-size: 1rem; font-weight: 400; }
|
|
38
|
-
.caption { font-size: 0.875rem; font-weight: 400; color: var(--color-text-muted); }
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
**Spatial Hierarchy (Z-axis):**
|
|
42
|
-
- Surface level: cards, panels — `shadow-sm`
|
|
43
|
-
- Raised level: dropdowns, tooltips — `shadow-md`
|
|
44
|
-
- Overlay level: modals, drawers — `shadow-xl`
|
|
45
|
-
- Floating level: toasts, command palette — `shadow-2xl`
|
|
46
|
-
|
|
47
|
-
**Color Hierarchy:**
|
|
48
|
-
- Primary action: brand color (1 per screen)
|
|
49
|
-
- Secondary action: muted/ghost variant
|
|
50
|
-
- Destructive action: red — far from primary CTA
|
|
51
|
-
|
|
52
|
-
#### 2. Harmony — Visual Cohesion
|
|
53
|
-
All elements should feel like they belong to the same family.
|
|
54
|
-
|
|
55
|
-
**Spacing Scale (8pt Grid):**
|
|
56
|
-
```
|
|
57
|
-
4px → xs gaps (icon padding, tight list items)
|
|
58
|
-
8px → sm (between related elements)
|
|
59
|
-
16px → md (card padding, section spacing)
|
|
60
|
-
24px → lg (between sections)
|
|
61
|
-
32px → xl (between major blocks)
|
|
62
|
-
48px → 2xl (page-level separation)
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
**Border Radius Consistency:**
|
|
66
|
-
- Small elements (badges, chips): `rounded-full` or `rounded-sm`
|
|
67
|
-
- Medium elements (inputs, buttons): `rounded-md`
|
|
68
|
-
- Large elements (cards, modals): `rounded-xl`
|
|
69
|
-
- Never mix `rounded-none` with `rounded-2xl` in the same screen
|
|
70
|
-
|
|
71
|
-
**Color Harmony:**
|
|
72
|
-
```
|
|
73
|
-
Analogous: Brand + ±30° hue neighbors (natural, calm)
|
|
74
|
-
Complementary: Brand + 180° (high contrast, CTAs)
|
|
75
|
-
Triadic: Brand + 120°/240° (vibrant, use sparingly)
|
|
76
|
-
Monochromatic: Single hue, varying lightness (professional)
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
#### 3. Consistency — Reduce Cognitive Load
|
|
80
|
-
Users should never wonder "how does this work?" — patterns should be predictable.
|
|
81
|
-
|
|
82
|
-
**Platform Conventions (Web):**
|
|
83
|
-
- Primary CTA: top-right (desktop nav) or bottom-center (mobile)
|
|
84
|
-
- Destructive actions: always require confirmation dialogs
|
|
85
|
-
- Form submission: Enter key submits, Escape cancels/closes
|
|
86
|
-
- Navigation: Breadcrumbs for 3+ depth levels
|
|
87
|
-
- Empty states: Always provide an actionable CTA
|
|
88
|
-
|
|
89
|
-
**Component Consistency Checklist:**
|
|
90
|
-
- [ ] All buttons use the same radius (`rounded-md` everywhere).
|
|
91
|
-
- [ ] All modals have the same padding (`p-6`) and close behavior (Escape key).
|
|
92
|
-
- [ ] All form inputs have the same height (`h-9`) and focus ring style.
|
|
93
|
-
- [ ] All error messages appear in the same position (below the input field).
|
|
94
|
-
- [ ] All tables use the same row height and hover style.
|
|
95
|
-
|
|
96
|
-
### Apple HIG 2025 Updates
|
|
97
|
-
|
|
98
|
-
#### Spatial Design (Vision Pro)
|
|
99
|
-
- Use **depth** as an organizational tool — foreground elements are more important.
|
|
100
|
-
- Avoid placing interactive elements outside comfortable viewing angles (±45° center).
|
|
101
|
-
- Use **glass morphism** (`backdrop-blur`) for panels to maintain spatial context.
|
|
102
|
-
- Prefer indirect input (gaze + pinch) over precise pointer interactions.
|
|
103
|
-
|
|
104
|
-
#### iOS 18 Design Patterns
|
|
105
|
-
- **Liquid Glass**: Full glass-morphism on navigation bars and toolbars.
|
|
106
|
-
- **Adaptive layouts**: Single codebase adapts from iPhone to iPad to Mac.
|
|
107
|
-
- **Symbols**: SF Symbols 6 with variable rendering (multicolor, hierarchical).
|
|
108
|
-
- **Menu patterns**: Context menus replace modal bottom sheets where possible.
|
|
109
|
-
|
|
110
|
-
### Material Design 3 (Google)
|
|
111
|
-
|
|
112
|
-
#### Dynamic Color (M3)
|
|
113
|
-
Generate a full color system from a single seed color:
|
|
114
|
-
```typescript
|
|
115
|
-
import { argbFromHex, themeFromSourceColor } from '@material/material-color-utilities';
|
|
116
|
-
|
|
117
|
-
const theme = themeFromSourceColor(argbFromHex('#6750A4'));
|
|
118
|
-
// Generates: primary, secondary, tertiary, error + all tonal palettes
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
#### Key M3 Components
|
|
122
|
-
- **Cards**: 3 variants — Elevated (shadow), Filled (surface variant), Outlined (border)
|
|
123
|
-
- **Chips**: Filter, Input, Suggestion, Assist — each with distinct purpose
|
|
124
|
-
- **Navigation**: Bottom bar (≤5 items), Rail (tablet), Drawer (desktop)
|
|
125
|
-
|
|
126
|
-
### HIG Audit Protocol
|
|
127
|
-
When reviewing a design, check:
|
|
128
|
-
1. **Hierarchy**: Is the primary action immediately obvious? Is text contrast sufficient?
|
|
129
|
-
2. **Harmony**: Is spacing consistent (8pt grid)? Are border radii uniform?
|
|
130
|
-
3. **Consistency**: Do interactive elements follow platform conventions?
|
|
131
|
-
4. **Accessibility**: Does it pass WCAG 2.2? Are touch targets ≥ 24×24px?
|
|
132
|
-
5. **Platform fit**: Does it feel native to its target platform?
|
|
133
|
-
|
|
134
|
-
---
|
|
135
|
-
|
|
136
|
-
<a name="bahasa-indonesia"></a>
|
|
137
|
-
## Bahasa Indonesia
|
|
138
|
-
|
|
139
|
-
### Deskripsi
|
|
140
|
-
Menerapkan prinsip Human Interface Guidelines (HIG) pada desain UI/UX web dan mobile. Mencakup triad inti (Hierarchy, Harmony, Consistency), pembaruan Apple HIG 2025, Google Material Design 3, desain spasial untuk Apple Vision Pro, dan persyaratan aksesibilitas modern.
|
|
141
|
-
|
|
142
|
-
### Kondisi Pemicu
|
|
143
|
-
- Meninjau atau mengkritik desain UI untuk pelanggaran HIG.
|
|
144
|
-
- Membuat keputusan desain tentang skala tipografi, penggunaan warna, atau hierarki tata letak.
|
|
145
|
-
- Merancang untuk berbagai platform (iOS, Android, web) dengan pola yang konsisten.
|
|
146
|
-
- Mengevaluasi apakah UI terasa "premium" atau "amatir".
|
|
147
|
-
- Memastikan komponen UI mengikuti konvensi platform.
|
|
148
|
-
|
|
149
|
-
### Triad HIG Inti
|
|
150
|
-
|
|
151
|
-
#### 1. Hierarki — Pandu Mata Pengguna
|
|
152
|
-
Hierarki visual mengontrol di mana pengguna melihat pertama dan bagaimana mereka menavigasi informasi.
|
|
153
|
-
- **Hierarki tipografi**: 4 level maksimal — H1 (2.25rem, 700), H2 (1.5rem, 600), H3 (1.25rem, 600), body (1rem, 400).
|
|
154
|
-
- **Hierarki spasial (sumbu-Z)**: Surface (shadow-sm), Raised (shadow-md), Overlay (shadow-xl), Floating (shadow-2xl).
|
|
155
|
-
- **Hierarki warna**: Satu warna brand per layar, aksi sekunder dengan varian muted/ghost, aksi destruktif dengan merah — jauh dari CTA utama.
|
|
156
|
-
|
|
157
|
-
#### 2. Harmoni — Kohesi Visual
|
|
158
|
-
Semua elemen harus terasa seperti milik keluarga yang sama.
|
|
159
|
-
- **Skala spacing (grid 8pt)**: 4px, 8px, 16px, 24px, 32px, 48px.
|
|
160
|
-
- **Konsistensi border radius**: Elemen kecil (rounded-full), sedang (rounded-md), besar (rounded-xl). Jangan campurkan rounded-none dengan rounded-2xl di layar yang sama.
|
|
161
|
-
- **Harmoni warna**: Analogis, komplementer, triadik, atau monokromatik — pilih satu skema dan patuhi.
|
|
162
|
-
|
|
163
|
-
#### 3. Konsistensi — Kurangi Beban Kognitif
|
|
164
|
-
Pengguna tidak pernah bertanya-tanya "bagaimana cara ini bekerja?" — pola harus dapat diprediksi.
|
|
165
|
-
- Konvensi platform: CTA utama di kanan atas (nav desktop) atau bawah tengah (mobile).
|
|
166
|
-
- Aksi destruktif selalu memerlukan dialog konfirmasi.
|
|
167
|
-
- Semua komponen sejenis menggunakan radius, padding, dan perilaku yang sama.
|
|
168
|
-
|
|
169
|
-
### Pembaruan Apple HIG 2025
|
|
170
|
-
|
|
171
|
-
#### Desain Spasial (Vision Pro)
|
|
172
|
-
Gunakan kedalaman sebagai alat organisasi. Gunakan glass-morphism (`backdrop-blur`) untuk panel. Hindari elemen interaktif di luar sudut pandang yang nyaman.
|
|
173
|
-
|
|
174
|
-
#### Pola iOS 18
|
|
175
|
-
Liquid Glass untuk navigation bar. Tata letak adaptif dari iPhone ke iPad ke Mac. SF Symbols 6 dengan rendering variabel.
|
|
176
|
-
|
|
177
|
-
### Material Design 3 (Google)
|
|
178
|
-
|
|
179
|
-
#### Warna Dinamis (M3)
|
|
180
|
-
Hasilkan sistem warna penuh dari satu warna seed menggunakan `@material/material-color-utilities`.
|
|
181
|
-
|
|
182
|
-
#### Komponen M3 Utama
|
|
183
|
-
- **Kartu**: Elevated (bayangan), Filled (varian permukaan), Outlined (batas).
|
|
184
|
-
- **Chip**: Filter, Input, Saran, Bantuan — masing-masing dengan tujuan berbeda.
|
|
185
|
-
- **Navigasi**: Bottom bar (≤5 item), Rail (tablet), Drawer (desktop).
|
|
186
|
-
|
|
187
|
-
### Protokol Audit HIG
|
|
188
|
-
Saat meninjau desain, periksa: Hierarki (apakah aksi utama langsung terlihat jelas?), Harmoni (apakah spacing konsisten?), Konsistensi (apakah elemen interaktif mengikuti konvensi platform?), Aksesibilitas (lulus WCAG 2.2? Target sentuh ≥ 24×24px?), dan Kesesuaian Platform (apakah terasa native untuk platform target?).
|
|
1
|
+
---
|
|
2
|
+
name: hig
|
|
3
|
+
description: "Applies Human Interface Guidelines (HIG) principles — Hierarchy, Harmony, and Consistency — to UI/UX designs to ensure intuitive and cohesive interfaces / Menerapkan prinsip Human Interface Guidelines (HIG) — Hierarchy, Harmony, dan Consistency — pada desain UI/UX untuk memastikan antarmuka yang intuitif dan kohesif."
|
|
4
|
+
author: "Roedy Rustam"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Human Interface Guidelines (HIG) Expert (2026 Edition)
|
|
8
|
+
|
|
9
|
+
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<a name="english"></a>
|
|
14
|
+
## English
|
|
15
|
+
|
|
16
|
+
### Description
|
|
17
|
+
Applies Human Interface Guidelines (HIG) principles to web and mobile UI/UX designs. Covers the core triad (Hierarchy, Harmony, Consistency), Apple's HIG 2025 updates, Google Material Design 3, spatial design for Apple Vision Pro, and modern accessibility requirements.
|
|
18
|
+
|
|
19
|
+
### Trigger Conditions
|
|
20
|
+
- Reviewing or critiquing a UI design for HIG violations.
|
|
21
|
+
- Making design decisions about typography scale, color usage, or layout hierarchy.
|
|
22
|
+
- Designing for multiple platforms (iOS, Android, web) with consistent patterns.
|
|
23
|
+
- Evaluating whether a UI feels "premium" or "amateur".
|
|
24
|
+
- Ensuring UI components follow platform conventions (button placement, nav patterns).
|
|
25
|
+
|
|
26
|
+
### The Core HIG Triad
|
|
27
|
+
|
|
28
|
+
#### 1. Hierarchy — Guide the User's Eye
|
|
29
|
+
Visual hierarchy controls where the user looks first and how they navigate information.
|
|
30
|
+
|
|
31
|
+
**Typography Hierarchy:**
|
|
32
|
+
```css
|
|
33
|
+
/* Clear hierarchy with size and weight — 4 levels max */
|
|
34
|
+
.h1 { font-size: 2.25rem; font-weight: 700; letter-spacing: -0.02em; }
|
|
35
|
+
.h2 { font-size: 1.5rem; font-weight: 600; letter-spacing: -0.01em; }
|
|
36
|
+
.h3 { font-size: 1.25rem; font-weight: 600; }
|
|
37
|
+
.body { font-size: 1rem; font-weight: 400; }
|
|
38
|
+
.caption { font-size: 0.875rem; font-weight: 400; color: var(--color-text-muted); }
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**Spatial Hierarchy (Z-axis):**
|
|
42
|
+
- Surface level: cards, panels — `shadow-sm`
|
|
43
|
+
- Raised level: dropdowns, tooltips — `shadow-md`
|
|
44
|
+
- Overlay level: modals, drawers — `shadow-xl`
|
|
45
|
+
- Floating level: toasts, command palette — `shadow-2xl`
|
|
46
|
+
|
|
47
|
+
**Color Hierarchy:**
|
|
48
|
+
- Primary action: brand color (1 per screen)
|
|
49
|
+
- Secondary action: muted/ghost variant
|
|
50
|
+
- Destructive action: red — far from primary CTA
|
|
51
|
+
|
|
52
|
+
#### 2. Harmony — Visual Cohesion
|
|
53
|
+
All elements should feel like they belong to the same family.
|
|
54
|
+
|
|
55
|
+
**Spacing Scale (8pt Grid):**
|
|
56
|
+
```
|
|
57
|
+
4px → xs gaps (icon padding, tight list items)
|
|
58
|
+
8px → sm (between related elements)
|
|
59
|
+
16px → md (card padding, section spacing)
|
|
60
|
+
24px → lg (between sections)
|
|
61
|
+
32px → xl (between major blocks)
|
|
62
|
+
48px → 2xl (page-level separation)
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**Border Radius Consistency:**
|
|
66
|
+
- Small elements (badges, chips): `rounded-full` or `rounded-sm`
|
|
67
|
+
- Medium elements (inputs, buttons): `rounded-md`
|
|
68
|
+
- Large elements (cards, modals): `rounded-xl`
|
|
69
|
+
- Never mix `rounded-none` with `rounded-2xl` in the same screen
|
|
70
|
+
|
|
71
|
+
**Color Harmony:**
|
|
72
|
+
```
|
|
73
|
+
Analogous: Brand + ±30° hue neighbors (natural, calm)
|
|
74
|
+
Complementary: Brand + 180° (high contrast, CTAs)
|
|
75
|
+
Triadic: Brand + 120°/240° (vibrant, use sparingly)
|
|
76
|
+
Monochromatic: Single hue, varying lightness (professional)
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
#### 3. Consistency — Reduce Cognitive Load
|
|
80
|
+
Users should never wonder "how does this work?" — patterns should be predictable.
|
|
81
|
+
|
|
82
|
+
**Platform Conventions (Web):**
|
|
83
|
+
- Primary CTA: top-right (desktop nav) or bottom-center (mobile)
|
|
84
|
+
- Destructive actions: always require confirmation dialogs
|
|
85
|
+
- Form submission: Enter key submits, Escape cancels/closes
|
|
86
|
+
- Navigation: Breadcrumbs for 3+ depth levels
|
|
87
|
+
- Empty states: Always provide an actionable CTA
|
|
88
|
+
|
|
89
|
+
**Component Consistency Checklist:**
|
|
90
|
+
- [ ] All buttons use the same radius (`rounded-md` everywhere).
|
|
91
|
+
- [ ] All modals have the same padding (`p-6`) and close behavior (Escape key).
|
|
92
|
+
- [ ] All form inputs have the same height (`h-9`) and focus ring style.
|
|
93
|
+
- [ ] All error messages appear in the same position (below the input field).
|
|
94
|
+
- [ ] All tables use the same row height and hover style.
|
|
95
|
+
|
|
96
|
+
### Apple HIG 2025 Updates
|
|
97
|
+
|
|
98
|
+
#### Spatial Design (Vision Pro)
|
|
99
|
+
- Use **depth** as an organizational tool — foreground elements are more important.
|
|
100
|
+
- Avoid placing interactive elements outside comfortable viewing angles (±45° center).
|
|
101
|
+
- Use **glass morphism** (`backdrop-blur`) for panels to maintain spatial context.
|
|
102
|
+
- Prefer indirect input (gaze + pinch) over precise pointer interactions.
|
|
103
|
+
|
|
104
|
+
#### iOS 18 Design Patterns
|
|
105
|
+
- **Liquid Glass**: Full glass-morphism on navigation bars and toolbars.
|
|
106
|
+
- **Adaptive layouts**: Single codebase adapts from iPhone to iPad to Mac.
|
|
107
|
+
- **Symbols**: SF Symbols 6 with variable rendering (multicolor, hierarchical).
|
|
108
|
+
- **Menu patterns**: Context menus replace modal bottom sheets where possible.
|
|
109
|
+
|
|
110
|
+
### Material Design 3 (Google)
|
|
111
|
+
|
|
112
|
+
#### Dynamic Color (M3)
|
|
113
|
+
Generate a full color system from a single seed color:
|
|
114
|
+
```typescript
|
|
115
|
+
import { argbFromHex, themeFromSourceColor } from '@material/material-color-utilities';
|
|
116
|
+
|
|
117
|
+
const theme = themeFromSourceColor(argbFromHex('#6750A4'));
|
|
118
|
+
// Generates: primary, secondary, tertiary, error + all tonal palettes
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
#### Key M3 Components
|
|
122
|
+
- **Cards**: 3 variants — Elevated (shadow), Filled (surface variant), Outlined (border)
|
|
123
|
+
- **Chips**: Filter, Input, Suggestion, Assist — each with distinct purpose
|
|
124
|
+
- **Navigation**: Bottom bar (≤5 items), Rail (tablet), Drawer (desktop)
|
|
125
|
+
|
|
126
|
+
### HIG Audit Protocol
|
|
127
|
+
When reviewing a design, check:
|
|
128
|
+
1. **Hierarchy**: Is the primary action immediately obvious? Is text contrast sufficient?
|
|
129
|
+
2. **Harmony**: Is spacing consistent (8pt grid)? Are border radii uniform?
|
|
130
|
+
3. **Consistency**: Do interactive elements follow platform conventions?
|
|
131
|
+
4. **Accessibility**: Does it pass WCAG 2.2? Are touch targets ≥ 24×24px?
|
|
132
|
+
5. **Platform fit**: Does it feel native to its target platform?
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
<a name="bahasa-indonesia"></a>
|
|
137
|
+
## Bahasa Indonesia
|
|
138
|
+
|
|
139
|
+
### Deskripsi
|
|
140
|
+
Menerapkan prinsip Human Interface Guidelines (HIG) pada desain UI/UX web dan mobile. Mencakup triad inti (Hierarchy, Harmony, Consistency), pembaruan Apple HIG 2025, Google Material Design 3, desain spasial untuk Apple Vision Pro, dan persyaratan aksesibilitas modern.
|
|
141
|
+
|
|
142
|
+
### Kondisi Pemicu
|
|
143
|
+
- Meninjau atau mengkritik desain UI untuk pelanggaran HIG.
|
|
144
|
+
- Membuat keputusan desain tentang skala tipografi, penggunaan warna, atau hierarki tata letak.
|
|
145
|
+
- Merancang untuk berbagai platform (iOS, Android, web) dengan pola yang konsisten.
|
|
146
|
+
- Mengevaluasi apakah UI terasa "premium" atau "amatir".
|
|
147
|
+
- Memastikan komponen UI mengikuti konvensi platform.
|
|
148
|
+
|
|
149
|
+
### Triad HIG Inti
|
|
150
|
+
|
|
151
|
+
#### 1. Hierarki — Pandu Mata Pengguna
|
|
152
|
+
Hierarki visual mengontrol di mana pengguna melihat pertama dan bagaimana mereka menavigasi informasi.
|
|
153
|
+
- **Hierarki tipografi**: 4 level maksimal — H1 (2.25rem, 700), H2 (1.5rem, 600), H3 (1.25rem, 600), body (1rem, 400).
|
|
154
|
+
- **Hierarki spasial (sumbu-Z)**: Surface (shadow-sm), Raised (shadow-md), Overlay (shadow-xl), Floating (shadow-2xl).
|
|
155
|
+
- **Hierarki warna**: Satu warna brand per layar, aksi sekunder dengan varian muted/ghost, aksi destruktif dengan merah — jauh dari CTA utama.
|
|
156
|
+
|
|
157
|
+
#### 2. Harmoni — Kohesi Visual
|
|
158
|
+
Semua elemen harus terasa seperti milik keluarga yang sama.
|
|
159
|
+
- **Skala spacing (grid 8pt)**: 4px, 8px, 16px, 24px, 32px, 48px.
|
|
160
|
+
- **Konsistensi border radius**: Elemen kecil (rounded-full), sedang (rounded-md), besar (rounded-xl). Jangan campurkan rounded-none dengan rounded-2xl di layar yang sama.
|
|
161
|
+
- **Harmoni warna**: Analogis, komplementer, triadik, atau monokromatik — pilih satu skema dan patuhi.
|
|
162
|
+
|
|
163
|
+
#### 3. Konsistensi — Kurangi Beban Kognitif
|
|
164
|
+
Pengguna tidak pernah bertanya-tanya "bagaimana cara ini bekerja?" — pola harus dapat diprediksi.
|
|
165
|
+
- Konvensi platform: CTA utama di kanan atas (nav desktop) atau bawah tengah (mobile).
|
|
166
|
+
- Aksi destruktif selalu memerlukan dialog konfirmasi.
|
|
167
|
+
- Semua komponen sejenis menggunakan radius, padding, dan perilaku yang sama.
|
|
168
|
+
|
|
169
|
+
### Pembaruan Apple HIG 2025
|
|
170
|
+
|
|
171
|
+
#### Desain Spasial (Vision Pro)
|
|
172
|
+
Gunakan kedalaman sebagai alat organisasi. Gunakan glass-morphism (`backdrop-blur`) untuk panel. Hindari elemen interaktif di luar sudut pandang yang nyaman.
|
|
173
|
+
|
|
174
|
+
#### Pola iOS 18
|
|
175
|
+
Liquid Glass untuk navigation bar. Tata letak adaptif dari iPhone ke iPad ke Mac. SF Symbols 6 dengan rendering variabel.
|
|
176
|
+
|
|
177
|
+
### Material Design 3 (Google)
|
|
178
|
+
|
|
179
|
+
#### Warna Dinamis (M3)
|
|
180
|
+
Hasilkan sistem warna penuh dari satu warna seed menggunakan `@material/material-color-utilities`.
|
|
181
|
+
|
|
182
|
+
#### Komponen M3 Utama
|
|
183
|
+
- **Kartu**: Elevated (bayangan), Filled (varian permukaan), Outlined (batas).
|
|
184
|
+
- **Chip**: Filter, Input, Saran, Bantuan — masing-masing dengan tujuan berbeda.
|
|
185
|
+
- **Navigasi**: Bottom bar (≤5 item), Rail (tablet), Drawer (desktop).
|
|
186
|
+
|
|
187
|
+
### Protokol Audit HIG
|
|
188
|
+
Saat meninjau desain, periksa: Hierarki (apakah aksi utama langsung terlihat jelas?), Harmoni (apakah spacing konsisten?), Konsistensi (apakah elemen interaktif mengikuti konvensi platform?), Aksesibilitas (lulus WCAG 2.2? Target sentuh ≥ 24×24px?), dan Kesesuaian Platform (apakah terasa native untuk platform target?).
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: hyper-context-synthesizer
|
|
3
|
+
description: "Cross-project episodic memory. Synthesizes bug fixes and architectural choices from previous tasks to bypass zero-shot limitations / Memori episodik lintas proyek. Menyintesis perbaikan bug dan pilihan arsitektur dari tugas sebelumnya untuk melampaui batasan zero-shot."
|
|
4
|
+
author: vibes-plug-swarm
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Hyper-Context Synthesizer (Cross-Project Episodic Memory)
|
|
8
|
+
|
|
9
|
+
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<a name="english"></a>
|
|
14
|
+
## English
|
|
15
|
+
|
|
16
|
+
### Description
|
|
17
|
+
Transforms the AI from a stateless engine into a senior teammate with persistent, cross-project memory. It maintains a centralized vector or semantic knowledge graph (in the user's root environment) of complex bug fixes, architectural decisions, and personal coding styles across ALL projects the user has worked on. When a new project encounters a familiar problem, the synthesizer retrieves the exact context and applies the historical fix, bypassing zero-shot limitations and repetitive prompt engineering.
|
|
18
|
+
|
|
19
|
+
### Trigger Conditions
|
|
20
|
+
- During Phase 1 (Discovery & PRD) to load historical preferences and avoid past mistakes.
|
|
21
|
+
- When facing complex, obscure bugs that were solved in a different repository or earlier conversation.
|
|
22
|
+
- When standard coding attempts fail and require deep historical experiential retrieval.
|
|
23
|
+
|
|
24
|
+
### Operating Protocol
|
|
25
|
+
1. **Continuous Capture**: When a difficult problem is solved, it extracts the root cause, solution code, and rationale, storing it in the global knowledge graph.
|
|
26
|
+
2. **Contextual Retrieval**: On new sessions, it queries the memory graph against the current task intent.
|
|
27
|
+
3. **Synthesis & Injection**: Injects the historical context directly into the current execution loop, stating explicitly: *"I remember we solved this architectural issue in Project X using technique Y. Applying the same proven pattern here."*
|
|
28
|
+
|
|
29
|
+
## Orchestration & Integration
|
|
30
|
+
- Enhances `self-evolving-memory-graph` by elevating it from single-repo memory to cross-workspace episodic memory.
|
|
31
|
+
- Feeds crucial background context into `brainstorming` and `zero-to-prod-orchestrator` during the ideation phase.
|
|
32
|
+
- Prevents recurring regressions during `autonomous-tdd-debugger` loops.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
<a name="bahasa-indonesia"></a>
|
|
37
|
+
## Bahasa Indonesia
|
|
38
|
+
|
|
39
|
+
### Deskripsi
|
|
40
|
+
Mengubah AI dari mesin yang melupakan konteks (*stateless*) menjadi rekan setim senior yang memiliki memori episodik lintas-proyek yang persisten. Agen ini memelihara grafik pengetahuan semantik atau vektor terpusat (di lingkungan root pengguna) tentang perbaikan bug yang kompleks, keputusan arsitektural, dan gaya penulisan kode pribadi di SELURUH proyek yang pernah dikerjakan pengguna. Ketika sebuah proyek baru menghadapi masalah yang tidak asing, agen ini akan mengambil konteks yang tepat dan menerapkan perbaikan historis tersebut, melampaui batasan *zero-shot* dan meminimalisir manipulasi *prompt* yang berulang.
|
|
41
|
+
|
|
42
|
+
### Kondisi Pemicu
|
|
43
|
+
- Saat Fase 1 (Penemuan & PRD) untuk memuat preferensi historis dan menghindari kesalahan di masa lalu.
|
|
44
|
+
- Ketika menghadapi bug yang kompleks dan tidak lazim yang pernah diselesaikan di repositori lain atau di percakapan sebelumnya.
|
|
45
|
+
- Ketika upaya koding standar gagal dan membutuhkan pencarian pengalaman historis yang mendalam.
|
|
46
|
+
|
|
47
|
+
### Protokol Operasi
|
|
48
|
+
1. **Penangkapan Berkelanjutan**: Ketika masalah sulit berhasil dipecahkan, agen ini mengekstrak akar masalah, kode solusi, dan alasan logisnya, lalu menyimpannya di grafik pengetahuan global.
|
|
49
|
+
2. **Pencarian Kontekstual**: Pada sesi baru, ia melakukan *query* ke grafik memori berdasarkan tujuan tugas saat ini.
|
|
50
|
+
3. **Sintesis & Injeksi**: Menyuntikkan konteks historis langsung ke dalam loop eksekusi saat ini, dan secara eksplisit menyatakan: *"Saya ingat kita pernah menyelesaikan masalah arsitektural ini di Proyek X menggunakan teknik Y. Saya akan menerapkan pola terbukti yang sama di sini."*
|
|
51
|
+
|
|
52
|
+
## Integrasi Orkestrasi
|
|
53
|
+
- Memperkuat `self-evolving-memory-graph` dengan meningkatkannya dari sekadar memori repositori tunggal menjadi memori episodik lintas-workspace.
|
|
54
|
+
- Memasok konteks latar belakang krusial ke dalam `brainstorming` dan `zero-to-prod-orchestrator` selama fase ideasi.
|
|
55
|
+
- Mencegah regresi berulang selama *loop* `autonomous-tdd-debugger`.
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: js-backend-expert
|
|
3
|
-
description: "Expert-level skill for Node.js
|
|
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
5
|
---
|
|
6
6
|
|
|
7
|
-
# JS Backend Expert (Node.js 24 / Bun 1.2 / Deno 2.x Edition)
|
|
7
|
+
# JS Backend Expert (Node.js 24 LTS / Bun 1.2 / Deno 2.x Edition)
|
|
8
8
|
|
|
9
9
|
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
10
10
|
|
|
@@ -92,10 +92,16 @@ const res = await client.users.$post({ json: { name: 'Alice', email: 'alice@exam
|
|
|
92
92
|
const user = await res.json(); // Fully typed!
|
|
93
93
|
```
|
|
94
94
|
|
|
95
|
-
#### 3.
|
|
96
|
-
|
|
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`.
|
|
97
100
|
|
|
98
|
-
#### 4.
|
|
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)
|
|
99
105
|
For ultra-low latency at the edge, use **Hono** (runs natively on all edge platforms):
|
|
100
106
|
```typescript
|
|
101
107
|
// Cloudflare Worker
|
|
@@ -146,13 +152,21 @@ process.on('SIGTERM', () => shutdown('SIGTERM'));
|
|
|
146
152
|
process.on('SIGINT', () => shutdown('SIGINT'));
|
|
147
153
|
```
|
|
148
154
|
|
|
155
|
+
### Skill Orchestration & Handoff
|
|
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`.
|
|
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
|
+
- **Automated Testing & Docs**: Delegate integration testing to `e2e-testing-expert` and update change logs via `auto-doc-updater`.
|
|
162
|
+
|
|
149
163
|
---
|
|
150
164
|
|
|
151
165
|
<a name="bahasa-indonesia"></a>
|
|
152
166
|
## Bahasa Indonesia
|
|
153
167
|
|
|
154
168
|
### Deskripsi
|
|
155
|
-
Panduan tingkat produksi untuk membangun API backend JavaScript/TypeScript yang cepat, skalabel, dan tangguh di lingkungan **Node.js 24
|
|
169
|
+
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*.
|
|
156
170
|
|
|
157
171
|
### Kondisi Pemicu
|
|
158
172
|
- Merancang atau merefaktor aplikasi backend Node.js, Bun, atau Deno.
|
|
@@ -174,10 +188,13 @@ Gunakan untuk REST API dengan throughput tinggi. Selalu validasi input menggunak
|
|
|
174
188
|
#### 2. Hono & Hono RPC — Multi-Runtime & Type-Safe Full-Stack
|
|
175
189
|
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
190
|
|
|
177
|
-
#### 3.
|
|
178
|
-
|
|
191
|
+
#### 3. NestJS — Arsitektur Enterprise
|
|
192
|
+
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.
|
|
179
193
|
|
|
180
|
-
#### 4.
|
|
194
|
+
#### 4. Express 5
|
|
195
|
+
Express 5 otomatis menangkap rejected promises di async route handler tanpa butuh library tambahan. Sangat cocok untuk tim yang sudah familiar dengan ekosistem Express.
|
|
196
|
+
|
|
197
|
+
#### 5. Edge Runtime (Cloudflare Workers / Vercel Edge)
|
|
181
198
|
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
199
|
|
|
183
200
|
### Lapisan Data Type-Safe
|
|
@@ -190,3 +207,11 @@ Gunakan BullMQ dengan Redis untuk pemrosesan tugas latar belakang yang andal den
|
|
|
190
207
|
|
|
191
208
|
### Graceful Shutdown
|
|
192
209
|
Jangan hentikan proses secara mendadak. Bersihkan connection pool, HTTP server, dan worker queue sebelum keluar.
|
|
210
|
+
|
|
211
|
+
### Orkestrasi Skill & Serah Terima
|
|
212
|
+
- **Orkestrator Utama**: Dieksekusi pada **Fase 4** dari `zero-to-prod-orchestrator` atau setelah finalisasi backend di `brainstorming`.
|
|
213
|
+
- **Kontrak & Spesifikasi API**: Delegasikan desain OpenAPI / GraphQL / gRPC ke `api-design-expert` dan tipe TypeScript ke `typescript-expert`.
|
|
214
|
+
- **Database & ORM**: Delegasikan desain skema, migrasi, dan pooling ke `database-orm-expert` dan `supabase-migration`.
|
|
215
|
+
- **Autentikasi & Keamanan**: Delegasikan alur JWT/OAuth2 ke `authentication-identity-expert` dan keamanan kredensial ke `zero-trust-secret-vault`.
|
|
216
|
+
- **Pekerjaan Asinkron Tahan Gagal**: Delegasikan workflow kompleks ke `async-queue-temporal-expert`.
|
|
217
|
+
- **Pengujian & Dokumentasi**: Delegasikan pengujian integrasi ke `e2e-testing-expert` dan perbarui catatan perubahan via `auto-doc-updater`.
|