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,204 +1,220 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: auto-doc-updater
|
|
3
|
-
description: "Automatically documents every feature change or bug fix successfully built into CHANGELOG.md and BLUEPRINT.md / Otomatis mendokumentasikan setiap perubahan fitur atau perbaikan bug yang berhasil di-build ke CHANGELOG.md dan BLUEPRINT.md."
|
|
1
|
+
---
|
|
2
|
+
name: auto-doc-updater
|
|
3
|
+
description: "Automatically documents every feature change or bug fix successfully built into CHANGELOG.md and BLUEPRINT.md / Otomatis mendokumentasikan setiap perubahan fitur atau perbaikan bug yang berhasil di-build ke CHANGELOG.md dan BLUEPRINT.md."
|
|
4
4
|
author: "Roedy Rustam"
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Auto Documentation Updater (2026 — ADR 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
|
-
- A
|
|
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
|
-
[Key
|
|
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
|
-
| [ADR-
|
|
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
|
-
|
|
203
|
-
|
|
204
|
-
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Auto Documentation Updater (2026 — ADR 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
|
+
Automatically maintains project documentation after every successful build or feature implementation. Updates `CHANGELOG.md`, `BLUEPRINT.md`, and introduces **Architecture Decision Records (ADRs)** — immutable records of key architectural decisions made throughout the project lifecycle.
|
|
21
|
+
|
|
22
|
+
### Trigger Conditions
|
|
23
|
+
- A feature, bug fix, or refactor has been successfully implemented and verified.
|
|
24
|
+
- The user asks to "update docs", "document this", or "save progress".
|
|
25
|
+
- After completing a phase in `zero-to-prod-orchestrator`.
|
|
26
|
+
- A significant architectural decision was made (DB choice, auth flow, API design).
|
|
27
|
+
|
|
28
|
+
### Files Maintained
|
|
29
|
+
|
|
30
|
+
| File | Purpose | Update Frequency |
|
|
31
|
+
|---|---|---|
|
|
32
|
+
| `CHANGELOG.md` | User-facing list of changes | Every PR / feature |
|
|
33
|
+
| `BLUEPRINT.md` | Technical architecture overview | Major structural changes |
|
|
34
|
+
| `PROGRESS.md` | Development roadmap and status | Each work session |
|
|
35
|
+
| `docs/adr/` | Architecture Decision Records | Each key decision |
|
|
36
|
+
|
|
37
|
+
### CHANGELOG.md Format (Keep-a-Changelog Standard)
|
|
38
|
+
```markdown
|
|
39
|
+
# Changelog
|
|
40
|
+
All notable changes to this project will be documented in this file.
|
|
41
|
+
Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
42
|
+
|
|
43
|
+
## [Unreleased]
|
|
44
|
+
### Added
|
|
45
|
+
- New feature or capability
|
|
46
|
+
|
|
47
|
+
## [1.2.0] — 2026-07-29
|
|
48
|
+
### Added
|
|
49
|
+
- Super Admin dashboard on `admin.domain.com` with tenant management
|
|
50
|
+
- Polar.sh billing integration as alternative to Stripe
|
|
51
|
+
- `spa-orchestrator` skill for SPA architecture decisions
|
|
52
|
+
|
|
53
|
+
### Changed
|
|
54
|
+
- Upgraded React to 19.x with new Compiler (removes need for useMemo/useCallback)
|
|
55
|
+
- Migrated from `tailwind.config.js` to CSS-first `@theme` configuration (Tailwind v4)
|
|
56
|
+
|
|
57
|
+
### Fixed
|
|
58
|
+
- N+1 query issue in workspace members list endpoint
|
|
59
|
+
- Memory leak in WebSocket connection cleanup
|
|
60
|
+
|
|
61
|
+
### Security
|
|
62
|
+
- Upgraded Supabase client to Auth v3 with PKCE flow (replaces implicit flow)
|
|
63
|
+
- Service role key moved out of client-side code
|
|
64
|
+
|
|
65
|
+
## [1.1.0] — 2026-06-15
|
|
66
|
+
### Added
|
|
67
|
+
...
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### BLUEPRINT.md Structure
|
|
71
|
+
```markdown
|
|
72
|
+
# [Project Name] — Technical Blueprint
|
|
73
|
+
|
|
74
|
+
## Architecture Overview
|
|
75
|
+
[High-level diagram or description]
|
|
76
|
+
|
|
77
|
+
## Tech Stack
|
|
78
|
+
| Layer | Technology | Version |
|
|
79
|
+
|---|---|---|
|
|
80
|
+
| Frontend | Next.js | 15.x |
|
|
81
|
+
| Backend | Hono | latest |
|
|
82
|
+
| Database | PostgreSQL + Drizzle | — |
|
|
83
|
+
| Auth | Supabase Auth | v3 |
|
|
84
|
+
|
|
85
|
+
## Entry Points
|
|
86
|
+
| URL | Purpose |
|
|
87
|
+
|---|---|
|
|
88
|
+
| `domain.com` | Marketing/Landing |
|
|
89
|
+
| `app.domain.com` | SaaS App |
|
|
90
|
+
| `admin.domain.com` | Super Admin |
|
|
91
|
+
|
|
92
|
+
## Database Schema (Summary)
|
|
93
|
+
[Key tables and relationships]
|
|
94
|
+
|
|
95
|
+
## API Endpoints (Summary)
|
|
96
|
+
[Key routes and their purposes]
|
|
97
|
+
|
|
98
|
+
## Environment Variables Required
|
|
99
|
+
[List of all required env vars]
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Architecture Decision Records (ADRs)
|
|
103
|
+
|
|
104
|
+
ADRs are **immutable records** of significant architectural decisions. Once created, they are never deleted — only superseded by a new ADR. This creates a historical audit trail of *why* the system is built the way it is.
|
|
105
|
+
|
|
106
|
+
#### ADR Template (`docs/adr/ADR-NNN-title.md`)
|
|
107
|
+
```markdown
|
|
108
|
+
# ADR-001: Use Supabase for Authentication and Database
|
|
109
|
+
|
|
110
|
+
**Status**: Accepted
|
|
111
|
+
**Date**: 2026-07-29
|
|
112
|
+
**Deciders**: [Team/Individual]
|
|
113
|
+
|
|
114
|
+
## Context
|
|
115
|
+
[What is the situation that motivated this decision? What forces are at play?]
|
|
116
|
+
|
|
117
|
+
We need a database + authentication solution for our SaaS MVP that can be
|
|
118
|
+
delivered quickly without managing infrastructure.
|
|
119
|
+
|
|
120
|
+
## Decision
|
|
121
|
+
We will use Supabase as our primary backend-as-a-service, providing:
|
|
122
|
+
- PostgreSQL database with Row Level Security (RLS)
|
|
123
|
+
- Auth v3 with PKCE flow (OAuth, magic links, MFA)
|
|
124
|
+
- Realtime subscriptions
|
|
125
|
+
- Storage for user-uploaded files
|
|
126
|
+
|
|
127
|
+
## Rationale
|
|
128
|
+
- Faster time-to-market than self-hosted Postgres + separate auth service
|
|
129
|
+
- Built-in RLS for multi-tenant isolation without custom middleware
|
|
130
|
+
- Open-source — can self-host later if needed
|
|
131
|
+
- Strong TypeScript SDK with auto-generated types
|
|
132
|
+
|
|
133
|
+
## Consequences
|
|
134
|
+
**Positive:**
|
|
135
|
+
- No auth infrastructure to manage
|
|
136
|
+
- RLS enforced at DB level — defense in depth
|
|
137
|
+
|
|
138
|
+
**Negative:**
|
|
139
|
+
- Vendor dependency — migration would require significant refactor
|
|
140
|
+
- RLS requires careful testing to avoid data leakage bugs
|
|
141
|
+
|
|
142
|
+
## Superseded By
|
|
143
|
+
[ADR-XXX: Migrated to self-hosted Supabase] (if applicable)
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
#### ADR Index (`docs/adr/README.md`)
|
|
147
|
+
```markdown
|
|
148
|
+
# Architecture Decision Records
|
|
149
|
+
|
|
150
|
+
| # | Title | Status | Date |
|
|
151
|
+
|---|---|---|---|
|
|
152
|
+
| [ADR-001](./ADR-001-supabase-auth.md) | Use Supabase for Auth + DB | ✅ Accepted | 2026-07-29 |
|
|
153
|
+
| [ADR-002](./ADR-002-polar-billing.md) | Use Polar.sh for billing | ✅ Accepted | 2026-07-29 |
|
|
154
|
+
| [ADR-003](./ADR-003-rls-isolation.md) | Shared Schema + RLS for multi-tenancy | ✅ Accepted | 2026-08-01 |
|
|
155
|
+
| [ADR-004](./ADR-004-ssr-vs-spa.md) | Next.js SSR for main app, SPA for admin | 🔄 Proposed | 2026-08-05 |
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Update Protocol
|
|
159
|
+
After every successful feature implementation:
|
|
160
|
+
1. **CHANGELOG.md**: Add entry under `[Unreleased]` with correct category (Added/Changed/Fixed/Security).
|
|
161
|
+
2. **BLUEPRINT.md**: Update only if schema, stack, or entry points changed.
|
|
162
|
+
3. **PROGRESS.md**: Mark completed tasks `[x]`, update next steps.
|
|
163
|
+
4. **ADR**: Create a new ADR if a significant architectural decision was made (DB choice, auth flow, billing provider, deployment strategy, isolation strategy).
|
|
164
|
+
|
|
165
|
+
### Skill Orchestration & Handoff
|
|
166
|
+
- **Global Listener**: Invoked automatically after completing milestones in `zero-to-prod-orchestrator`, `brainstorming`, `prd-architect`, or any domain expert skill execution.
|
|
167
|
+
- **Context Handoff**: Coordinates with `session-handoff-resume` to ensure checkpoints and documentation are saved before context switching.
|
|
168
|
+
- **Codebase Auditing**: Coordinates with `vibe-code-gardener` to log dead code purges and structural refactors.
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
<a name="bahasa-indonesia"></a>
|
|
173
|
+
## Bahasa Indonesia
|
|
174
|
+
|
|
175
|
+
### Integrasi Orkestrasi
|
|
176
|
+
Terhubung dan mengorkestrasi skill domain yang relevan seperti `brainstorming`, `zero-to-prod-orchestrator`, dan `project-context-mapper` untuk memastikan eksekusi yang kohesif.
|
|
177
|
+
|
|
178
|
+
### Deskripsi
|
|
179
|
+
Secara otomatis memelihara dokumentasi proyek setelah setiap build atau implementasi fitur yang berhasil. Memperbarui `CHANGELOG.md`, `BLUEPRINT.md`, dan memperkenalkan **Architecture Decision Records (ADR)** — catatan permanen dari keputusan arsitektur kunci yang dibuat sepanjang siklus hidup proyek.
|
|
180
|
+
|
|
181
|
+
### Kondisi Pemicu
|
|
182
|
+
- Sebuah fitur, perbaikan bug, atau refactor berhasil diimplementasikan dan diverifikasi.
|
|
183
|
+
- Pengguna meminta "perbarui docs", "dokumentasikan ini", atau "simpan progres".
|
|
184
|
+
- Setelah menyelesaikan fase dalam `zero-to-prod-orchestrator`.
|
|
185
|
+
- Keputusan arsitektur signifikan dibuat (pilihan DB, alur auth, desain API).
|
|
186
|
+
|
|
187
|
+
### File yang Dipelihara
|
|
188
|
+
|
|
189
|
+
| File | Tujuan | Frekuensi Pembaruan |
|
|
190
|
+
|---|---|---|
|
|
191
|
+
| `CHANGELOG.md` | Daftar perubahan untuk pengguna | Setiap PR / fitur |
|
|
192
|
+
| `BLUEPRINT.md` | Gambaran arsitektur teknis | Perubahan struktural besar |
|
|
193
|
+
| `PROGRESS.md` | Roadmap dan status pengembangan | Setiap sesi kerja |
|
|
194
|
+
| `docs/adr/` | Architecture Decision Records | Setiap keputusan kunci |
|
|
195
|
+
|
|
196
|
+
### Format CHANGELOG.md (Standar Keep-a-Changelog)
|
|
197
|
+
Gunakan kategori: `Added`, `Changed`, `Fixed`, `Removed`, `Security`. Simpan versi yang belum dirilis di bagian `[Unreleased]` dan turunkan ke versi bernama saat rilis.
|
|
198
|
+
|
|
199
|
+
### Struktur BLUEPRINT.md
|
|
200
|
+
Ringkasan arsitektur teknis termasuk: stack teknologi dengan versi, entry points (URL), skema database (ringkasan), endpoint API kunci, dan variabel lingkungan yang diperlukan.
|
|
201
|
+
|
|
202
|
+
### Architecture Decision Records (ADR)
|
|
203
|
+
|
|
204
|
+
ADR adalah **catatan permanen** dari keputusan arsitektur yang signifikan. Setelah dibuat, tidak pernah dihapus — hanya digantikan oleh ADR baru. Ini menciptakan jejak audit historis tentang *mengapa* sistem dibangun seperti yang ada.
|
|
205
|
+
|
|
206
|
+
Setiap ADR mencakup: Konteks (situasi yang memotivasi keputusan), Keputusan (apa yang diputuskan), Rasional (mengapa), Konsekuensi (positif dan negatif), dan Digantikan Oleh (jika berlaku).
|
|
207
|
+
|
|
208
|
+
Kelola ADR dengan indeks di `docs/adr/README.md` yang mencantumkan semua ADR dengan status (Diterima, Ditolak, Diusulkan, Usang).
|
|
209
|
+
|
|
210
|
+
### Protokol Pembaruan
|
|
211
|
+
Setelah setiap implementasi fitur yang berhasil:
|
|
212
|
+
1. **CHANGELOG.md**: Tambahkan entri di `[Unreleased]` dengan kategori yang benar.
|
|
213
|
+
2. **BLUEPRINT.md**: Perbarui hanya jika skema, stack, atau entry points berubah.
|
|
214
|
+
3. **PROGRESS.md**: Tandai tugas selesai `[x]`, perbarui langkah selanjutnya.
|
|
215
|
+
4. **ADR**: Buat ADR baru jika keputusan arsitektur signifikan dibuat.
|
|
216
|
+
|
|
217
|
+
### Orkestrasi Skill & Serah Terima
|
|
218
|
+
- **Pendengar Global**: Dipanggil secara otomatis setelah menyelesaikan milestone di `zero-to-prod-orchestrator`, `brainstorming`, `prd-architect`, atau skill domain spesialis mana pun.
|
|
219
|
+
- **Serah Terima Konteks**: Berkoordinasi dengan `session-handoff-resume` untuk memastikan checkpoint dan dokumentasi tersimpan sebelum alih konteks.
|
|
220
|
+
- **Audit Codebase**: Berkoordinasi dengan `vibe-code-gardener` untuk mencatat pembersihan dead code dan refactoring struktural.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: autonomous-chaos-monkey
|
|
3
|
+
description: "AI-driven Chaos Engineering. Randomly injects latency, terminates mock services, and automatically implements circuit breakers / Chaos Engineering berbasis AI. Menyuntikkan latensi secara acak, mematikan layanan simulasi, dan secara otomatis menerapkan circuit breaker."
|
|
4
|
+
author: "Roedy Rustam"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Autonomous Chaos Monkey (Resilience Engineering Agent)
|
|
8
|
+
|
|
9
|
+
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<a name="english"></a>
|
|
14
|
+
## English
|
|
15
|
+
|
|
16
|
+
### Description
|
|
17
|
+
Inspired by Netflix's Chaos Monkey, this agent actively tests system resilience by injecting chaos into staging or local development environments. Instead of assuming the network is reliable, it forcibly kills database connections, drops network packets, and injects severe latency into external API calls. It then analyzes the application's failure mode and automatically writes resilience patterns (Circuit Breakers, Retries, Fallback UI) until the system becomes fault-tolerant.
|
|
18
|
+
|
|
19
|
+
### Trigger Conditions
|
|
20
|
+
- During Phase 7 (DevOps & Production Hardening) before a major launch.
|
|
21
|
+
- When architecting microservices, event-driven systems, or serverless edge databases.
|
|
22
|
+
- When integrating critical external APIs (e.g., Stripe, DOKU, LLM APIs).
|
|
23
|
+
|
|
24
|
+
### Operating Protocol
|
|
25
|
+
1. **Chaos Injection**: Uses tools like Toxiproxy, Gremlin (via API), or custom network simulation scripts to disrupt connections.
|
|
26
|
+
2. **Observation**: Monitors application logs and user experience (e.g., does it crash? Does the UI hang indefinitely? Does it return a blank screen?).
|
|
27
|
+
3. **Self-Healing Code Generation**:
|
|
28
|
+
- Implements Circuit Breaker patterns.
|
|
29
|
+
- Adds exponential backoff retries.
|
|
30
|
+
- Implements graceful degradation (e.g., serving cached data or displaying fallback UI states).
|
|
31
|
+
4. **Verification**: Repeats the chaos injection until the system can survive the disruption without severe user impact.
|
|
32
|
+
|
|
33
|
+
## Orchestration & Integration
|
|
34
|
+
- Connects to `error-resilience-expert` to implement the actual React Error Boundaries and Circuit Breaker logic.
|
|
35
|
+
- Integrates with `logging-error-tracking-expert` to verify that injected chaos is properly logged and captured in Sentry.
|
|
36
|
+
- Validates the resilience of `async-queue-temporal-expert` workflows during worker outages.
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
<a name="bahasa-indonesia"></a>
|
|
41
|
+
## Bahasa Indonesia
|
|
42
|
+
|
|
43
|
+
### Deskripsi
|
|
44
|
+
Terinspirasi dari Chaos Monkey milik Netflix, agen ini secara aktif menguji ketahanan sistem dengan menyuntikkan kekacauan (*chaos*) ke dalam lingkungan staging atau pengembangan lokal. Alih-alih berasumsi bahwa jaringan selalu stabil, agen ini secara paksa mematikan koneksi database, membuang paket jaringan, dan menyuntikkan latensi parah pada pemanggilan API eksternal. Kemudian, ia menganalisis mode kegagalan aplikasi dan secara otomatis menulis pola ketahanan (*Circuit Breakers*, *Retries*, *Fallback UI*) sampai sistem kebal terhadap gangguan.
|
|
45
|
+
|
|
46
|
+
### Kondisi Pemicu
|
|
47
|
+
- Saat Fase 7 (DevOps & Pengerasan Produksi) sebelum peluncuran besar.
|
|
48
|
+
- Saat merancang arsitektur microservices, sistem event-driven, atau database serverless.
|
|
49
|
+
- Saat mengintegrasikan API eksternal kritis (misalnya Stripe, DOKU, API LLM).
|
|
50
|
+
|
|
51
|
+
### Protokol Operasi
|
|
52
|
+
1. **Injeksi Kekacauan**: Menggunakan alat seperti Toxiproxy, Gremlin (via API), atau skrip simulasi jaringan kustom untuk mengganggu koneksi.
|
|
53
|
+
2. **Observasi**: Memantau log aplikasi dan pengalaman pengguna (misal: apakah aplikasi *crash*? Apakah UI macet tanpa batas waktu? Apakah menampilkan layar kosong?).
|
|
54
|
+
3. **Generasi Kode Self-Healing**:
|
|
55
|
+
- Menerapkan pola Circuit Breaker.
|
|
56
|
+
- Menambahkan mekanisme *retry* dengan *exponential backoff*.
|
|
57
|
+
- Menerapkan degradasi anggun (*graceful degradation*), seperti menyajikan data dari *cache* atau menampilkan state UI pengganti.
|
|
58
|
+
4. **Verifikasi**: Mengulangi injeksi kekacauan hingga sistem mampu bertahan dari gangguan tanpa berdampak fatal pada pengguna.
|
|
59
|
+
|
|
60
|
+
## Integrasi Orkestrasi
|
|
61
|
+
- Terhubung dengan `error-resilience-expert` untuk mengimplementasikan logika React Error Boundaries dan Circuit Breaker yang sesungguhnya.
|
|
62
|
+
- Terintegrasi dengan `logging-error-tracking-expert` untuk memastikan bahwa kekacauan yang disuntikkan dicatat dengan benar dan terekam di Sentry.
|
|
63
|
+
- Memvalidasi ketahanan alur kerja `async-queue-temporal-expert` selama pekerja (*worker*) mengalami pemadaman.
|