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.
- package/.claude/rules/vibes-plug-core.md +32 -0
- package/.cursor/rules/vibes-plug-core.mdc +51 -0
- package/.cursorrules +42 -0
- package/AGENTS.md +96 -0
- package/BLUEPRINT.md +309 -125
- package/CHANGELOG.md +183 -1
- package/CLAUDE.md +70 -0
- package/LICENSE +1 -1
- package/README.md +641 -263
- package/index.js +19 -0
- package/package.json +61 -25
- package/plugin.json +24 -7
- package/scripts/generate_swarm_gif.py +295 -0
- package/scripts/install.js +201 -0
- package/skills/accessibility-testing-expert/SKILL.md +116 -0
- package/skills/ai-cost-token-optimizer/SKILL.md +82 -0
- package/skills/ai-evals-benchmark-expert/SKILL.md +188 -0
- package/skills/ai-llm-integration-expert/SKILL.md +147 -122
- package/skills/ai-media-generation-expert/SKILL.md +172 -0
- package/skills/ai-prompt-engineering-expert/SKILL.md +84 -0
- package/skills/angular-expert/SKILL.md +148 -0
- package/skills/api-design-expert/SKILL.md +316 -309
- package/skills/api-gateway-proxy-expert/SKILL.md +81 -0
- package/skills/app-analyzer-optimizer/SKILL.md +195 -188
- package/skills/apple-ecosystem-expert/SKILL.md +145 -0
- package/skills/{asisten_ramah → asisten-ramah}/SKILL.md +7 -1
- package/skills/astro-framework-expert/SKILL.md +200 -0
- package/skills/async-queue-temporal-expert/SKILL.md +240 -0
- package/skills/authentication-identity-expert/SKILL.md +279 -45
- package/skills/auto-doc-updater/SKILL.md +219 -203
- package/skills/autonomous-chaos-monkey/SKILL.md +63 -0
- package/skills/autonomous-red-teamer/SKILL.md +203 -0
- package/skills/autonomous-tdd-debugger/SKILL.md +71 -0
- package/skills/background-jobs-queue-expert/SKILL.md +235 -0
- package/skills/biome-linter-formatter-expert/SKILL.md +89 -0
- package/skills/blockchain-web3-expert/SKILL.md +115 -0
- package/skills/bootstrap-to-modern/SKILL.md +93 -86
- package/skills/brainstorming/SKILL.md +381 -353
- package/skills/browser-automation-expert/SKILL.md +222 -0
- package/skills/bun-runtime-expert/SKILL.md +7 -1
- package/skills/chatbot-messaging-expert/SKILL.md +114 -0
- package/skills/ci-cd-devops-architect/SKILL.md +81 -45
- package/skills/cloud-hosting-expert/SKILL.md +249 -243
- package/skills/coderabbit/SKILL.md +197 -191
- package/skills/compliance-gdpr-privacy-expert/SKILL.md +85 -0
- package/skills/cron-scheduler-expert/SKILL.md +304 -0
- package/skills/data-pipeline-etl-expert/SKILL.md +84 -0
- package/skills/data-telemetry-expert/SKILL.md +218 -212
- package/skills/data-visualization-expert/SKILL.md +154 -0
- package/skills/database-migration-versioning-expert/SKILL.md +90 -0
- package/skills/database-orm-expert/SKILL.md +303 -293
- package/skills/dependency-upgrade-migrator/SKILL.md +301 -0
- package/skills/design-system-architect/SKILL.md +278 -242
- package/skills/desktop-electron-expert/SKILL.md +128 -0
- package/skills/documentation-site-expert/SKILL.md +59 -0
- package/skills/doku-mcp-server/SKILL.md +257 -0
- package/skills/doku-payment-gateway/SKILL.md +233 -0
- package/skills/domain-driven-design-expert/SKILL.md +82 -0
- package/skills/e2e-testing-expert/SKILL.md +320 -314
- package/skills/ecommerce-expert/SKILL.md +87 -0
- package/skills/edge-serverless-db-expert/SKILL.md +99 -0
- package/skills/email-notification-expert/SKILL.md +368 -0
- package/skills/error-resilience-expert/SKILL.md +486 -0
- package/skills/event-driven-architect/SKILL.md +86 -80
- package/skills/feature-flag-analytics-expert/SKILL.md +66 -0
- package/skills/file-upload-media-expert/SKILL.md +437 -0
- package/skills/firebase-security-expert/SKILL.md +7 -1
- package/skills/form-validation-expert/SKILL.md +407 -0
- package/skills/fullstack-expert/SKILL.md +260 -201
- 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 +142 -104
- package/skills/geospatial-maps-expert/SKILL.md +80 -0
- package/skills/global-a11y-i18n-expert/SKILL.md +86 -80
- package/skills/glsl-shader-expert/SKILL.md +107 -0
- package/skills/go-programming-expert/SKILL.md +300 -294
- package/skills/graph-rag-knowledge-expert/SKILL.md +159 -0
- package/skills/graphql-apollo-expert/SKILL.md +114 -0
- package/skills/headless-cms-expert/SKILL.md +181 -0
- package/skills/hig/SKILL.md +193 -187
- package/skills/js-backend-expert/SKILL.md +218 -191
- package/skills/legacy-code-translator/SKILL.md +71 -0
- package/skills/local-slm-edge-ai-expert/SKILL.md +167 -0
- package/skills/logging-error-tracking-expert/SKILL.md +344 -0
- package/skills/mcp-client-orchestrator/SKILL.md +76 -0
- package/skills/mcp-server-architect/SKILL.md +226 -126
- package/skills/micro-frontend-architect/SKILL.md +112 -0
- package/skills/mobile-expo-expert/SKILL.md +191 -185
- package/skills/mobile-push-notification-expert/SKILL.md +71 -0
- package/skills/modern-css-native-expert/SKILL.md +189 -0
- package/skills/monday-design-aesthetic/SKILL.md +72 -66
- package/skills/monorepo-architect/SKILL.md +232 -226
- package/skills/mpa-orchestrator/SKILL.md +120 -101
- package/skills/multi-agent-orchestration/SKILL.md +173 -153
- package/skills/multiple-entry-points/SKILL.md +91 -55
- package/skills/mvc-expert/SKILL.md +237 -231
- package/skills/n8n-automation-expert/SKILL.md +89 -0
- package/skills/nextjs-app-router-expert/SKILL.md +148 -0
- package/skills/openapi-swagger-codegen-expert/SKILL.md +67 -0
- package/skills/payment-gateway-expert/SKILL.md +129 -45
- package/skills/pdf-document-generation-expert/SKILL.md +91 -0
- package/skills/performance-web-vitals/SKILL.md +337 -331
- package/skills/post-quantum-crypto-migrator/SKILL.md +57 -0
- package/skills/prd-architect/SKILL.md +206 -190
- package/skills/proactive-background-watcher/SKILL.md +68 -0
- package/skills/production-ready-hardener/PRODUCTION_READINESS_REPORT.md +67 -0
- package/skills/production-ready-hardener/SKILL.md +461 -468
- 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 +85 -0
- package/skills/pwa-offline-first-expert/SKILL.md +185 -0
- package/skills/python-programming-expert/SKILL.md +407 -270
- package/skills/rate-limit-abuse-prevention/SKILL.md +377 -0
- package/skills/realtime-collaboration-expert/SKILL.md +99 -45
- package/skills/rich-text-editor-expert/SKILL.md +177 -0
- package/skills/rust-programming-expert/SKILL.md +240 -234
- package/skills/saas-billing/SKILL.md +382 -376
- package/skills/saas-multi-tenant/SKILL.md +256 -236
- package/skills/saas-mvp-launcher/SKILL.md +30 -1
- package/skills/saas-transformer/SKILL.md +499 -445
- 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 +234 -228
- package/skills/search-engine-expert/SKILL.md +89 -0
- package/skills/secure-fuzz-testing/SKILL.md +7 -1
- package/skills/self-evolving-memory-graph/SKILL.md +91 -0
- package/skills/self-healing-cloud-orchestrator/SKILL.md +57 -0
- package/skills/senior-frontend/SKILL.md +85 -105
- package/skills/seo/SKILL.md +258 -224
- package/skills/session-context-loader/SKILL.md +83 -0
- package/skills/session-handoff-resume/SKILL.md +163 -157
- package/skills/{skill_baru → skill-baru}/SKILL.md +177 -146
- package/skills/solidjs-expert/SKILL.md +80 -0
- package/skills/spa-orchestrator/SKILL.md +306 -287
- package/skills/sse-websocket-streaming-expert/SKILL.md +93 -0
- package/skills/state-management-expert/SKILL.md +277 -271
- package/skills/supabase-migration/SKILL.md +47 -1
- package/skills/supabase-security-expert/SKILL.md +248 -242
- package/skills/svelte-sveltekit-expert/SKILL.md +91 -0
- package/skills/svg-animation-motion-expert/SKILL.md +115 -0
- package/skills/tailwind-expert/SKILL.md +139 -187
- package/skills/tanstack-query-expert/SKILL.md +204 -198
- package/skills/tauri-expert/SKILL.md +7 -1
- package/skills/token-saver/SKILL.md +118 -110
- package/skills/typescript-expert/SKILL.md +329 -278
- package/skills/ui-components-expert/SKILL.md +166 -63
- package/skills/ui-ux-pro-max/SKILL.md +221 -200
- package/skills/vector-db-rag-expert/SKILL.md +208 -0
- package/skills/vibe-code-gardener/SKILL.md +180 -172
- package/skills/visual-qa-vision-agent/SKILL.md +71 -0
- package/skills/voice-ai-realtime-agent/SKILL.md +202 -0
- package/skills/vue-frontend-expert/SKILL.md +132 -0
- package/skills/wasm-edge-computing-expert/SKILL.md +97 -0
- package/skills/web-3d-graphics-expert/SKILL.md +137 -0
- package/skills/web-game-engine-expert/SKILL.md +102 -0
- package/skills/web-scraper/SKILL.md +98 -146
- package/skills/website-design-cloner/SKILL.md +180 -0
- package/skills/webxr-ar-vr-expert/SKILL.md +123 -0
- package/skills/wordpress-headless-expert/SKILL.md +144 -0
- package/skills/zero-to-prod-orchestrator/SKILL.md +231 -180
- package/skills/zero-trust-secret-vault/SKILL.md +88 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- package/CONTRIBUTING.md +0 -199
- package/SECURITY.md +0 -21
- package/banner.png +0 -0
- package/skills/senior-fullstack/SKILL.md +0 -167
- package/skills/senior-fullstack/references/architecture_patterns.md +0 -160
- package/skills/senior-fullstack/references/development_workflows.md +0 -222
- package/skills/senior-fullstack/references/tech_stack_guide.md +0 -190
- package/skills/senior-fullstack/scripts/code_quality_analyzer.py +0 -114
- package/skills/senior-fullstack/scripts/fullstack_scaffolder.py +0 -114
- package/skills/senior-fullstack/scripts/project_scaffolder.py +0 -114
- package/skills/seo-aeo-landing-page-writer/SKILL.md +0 -97
- package/skills/seo-geo/SKILL.md +0 -188
- package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-310.pyc +0 -0
- package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-312.pyc +0 -0
- package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-310.pyc +0 -0
- package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-312.pyc +0 -0
- package/skills/ui_ux_expert/SKILL.md +0 -114
|
@@ -1,202 +1,261 @@
|
|
|
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), 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."
|
|
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
|
-
###
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
###
|
|
20
|
-
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
|
33
|
-
|
|
34
|
-
|
|
|
35
|
-
|
|
|
36
|
-
|
|
|
37
|
-
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
|
44
|
-
|
|
45
|
-
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
|
52
|
-
|
|
53
|
-
|
|
|
54
|
-
|
|
|
55
|
-
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
|
62
|
-
|
|
63
|
-
|
|
|
64
|
-
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
});
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
-
|
|
190
|
-
-
|
|
191
|
-
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
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.
|