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,67 +1,73 @@
1
- ---
2
- name: monday-design-aesthetic
3
- description: "Expert guide for implementing the modern, spacious, and highly structured Monday.com design system / Panduan desain ala Monday.com."
1
+ ---
2
+ name: monday-design-aesthetic
3
+ description: "Expert guide for implementing the modern, spacious, and highly structured Monday.com design system / Panduan desain ala Monday.com."
4
4
  author: "Roedy Rustam"
5
- ---
6
-
7
- # Monday.com Design Aesthetic
8
-
9
- [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
10
-
11
- ---
12
-
13
- <a name="english"></a>
14
- ## English
15
-
16
- ### Description
17
- This skill focuses on implementing the modern, spacious, and structured design aesthetic inspired by Monday.com. It is ideal for SaaS landing pages and dashboards.
18
-
19
- ### Trigger Conditions
20
- Use this when the user asks for:
21
- - A "Monday.com style" design.
22
- - A modern SaaS landing page with clean structure.
23
- - High-quality, spacious UI with vibrant accents.
24
-
25
- ### Core Design Tokens
26
- - **Primary Brand Color**: Vibrant Blue (`#0073ea`) for active states and primary buttons.
27
- - **Backgrounds**: Clean White (`#FFFFFF`) for main content, Light Grays (`#F9F9F9`, `#F5F6F8`) for section alternations, Dark Gray/Black (`#111111`) for footers.
28
- - **Typography**: Clean geometric sans-serif (e.g., Figtree, Circular, Inter).
29
- - Hero text is extra-bold (48-60px).
30
- - Section headers are bold (32-40px) in dark slate (`#333333`).
31
- - Body text is medium (16-18px) in muted gray (`#676879`).
32
-
33
- ### UI Components & Layout
34
- - **Buttons**: Fully rounded corners (~8px). Primary buttons use vibrant blue with white text and generous padding (e.g., `px-6 py-3`).
35
- - **Cards**: Large border radius (12-16px) with flat borders or extremely subtle drop shadows (`shadow-sm`).
36
- - **Layout**: Centered max-width containers (1200-1400px).
37
- - **Spacing**: Generous vertical padding between sections (80-120px) to let content breathe.
38
- - **Interactions**: Smooth hover states, interactive tab systems, and collapsible accordions.
39
-
40
- ---
41
-
42
- <a name="bahasa-indonesia"></a>
43
- ## Bahasa Indonesia
44
-
45
- ### Deskripsi
46
- Skill ini berfokus pada implementasi desain yang modern, luas (spacious), dan terstruktur yang terinspirasi oleh Monday.com. Sangat cocok untuk landing page dan dashboard SaaS.
47
-
48
- ### Kondisi Pemicu
49
- Gunakan saat pengguna meminta:
50
- - Desain ala "Monday.com".
51
- - Landing page SaaS modern dengan struktur bersih.
52
- - UI berkualitas tinggi dengan ruang bernapas luas dan aksen cerah.
53
-
54
- ### Token Desain Utama
55
- - **Warna Utama (Brand Color)**: Biru Cerah (`#0073ea`) untuk elemen aktif dan tombol utama.
56
- - **Background**: Putih Bersih (`#FFFFFF`) untuk konten utama, Abu-abu Terang (`#F9F9F9`, `#F5F6F8`) untuk variasi bagian, Abu-abu Gelap/Hitam (`#111111`) untuk footer.
57
- - **Tipografi**: Sans-serif geometris bersih (mis. Figtree, Circular, Inter).
58
- - Teks Hero sangat tebal (48-60px).
59
- - Header bagian tebal (32-40px) dengan warna dark slate (`#333333`).
60
- - Teks isi sedang (16-18px) berwarna abu-abu redup (`#676879`).
61
-
62
- ### Komponen UI & Layout
63
- - **Tombol (Buttons)**: Sudut melengkung (~8px). Tombol utama berwarna biru dengan padding luas (`px-6 py-3`).
64
- - **Kartu (Cards)**: Radius sudut besar (12-16px) dengan border datar atau bayangan sangat halus (`shadow-sm`).
65
- - **Tata Letak (Layout)**: Kontainer dengan lebar maksimal (1200-1400px) terpusat.
66
- - **Jarak (Spacing)**: Jarak vertikal yang sangat lega antar bagian (80-120px).
67
- - **Interaksi**: Efek hover halus, sistem tab interaktif, dan akordion lipat.
5
+ ---
6
+
7
+ # Monday.com Design Aesthetic
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
+ This skill focuses on implementing the modern, spacious, and structured design aesthetic inspired by Monday.com. It is ideal for SaaS landing pages and dashboards.
21
+
22
+ ### Trigger Conditions
23
+ Use this when the user asks for:
24
+ - A "Monday.com style" design.
25
+ - A modern SaaS landing page with clean structure.
26
+ - High-quality, spacious UI with vibrant accents.
27
+
28
+ ### Core Design Tokens
29
+ - **Primary Brand Color**: Vibrant Blue (`#0073ea`) for active states and primary buttons.
30
+ - **Backgrounds**: Clean White (`#FFFFFF`) for main content, Light Grays (`#F9F9F9`, `#F5F6F8`) for section alternations, Dark Gray/Black (`#111111`) for footers.
31
+ - **Typography**: Clean geometric sans-serif (e.g., Figtree, Circular, Inter).
32
+ - Hero text is extra-bold (48-60px).
33
+ - Section headers are bold (32-40px) in dark slate (`#333333`).
34
+ - Body text is medium (16-18px) in muted gray (`#676879`).
35
+
36
+ ### UI Components & Layout
37
+ - **Buttons**: Fully rounded corners (~8px). Primary buttons use vibrant blue with white text and generous padding (e.g., `px-6 py-3`).
38
+ - **Cards**: Large border radius (12-16px) with flat borders or extremely subtle drop shadows (`shadow-sm`).
39
+ - **Layout**: Centered max-width containers (1200-1400px).
40
+ - **Spacing**: Generous vertical padding between sections (80-120px) to let content breathe.
41
+ - **Interactions**: Smooth hover states, interactive tab systems, and collapsible accordions.
42
+
43
+ ---
44
+
45
+ <a name="bahasa-indonesia"></a>
46
+ ## Bahasa Indonesia
47
+
48
+ ### Integrasi Orkestrasi
49
+ Terhubung dan mengorkestrasi skill domain yang relevan seperti `brainstorming`, `zero-to-prod-orchestrator`, dan `project-context-mapper` untuk memastikan eksekusi yang kohesif.
50
+
51
+ ### Deskripsi
52
+ Skill ini berfokus pada implementasi desain yang modern, luas (spacious), dan terstruktur yang terinspirasi oleh Monday.com. Sangat cocok untuk landing page dan dashboard SaaS.
53
+
54
+ ### Kondisi Pemicu
55
+ Gunakan saat pengguna meminta:
56
+ - Desain ala "Monday.com".
57
+ - Landing page SaaS modern dengan struktur bersih.
58
+ - UI berkualitas tinggi dengan ruang bernapas luas dan aksen cerah.
59
+
60
+ ### Token Desain Utama
61
+ - **Warna Utama (Brand Color)**: Biru Cerah (`#0073ea`) untuk elemen aktif dan tombol utama.
62
+ - **Background**: Putih Bersih (`#FFFFFF`) untuk konten utama, Abu-abu Terang (`#F9F9F9`, `#F5F6F8`) untuk variasi bagian, Abu-abu Gelap/Hitam (`#111111`) untuk footer.
63
+ - **Tipografi**: Sans-serif geometris bersih (mis. Figtree, Circular, Inter).
64
+ - Teks Hero sangat tebal (48-60px).
65
+ - Header bagian tebal (32-40px) dengan warna dark slate (`#333333`).
66
+ - Teks isi sedang (16-18px) berwarna abu-abu redup (`#676879`).
67
+
68
+ ### Komponen UI & Layout
69
+ - **Tombol (Buttons)**: Sudut melengkung (~8px). Tombol utama berwarna biru dengan padding luas (`px-6 py-3`).
70
+ - **Kartu (Cards)**: Radius sudut besar (12-16px) dengan border datar atau bayangan sangat halus (`shadow-sm`).
71
+ - **Tata Letak (Layout)**: Kontainer dengan lebar maksimal (1200-1400px) terpusat.
72
+ - **Jarak (Spacing)**: Jarak vertikal yang sangat lega antar bagian (80-120px).
73
+ - **Interaksi**: Efek hover halus, sistem tab interaktif, dan akordion lipat.
@@ -1,227 +1,233 @@
1
- ---
2
- name: monorepo-architect
3
- description: "Expert guide for designing and managing scalable monorepos using Turborepo, pnpm workspaces, and shared packages / Panduan ahli untuk merancang dan mengelola monorepo skalabel menggunakan Turborepo dan pnpm workspaces."
1
+ ---
2
+ name: monorepo-architect
3
+ description: "Expert guide for designing and managing scalable monorepos using Turborepo, pnpm workspaces, and shared packages / Panduan ahli untuk merancang dan mengelola monorepo skalabel menggunakan Turborepo dan pnpm workspaces."
4
4
  author: "Roedy Rustam"
5
- ---
6
-
7
- # Monorepo Architect (Turborepo 2.x / Moon Edition)
8
-
9
- [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
10
-
11
- ---
12
-
13
- <a name="english"></a>
14
- ## English
15
-
16
- ### Description
17
- Expert guide for designing and managing scalable monorepos. Covers **Turborepo 2.x** (the 2026 standard for JS/TS monorepos), **moon** (polyglot task runner for teams mixing JS + Rust + Go), **pnpm workspaces**, shared package design, incremental builds, remote caching, and CI/CD pipeline optimization.
18
-
19
- ### Trigger Conditions
20
- - Managing a codebase with multiple apps and shared packages.
21
- - Setting up a monorepo for a SaaS with separate `web`, `admin`, `api`, and `packages`.
22
- - Optimizing build and test times with remote caching.
23
- - Sharing TypeScript types, UI components, or utility functions across apps.
24
- - Migrating from a multi-repo setup to a monorepo.
25
-
26
- ### Tool Selection Guide (2026)
27
-
28
- | Tool | Best For | Language Agnostic |
29
- |---|---|---|
30
- | **Turborepo 2.x** | JS/TS monorepos (Next.js, Vite, Node) | ❌ (JS focused) |
31
- | **moon** | Polyglot teams (JS + Go + Rust + Python) | ✅ |
32
- | **Nx** | Enterprise, Angular/React, plugin ecosystem | ❌ (JS focused) |
33
- | **Bazel** | Very large orgs, hermetic builds | |
34
-
35
- ### Turborepo 2.x Standard JS Monorepo
36
-
37
- #### Repository Structure
38
- ```
39
- my-saas/
40
- ├── apps/
41
- │ ├── web/ # Next.js 15 main app
42
- │ ├── admin/ # Next.js 15 super admin (subdomain)
43
- │ └── api/ # Hono/Fastify backend
44
- ├── packages/
45
- │ ├── ui/ # Shared Tailwind v4 components
46
- ├── db/ # Drizzle ORM schema + queries
47
- ├── auth/ # Auth utilities (session, JWT)
48
- │ ├── email/ # Email templates (React Email)
49
- └── tsconfig/ # Shared TypeScript configs
50
- ├── turbo.json
51
- ├── pnpm-workspace.yaml
52
- └── package.json
53
- ```
54
-
55
- #### turbo.json (v2 Syntax)
56
- ```json
57
- {
58
- "$schema": "https://turbo.build/schema.json",
59
- "ui": "tui",
60
- "tasks": {
61
- "build": {
62
- "dependsOn": ["^build"],
63
- "inputs": ["$TURBO_DEFAULT$", ".env*"],
64
- "outputs": [".next/**", "!.next/cache/**", "dist/**"]
65
- },
66
- "dev": {
67
- "cache": false,
68
- "persistent": true
69
- },
70
- "test": {
71
- "dependsOn": ["^build"],
72
- "inputs": ["src/**", "test/**", "vitest.config.*"]
73
- },
74
- "lint": {
75
- "inputs": ["src/**", "*.config.*", ".eslintrc*"]
76
- },
77
- "typecheck": {
78
- "dependsOn": ["^build"]
79
- },
80
- "db:generate": {
81
- "cache": false
82
- }
83
- }
84
- }
85
- ```
86
-
87
- #### pnpm-workspace.yaml
88
- ```yaml
89
- packages:
90
- - "apps/*"
91
- - "packages/*"
92
- ```
93
-
94
- #### Remote Caching (Vercel Remote Cache)
95
- ```bash
96
- # Authenticate with Vercel Remote Cache
97
- npx turbo login
98
- npx turbo link
99
-
100
- # Or self-hosted with Turborepo Remote Cache
101
- TURBO_TEAM=my-team TURBO_TOKEN=xxx turbo build
102
- ```
103
-
104
- #### Shared UI Package (`packages/ui`)
105
- ```json
106
- // packages/ui/package.json
107
- {
108
- "name": "@myapp/ui",
109
- "version": "0.0.0",
110
- "private": true,
111
- "exports": {
112
- "./button": {
113
- "import": "./src/button.tsx",
114
- "types": "./src/button.tsx"
115
- },
116
- "./card": {
117
- "import": "./src/card.tsx",
118
- "types": "./src/card.tsx"
119
- }
120
- },
121
- "peerDependencies": {
122
- "react": "^19.0.0",
123
- "react-dom": "^19.0.0"
124
- }
125
- }
126
- ```
127
-
128
- #### Internal Package Pattern (No Build Step)
129
- Use `"exports"` pointing to source files directly — Turborepo compiles them as part of the consuming app:
130
- ```json
131
- // packages/db/package.json
132
- {
133
- "name": "@myapp/db",
134
- "exports": {
135
- ".": {
136
- "import": "./src/index.ts",
137
- "types": "./src/index.ts"
138
- }
139
- },
140
- "devDependencies": {
141
- "drizzle-orm": "latest",
142
- "drizzle-kit": "latest"
143
- }
144
- }
145
- ```
146
-
147
- ### moon — Polyglot Task Runner
148
- For teams mixing JavaScript, Go, Rust, and Python in one repo:
149
- ```yaml
150
- # .moon/workspace.yml
151
- projects:
152
- - "apps/*"
153
- - "packages/*"
154
- - "services/*" # Go/Rust microservices
155
-
156
- vcs:
157
- manager: "git"
158
- defaultBranch: "main"
159
- ```
160
-
161
- ```yaml
162
- # apps/api/moon.yml (Go service)
163
- language: "go"
164
- type: "application"
165
-
166
- tasks:
167
- build:
168
- command: "go build -o ./bin/api ./cmd/api"
169
- inputs: ["src/**/*.go", "go.mod"]
170
- outputs: ["bin/api"]
171
- test:
172
- command: "go test ./..."
173
- ```
174
-
175
- ### CI/CD Optimization
176
- ```yaml
177
- # .github/workflows/ci.yml
178
- - name: Build & Test (Turborepo)
179
- run: |
180
- npx turbo run build test lint typecheck \
181
- --filter="...[origin/main]" \ # Only changed packages
182
- --cache-dir=".turbo"
183
- env:
184
- TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
185
- TURBO_TEAM: ${{ vars.TURBO_TEAM }}
186
- ```
187
-
188
- ---
189
-
190
- <a name="bahasa-indonesia"></a>
191
- ## Bahasa Indonesia
192
-
193
- ### Deskripsi
194
- Panduan ahli untuk merancang dan mengelola monorepo yang skalabel. Mencakup **Turborepo 2.x** (standar 2026 untuk monorepo JS/TS), **moon** (task runner poliglot untuk tim yang memadukan JS + Rust + Go), **pnpm workspaces**, desain shared package, incremental build, remote caching, dan optimasi pipeline CI/CD.
195
-
196
- ### Kondisi Pemicu
197
- - Mengelola codebase dengan banyak aplikasi dan shared package.
198
- - Menyiapkan monorepo untuk SaaS dengan `web`, `admin`, `api`, dan `packages` terpisah.
199
- - Mengoptimalkan waktu build dan test dengan remote caching.
200
- - Berbagi TypeScript types, komponen UI, atau utilitas antar aplikasi.
201
- - Migrasi dari multi-repo ke monorepo.
202
-
203
- ### Panduan Pemilihan Tool (2026)
204
- - **Turborepo 2.x**: Standar untuk monorepo JS/TS cepat, zero-config, remote cache bawaan.
205
- - **moon**: Untuk tim poliglot yang memadukan JS, Go, Rust, Python dalam satu repo.
206
- - **Nx**: Untuk enterprise dengan ekosistem plugin yang kaya.
207
-
208
- ### Struktur Repositori
209
- Pisahkan `apps/` (aplikasi yang dapat di-deploy) dari `packages/` (shared library internal):
210
- - `apps/web`Next.js utama
211
- - `apps/admin` Dashboard Super Admin (subdomain terpisah)
212
- - `apps/api` Backend API
213
- - `packages/ui` — Komponen UI bersama (Tailwind v4)
214
- - `packages/db` — Skema Drizzle ORM + query
215
- - `packages/auth` Utilitas auth
216
-
217
- ### Turborepo 2.x Sintaksis Baru
218
- Turborepo 2.x memperkenalkan TUI interaktif (`"ui": "tui"`), sintaksis `tasks` yang lebih ekspresif, dan caching yang lebih granular dengan `inputs`/`outputs`.
219
-
220
- ### Pola Internal Package (Tanpa Build Step)
221
- Arahkan `exports` langsung ke file sumber TypeScript Turborepo mengkompilasi sebagai bagian dari aplikasi yang mengonsumsinya. Ini menghilangkan kebutuhan langkah build terpisah untuk setiap package.
222
-
223
- ### moonTask Runner Poliglot
224
- Moon mendukung proyek dalam bahasa yang berbeda (Go, Rust, JS) dalam satu workspace, masing-masing dengan konfigurasi `moon.yml`-nya sendiri.
225
-
226
- ### Optimasi CI/CD
227
- Gunakan flag `--filter="...[origin/main]"` Turborepo untuk hanya membangun dan menguji package yang berubah sejak commit terakhir. Gunakan remote cache Vercel atau self-hosted untuk berbagi cache antar runner CI.
5
+ ---
6
+
7
+ # Monorepo Architect (Turborepo 2.x / Moon 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 guide for designing and managing scalable monorepos. Covers **Turborepo 2.x** (the 2026 standard for JS/TS monorepos), **moon** (polyglot task runner for teams mixing JS + Rust + Go), **pnpm workspaces**, shared package design, incremental builds, remote caching, and CI/CD pipeline optimization.
21
+
22
+ ### Trigger Conditions
23
+ - Managing a codebase with multiple apps and shared packages.
24
+ - Setting up a monorepo for a SaaS with separate `web`, `admin`, `api`, and `packages`.
25
+ - Optimizing build and test times with remote caching.
26
+ - Sharing TypeScript types, UI components, or utility functions across apps.
27
+ - Migrating from a multi-repo setup to a monorepo.
28
+
29
+ ### Tool Selection Guide (2026)
30
+
31
+ | Tool | Best For | Language Agnostic |
32
+ |---|---|---|
33
+ | **Turborepo 2.x** | JS/TS monorepos (Next.js, Vite, Node) | (JS focused) |
34
+ | **moon** | Polyglot teams (JS + Go + Rust + Python) | ✅ |
35
+ | **Nx** | Enterprise, Angular/React, plugin ecosystem | ❌ (JS focused) |
36
+ | **Bazel** | Very large orgs, hermetic builds | ✅ |
37
+
38
+ ### Turborepo 2.x — Standard JS Monorepo
39
+
40
+ #### Repository Structure
41
+ ```
42
+ my-saas/
43
+ ├── apps/
44
+ ├── web/ # Next.js 15 main app
45
+ │ ├── admin/ # Next.js 15 super admin (subdomain)
46
+ └── api/ # Hono/Fastify backend
47
+ ├── packages/
48
+ │ ├── ui/ # Shared Tailwind v4 components
49
+ ├── db/ # Drizzle ORM schema + queries
50
+ ├── auth/ # Auth utilities (session, JWT)
51
+ ├── email/ # Email templates (React Email)
52
+ └── tsconfig/ # Shared TypeScript configs
53
+ ├── turbo.json
54
+ ├── pnpm-workspace.yaml
55
+ └── package.json
56
+ ```
57
+
58
+ #### turbo.json (v2 Syntax)
59
+ ```json
60
+ {
61
+ "$schema": "https://turbo.build/schema.json",
62
+ "ui": "tui",
63
+ "tasks": {
64
+ "build": {
65
+ "dependsOn": ["^build"],
66
+ "inputs": ["$TURBO_DEFAULT$", ".env*"],
67
+ "outputs": [".next/**", "!.next/cache/**", "dist/**"]
68
+ },
69
+ "dev": {
70
+ "cache": false,
71
+ "persistent": true
72
+ },
73
+ "test": {
74
+ "dependsOn": ["^build"],
75
+ "inputs": ["src/**", "test/**", "vitest.config.*"]
76
+ },
77
+ "lint": {
78
+ "inputs": ["src/**", "*.config.*", ".eslintrc*"]
79
+ },
80
+ "typecheck": {
81
+ "dependsOn": ["^build"]
82
+ },
83
+ "db:generate": {
84
+ "cache": false
85
+ }
86
+ }
87
+ }
88
+ ```
89
+
90
+ #### pnpm-workspace.yaml
91
+ ```yaml
92
+ packages:
93
+ - "apps/*"
94
+ - "packages/*"
95
+ ```
96
+
97
+ #### Remote Caching (Vercel Remote Cache)
98
+ ```bash
99
+ # Authenticate with Vercel Remote Cache
100
+ npx turbo login
101
+ npx turbo link
102
+
103
+ # Or self-hosted with Turborepo Remote Cache
104
+ TURBO_TEAM=my-team TURBO_TOKEN=xxx turbo build
105
+ ```
106
+
107
+ #### Shared UI Package (`packages/ui`)
108
+ ```json
109
+ // packages/ui/package.json
110
+ {
111
+ "name": "@myapp/ui",
112
+ "version": "0.0.0",
113
+ "private": true,
114
+ "exports": {
115
+ "./button": {
116
+ "import": "./src/button.tsx",
117
+ "types": "./src/button.tsx"
118
+ },
119
+ "./card": {
120
+ "import": "./src/card.tsx",
121
+ "types": "./src/card.tsx"
122
+ }
123
+ },
124
+ "peerDependencies": {
125
+ "react": "^19.0.0",
126
+ "react-dom": "^19.0.0"
127
+ }
128
+ }
129
+ ```
130
+
131
+ #### Internal Package Pattern (No Build Step)
132
+ Use `"exports"` pointing to source files directly — Turborepo compiles them as part of the consuming app:
133
+ ```json
134
+ // packages/db/package.json
135
+ {
136
+ "name": "@myapp/db",
137
+ "exports": {
138
+ ".": {
139
+ "import": "./src/index.ts",
140
+ "types": "./src/index.ts"
141
+ }
142
+ },
143
+ "devDependencies": {
144
+ "drizzle-orm": "latest",
145
+ "drizzle-kit": "latest"
146
+ }
147
+ }
148
+ ```
149
+
150
+ ### moon — Polyglot Task Runner
151
+ For teams mixing JavaScript, Go, Rust, and Python in one repo:
152
+ ```yaml
153
+ # .moon/workspace.yml
154
+ projects:
155
+ - "apps/*"
156
+ - "packages/*"
157
+ - "services/*" # Go/Rust microservices
158
+
159
+ vcs:
160
+ manager: "git"
161
+ defaultBranch: "main"
162
+ ```
163
+
164
+ ```yaml
165
+ # apps/api/moon.yml (Go service)
166
+ language: "go"
167
+ type: "application"
168
+
169
+ tasks:
170
+ build:
171
+ command: "go build -o ./bin/api ./cmd/api"
172
+ inputs: ["src/**/*.go", "go.mod"]
173
+ outputs: ["bin/api"]
174
+ test:
175
+ command: "go test ./..."
176
+ ```
177
+
178
+ ### CI/CD Optimization
179
+ ```yaml
180
+ # .github/workflows/ci.yml
181
+ - name: Build & Test (Turborepo)
182
+ run: |
183
+ npx turbo run build test lint typecheck \
184
+ --filter="...[origin/main]" \ # Only changed packages
185
+ --cache-dir=".turbo"
186
+ env:
187
+ TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
188
+ TURBO_TEAM: ${{ vars.TURBO_TEAM }}
189
+ ```
190
+
191
+ ---
192
+
193
+ <a name="bahasa-indonesia"></a>
194
+ ## Bahasa Indonesia
195
+
196
+ ### Integrasi Orkestrasi
197
+ Terhubung dan mengorkestrasi skill domain yang relevan seperti `brainstorming`, `zero-to-prod-orchestrator`, dan `project-context-mapper` untuk memastikan eksekusi yang kohesif.
198
+
199
+ ### Deskripsi
200
+ Panduan ahli untuk merancang dan mengelola monorepo yang skalabel. Mencakup **Turborepo 2.x** (standar 2026 untuk monorepo JS/TS), **moon** (task runner poliglot untuk tim yang memadukan JS + Rust + Go), **pnpm workspaces**, desain shared package, incremental build, remote caching, dan optimasi pipeline CI/CD.
201
+
202
+ ### Kondisi Pemicu
203
+ - Mengelola codebase dengan banyak aplikasi dan shared package.
204
+ - Menyiapkan monorepo untuk SaaS dengan `web`, `admin`, `api`, dan `packages` terpisah.
205
+ - Mengoptimalkan waktu build dan test dengan remote caching.
206
+ - Berbagi TypeScript types, komponen UI, atau utilitas antar aplikasi.
207
+ - Migrasi dari multi-repo ke monorepo.
208
+
209
+ ### Panduan Pemilihan Tool (2026)
210
+ - **Turborepo 2.x**: Standar untuk monorepo JS/TScepat, zero-config, remote cache bawaan.
211
+ - **moon**: Untuk tim poliglot yang memadukan JS, Go, Rust, Python dalam satu repo.
212
+ - **Nx**: Untuk enterprise dengan ekosistem plugin yang kaya.
213
+
214
+ ### Struktur Repositori
215
+ Pisahkan `apps/` (aplikasi yang dapat di-deploy) dari `packages/` (shared library internal):
216
+ - `apps/web` — Next.js utama
217
+ - `apps/admin`Dashboard Super Admin (subdomain terpisah)
218
+ - `apps/api` Backend API
219
+ - `packages/ui` — Komponen UI bersama (Tailwind v4)
220
+ - `packages/db` Skema Drizzle ORM + query
221
+ - `packages/auth` — Utilitas auth
222
+
223
+ ### Turborepo 2.x Sintaksis Baru
224
+ Turborepo 2.x memperkenalkan TUI interaktif (`"ui": "tui"`), sintaksis `tasks` yang lebih ekspresif, dan caching yang lebih granular dengan `inputs`/`outputs`.
225
+
226
+ ### Pola Internal Package (Tanpa Build Step)
227
+ Arahkan `exports` langsung ke file sumber TypeScript Turborepo mengkompilasi sebagai bagian dari aplikasi yang mengonsumsinya. Ini menghilangkan kebutuhan langkah build terpisah untuk setiap package.
228
+
229
+ ### moon — Task Runner Poliglot
230
+ Moon mendukung proyek dalam bahasa yang berbeda (Go, Rust, JS) dalam satu workspace, masing-masing dengan konfigurasi `moon.yml`-nya sendiri.
231
+
232
+ ### Optimasi CI/CD
233
+ Gunakan flag `--filter="...[origin/main]"` Turborepo untuk hanya membangun dan menguji package yang berubah sejak commit terakhir. Gunakan remote cache Vercel atau self-hosted untuk berbagi cache antar runner CI.