create-vasvibe 1.1.0 → 1.2.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 (45) hide show
  1. package/package.json +1 -1
  2. package/src/index.mjs +53 -9
  3. package/src/prompts.mjs +26 -0
  4. package/src/scaffold.mjs +10 -2
  5. package/src/upgrade.mjs +121 -0
  6. package/template/.claude/agents/analyst.md +16 -2
  7. package/template/.claude/agents/developer.md +15 -1
  8. package/template/.claude/agents/devops.md +14 -0
  9. package/template/.claude/agents/document.md +14 -0
  10. package/template/.claude/agents/fixer.md +15 -1
  11. package/template/.claude/agents/initiator.md +16 -0
  12. package/template/.claude/agents/orchestrator.md +52 -15
  13. package/template/.claude/agents/pm.md +14 -2
  14. package/template/.claude/agents/qa.md +16 -2
  15. package/template/.claude/agents/sysarch.md +42 -93
  16. package/template/.claude/agents/tester.md +16 -2
  17. package/template/.claude/settings.local.json +21 -0
  18. package/template/.opencode/agents/analyst.md +14 -1
  19. package/template/.opencode/agents/developer.md +14 -1
  20. package/template/.opencode/agents/devops.md +13 -0
  21. package/template/.opencode/agents/document.md +13 -0
  22. package/template/.opencode/agents/fixer.md +14 -1
  23. package/template/.opencode/agents/initiator.md +15 -0
  24. package/template/.opencode/agents/orchestrator.md +51 -15
  25. package/template/.opencode/agents/pm.md +13 -2
  26. package/template/.opencode/agents/qa.md +15 -2
  27. package/template/.opencode/agents/sysarch.md +41 -93
  28. package/template/.opencode/agents/tester.md +15 -2
  29. package/template/agent/workflows/_shared/state-management.md +85 -3
  30. package/template/agent/workflows/_shared/work-depth.md +46 -0
  31. package/template/agent/workflows/analyst.md +11 -2
  32. package/template/agent/workflows/developer.md +10 -1
  33. package/template/agent/workflows/devops.md +9 -0
  34. package/template/agent/workflows/document.md +9 -0
  35. package/template/agent/workflows/fixer.md +10 -1
  36. package/template/agent/workflows/initiator.md +11 -0
  37. package/template/agent/workflows/orchestrator.md +47 -15
  38. package/template/agent/workflows/pm.md +9 -2
  39. package/template/agent/workflows/qa.md +11 -2
  40. package/template/agent/workflows/sysarch.md +37 -93
  41. package/template/agent/workflows/tester.md +11 -2
  42. package/template/project_overview_example.md +15 -1
  43. package/template/schemas/changelog.template.md +34 -0
  44. package/template/schemas/dev_log.template.md +15 -21
  45. package/template/schemas/specification.template.md +35 -5
@@ -174,106 +174,39 @@ Jika ada yang tidak yakin, saya akan memberikan rekomendasi berdasarkan best pra
174
174
 
175
175
  **Step 6: Calculate Resource Requirements**
176
176
 
177
- Based on user input, calculate:
178
-
179
- #### **Database Sizing:**
180
- ```python
181
- # Example calculation
182
- total_users = user_input['target_users_1year']
183
- bookings_per_user_per_year = 2 # average
184
- total_bookings = total_users * bookings_per_user_per_year
185
-
186
- # Estimate database size
187
- db_rows_estimate = {
188
- 'users': total_users,
189
- 'bookings': total_bookings,
190
- 'payments': total_bookings * 1.5, # DP + pelunasan
191
- 'ships': 10,
192
- 'pricing': 100,
193
- 'seasonal_pricing': 200,
194
- 'audit_logs': total_bookings * 5,
195
- }
196
-
197
- # Database size (rough estimate)
198
- avg_row_size_kb = 2 # KB per row
199
- total_rows = sum(db_rows_estimate.values())
200
- db_size_gb = (total_rows * avg_row_size_kb) / 1024 / 1024
201
- db_size_with_indexes = db_size_gb * 1.5 # indexes + overhead
202
- recommended_db_storage = db_size_with_indexes * 3 # growth buffer
203
- ```
177
+ Gunakan rules of thumb berikut untuk menghitung estimasi dari jawaban user di Step 4:
204
178
 
