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.
- package/package.json +1 -1
- package/src/index.mjs +53 -9
- package/src/prompts.mjs +26 -0
- package/src/scaffold.mjs +10 -2
- package/src/upgrade.mjs +121 -0
- package/template/.claude/agents/analyst.md +16 -2
- package/template/.claude/agents/developer.md +15 -1
- package/template/.claude/agents/devops.md +14 -0
- package/template/.claude/agents/document.md +14 -0
- package/template/.claude/agents/fixer.md +15 -1
- package/template/.claude/agents/initiator.md +16 -0
- package/template/.claude/agents/orchestrator.md +52 -15
- package/template/.claude/agents/pm.md +14 -2
- package/template/.claude/agents/qa.md +16 -2
- package/template/.claude/agents/sysarch.md +42 -93
- package/template/.claude/agents/tester.md +16 -2
- package/template/.claude/settings.local.json +21 -0
- package/template/.opencode/agents/analyst.md +14 -1
- package/template/.opencode/agents/developer.md +14 -1
- package/template/.opencode/agents/devops.md +13 -0
- package/template/.opencode/agents/document.md +13 -0
- package/template/.opencode/agents/fixer.md +14 -1
- package/template/.opencode/agents/initiator.md +15 -0
- package/template/.opencode/agents/orchestrator.md +51 -15
- package/template/.opencode/agents/pm.md +13 -2
- package/template/.opencode/agents/qa.md +15 -2
- package/template/.opencode/agents/sysarch.md +41 -93
- package/template/.opencode/agents/tester.md +15 -2
- package/template/agent/workflows/_shared/state-management.md +85 -3
- package/template/agent/workflows/_shared/work-depth.md +46 -0
- package/template/agent/workflows/analyst.md +11 -2
- package/template/agent/workflows/developer.md +10 -1
- package/template/agent/workflows/devops.md +9 -0
- package/template/agent/workflows/document.md +9 -0
- package/template/agent/workflows/fixer.md +10 -1
- package/template/agent/workflows/initiator.md +11 -0
- package/template/agent/workflows/orchestrator.md +47 -15
- package/template/agent/workflows/pm.md +9 -2
- package/template/agent/workflows/qa.md +11 -2
- package/template/agent/workflows/sysarch.md +37 -93
- package/template/agent/workflows/tester.md +11 -2
- package/template/project_overview_example.md +15 -1
- package/template/schemas/changelog.template.md +34 -0
- package/template/schemas/dev_log.template.md +15 -21
- 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
|
-
|
|
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
|
-
#### **
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
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
|
-
|
|
212
|
-
|
|
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
|
-
#### **
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
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
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
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
|
|
252
|
-
|
|
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
|
-
|
|
270
|
-
|
|
271
|
-
-
|
|
272
|
-
-
|
|
273
|
-
-
|
|
274
|
-
-
|
|
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:**
|
|
2
|
-
**CONTEXT:** Membuat dan menjalankan automated Playwright End-to-End (E2E)
|
|
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
|
-
#
|
|
1
|
+
# DEVELOPMENT LOG - TASK-XXX: [Task Name]
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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
|
-
##
|
|
10
|
-
|
|
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
|
-
##
|
|
15
|
-
|
|
10
|
+
## 2. Files Created/Modified
|
|
11
|
+
- `codes/src/...` (Sebutkan fungsi utama file ini)
|
|
12
|
+
- `codes/components/...`
|
|
16
13
|
|
|
17
|
-
##
|
|
18
|
-
|
|
14
|
+
## 3. Technical Notes
|
|
15
|
+
(Catatan untuk Developer lain atau QA. Misal: "Perlu set environment variable API_KEY dulu")
|
|
19
16
|
|
|
20
|
-
##
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
-
|
|
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
|
-
|
|
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 |
|