vibes-plug 2.5.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 +37 -7
- package/BLUEPRINT.md +309 -217
- package/CHANGELOG.md +133 -1
- package/CLAUDE.md +70 -0
- package/LICENSE +1 -1
- package/README.md +641 -415
- package/index.js +19 -0
- package/package.json +44 -8
- 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 -52
- package/skills/ai-evals-benchmark-expert/SKILL.md +188 -0
- package/skills/ai-llm-integration-expert/SKILL.md +185 -178
- 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 +6 -3
- package/skills/api-gateway-proxy-expert/SKILL.md +81 -0
- package/skills/app-analyzer-optimizer/SKILL.md +6 -3
- package/skills/apple-ecosystem-expert/SKILL.md +144 -141
- 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 +210 -24
- package/skills/authentication-identity-expert/SKILL.md +278 -275
- package/skills/auto-doc-updater/SKILL.md +7 -1
- package/skills/autonomous-chaos-monkey/SKILL.md +63 -63
- package/skills/autonomous-red-teamer/SKILL.md +172 -28
- package/skills/autonomous-tdd-debugger/SKILL.md +70 -64
- 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 +9 -6
- package/skills/brainstorming/SKILL.md +58 -50
- package/skills/browser-automation-expert/SKILL.md +197 -21
- 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 +45 -36
- package/skills/cloud-hosting-expert/SKILL.md +7 -1
- package/skills/coderabbit/SKILL.md +7 -1
- package/skills/compliance-gdpr-privacy-expert/SKILL.md +85 -0
- package/skills/cron-scheduler-expert/SKILL.md +303 -297
- package/skills/data-pipeline-etl-expert/SKILL.md +84 -0
- package/skills/data-telemetry-expert/SKILL.md +7 -1
- 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 +13 -3
- package/skills/dependency-upgrade-migrator/SKILL.md +300 -294
- package/skills/design-system-architect/SKILL.md +278 -259
- 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 +7 -1
- package/skills/doku-payment-gateway/SKILL.md +7 -1
- package/skills/domain-driven-design-expert/SKILL.md +82 -0
- package/skills/e2e-testing-expert/SKILL.md +7 -1
- package/skills/ecommerce-expert/SKILL.md +87 -0
- package/skills/edge-serverless-db-expert/SKILL.md +98 -42
- package/skills/email-notification-expert/SKILL.md +367 -361
- package/skills/error-resilience-expert/SKILL.md +485 -479
- package/skills/event-driven-architect/SKILL.md +7 -1
- package/skills/feature-flag-analytics-expert/SKILL.md +65 -45
- package/skills/file-upload-media-expert/SKILL.md +436 -430
- package/skills/firebase-security-expert/SKILL.md +7 -1
- package/skills/form-validation-expert/SKILL.md +406 -400
- package/skills/fullstack-expert/SKILL.md +60 -1
- package/skills/gemini-agent-booster/SKILL.md +173 -135
- package/skills/geospatial-maps-expert/SKILL.md +80 -0
- package/skills/global-a11y-i18n-expert/SKILL.md +7 -1
- package/skills/glsl-shader-expert/SKILL.md +106 -100
- package/skills/go-programming-expert/SKILL.md +21 -15
- package/skills/graph-rag-knowledge-expert/SKILL.md +159 -0
- package/skills/graphql-apollo-expert/SKILL.md +113 -107
- package/skills/headless-cms-expert/SKILL.md +181 -0
- package/skills/hig/SKILL.md +7 -1
- package/skills/js-backend-expert/SKILL.md +218 -216
- package/skills/legacy-code-translator/SKILL.md +70 -64
- package/skills/local-slm-edge-ai-expert/SKILL.md +167 -0
- package/skills/logging-error-tracking-expert/SKILL.md +343 -337
- package/skills/mcp-client-orchestrator/SKILL.md +75 -69
- package/skills/mcp-server-architect/SKILL.md +294 -194
- package/skills/micro-frontend-architect/SKILL.md +111 -105
- package/skills/mobile-expo-expert/SKILL.md +8 -2
- package/skills/mobile-push-notification-expert/SKILL.md +70 -50
- package/skills/modern-css-native-expert/SKILL.md +189 -0
- package/skills/monday-design-aesthetic/SKILL.md +7 -1
- package/skills/monorepo-architect/SKILL.md +7 -1
- package/skills/mpa-orchestrator/SKILL.md +20 -1
- package/skills/multi-agent-orchestration/SKILL.md +254 -234
- package/skills/multiple-entry-points/SKILL.md +37 -1
- package/skills/mvc-expert/SKILL.md +7 -1
- 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 +85 -1
- package/skills/pdf-document-generation-expert/SKILL.md +91 -0
- package/skills/performance-web-vitals/SKILL.md +7 -1
- package/skills/post-quantum-crypto-migrator/SKILL.md +57 -57
- package/skills/prd-architect/SKILL.md +7 -1
- package/skills/proactive-background-watcher/SKILL.md +67 -61
- package/skills/production-ready-hardener/SKILL.md +461 -455
- package/skills/project-context-mapper/SKILL.md +84 -78
- package/skills/pwa-offline-first-expert/SKILL.md +185 -0
- package/skills/python-programming-expert/SKILL.md +407 -401
- package/skills/rate-limit-abuse-prevention/SKILL.md +376 -370
- package/skills/realtime-collaboration-expert/SKILL.md +55 -1
- package/skills/rich-text-editor-expert/SKILL.md +177 -0
- package/skills/rust-programming-expert/SKILL.md +7 -1
- package/skills/saas-billing/SKILL.md +7 -1
- package/skills/saas-multi-tenant/SKILL.md +7 -1
- package/skills/saas-mvp-launcher/SKILL.md +20 -1
- package/skills/saas-transformer/SKILL.md +499 -488
- package/skills/scalability-clean-code/SKILL.md +7 -1
- 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 +90 -74
- package/skills/self-healing-cloud-orchestrator/SKILL.md +57 -57
- package/skills/senior-frontend/SKILL.md +141 -161
- package/skills/seo/SKILL.md +41 -17
- package/skills/session-context-loader/SKILL.md +82 -76
- package/skills/session-handoff-resume/SKILL.md +7 -1
- package/skills/{skill_baru → skill-baru}/SKILL.md +8 -2
- package/skills/solidjs-expert/SKILL.md +80 -0
- package/skills/spa-orchestrator/SKILL.md +20 -1
- package/skills/sse-websocket-streaming-expert/SKILL.md +93 -0
- package/skills/state-management-expert/SKILL.md +7 -1
- package/skills/supabase-migration/SKILL.md +47 -1
- package/skills/supabase-security-expert/SKILL.md +7 -1
- 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 +88 -136
- package/skills/tanstack-query-expert/SKILL.md +7 -1
- package/skills/tauri-expert/SKILL.md +7 -1
- package/skills/token-saver/SKILL.md +1 -1
- package/skills/typescript-expert/SKILL.md +12 -6
- package/skills/ui-components-expert/SKILL.md +165 -279
- package/skills/ui-ux-pro-max/SKILL.md +23 -3
- package/skills/vector-db-rag-expert/SKILL.md +175 -19
- package/skills/vibe-code-gardener/SKILL.md +1 -1
- package/skills/visual-qa-vision-agent/SKILL.md +70 -64
- package/skills/voice-ai-realtime-agent/SKILL.md +202 -0
- package/skills/vue-frontend-expert/SKILL.md +131 -125
- package/skills/wasm-edge-computing-expert/SKILL.md +97 -0
- package/skills/web-3d-graphics-expert/SKILL.md +136 -130
- package/skills/web-game-engine-expert/SKILL.md +101 -95
- package/skills/web-scraper/SKILL.md +157 -207
- package/skills/website-design-cloner/SKILL.md +179 -173
- package/skills/webxr-ar-vr-expert/SKILL.md +122 -116
- package/skills/wordpress-headless-expert/SKILL.md +144 -0
- package/skills/zero-to-prod-orchestrator/SKILL.md +52 -27
- package/skills/zero-trust-secret-vault/SKILL.md +87 -39
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- package/.github/workflows/publish.yml +0 -20
- package/CONTRIBUTING.md +0 -199
- package/SECURITY.md +0 -21
- package/banner.png +0 -0
- package/skills/autonomous-swarm-director/SKILL.md +0 -69
- package/skills/hyper-context-synthesizer/SKILL.md +0 -55
- package/skills/llm-cost-arbitrage-router/SKILL.md +0 -59
- 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 -125
- package/vibes-swarm-demo.gif +0 -0
package/CONTRIBUTING.md
DELETED
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
# Contribution Guide / Panduan Kontribusi
|
|
2
|
-
|
|
3
|
-
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
<a name="english"></a>
|
|
8
|
-
## English
|
|
9
|
-
|
|
10
|
-
Thank you for contributing to **Vibes Plug**! This guide is designed to make it easy for you if you have *forked* this repository on GitHub to add or update *skills* according to proper standards.
|
|
11
|
-
|
|
12
|
-
### Contribution Flow (Step-by-Step)
|
|
13
|
-
|
|
14
|
-
#### 1. Sync Your Local Repository
|
|
15
|
-
Ensure your local repository is connected to the main repository (*upstream*) to get the latest updates.
|
|
16
|
-
|
|
17
|
-
If you haven't added the main repository as an *upstream* remote, run the following command in your terminal/PowerShell inside the `vibes-plug` directory:
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
# Add upstream remote
|
|
21
|
-
git remote add upstream https://github.com/roedyrustam/vibes-plug.git
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
Before you start creating a new skill, sync your local `main` branch with upstream:
|
|
25
|
-
|
|
26
|
-
```bash
|
|
27
|
-
# Switch to main branch
|
|
28
|
-
git checkout main
|
|
29
|
-
|
|
30
|
-
# Pull the latest updates from upstream
|
|
31
|
-
git pull upstream main
|
|
32
|
-
|
|
33
|
-
# Sync it to your GitHub fork (origin)
|
|
34
|
-
git push origin main
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
#### 2. Create a New Branch
|
|
38
|
-
Always create a new, descriptive branch for the changes you want to make:
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
git checkout -b feat/add-skill-<skill-name>
|
|
42
|
-
# Example: git checkout -b feat/add-skill-fast-api
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
#### 3. Create a New Skill Module
|
|
46
|
-
1. Navigate to the `skills/` directory.
|
|
47
|
-
2. Create a new folder with your skill name using **kebab-case** (e.g., `skills/fast-api`).
|
|
48
|
-
3. Create a `SKILL.md` file inside that folder. You can copy the template from [SKILL.md](file:///c:/Users/roedy/.gemini/config/plugins/vibes-plug/skills/skill_baru/SKILL.md).
|
|
49
|
-
|
|
50
|
-
Set up the metadata (frontmatter) at the very top of the `SKILL.md` file:
|
|
51
|
-
|
|
52
|
-
```yaml
|
|
53
|
-
---
|
|
54
|
-
name: kebab-case-skill-name
|
|
55
|
-
description: "Short English description / Deskripsi singkat"
|
|
56
|
-
author: "Your Name or GitHub Username"
|
|
57
|
-
---
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
The document body must have the following sections:
|
|
61
|
-
- `# Skill Name`
|
|
62
|
-
- `## Description`
|
|
63
|
-
- `## Instructions` (Contains detailed guidelines, code styling rules, etc.)
|
|
64
|
-
- `## Trigger Conditions` (Conditions/context under which this skill should be activated by the agent)
|
|
65
|
-
|
|
66
|
-
#### 4. Register the Skill in README.md and BLUEPRINT.md
|
|
67
|
-
To make your new skill recognized and easily discoverable:
|
|
68
|
-
1. **`README.md`**: Register your skill in the **Features and Available Skills** section under the relevant category.
|
|
69
|
-
2. **`BLUEPRINT.md`**: Register your skill module in the **Skill Modules** section.
|
|
70
|
-
|
|
71
|
-
#### 5. Run the Standardization Script
|
|
72
|
-
We provide an automated script to format markdown, align technology stack versions (e.g., React 19, Next.js 15), and fix emoji encoding issues.
|
|
73
|
-
|
|
74
|
-
Run the following command before committing:
|
|
75
|
-
|
|
76
|
-
```bash
|
|
77
|
-
node scripts/update_skills.js
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
Ensure the script runs successfully and check if any of your new skill files were updated.
|
|
81
|
-
|
|
82
|
-
#### 6. Commit and Push Changes
|
|
83
|
-
Once everything is neat and validated, commit your changes:
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
git add .
|
|
87
|
-
git commit -m "feat: add skill <skill-name>"
|
|
88
|
-
git push origin feat/add-skill-<skill-name>
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
#### 7. Create a Pull Request (PR)
|
|
92
|
-
1. Open your forked repository page on GitHub (e.g., `https://github.com/username/vibes-plug`).
|
|
93
|
-
2. You will see a yellow button saying **"Compare & pull request"**. Click that button.
|
|
94
|
-
3. Provide a clear description of the purpose and utility of the skill you added.
|
|
95
|
-
4. Submit your Pull Request (PR) to the `main` branch of the original repository (`roedyrustam/vibes-plug`).
|
|
96
|
-
|
|
97
|
-
### Additional Rules & Tips
|
|
98
|
-
> [!NOTE]
|
|
99
|
-
> - Ensure instructions are written in a clear and instructive language.
|
|
100
|
-
> - Avoid duplicate instructions with existing skills. If your skill is similar, consider updating an existing skill instead.
|
|
101
|
-
> - Do not include extra frontmatter fields other than `name`, `description`, and `author`, as they will be cleaned automatically by the `update_skills.js` script.
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
<a name="bahasa-indonesia"></a>
|
|
106
|
-
## Bahasa Indonesia
|
|
107
|
-
|
|
108
|
-
Terima kasih telah berkontribusi ke **Vibes Plug**! Panduan ini dirancang khusus untuk mempermudah Anda yang telah melakukan *fork* repositori ini di GitHub agar dapat menambahkan atau memperbarui *skills* dengan standar yang sesuai.
|
|
109
|
-
|
|
110
|
-
### Alur Kontribusi (Step-by-Step)
|
|
111
|
-
|
|
112
|
-
#### 1. Sinkronisasi Repositori Lokal Anda
|
|
113
|
-
Pastikan repositori lokal Anda terhubung dengan repositori utama (*upstream*) agar selalu mendapatkan pembaruan terbaru.
|
|
114
|
-
|
|
115
|
-
Jika Anda belum menambahkan repositori utama sebagai *upstream*, jalankan perintah berikut di terminal/PowerShell di dalam direktori `vibes-plug`:
|
|
116
|
-
|
|
117
|
-
```bash
|
|
118
|
-
# Tambahkan remote upstream
|
|
119
|
-
git remote add upstream https://github.com/roedyrustam/vibes-plug.git
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
Sebelum mulai membuat skill baru, lakukan sinkronisasi branch `main` lokal Anda dengan upstream:
|
|
123
|
-
|
|
124
|
-
```bash
|
|
125
|
-
# Pindah ke branch main
|
|
126
|
-
git checkout main
|
|
127
|
-
|
|
128
|
-
# Tarik pembaruan terbaru dari upstream
|
|
129
|
-
git pull upstream main
|
|
130
|
-
|
|
131
|
-
# Sinkronisasikan ke fork GitHub Anda (origin)
|
|
132
|
-
git push origin main
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
#### 2. Buat Branch Baru
|
|
136
|
-
Selalu buat branch baru yang deskriptif untuk perubahan yang ingin Anda lakukan:
|
|
137
|
-
|
|
138
|
-
```bash
|
|
139
|
-
git checkout -b feat/add-skill-<nama-skill>
|
|
140
|
-
# Contoh: git checkout -b feat/add-skill-fast-api
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
#### 3. Buat Modul Skill Baru
|
|
144
|
-
1. Masuk ke direktori `skills/`.
|
|
145
|
-
2. Buat folder baru dengan nama skill Anda menggunakan format **kebab-case** (misalnya `skills/fast-api`).
|
|
146
|
-
3. Buat file `SKILL.md` di dalam folder tersebut. Anda bisa menyalin template dari [SKILL.md](file:///c:/Users/roedy/.gemini/config/plugins/vibes-plug/skills/skill_baru/SKILL.md).
|
|
147
|
-
|
|
148
|
-
Atur format metadata (frontmatter) di bagian paling atas file `SKILL.md`:
|
|
149
|
-
|
|
150
|
-
```yaml
|
|
151
|
-
---
|
|
152
|
-
name: nama-skill-kebab-case
|
|
153
|
-
description: "Deskripsi singkat / Short description"
|
|
154
|
-
author: "Nama Anda atau Username GitHub"
|
|
155
|
-
---
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
Struktur isi dokumen harus memiliki bagian berikut:
|
|
159
|
-
- `# Nama Skill`
|
|
160
|
-
- `## Deskripsi`
|
|
161
|
-
- `## Instruksi` (Berisi panduan detail, aturan penulisan kode, dll.)
|
|
162
|
-
- `## Kondisi Pemicu` (Kondisi/konteks kapan skill ini harus diaktifkan oleh agen)
|
|
163
|
-
|
|
164
|
-
#### 4. Daftarkan Skill di README.md dan BLUEPRINT.md
|
|
165
|
-
Agar skill baru Anda dikenali dan mudah ditemukan:
|
|
166
|
-
1. **`README.md`**: Daftarkan skill Anda di bagian **Fitur dan Skills yang Tersedia** di bawah kategori yang relevan.
|
|
167
|
-
2. **`BLUEPRINT.md`**: Daftarkan modul skill Anda di bagian **Skill Modules**.
|
|
168
|
-
|
|
169
|
-
#### 5. Jalankan Script Standardisasi
|
|
170
|
-
Kami menyediakan script otomatis untuk merapikan markdown, menyelaraskan versi stack teknologi (misal React 19, Next.js 15), serta memperbaiki isu encoding emoji.
|
|
171
|
-
|
|
172
|
-
Jalankan perintah berikut sebelum melakukan commit:
|
|
173
|
-
|
|
174
|
-
```bash
|
|
175
|
-
node scripts/update_skills.js
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
Pastikan script berjalan dengan sukses dan laporkan jika ada file skill baru Anda yang diperbarui.
|
|
179
|
-
|
|
180
|
-
#### 6. Commit dan Push Perubahan
|
|
181
|
-
Setelah semuanya rapi dan tervalidasi, commit perubahan Anda:
|
|
182
|
-
|
|
183
|
-
```bash
|
|
184
|
-
git add .
|
|
185
|
-
git commit -m "feat: add skill <nama-skill>"
|
|
186
|
-
git push origin feat/add-skill-<nama-skill>
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
#### 7. Buat Pull Request (PR)
|
|
190
|
-
1. Buka halaman repositori hasil fork Anda di GitHub (misal: `https://github.com/username/vibes-plug`).
|
|
191
|
-
2. Anda akan melihat tombol kuning bertuliskan **"Compare & pull request"**. Klik tombol tersebut.
|
|
192
|
-
3. Berikan deskripsi yang jelas mengenai tujuan dan kegunaan dari skill yang Anda tambahkan.
|
|
193
|
-
4. Kirim Pull Request (PR) Anda ke branch `main` repositori asal (`roedyrustam/vibes-plug`).
|
|
194
|
-
|
|
195
|
-
### Aturan Tambahan & Tips
|
|
196
|
-
> [!NOTE]
|
|
197
|
-
> - Pastikan instruksi ditulis dengan bahasa yang jelas dan instruktif.
|
|
198
|
-
> - Hindari duplikasi instruksi dengan skill yang sudah ada. Jika skill Anda mirip, pertimbangkan untuk memperbarui skill yang telah ada.
|
|
199
|
-
> - Jangan menyertakan frontmatter tambahan di luar `name`, `description`, dan `author`, karena akan dibersihkan secara otomatis oleh script `update_skills.js`.
|
package/SECURITY.md
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# Security Policy
|
|
2
|
-
|
|
3
|
-
## Supported Versions
|
|
4
|
-
|
|
5
|
-
Use this section to tell people about which versions of your project are
|
|
6
|
-
currently being supported with security updates.
|
|
7
|
-
|
|
8
|
-
| Version | Supported |
|
|
9
|
-
| ------- | ------------------ |
|
|
10
|
-
| 5.1.x | :white_check_mark: |
|
|
11
|
-
| 5.0.x | :x: |
|
|
12
|
-
| 4.0.x | :white_check_mark: |
|
|
13
|
-
| < 4.0 | :x: |
|
|
14
|
-
|
|
15
|
-
## Reporting a Vulnerability
|
|
16
|
-
|
|
17
|
-
Use this section to tell people how to report a vulnerability.
|
|
18
|
-
|
|
19
|
-
Tell them where to go, how often they can expect to get an update on a
|
|
20
|
-
reported vulnerability, what to expect if the vulnerability is accepted or
|
|
21
|
-
declined, etc.
|
package/banner.png
DELETED
|
Binary file
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: autonomous-swarm-director
|
|
3
|
-
description: "Elevates the AI from a single-threaded agent into a Swarm Director. Teaches the agent how to break down complex tasks and autonomously invoke and orchestrate multiple subagents in parallel to achieve a goal."
|
|
4
|
-
author: "Roedy Rustam"
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Autonomous Swarm Director (Multi-Agent Parallelism)
|
|
8
|
-
|
|
9
|
-
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
<a name="english"></a>
|
|
14
|
-
## English
|
|
15
|
-
|
|
16
|
-
### Description
|
|
17
|
-
Claude and other standard models are constrained by sequential, single-threaded responses. Antigravity has the native `invoke_subagent` capability. This skill elevates you from a "Coder" to a "Director." It gives you the "superpower" to split a massive task (e.g., building 5 pages at once) into parallel operations, spawning specialized subagents, delegating work, and merging their outputs upon completion.
|
|
18
|
-
|
|
19
|
-
### Trigger Conditions
|
|
20
|
-
Activate this skill when:
|
|
21
|
-
- The user requests a very large feature that would take too long to write sequentially.
|
|
22
|
-
- The user specifically asks to "work in parallel" or use a "team of agents."
|
|
23
|
-
- You detect a task that can be easily parallelized (e.g., writing 10 unit tests for 10 different files).
|
|
24
|
-
|
|
25
|
-
### Core Concepts
|
|
26
|
-
|
|
27
|
-
#### 1. Swarm Orchestration Protocol
|
|
28
|
-
1. **Analyze:** Break the user's request into independent, non-overlapping tasks.
|
|
29
|
-
2. **Spawn:** Use `invoke_subagent` to spawn multiple `research` or `self` subagents concurrently. Pass very specific, scoped `Prompt` instructions to each.
|
|
30
|
-
3. **Wait & Monitor:** You do not need to poll. Antigravity will wake you up when a subagent finishes and sends a message back.
|
|
31
|
-
4. **Adversarial Critique (Red Teaming):** Before merging the code, spawn a specialized "Auditor" subagent whose sole job is to aggressively find security vulnerabilities, edge cases, or performance bottlenecks in the subagents' work.
|
|
32
|
-
5. **Merge & Resolve:** Once the code passes the adversarial critique, merge their code/findings, resolve conflicts, and report the final unified output to the user.
|
|
33
|
-
|
|
34
|
-
#### 2. Agent Constraints
|
|
35
|
-
- Do NOT spawn subagents for tasks that require modifying the exact same file simultaneously to avoid git/file conflict issues.
|
|
36
|
-
- Use the `branch` or `share` Workspace parameter in `invoke_subagent` if the subagents need to modify code safely.
|
|
37
|
-
- Do NOT spawn more than 5 subagents at once unless explicitly approved by the user, as this consumes heavy resources.
|
|
38
|
-
|
|
39
|
-
#### 3. Mandatory Documentation for New Projects
|
|
40
|
-
- If the swarm is tasked with starting a new project from scratch, the Director MUST ensure that `PRD.md`, `ERD.md`, and `DOKUMENTASI.md` are generated (e.g., by delegating to a `prd-architect` subagent) before any other implementation work begins.
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
### Integration with Other Skills (MANDATORY)
|
|
45
|
-
- `multi-agent-orchestration` — The theoretical foundation of graph-based agents, which this skill puts into native practice.
|
|
46
|
-
- `project-context-mapper` — Subagents must be fed the context map to ensure they know where they are working.
|
|
47
|
-
|
|
48
|
-
### Referenced By Orchestrators (MANDATORY)
|
|
49
|
-
- `brainstorming` — Add to "AI & LLM Integration".
|
|
50
|
-
- `zero-to-prod-orchestrator` — Phase 4 (AI Agents & Swarms).
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
<a name="bahasa-indonesia"></a>
|
|
55
|
-
## Bahasa Indonesia
|
|
56
|
-
|
|
57
|
-
### Deskripsi
|
|
58
|
-
Claude dibatasi oleh respon berurutan (single-threaded). Antigravity memiliki fitur `invoke_subagent`. Skill ini mengangkat derajat Anda dari sekadar "Programmer" menjadi "Direktur Swarm (Pasukan)". Anda memiliki "kekuatan super" untuk memecah tugas raksasa menjadi beberapa bagian dan menyuruh beberapa sub-agen mengerjakannya secara paralel (bersamaan).
|
|
59
|
-
|
|
60
|
-
### Kondisi Pemicu
|
|
61
|
-
- Saat pengguna meminta pembuatan fitur berskala besar yang akan sangat lama jika dikerjakan satu per satu.
|
|
62
|
-
- Saat tugas bisa diparalelkan (misal: menulis dokumentasi untuk 10 API *endpoint* yang berbeda).
|
|
63
|
-
|
|
64
|
-
### Panduan Singkat
|
|
65
|
-
- **Pecah & Delegasikan:** Gunakan tool `invoke_subagent`. Berikan peran spesifik (misal: `Frontend Developer`, `Database Schema Architect`) ke setiap sub-agen.
|
|
66
|
-
- **Tidur & Tunggu:** Setelah sub-agen dikerahkan, Anda tidak perlu melakukan `polling`. Sistem akan membangunkan Anda otomatis saat sub-agen selesai dan mengirim pesan.
|
|
67
|
-
- **Hindari Tabrakan File:** Jangan menugaskan dua sub-agen untuk mengedit file yang sama secara bersamaan. Bagilah tugas berdasarkan komponen atau modul yang berbeda.
|
|
68
|
-
- **Kritik Adversarial (Red Teaming):** Sebelum kode digabungkan, panggil sub-agen "Auditor" khusus yang bertugas mencari kerentanan keamanan, edge case, atau kelemahan logika dari pekerjaan sub-agen lainnya.
|
|
69
|
-
- **Dokumentasi Wajib (Proyek Baru):** Jika tim ditugaskan membuat proyek baru dari awal, Direktur WAJIB memastikan `PRD.md`, `ERD.md`, dan `DOKUMENTASI.md` dibuat (misalnya dengan mendelegasikan ke sub-agen `prd-architect`) sebelum pekerjaan koding dimulai.
|
|
@@ -1,55 +0,0 @@
|
|
|
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,59 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: llm-cost-arbitrage-router
|
|
3
|
-
description: "Dynamically routes LLM calls based on cost/latency and builds semantic caching layers to reduce token burn / Mengarahkan pemanggilan LLM secara dinamis berdasarkan biaya/latensi dan membangun lapisan semantic cache untuk menekan pengeluaran token."
|
|
4
|
-
author: vibes-plug-swarm
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Predictive LLM Cost Arbitrage Router (FinOps AI Agent)
|
|
8
|
-
|
|
9
|
-
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
<a name="english"></a>
|
|
14
|
-
## English
|
|
15
|
-
|
|
16
|
-
### Description
|
|
17
|
-
An advanced FinOps architectural skill designed to prevent API cost overruns in AI applications. Instead of hardcoding a single model (e.g., GPT-4 or Claude 3.5 Sonnet) for every task, this agent builds an intelligent routing layer. It evaluates incoming prompts for complexity and dynamically routes simple queries to cheaper, faster models (e.g., Llama 3 8B, Gemini Flash) and complex reasoning tasks to frontier models. Additionally, it implements Semantic Caching (e.g., with Redis or Upstash) to serve identical or semantically similar queries without hitting the LLM provider, slashing token costs by up to 90%.
|
|
18
|
-
|
|
19
|
-
### Trigger Conditions
|
|
20
|
-
- When building AI-native applications, chatbots, or RAG systems.
|
|
21
|
-
- During Phase 4 (Backend Architecture) when implementing external API layers.
|
|
22
|
-
- When explicitly requested by the user to "optimize AI costs" or "reduce token usage."
|
|
23
|
-
|
|
24
|
-
### Operating Protocol
|
|
25
|
-
1. **Model Fallback & Routing**: Sets up an abstraction layer (like LiteLLM or Vercel AI SDK Core) to support multiple providers.
|
|
26
|
-
2. **Complexity Scoring**: Implements heuristics (prompt length, required JSON schema, keyword analysis) to route to the cheapest capable model.
|
|
27
|
-
3. **Semantic Caching Integration**: Implements a Vector DB or Redis caching layer. Before routing to an LLM, it embeddings the user prompt and checks if a semantically similar query was answered recently.
|
|
28
|
-
4. **Token Budgeting**: Sets hard limits and alerts for daily API consumption per tenant/user.
|
|
29
|
-
|
|
30
|
-
## Orchestration & Integration
|
|
31
|
-
- Enhances `ai-llm-integration-expert` with enterprise-grade cost controls.
|
|
32
|
-
- Connects to `edge-serverless-db-expert` (Upstash/Redis) for fast semantic caching.
|
|
33
|
-
- Collaborates with `vector-db-rag-expert` for similarity scoring during cache retrieval.
|
|
34
|
-
- Feeds billing metrics into `saas-billing` for usage-based AI pricing models.
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
<a name="bahasa-indonesia"></a>
|
|
39
|
-
## Bahasa Indonesia
|
|
40
|
-
|
|
41
|
-
### Deskripsi
|
|
42
|
-
Keterampilan arsitektur *FinOps* canggih yang dirancang untuk mencegah pembengkakan biaya API pada aplikasi berbasis AI. Alih-alih menetapkan satu model secara kaku (misalnya GPT-4 atau Claude 3.5 Sonnet) untuk semua tugas, agen ini membangun lapisan *routing* yang cerdas. Agen akan mengevaluasi tingkat kerumitan setiap prompt yang masuk dan mengarahkan *query* sederhana ke model yang lebih murah dan cepat (mis. Llama 3 8B, Gemini Flash), sementara tugas penalaran kompleks diarahkan ke model raksasa (*frontier*). Selain itu, agen ini mengimplementasikan *Semantic Caching* (misal dengan Redis atau Upstash) untuk menyajikan jawaban pada *query* yang identik atau mirip secara semantik tanpa harus menghubungi penyedia LLM, memangkas biaya token hingga 90%.
|
|
43
|
-
|
|
44
|
-
### Kondisi Pemicu
|
|
45
|
-
- Saat membangun aplikasi AI-native, chatbot, atau sistem RAG.
|
|
46
|
-
- Selama Fase 4 (Arsitektur Backend) saat mengimplementasikan lapisan API eksternal.
|
|
47
|
-
- Ketika diminta secara eksplisit oleh pengguna untuk "mengoptimalkan biaya AI" atau "mengurangi penggunaan token".
|
|
48
|
-
|
|
49
|
-
### Protokol Operasi
|
|
50
|
-
1. **Routing & Fallback Model**: Menyiapkan lapisan abstraksi (seperti LiteLLM atau Vercel AI SDK Core) untuk mendukung berbagai penyedia model.
|
|
51
|
-
2. **Penilaian Kompleksitas**: Mengimplementasikan heuristik (panjang prompt, kebutuhan skema JSON, analisis kata kunci) untuk mengarahkan prompt ke model termurah yang mampu menyelesaikannya.
|
|
52
|
-
3. **Integrasi Semantic Caching**: Mengimplementasikan lapisan *cache* Vector DB atau Redis. Sebelum mengirim ke LLM, prompt pengguna diubah menjadi vektor (*embedding*) untuk mengecek apakah pertanyaan serupa pernah dijawab baru-baru ini.
|
|
53
|
-
4. **Penganggaran Token**: Menetapkan batas maksimal dan notifikasi untuk konsumsi API harian per pengguna/tenant.
|
|
54
|
-
|
|
55
|
-
## Integrasi Orkestrasi
|
|
56
|
-
- Memperkuat `ai-llm-integration-expert` dengan kontrol biaya skala *enterprise*.
|
|
57
|
-
- Terhubung dengan `edge-serverless-db-expert` (Upstash/Redis) untuk *semantic caching* secepat kilat.
|
|
58
|
-
- Berkolaborasi dengan `vector-db-rag-expert` untuk perhitungan kemiripan saat pencarian *cache*.
|
|
59
|
-
- Memasok metrik penagihan ke `saas-billing` untuk model bisnis AI berbasis penggunaan (*usage-based pricing*).
|
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: senior-fullstack
|
|
3
|
-
description: "Complete toolkit for senior fullstack with modern tools and best practices / Perangkat instruksi lengkap untuk pengembang fullstack tingkat senior dengan alat-alat dan best practices termutakhir."
|
|
4
|
-
author: "Roedy Rustam"
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Senior Fullstack Developer (2026 Edition)
|
|
8
|
-
|
|
9
|
-
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
<a name="english"></a>
|
|
14
|
-
## English
|
|
15
|
-
|
|
16
|
-
### Description
|
|
17
|
-
Complete guidelines for senior fullstack developers building production-grade applications in 2026. Covers the modern AI-native stack, architecture decision-making, API design, frontend/backend integration, and team-level best practices.
|
|
18
|
-
|
|
19
|
-
### Trigger Conditions
|
|
20
|
-
- Making fullstack architecture decisions across frontend and backend.
|
|
21
|
-
- Designing API contracts between React 19/Next.js 15 frontend and Node.js/Go/Python backend.
|
|
22
|
-
- Integrating AI features (LLM, agents, RAG) into a fullstack application.
|
|
23
|
-
- Setting up a monorepo with shared types between frontend and backend.
|
|
24
|
-
- Reviewing and improving overall application architecture and code quality.
|
|
25
|
-
|
|
26
|
-
### Modern 2026 Fullstack Stack
|
|
27
|
-
|
|
28
|
-
#### Recommended Stacks by Use Case
|
|
29
|
-
|
|
30
|
-
| Use Case | Frontend | Backend | Database | AI Layer |
|
|
31
|
-
|---|---|---|---|---|
|
|
32
|
-
| **SaaS App (default)** | Next.js 15 (App Router) | Hono / Fastify 5 | Postgres + Drizzle | Vercel AI SDK 5.x |
|
|
33
|
-
| **AI-First App** | Next.js 15 + RSC streaming | Mastra.ai / LangGraph | pgvector + Supabase | Anthropic / OpenAI |
|
|
34
|
-
| **Decoupled SPA** | TanStack Start + React 19 | Hono RPC | Postgres + Drizzle | Vercel AI SDK |
|
|
35
|
-
| **Content Site** | Astro 5 + MDX | N/A (static) | Sanity / Contentful | — |
|
|
36
|
-
| **Mobile** | Expo SDK 53 + React Native 0.79 | Hono / Fastify | SQLite (Expo) + Postgres | Vercel AI SDK |
|
|
37
|
-
|
|
38
|
-
#### AI-Native Fullstack Patterns
|
|
39
|
-
In 2026, AI is a first-class citizen in fullstack applications:
|
|
40
|
-
- **Streaming AI Responses**: Use Next.js RSC + Vercel AI SDK `streamUI` to stream LLM responses as React components from the server.
|
|
41
|
-
- **Server Actions as AI Triggers**: Use React 19 `useActionState` with Server Actions to invoke LLM calls without an API layer.
|
|
42
|
-
- **Background AI Jobs**: Offload long LLM tasks to BullMQ + Redis workers; stream results via WebSockets or SSE.
|
|
43
|
-
- **Structured AI Output**: Always use `zodResponseFormat` or Pydantic schemas for LLM responses — never parse free-form JSON.
|
|
44
|
-
|
|
45
|
-
### API Design Principles (2026)
|
|
46
|
-
|
|
47
|
-
#### Type-Safe Communication
|
|
48
|
-
Choose one approach and be consistent:
|
|
49
|
-
- **Hono RPC**: If backend is Hono — zero codegen, end-to-end types.
|
|
50
|
-
- **tRPC**: If using React Query with Next.js — excellent DX with RSC support.
|
|
51
|
-
- **OpenAPI + codegen**: If you have multiple consumers (mobile, third parties).
|
|
52
|
-
|
|
53
|
-
#### API Versioning
|
|
54
|
-
- Use URL versioning: `/api/v1/users`.
|
|
55
|
-
- Pin major version in URL, minor versions are backward-compatible.
|
|
56
|
-
- Deprecate with `Deprecation` and `Sunset` headers.
|
|
57
|
-
|
|
58
|
-
#### Error Response Standard (RFC 9457 Problem Details)
|
|
59
|
-
```typescript
|
|
60
|
-
// Consistent error format across all endpoints
|
|
61
|
-
interface ProblemDetail {
|
|
62
|
-
type: string; // URI identifying the error type
|
|
63
|
-
title: string; // Human-readable summary
|
|
64
|
-
status: number; // HTTP status code
|
|
65
|
-
detail: string; // Specific explanation
|
|
66
|
-
instance?: string; // URI of the specific occurrence
|
|
67
|
-
}
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
### SPA vs SSR vs Static — Decision Guide
|
|
71
|
-
```
|
|
72
|
-
SEO-critical + mostly read? → Next.js SSR / Astro 5 (static)
|
|
73
|
-
Highly interactive dashboard? → SPA (TanStack Start / Vite + TanStack Router)
|
|
74
|
-
→ see spa-orchestrator skill for architecture details
|
|
75
|
-
Mixed (marketing + app)? → Next.js 15 with hybrid routing
|
|
76
|
-
Real-time data? → SSR + WebSocket or SSE streaming
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
### Monorepo with Shared Types
|
|
80
|
-
```typescript
|
|
81
|
-
// packages/types/src/index.ts — single source of truth
|
|
82
|
-
export interface User {
|
|
83
|
-
id: string;
|
|
84
|
-
email: string;
|
|
85
|
-
name: string;
|
|
86
|
-
plan: 'free' | 'pro' | 'enterprise';
|
|
87
|
-
isSuperAdmin: boolean;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
export interface ApiResponse<T> {
|
|
91
|
-
data: T;
|
|
92
|
-
meta?: { page: number; total: number };
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
// apps/api — uses the type
|
|
96
|
-
// apps/web — uses the same type
|
|
97
|
-
// apps/admin — uses the same type
|
|
98
|
-
import type { User } from '@myapp/types';
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
### Security Checklist (Fullstack)
|
|
102
|
-
- [ ] All user inputs validated with Zod on the server (never trust the client).
|
|
103
|
-
- [ ] JWT secrets rotated every 90 days; use short expiry + refresh tokens.
|
|
104
|
-
- [ ] CSP headers configured (no `unsafe-inline` in production).
|
|
105
|
-
- [ ] All DB queries use parameterized queries — no string concatenation.
|
|
106
|
-
- [ ] File uploads validated for MIME type and scanned before storage.
|
|
107
|
-
- [ ] Rate limiting on all public API endpoints.
|
|
108
|
-
- [ ] Super Admin routes restricted to `admin.domain.com` with `isSuperAdmin` check.
|
|
109
|
-
|
|
110
|
-
### Code Review Standards
|
|
111
|
-
- Functions < 30 lines; files < 300 lines.
|
|
112
|
-
- No business logic in UI components.
|
|
113
|
-
- Every PR includes relevant tests (unit or E2E).
|
|
114
|
-
- No `any` types in TypeScript production code.
|
|
115
|
-
- Dependencies audited with `pnpm audit` on every PR.
|
|
116
|
-
|
|
117
|
-
---
|
|
118
|
-
|
|
119
|
-
<a name="bahasa-indonesia"></a>
|
|
120
|
-
## Bahasa Indonesia
|
|
121
|
-
|
|
122
|
-
### Deskripsi
|
|
123
|
-
Panduan lengkap untuk pengembang fullstack senior yang membangun aplikasi tingkat produksi di 2026. Mencakup stack AI-native modern, pengambilan keputusan arsitektur, desain API, integrasi frontend/backend, dan best practices tingkat tim.
|
|
124
|
-
|
|
125
|
-
### Kondisi Pemicu
|
|
126
|
-
- Membuat keputusan arsitektur fullstack di frontend dan backend.
|
|
127
|
-
- Merancang kontrak API antara frontend React 19/Next.js 15 dan backend Node.js/Go/Python.
|
|
128
|
-
- Mengintegrasikan fitur AI (LLM, agen, RAG) ke dalam aplikasi fullstack.
|
|
129
|
-
- Menyiapkan monorepo dengan shared types antara frontend dan backend.
|
|
130
|
-
- Meninjau dan meningkatkan arsitektur dan kualitas kode aplikasi secara keseluruhan.
|
|
131
|
-
|
|
132
|
-
### Stack Fullstack Modern 2026
|
|
133
|
-
|
|
134
|
-
Rekomendasi stack berdasarkan use case:
|
|
135
|
-
- **SaaS App**: Next.js 15 + Hono/Fastify + Postgres + Drizzle + Vercel AI SDK.
|
|
136
|
-
- **AI-First App**: Next.js 15 RSC streaming + Mastra.ai/LangGraph + pgvector.
|
|
137
|
-
- **SPA Terpisah**: TanStack Start + Hono RPC + Postgres — lihat `spa-orchestrator`.
|
|
138
|
-
- **Situs Konten**: Astro 5 + MDX.
|
|
139
|
-
- **Mobile**: Expo SDK 53 + Hono + SQLite.
|
|
140
|
-
|
|
141
|
-
### Pola Fullstack AI-Native (2026)
|
|
142
|
-
AI adalah warga kelas satu di aplikasi fullstack 2026:
|
|
143
|
-
- **Streaming RSC**: Alirkan respons LLM sebagai komponen React dari server menggunakan `streamUI` Vercel AI SDK 5.x.
|
|
144
|
-
- **Server Actions sebagai Pemicu AI**: Panggil LLM dari Server Actions React 19 tanpa lapisan API terpisah.
|
|
145
|
-
- **Background AI Jobs**: Offload tugas LLM panjang ke BullMQ + Redis; stream hasil via WebSocket atau SSE.
|
|
146
|
-
- **Output AI Terstruktur**: Selalu gunakan `zodResponseFormat` atau skema Pydantic — jangan pernah parse JSON bebas dari LLM.
|
|
147
|
-
|
|
148
|
-
### Prinsip Desain API (2026)
|
|
149
|
-
- **Hono RPC**: Zero codegen, end-to-end type-safe jika backend adalah Hono.
|
|
150
|
-
- **tRPC**: Untuk React Query + Next.js dengan dukungan RSC.
|
|
151
|
-
- **OpenAPI + codegen**: Jika memiliki banyak konsumen (mobile, pihak ketiga).
|
|
152
|
-
- **Format Error RFC 9457**: Respons error yang konsisten dengan `type`, `title`, `status`, `detail`.
|
|
153
|
-
|
|
154
|
-
### SPA vs SSR vs Static
|
|
155
|
-
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).
|
|
156
|
-
|
|
157
|
-
### Monorepo dengan Shared Types
|
|
158
|
-
Definisikan interface dan tipe bersama di `packages/types` — digunakan oleh semua app (web, admin, api, mobile) sebagai single source of truth.
|
|
159
|
-
|
|
160
|
-
### Checklist Keamanan
|
|
161
|
-
- Input pengguna divalidasi Zod di server.
|
|
162
|
-
- JWT rotasi 90 hari; expiry pendek + refresh token.
|
|
163
|
-
- Header CSP dikonfigurasi.
|
|
164
|
-
- Semua query DB menggunakan parameterized query.
|
|
165
|
-
- Upload file divalidasi MIME type.
|
|
166
|
-
- Rate limiting di semua endpoint publik.
|
|
167
|
-
- Rute Super Admin dibatasi di `admin.domain.com` dengan cek `isSuperAdmin`.
|