205
- #### **File Storage Sizing:**
206
- ```python
207
- files_per_day = user_input['file_uploads_per_day']
208
- avg_file_size_mb = user_input['avg_file_size_mb']
209
- retention_years = user_input['retention_years']
179
+ #### **Database Storage**
180
+ - Estimasi total rows: jumlah users + (users × 2 bookings/tahun) + (bookings × 1.5 payments) + audit logs
181
+ - Ukuran per row rata-rata: ~2 KB
182
+ - Tambahkan 1.5× untuk indexes dan overhead
183
+ - Tambahkan 3× buffer untuk pertumbuhan
184
+ - **Formula singkat:** `(total_rows × 2 KB × 1.5 × 3) / (1024²) = GB`
210
185
 
211
- daily_storage_mb = files_per_day * avg_file_size_mb
212
- yearly_storage_gb = (daily_storage_mb * 365) / 1024
213
- total_storage_gb = yearly_storage_gb * retention_years
214
- recommended_file_storage = total_storage_gb * 1.3 # buffer
215
- ```
186
+ #### **File Storage**
187
+ - `(files_per_day × avg_size_MB × 365 × retention_years × 1.3) / 1024 = GB`
216
188
 
217
- #### **Memory (RAM) Sizing:**
218
- ```python
219
- # Application server
220
- concurrent_users = user_input['concurrent_users_peak']
221
- ram_per_user_mb = 2 # Next.js + session
222
- app_ram_base = 512 # Base Next.js process
223
- app_ram_total = app_ram_base + (concurrent_users * ram_per_user_mb)
224
-
225
- # Database server
226
- db_connections = concurrent_users * 1.5
227
- ram_per_connection_mb = 5
228
- db_ram_base = 1024 # PostgreSQL base
229
- db_ram_total = db_ram_base + (db_connections * ram_per_connection_mb)
230
-
231
- # Redis cache
232
- redis_ram = 512 # MB for session + cache
233
-
234
- total_ram_gb = (app_ram_total + db_ram_total + redis_ram) / 1024
235
- recommended_ram = total_ram_gb * 1.5 # headroom
236
- ```
189
+ #### **RAM**
190
+ - App server: 512 MB base + (concurrent_users × 2 MB)
191
+ - DB server: 1024 MB base + (concurrent_users × 1.5 connections × 5 MB/connection)
192
+ - Redis: 512 MB flat
193
+ - Total × 1.5 headroom → round up ke tier terdekat (4/8/16/32 GB)
237
194
 
238
- #### **CPU Sizing:**
239
- ```python
240
- api_requests_per_minute = user_input['api_requests_per_minute']
241
- cpu_intensive_operations = ['pdf_generation', 'excel_export', 'image_processing']
242
-
243
- # Rule of thumb: 1 vCPU handles ~100 req/min for standard CRUD
244
- # 1 vCPU handles ~20 req/min for CPU-intensive operations
245
- base_vcpu = 2
246
- vcpu_for_api = api_requests_per_minute / 100
247
- vcpu_total = max(base_vcpu, vcpu_for_api)
248
- recommended_vcpu = vcpu_total * 1.5 # buffer
249
- ```
195
+ #### **CPU (vCPU)**
196
+ - Standard CRUD API: 1 vCPU per 100 req/min
197
+ - CPU-intensive (PDF, export, image): 1 vCPU per 20 req/min
198
+ - Minimum 2 vCPU, tambahkan 1.5× buffer
250
199
 
251
- #### **Bandwidth Calculation:**
252
- ```python
253
- avg_page_size_kb = 500 # KB
254
- avg_api_response_kb = 50 # KB
255
- daily_page_views = concurrent_users * 20 # pages per user per day
256
- daily_api_calls = api_requests_per_minute * 60 * 24
257
-
258
- daily_bandwidth_gb = (
259
- (daily_page_views * avg_page_size_kb) +
260
- (daily_api_calls * avg_api_response_kb) +
261
- (files_per_day * avg_file_size_mb * 1024) # uploads
262
- ) / 1024 / 1024
263
-
264
- monthly_bandwidth_gb = daily_bandwidth_gb * 30
265
- recommended_bandwidth = monthly_bandwidth_gb * 1.5 # buffer
266
- ```
200
+ #### **Bandwidth (per bulan)**
201
+ - `(page_views/day × 500 KB + api_calls/day × 50 KB + uploads/day × avg_size) × 30 × 1.5 / (1024²) = GB`
267
202
 
268
203
  **Step 7: Document Calculations**
269
- ```markdown
270
- Create: `architecture/capacity_planning.md`
271
- - User input summary
272
- - Calculation formulas
273
- - Resource estimates
274
- - Growth projections (6 months, 1 year, 2 years)
275
- - Peak vs normal load comparison
276
- ```
204
+
205
+ Buat file `architecture/capacity_planning.md` yang berisi:
206
+ - Ringkasan jawaban user
207
+ - Estimasi resource (DB, storage, RAM, CPU, bandwidth) dengan angka aktual
208
+ - Proyeksi pertumbuhan 6 bulan, 1 tahun, 2 tahun
209
+ - Perbandingan beban normal vs peak season
277
210
 
278
211
  ---
279
212
 
@@ -350,5 +283,16 @@ Specs:
350
283
  - Type: Cloud LB or Nginx
351
284
 
352
285
  Estimated Cost: $[amount]/month
286
+ ```
287
+
288
+ ## Work Depth
289
+ > 📎 Baca level aktif di `project_overview.md` → `WORK_DEPTH`. Detail: `agent/workflows/_shared/work-depth.md`
290
+
291
+ | Level | Behavior |
292
+ |-------|----------|
293
+ | **fast** | Arsitektur dasar, skip capacity planning detail |
294
+ | **standard** | Arsitektur lengkap + capacity planning |
295
+ | **deep** | + Disaster recovery plan, multi-region consideration, security architecture review |
296
+
353
297
  ## State Management
354
298
  > 📎 **BACA DAN IKUTI** panduan di `agent/workflows/_shared/state-management.md`
@@ -1,5 +1,5 @@
1
- **ACT AS:** QA Automation Engineer.
2
- **CONTEXT:** Membuat dan menjalankan automated Playwright End-to-End (E2E) dan unit test.
1
+ **ACT AS:** E2E Test Automation Engineer.
2
+ **CONTEXT:** Membuat dan menjalankan automated Playwright End-to-End (E2E) test berdasarkan spesifikasi yang sudah diapprove. Berbeda dari QA Agent yang melakukan static review — agent ini mengeksekusi test scenario secara otomatis di browser.
3
3
 
4
4
  **INSTRUCTION STEPS:**
5
5
  1. **Load Context:**
@@ -84,5 +84,14 @@
84
84
 
85
85
  **INPUT SAYA:**
86
86
  "Buat dan jalankan tes untuk file code: [NAMA FILE CODE]"
87
+ ## Work Depth
88
+ > 📎 Baca level aktif di `project_overview.md` → `WORK_DEPTH`. Detail: `agent/workflows/_shared/work-depth.md`
89
+
90
+ | Level | Behavior |
91
+ |-------|----------|
92
+ | **fast** | Happy path E2E saja, skip edge cases |
93
+ | **standard** | Full E2E test suite sesuai spec |
94
+ | **deep** | + Edge cases, negative tests, performance assertion dasar |
95
+
87
96
  ## State Management
88
97
  > 📎 **BACA DAN IKUTI** panduan di `agent/workflows/_shared/state-management.md`
@@ -38,4 +38,18 @@
38
38
  - **Responsive Strategy:** (e.g., Mobile-First approach)
39
39
 
40
40
  ## 6. Constraints & Compliance
41
- *(Opsional: GDPR, Offline First, High Performance requirement, dll)*
41
+ *(Opsional: GDPR, Offline First, High Performance requirement, dll)*
42
+
43
+ ## 7. Project Settings
44
+
45
+ - **WORK_DEPTH:** {{workDepth}} <!-- fast | standard | deep -->
46
+
47
+ > **Penjelasan Work Depth:**
48
+ > - `fast` — Prototype/MVP: agent mengerjakan inti fitur saja, skip output optional (unit test, full docs, edge cases). Cocok untuk eksplorasi cepat.
49
+ > - `standard` — Development normal: semua step agent dijalankan sesuai template. **Default yang disarankan.**
50
+ > - `deep` — Produksi kritikal: semua validasi, security review, dan edge cases wajib. Cocok untuk fitur pembayaran, autentikasi, atau sistem high-stakes.
51
+ >
52
+ > **Di mana bisa diubah:**
53
+ > 1. **File ini** (`project_overview.md`) — ubah nilai `WORK_DEPTH:` untuk mengubah default seluruh project.
54
+ > 2. **Orchestrator command** — tambah parameter `depth=` saat memanggil pipeline, contoh: `/start-feature "Login" depth=fast`. Override untuk satu pipeline saja.
55
+ > 3. **Langsung ke agent** — instruksikan agent secara eksplisit, contoh: `"gunakan mode: deep"`. Override tertinggi.
@@ -0,0 +1,34 @@
1
+ # CHANGELOG
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ Format: [Semantic Versioning](https://semver.org/) — `MAJOR.MINOR.PATCH`
6
+ - **MAJOR**: Breaking change atau perubahan arsitektur besar
7
+ - **MINOR**: Fitur baru yang backward-compatible
8
+ - **PATCH**: Bug fix
9
+
10
+ ---
11
+
12
+ ## [Unreleased]
13
+
14
+ ### Added
15
+ - (Fitur baru yang belum di-release)
16
+
17
+ ### Changed
18
+ - (Perubahan behaviour yang sudah ada)
19
+
20
+ ### Fixed
21
+ - (Bug fix)
22
+
23
+ ### Removed
24
+ - (Fitur yang dihapus)
25
+
26
+ ---
27
+
28
+ ## [X.Y.Z] — YYYY-MM-DD
29
+
30
+ ### Added
31
+ - TASK-XXX: [Nama fitur] — [deskripsi singkat]
32
+
33
+ ### Fixed
34
+ - TASK-XXX: [Nama bug fix] — [deskripsi singkat]
@@ -1,26 +1,20 @@
1
- # Development Log TASK-XXX: [Task Name]
1
+ # DEVELOPMENT LOG - TASK-XXX: [Task Name]
2
2
 
3
- ## Session Info
4
- - **Agent:** Developer Agent
5
- - **Date:** [YYYY-MM-DD]
6
- - **Branch:** feature/[nama]
7
- - **Spec:** specifications/XXX_spec_*.md
3
+ **Target Spec:** specifications/XXX_spec_*.md
4
+ **Date:** [YYYY-MM-DD HH:MM]
5
+ **Status:** [Completed / Partial]
8
6
 
9
- ## Changes Made
10
- | File | Action | Description |
11
- |------|--------|-------------|
12
- | ... | Created/Modified/Deleted | ... |
7
+ ## 1. Implementation Summary
8
+ (Jelaskan secara naratif logika apa saja yang baru saja dibangun. Bagaimana data mengalir?)
13
9
 
14
- ## Decisions & Rationale
15
- ...
10
+ ## 2. Files Created/Modified
11
+ - `codes/src/...` (Sebutkan fungsi utama file ini)
12
+ - `codes/components/...`
16
13
 
17
- ## Issues Encountered
18
- ...
14
+ ## 3. Technical Notes
15
+ (Catatan untuk Developer lain atau QA. Misal: "Perlu set environment variable API_KEY dulu")
19
16
 
20
- ## Self-Reflection
21
- - Security: ...
22
- - Performance: ...
23
- - Code Quality: ...
24
-
25
- ## Status Update
26
- - [x] Task status updated: development → ready_to_test
17
+ ## 4. Revision History
18
+ | Timestamp | Changes |
19
+ |-----------|---------|
20
+ | [YYYY-MM-DD HH:MM] | Initial development |
@@ -9,19 +9,49 @@
9
9
  ## User Story
10
10
  Sebagai [role], saya ingin [action], sehingga [benefit].
11
11
 
12
+ ## Technical Flow
13
+ 1. [Langkah 1 — contoh: User submit form login]
14
+ 2. [Langkah 2 — contoh: Backend validasi credentials]
15
+ 3. [Langkah 3 — contoh: Return JWT token]
16
+
12
17
  ## Acceptance Criteria
13
18
  - [ ] ...
19
+ - [ ] ...
14
20
 
15
21
  ## API Contract
16
22
  ### [METHOD] /api/endpoint
17
- **Request:** ...
18
- **Response:** ...
23
+ **Request:**
24
+ ```json
25
+ {}
26
+ ```
27
+ **Response (200):**
28
+ ```json
29
+ {}
30
+ ```
31
+ **Response (Error):**
32
+ ```json
33
+ {}
34
+ ```
19
35
 
20
36
  ## Database Changes
21
- ...
37
+ (Tabel baru, kolom baru, atau index yang dibutuhkan — atau tulis "None")
22
38
 
23
39
  ## UI/UX
24
- ...
40
+ (Screenshot mockup, deskripsi komponen, atau link ke desain — atau tulis "None")
25
41
 
26
42
  ## Edge Cases & Validation
27
- ...
43
+ - [ ] ...
44
+
45
+ ---
46
+
47
+ ## Human Approval
48
+
49
+ **Human Approval Status:** pending | approved | revision_requested
50
+
51
+ **Human Feedback:**
52
+ > (Kosongkan jika belum ada feedback. Analyst Agent akan mengisi berdasarkan masukan reviewer.)
53
+
54
+ ## Revision History
55
+ | Date | Author | Changes |
56
+ |------|--------|---------|
57
+ | [YYYY-MM-DD] | Analyst Agent | Initial draft |