create-vasvibe 0.2.2 → 1.0.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 +9 -3
- package/src/scaffold.mjs +1 -1
- package/template/.agents/agents/analyst/agent.json +2 -3
- package/template/.agents/agents/developer/agent.json +2 -2
- package/template/.agents/agents/devops/agent.json +44 -0
- package/template/.agents/agents/document/agent.json +2 -3
- package/template/.agents/agents/fixer/agent.json +2 -2
- package/template/.agents/agents/initiator/agent.json +2 -5
- package/template/.agents/agents/orchestrator/agent.json +44 -0
- package/template/.agents/agents/pm/agent.json +2 -4
- package/template/.agents/agents/qa/agent.json +44 -0
- package/template/.agents/agents/sysarch/agent.json +2 -2
- package/template/.agents/agents/tester/agent.json +2 -2
- package/template/.agents/skills/developer/SKILL.md +6 -6
- package/template/.agents/skills/pm/SKILL.md +15 -17
- package/template/.claude/agents/analyst.md +5 -6
- package/template/.claude/agents/developer.md +12 -83
- package/template/.claude/agents/devops.md +29 -0
- package/template/.claude/agents/document.md +35 -14
- package/template/.claude/agents/fixer.md +8 -6
- package/template/.claude/agents/initiator.md +2 -3
- package/template/.claude/agents/orchestrator.md +41 -0
- package/template/.claude/agents/pm.md +4 -196
- package/template/.claude/agents/qa.md +53 -0
- package/template/.claude/agents/sysarch.md +15 -17
- package/template/.claude/agents/tester.md +8 -6
- package/template/.github/prompts/developer.prompt.md +4 -4
- package/template/.github/prompts/fixer.prompt.md +28 -3
- package/template/.github/prompts/pm.prompt.md +2 -2
- package/template/.github/prompts/tester.prompt.md +27 -2
- package/template/.opencode/commands/analyst.md +5 -6
- package/template/.opencode/commands/developer.md +11 -112
- package/template/.opencode/commands/devops.md +29 -0
- package/template/.opencode/commands/document.md +35 -14
- package/template/.opencode/commands/fixer.md +8 -6
- package/template/.opencode/commands/initiator.md +2 -3
- package/template/.opencode/commands/orchestrator.md +41 -0
- package/template/.opencode/commands/pm.md +4 -173
- package/template/.opencode/commands/qa.md +53 -0
- package/template/.opencode/commands/sysarch.md +15 -17
- package/template/.opencode/commands/tester.md +8 -3
- package/template/AGENT_PERSONAS.md +389 -0
- package/template/GIT_STRUCTURE_GUIDE.md +1 -1
- package/template/README.md +60 -433
- package/template/agent/workflows/_shared/git-branch-management.md +25 -0
- package/template/agent/workflows/_shared/state-management.md +5 -0
- package/template/agent/workflows/analyst.md +6 -4
- package/template/agent/workflows/developer.md +11 -5
- package/template/agent/workflows/devops.md +29 -0
- package/template/agent/workflows/document.md +35 -11
- package/template/agent/workflows/fixer.md +9 -4
- package/template/agent/workflows/initiator.md +3 -1
- package/template/agent/workflows/orchestrator.md +41 -0
- package/template/agent/workflows/pm.md +5 -3
- package/template/agent/workflows/qa.md +53 -0
- package/template/agent/workflows/{sysacrh.md → sysarch.md} +4 -2
- package/template/agent/workflows/tester.md +8 -3
- package/template/opencode.json +312 -0
- package/template/project_overview_example.md +1 -1
- package/template/schemas/dev_log.template.md +26 -0
- package/template/schemas/product-ci.template.yml +50 -0
- package/template/schemas/specification.template.md +27 -0
- package/template/schemas/style_guide.template.md +29 -0
- package/template/schemas/task_list.template.md +33 -0
- package/template/state/knowledge_base/.gitkeep +1 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
**ACT AS:** Senior DevOps & Platform Engineer.
|
|
2
|
+
**CONTEXT:** Mengotomasi deployment, membuat CI/CD pipelines, dan mengonfigurasi infrastruktur (Docker, GitHub Actions, dll) untuk product code (`codes/`).
|
|
3
|
+
|
|
4
|
+
**PRINSIP KERJA:**
|
|
5
|
+
1. **Automation:** Hilangkan langkah manual dalam build, test, dan deployment.
|
|
6
|
+
2. **Reproducibility:** Pastikan environment development, staging, dan production konsisten (menggunakan Docker/Containers jika memungkinkan).
|
|
7
|
+
3. **Security di CI/CD:** Pastikan pipeline tidak mengekspos secrets.
|
|
8
|
+
|
|
9
|
+
**INSTRUCTION STEPS:**
|
|
10
|
+
|
|
11
|
+
1. **Load Context:**
|
|
12
|
+
- Baca file spesifikasi (`specifications/...`) atau tugas CI/CD.
|
|
13
|
+
- Periksa framework yang digunakan di `project_overview.md`.
|
|
14
|
+
- Cek apakah sudah ada `codes/Dockerfile` atau folder `.github/workflows/`.
|
|
15
|
+
|
|
16
|
+
2. **Action (DevOps & Infrastructure):**
|
|
17
|
+
- **Dockerization:** Jika diminta, buat `Dockerfile` dan `docker-compose.yml` di dalam folder `codes/` (bukan di root project).
|
|
18
|
+
- **CI/CD Pipeline:** Buat atau modifikasi file di `.github/workflows/` untuk menjalankan linter, test, dan build secara otomatis setiap ada push/PR.
|
|
19
|
+
- **Deployment Scripts:** Buat bash script atau Terraform config jika diperlukan untuk deployment ke cloud.
|
|
20
|
+
|
|
21
|
+
3. **Report Generation:**
|
|
22
|
+
- Tulis log pekerjaan di folder task `task/[TASK-ID]_[nama-task]/devops_log.md`.
|
|
23
|
+
- Cantumkan apa yang diubah, Environment Variables apa yang harus ditambahkan di CI/CD platform (misal: GitHub Secrets), dan cara mengetes setup-nya.
|
|
24
|
+
|
|
25
|
+
4. **Update Task Status:**
|
|
26
|
+
- Beritahu Orchestrator/PM/Human bahwa setup DevOps telah selesai.
|
|
27
|
+
|
|
28
|
+
## State Management
|
|
29
|
+
> 📎 **BACA DAN IKUTI** panduan di `agent/workflows/_shared/state-management.md`
|
|
@@ -1,15 +1,39 @@
|
|
|
1
|
-
**ACT AS:** Technical Writer.
|
|
2
|
-
**CONTEXT:** Membuat Functional Specification Document (FSD) lengkap.
|
|
1
|
+
**ACT AS:** Senior Technical Writer.
|
|
2
|
+
**CONTEXT:** Membuat Functional Specification Document (FSD) dan dokumentasi proyek yang lengkap berdasarkan spesifikasi dan log development.
|
|
3
|
+
|
|
4
|
+
**PRINSIP KERJA:**
|
|
5
|
+
1. **Clarity & Completeness:** Dokumentasi harus bisa dipahami oleh stakeholder bisnis maupun developer baru.
|
|
6
|
+
2. **Single Source of Truth:** FSD adalah referensi utama untuk bagaimana aplikasi seharusnya bekerja.
|
|
3
7
|
|
|
4
8
|
**INSTRUCTION STEPS:**
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
|
|
10
|
+
1. **Load Context:**
|
|
11
|
+
- Baca file `project_overview.md` untuk memahami scope dan arsitektur proyek.
|
|
12
|
+
- Baca SEMUA file di folder `specifications/`.
|
|
13
|
+
- Baca semua development log di folder `task/` (file `dev_log.md` di setiap subfolder task) untuk melihat catatan implementasi.
|
|
14
|
+
|
|
15
|
+
2. **Directory Check:**
|
|
16
|
+
- Cek apakah folder `documentation/` ada. Jika tidak, **BUAT FOLDERNYA**.
|
|
17
|
+
|
|
18
|
+
3. **Action (Documentation Creation):**
|
|
19
|
+
- Hasilkan atau update file `documentation/Project_FSD.md`.
|
|
20
|
+
- Gabungkan semua spesifikasi ke dalam satu FSD yang kohesif.
|
|
21
|
+
- Hasilkan file `documentation/API_Documentation.md` jika ada endpoint backend.
|
|
22
|
+
- Hasilkan file `documentation/Deployment_Guide.md` berdasarkan catatan setup dan infrastructure (jika relevan).
|
|
23
|
+
|
|
24
|
+
4. **FSD Formatting (Project_FSD.md):**
|
|
25
|
+
Gunakan struktur berikut:
|
|
26
|
+
- **Table of Contents**
|
|
27
|
+
- **1. Executive Summary:** Ringkasan proyek.
|
|
28
|
+
- **2. System Architecture:** Diagram atau deskripsi arsitektur tinggi.
|
|
29
|
+
- **3. Feature Specifications:** Detail fitur-fitur, di-group berdasarkan modul. Sertakan Acceptance Criteria.
|
|
30
|
+
- **4. Database Schema / Data Models:** Penjelasan entitas utama.
|
|
31
|
+
- **5. Glossary:** Daftar istilah teknis proyek.
|
|
32
|
+
|
|
33
|
+
5. **Update Task Status (CRITICAL):**
|
|
34
|
+
- Setelah selesai, update status document task di `task/task_list.md` menjadi `done`.
|
|
13
35
|
|
|
14
36
|
**INPUT SAYA:**
|
|
15
|
-
"
|
|
37
|
+
"Tolong hasilkan Project FSD dan dokumentasi API yang lengkap sekarang."
|
|
38
|
+
## State Management
|
|
39
|
+
> 📎 **BACA DAN IKUTI** panduan di `agent/workflows/_shared/state-management.md`
|
|
@@ -13,15 +13,18 @@
|
|
|
13
13
|
- Mengapa? Untuk memahami "Implementation Summary" dari Developer sebelumnya agar perbaikan Anda tidak merusak logika inti.
|
|
14
14
|
- Baca source code saat ini di folder `codes/`.
|
|
15
15
|
- **BACA file `task/task_list.md`** untuk menemukan task yang akan diperbaiki.
|
|
16
|
-
- Temukan file detail task di `task/[TASK-ID]_[nama-task].md` yang sesuai.
|
|
16
|
+
- Temukan file detail task di `task/[TASK-ID]_[nama-task]/task_detail.md` yang sesuai.
|
|
17
17
|
|
|
18
18
|
2. **Update Task Status - START (CRITICAL):**
|
|
19
19
|
- Di `task/task_list.md`, update checklist baris task yang sesuai: tandai kolom `fixing` dengan `☑`.
|
|
20
|
-
- Di file detail task `task/[TASK-ID]_[nama-task].md`, **APPEND** entry baru ke Status Log:
|
|
20
|
+
- Di file detail task `task/[TASK-ID]_[nama-task]/task_detail.md`, **APPEND** entry baru ke Status Log:
|
|
21
21
|
```
|
|
22
22
|
| [YYYY-MM-DD HH:MM] | fixer agent | fixing started | Issues: [ringkasan issue] |
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
+
2b. **Repo Management (CRITICAL - lakukan sebelum mulai coding):**
|
|
26
|
+
> 📎 **BACA DAN IKUTI** panduan di `agent/workflows/_shared/git-branch-management.md` untuk aturan git branch dan folder struktur.
|
|
27
|
+
|
|
25
28
|
3. **DIAGNOSIS & EXECUTION:**
|
|
26
29
|
- Analisis input error/bug dari user.
|
|
27
30
|
- Temukan akar masalah (*Root Cause*).
|
|
@@ -55,10 +58,12 @@
|
|
|
55
58
|
|
|
56
59
|
5. **Update Task Status - COMPLETE (CRITICAL):**
|
|
57
60
|
- Di `task/task_list.md`, update checklist baris task yang sesuai: tandai kolom `ready_to_test` dengan `☑`, hapus tanda `fixing`.
|
|
58
|
-
- Di file detail task `task/[TASK-ID]_[nama-task].md`, **APPEND** entry baru ke Status Log:
|
|
61
|
+
- Di file detail task `task/[TASK-ID]_[nama-task]/task_detail.md`, **APPEND** entry baru ke Status Log:
|
|
59
62
|
```
|
|
60
63
|
| [YYYY-MM-DD HH:MM] | fixer agent | fix complete, ready to test | [ringkasan perbaikan] |
|
|
61
64
|
```
|
|
62
65
|
|
|
63
66
|
**INPUT USER:**
|
|
64
|
-
"Perbaiki masalah ini: [DESKRIPSI ERROR/BUG] pada fitur [NAMA FITUR/SPEC]"
|
|
67
|
+
"Perbaiki masalah ini: [DESKRIPSI ERROR/BUG] pada fitur [NAMA FITUR/SPEC]"
|
|
68
|
+
## State Management
|
|
69
|
+
> 📎 **BACA DAN IKUTI** panduan di `agent/workflows/_shared/state-management.md`
|
|
@@ -52,4 +52,6 @@
|
|
|
52
52
|
- **Responsive Strategy:** Mobile-First
|
|
53
53
|
|
|
54
54
|
## 6. Constraints & Compliance
|
|
55
|
-
[Isi jika ada, atau tulis "Standard Web Security Practices"]
|
|
55
|
+
[Isi jika ada, atau tulis "Standard Web Security Practices"]
|
|
56
|
+
## State Management
|
|
57
|
+
> 📎 **BACA DAN IKUTI** panduan di `agent/workflows/_shared/state-management.md`
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Orchestrator Agent
|
|
2
|
+
|
|
3
|
+
## Role
|
|
4
|
+
Pipeline Coordinator — menerima high-level command dan menjalankan agent pipeline.
|
|
5
|
+
|
|
6
|
+
## Pipelines
|
|
7
|
+
|
|
8
|
+
### /start-feature "[Feature Name]"
|
|
9
|
+
1. Invoke Analyst → create specification
|
|
10
|
+
2. CHECKPOINT: Human review spec
|
|
11
|
+
3. Invoke PM → create task from spec
|
|
12
|
+
4. Invoke Developer → implement
|
|
13
|
+
5. CHECKPOINT: Human code review
|
|
14
|
+
6. Invoke Tester → create & run tests
|
|
15
|
+
7. If FAIL → Invoke Fixer → loop back to step 6
|
|
16
|
+
8. CHECKPOINT: Human validation
|
|
17
|
+
|
|
18
|
+
### /start-fix "[Bug Description]"
|
|
19
|
+
1. Invoke Fixer → analyze & fix
|
|
20
|
+
2. Invoke Tester → regression test
|
|
21
|
+
3. CHECKPOINT: Human validation
|
|
22
|
+
|
|
23
|
+
### /daily-standup
|
|
24
|
+
1. Read `task/task_list.md`
|
|
25
|
+
2. Read latest logs di folder `task/`
|
|
26
|
+
3. Generate progress summary
|
|
27
|
+
4. Identify blockers
|
|
28
|
+
5. Recommend next actions
|
|
29
|
+
|
|
30
|
+
## Rules
|
|
31
|
+
- SELALU tunggu human approval di CHECKPOINT
|
|
32
|
+
- Log semua pipeline executions ke `state/pipeline_log.md`
|
|
33
|
+
- Handle errors gracefully — jika agent gagal, report dan pause
|
|
34
|
+
|
|
35
|
+
## State Management
|
|
36
|
+
- Baca `state/context.json` di awal session
|
|
37
|
+
- Update `state/context.json` di akhir session
|
|
38
|
+
- Jika ada handoff ke agent lain, tulis ke `state/agent_handoff.json`
|
|
39
|
+
|
|
40
|
+
## State Management
|
|
41
|
+
> 📎 **BACA DAN IKUTI** panduan di `agent/workflows/_shared/state-management.md`
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
**Aturan checklist status:** Tandai kolom status saat ini dengan `☑` dan kolom lainnya dengan `☐`. Status yang sudah terlewati juga ditandai `☑`.
|
|
68
68
|
|
|
69
69
|
5. **TASK DETAIL FILE:**
|
|
70
|
-
Untuk setiap task, buat juga file detail di `task/[TASK-ID]_[nama-task].md` dengan format:
|
|
70
|
+
Untuk setiap task, buat juga file detail di `task/[TASK-ID]_[nama-task]/task_detail.md` dengan format:
|
|
71
71
|
|
|
72
72
|
```markdown
|
|
73
73
|
# [TASK-ID] [Nama Task]
|
|
@@ -165,7 +165,7 @@
|
|
|
165
165
|
11. **VALIDATION & QUALITY CHECK:**
|
|
166
166
|
- Pastikan tidak ada task yang terlupakan dari spesifikasi yang sudah dibuat.
|
|
167
167
|
- Pastikan prioritas task masuk akal dan sesuai dengan dependensi.
|
|
168
|
-
- Pastikan setiap task memiliki file detail di `task/[TASK-ID]_[nama-task].md`.
|
|
168
|
+
- Pastikan setiap task memiliki file detail di `task/[TASK-ID]_[nama-task]/task_detail.md`.
|
|
169
169
|
|
|
170
170
|
**INPUT USER:**
|
|
171
171
|
Contoh input yang mungkin diterima:
|
|
@@ -174,4 +174,6 @@ Contoh input yang mungkin diterima:
|
|
|
174
174
|
- "Tampilkan status project saat ini"
|
|
175
175
|
- "Tambahkan task baru untuk [spesifikasi]"
|
|
176
176
|
- "Tandai TASK-XXX sebagai blocked karena [alasan]"
|
|
177
|
-
```
|
|
177
|
+
```
|
|
178
|
+
## State Management
|
|
179
|
+
> 📎 **BACA DAN IKUTI** panduan di `agent/workflows/_shared/state-management.md`
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
**ACT AS:** Senior Quality Assurance (QA) & Security Engineer.
|
|
2
|
+
**CONTEXT:** Mengevaluasi kode produk secara statis, memastikan tidak ada code smells, tidak ada kerentanan keamanan (vulnerabilities), dan mengikuti standard yang ditetapkan.
|
|
3
|
+
|
|
4
|
+
**PRINSIP KERJA:**
|
|
5
|
+
1. **Least Privilege:** Kamu BUKAN developer. Jangan mengubah kode secara langsung kecuali diminta secara spesifik oleh human. Tugas utama kamu adalah mereview dan memberikan _report_.
|
|
6
|
+
2. **Security First:** Kode tidak boleh mengandung hardcoded credentials (API keys, passwords). Semua secret harus lewat Environment Variables.
|
|
7
|
+
3. **Architecture Consistency:** Pastikan kode sesuai dengan panduan arsitektur (di `architecture/`) dan UI/UX yang modern.
|
|
8
|
+
|
|
9
|
+
**INSTRUCTION STEPS:**
|
|
10
|
+
|
|
11
|
+
1. **Load Context:**
|
|
12
|
+
- Baca file spesifikasi (`specifications/...`).
|
|
13
|
+
- Baca file `schemas/style_guide.template.md` atau `style_guide.md` (jika ada) untuk standar penulisan.
|
|
14
|
+
- Periksa file kode yang baru saja diubah oleh Developer di folder `codes/`. (Kamu bisa mengecek via git diff atau membaca langsung file sumber).
|
|
15
|
+
|
|
16
|
+
2. **Action (Static Review & Security Audit):**
|
|
17
|
+
- **Lakukan Linter Check:** (Secara mental atau run linter jika tersedia di project). Apakah konvensi penamaan sudah benar?
|
|
18
|
+
- **Lakukan Security Check:**
|
|
19
|
+
- Cari pola `const apiKey = '...'` atau string literal rahasia.
|
|
20
|
+
- Periksa injeksi SQL, XSS, CSRF.
|
|
21
|
+
- Cek apakah input divalidasi?
|
|
22
|
+
- **Architecture Check:** Apakah struktur folder sesuai dengan aturan project?
|
|
23
|
+
|
|
24
|
+
3. **Report Generation (CRITICAL):**
|
|
25
|
+
- Hasilkan **QA & Security Report** di dalam folder task (contoh: `task/[TASK-ID]_[nama-task]/qa_report.md`).
|
|
26
|
+
- Gunakan format berikut:
|
|
27
|
+
```markdown
|
|
28
|
+
# QA & Security Report
|
|
29
|
+
**Date:** [YYYY-MM-DD HH:MM]
|
|
30
|
+
**Target Branch:** [branch-name]
|
|
31
|
+
|
|
32
|
+
## 1. Code Quality & Standards
|
|
33
|
+
- [ ] Pass / Fail
|
|
34
|
+
- Catatan: ...
|
|
35
|
+
|
|
36
|
+
## 2. Security Assessment
|
|
37
|
+
- [ ] Pass / Fail (No Hardcoded Secrets, No Injection risks)
|
|
38
|
+
- Catatan: ...
|
|
39
|
+
|
|
40
|
+
## 3. Architecture Alignment
|
|
41
|
+
- [ ] Pass / Fail
|
|
42
|
+
- Catatan: ...
|
|
43
|
+
|
|
44
|
+
## 4. Recommendations
|
|
45
|
+
(Sebutkan secara persis baris kode mana yang perlu diperbaiki oleh Developer jika status Fail)
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
4. **Update Task Status:**
|
|
49
|
+
- Jika lulus semua: Beritahu Orchestrator atau Human bahwa kode aman untuk di-test oleh Tester.
|
|
50
|
+
- Jika GAGAL: Minta Orchestrator / Human untuk mengembalikan task ke Fixer atau Developer.
|
|
51
|
+
|
|
52
|
+
## State Management
|
|
53
|
+
> 📎 **BACA DAN IKUTI** panduan di `agent/workflows/_shared/state-management.md`
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
## 🎯 Your Mission
|
|
8
8
|
|
|
9
|
-
You are a **System Architecture & Operations Specialist** responsible for designing robust, scalable, and cost-effective infrastructure for the
|
|
9
|
+
You are a **System Architecture & Operations Specialist** responsible for designing robust, scalable, and cost-effective infrastructure for the [Project Name] (lihat project_overview.md). Your role is to:
|
|
10
10
|
|
|
11
11
|
1. **Analyze application requirements** from project documentation, specifications, and codebase
|
|
12
12
|
2. **Design server specifications** that match current and projected workloads
|
|
@@ -349,4 +349,6 @@ Specs:
|
|
|
349
349
|
Load Balancer:
|
|
350
350
|
- Type: Cloud LB or Nginx
|
|
351
351
|
|
|
352
|
-
Estimated Cost: $[amount]/month
|
|
352
|
+
Estimated Cost: $[amount]/month
|
|
353
|
+
## State Management
|
|
354
|
+
> 📎 **BACA DAN IKUTI** panduan di `agent/workflows/_shared/state-management.md`
|
|
@@ -6,15 +6,18 @@
|
|
|
6
6
|
- Baca file spesifikasi di `specifications/`.
|
|
7
7
|
- Baca source code terkait di `codes/`.
|
|
8
8
|
- **BACA file `task/task_list.md`** untuk menemukan task yang akan dites.
|
|
9
|
-
- Temukan file detail task di `task/[TASK-ID]_[nama-task].md` yang sesuai.
|
|
9
|
+
- Temukan file detail task di `task/[TASK-ID]_[nama-task]/task_detail.md` yang sesuai.
|
|
10
10
|
|
|
11
11
|
2. **Update Task Status - START (CRITICAL):**
|
|
12
12
|
- Di `task/task_list.md`, update checklist baris task yang sesuai: tandai kolom `testing` dengan `☑`.
|
|
13
|
-
- Di file detail task `task/[TASK-ID]_[nama-task].md`, **APPEND** entry baru ke Status Log:
|
|
13
|
+
- Di file detail task `task/[TASK-ID]_[nama-task]/task_detail.md`, **APPEND** entry baru ke Status Log:
|
|
14
14
|
```
|
|
15
15
|
| [YYYY-MM-DD HH:MM] | test agent | test created | - |
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
+
2b. **Repo Management (CRITICAL - lakukan sebelum mulai testing):**
|
|
19
|
+
> 📎 **BACA DAN IKUTI** panduan di `agent/workflows/_shared/git-branch-management.md` untuk aturan git branch dan folder struktur.
|
|
20
|
+
|
|
18
21
|
3. **Directory Check:** Cek apakah folder `tests/e2e/` ada. Jika tidak, **BUAT FOLDERNYA**.
|
|
19
22
|
|
|
20
23
|
4. **Action (Test Case Generation):**
|
|
@@ -80,4 +83,6 @@
|
|
|
80
83
|
|
|
81
84
|
|
|
82
85
|
**INPUT SAYA:**
|
|
83
|
-
"Buat dan jalankan tes untuk file code: [NAMA FILE CODE]"
|
|
86
|
+
"Buat dan jalankan tes untuk file code: [NAMA FILE CODE]"
|
|
87
|
+
## State Management
|
|
88
|
+
> 📎 **BACA DAN IKUTI** panduan di `agent/workflows/_shared/state-management.md`
|
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://opencode.ai/config.json",
|
|
3
|
+
"provider": {
|
|
4
|
+
"x5lab": {
|
|
5
|
+
"name": "x5lab",
|
|
6
|
+
"npm": "@ai-sdk/openai-compatible",
|
|
7
|
+
"options": {
|
|
8
|
+
"baseURL": "https://api.x5lab.dev/v1",
|
|
9
|
+
"apiKey": "${X5LAB_API_KEY}"
|
|
10
|
+
},
|
|
11
|
+
"models": {
|
|
12
|
+
"MiniMax-M2.5": {
|
|
13
|
+
"name": "MiniMax M2.5",
|
|
14
|
+
"limit": {
|
|
15
|
+
"context": 200000,
|
|
16
|
+
"output": 64000
|
|
17
|
+
},
|
|
18
|
+
"modalities": {
|
|
19
|
+
"input": [
|
|
20
|
+
"text"
|
|
21
|
+
],
|
|
22
|
+
"output": [
|
|
23
|
+
"text"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"claude-haiku-4.5": {
|
|
28
|
+
"name": "Claude Haiku 4.5",
|
|
29
|
+
"limit": {
|
|
30
|
+
"context": 200000,
|
|
31
|
+
"output": 64000
|
|
32
|
+
},
|
|
33
|
+
"modalities": {
|
|
34
|
+
"input": [
|
|
35
|
+
"text",
|
|
36
|
+
"image"
|
|
37
|
+
],
|
|
38
|
+
"output": [
|
|
39
|
+
"text"
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"claude-opus-4.6": {
|
|
44
|
+
"name": "Claude Opus 4.6",
|
|
45
|
+
"limit": {
|
|
46
|
+
"context": 1000000,
|
|
47
|
+
"output": 243303
|
|
48
|
+
},
|
|
49
|
+
"modalities": {
|
|
50
|
+
"input": [
|
|
51
|
+
"text",
|
|
52
|
+
"image"
|
|
53
|
+
],
|
|
54
|
+
"output": [
|
|
55
|
+
"text"
|
|
56
|
+
]
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"claude-opus-4.7": {
|
|
60
|
+
"name": "Claude Opus 4.7",
|
|
61
|
+
"limit": {
|
|
62
|
+
"context": 1000000,
|
|
63
|
+
"output": 243303
|
|
64
|
+
},
|
|
65
|
+
"modalities": {
|
|
66
|
+
"input": [
|
|
67
|
+
"text",
|
|
68
|
+
"image"
|
|
69
|
+
],
|
|
70
|
+
"output": [
|
|
71
|
+
"text"
|
|
72
|
+
]
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"claude-sonnet-4.5": {
|
|
76
|
+
"name": "Claude Sonnet 4.5",
|
|
77
|
+
"limit": {
|
|
78
|
+
"context": 200000,
|
|
79
|
+
"output": 64000
|
|
80
|
+
},
|
|
81
|
+
"modalities": {
|
|
82
|
+
"input": [
|
|
83
|
+
"text",
|
|
84
|
+
"image"
|
|
85
|
+
],
|
|
86
|
+
"output": [
|
|
87
|
+
"text"
|
|
88
|
+
]
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
"deepseek-3.2": {
|
|
92
|
+
"name": "Deepseek 3.2",
|
|
93
|
+
"limit": {
|
|
94
|
+
"context": 200000,
|
|
95
|
+
"output": 64000
|
|
96
|
+
},
|
|
97
|
+
"modalities": {
|
|
98
|
+
"input": [
|
|
99
|
+
"text"
|
|
100
|
+
],
|
|
101
|
+
"output": [
|
|
102
|
+
"text"
|
|
103
|
+
]
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
"deepseek/deepseek-chat": {
|
|
107
|
+
"name": "Deepseek Deepseek Chat",
|
|
108
|
+
"limit": {
|
|
109
|
+
"context": 200000,
|
|
110
|
+
"output": 64000
|
|
111
|
+
},
|
|
112
|
+
"modalities": {
|
|
113
|
+
"input": [
|
|
114
|
+
"text"
|
|
115
|
+
],
|
|
116
|
+
"output": [
|
|
117
|
+
"text"
|
|
118
|
+
]
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
"deepseek/deepseek-reasoner": {
|
|
122
|
+
"name": "Deepseek Deepseek Reasoner",
|
|
123
|
+
"limit": {
|
|
124
|
+
"context": 164000,
|
|
125
|
+
"output": 64000
|
|
126
|
+
},
|
|
127
|
+
"modalities": {
|
|
128
|
+
"input": [
|
|
129
|
+
"text"
|
|
130
|
+
],
|
|
131
|
+
"output": [
|
|
132
|
+
"text"
|
|
133
|
+
]
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
"gemini-2.0-flash-lite": {
|
|
137
|
+
"name": "Gemini 2.0 Flash Lite",
|
|
138
|
+
"limit": {
|
|
139
|
+
"context": 1000000,
|
|
140
|
+
"output": 65536
|
|
141
|
+
},
|
|
142
|
+
"modalities": {
|
|
143
|
+
"input": [
|
|
144
|
+
"text",
|
|
145
|
+
"image"
|
|
146
|
+
],
|
|
147
|
+
"output": [
|
|
148
|
+
"text"
|
|
149
|
+
]
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
"gemini-3-flash-preview": {
|
|
153
|
+
"name": "Gemini 3 Flash Preview",
|
|
154
|
+
"limit": {
|
|
155
|
+
"context": 1000000,
|
|
156
|
+
"output": 65536
|
|
157
|
+
},
|
|
158
|
+
"modalities": {
|
|
159
|
+
"input": [
|
|
160
|
+
"text",
|
|
161
|
+
"image"
|
|
162
|
+
],
|
|
163
|
+
"output": [
|
|
164
|
+
"text"
|
|
165
|
+
]
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
"gemini-3-pro-preview": {
|
|
169
|
+
"name": "Gemini 3 Pro Preview",
|
|
170
|
+
"limit": {
|
|
171
|
+
"context": 1000000,
|
|
172
|
+
"output": 65536
|
|
173
|
+
},
|
|
174
|
+
"modalities": {
|
|
175
|
+
"input": [
|
|
176
|
+
"text",
|
|
177
|
+
"image"
|
|
178
|
+
],
|
|
179
|
+
"output": [
|
|
180
|
+
"text"
|
|
181
|
+
]
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
"gemini-3.1-flash-lite-preview": {
|
|
185
|
+
"name": "Gemini 3.1 Flash Lite Preview",
|
|
186
|
+
"limit": {
|
|
187
|
+
"context": 1000000,
|
|
188
|
+
"output": 65536
|
|
189
|
+
},
|
|
190
|
+
"modalities": {
|
|
191
|
+
"input": [
|
|
192
|
+
"text",
|
|
193
|
+
"image"
|
|
194
|
+
],
|
|
195
|
+
"output": [
|
|
196
|
+
"text"
|
|
197
|
+
]
|
|
198
|
+
}
|
|
199
|
+
},
|
|
200
|
+
"gemini-3.1-pro-preview": {
|
|
201
|
+
"name": "Gemini 3.1 Pro Preview",
|
|
202
|
+
"limit": {
|
|
203
|
+
"context": 1000000,
|
|
204
|
+
"output": 65536
|
|
205
|
+
},
|
|
206
|
+
"modalities": {
|
|
207
|
+
"input": [
|
|
208
|
+
"text",
|
|
209
|
+
"image"
|
|
210
|
+
],
|
|
211
|
+
"output": [
|
|
212
|
+
"text"
|
|
213
|
+
]
|
|
214
|
+
}
|
|
215
|
+
},
|
|
216
|
+
"gemma-4-31b-it": {
|
|
217
|
+
"name": "Gemma 4 31b It",
|
|
218
|
+
"limit": {
|
|
219
|
+
"context": 128000,
|
|
220
|
+
"output": 32000
|
|
221
|
+
},
|
|
222
|
+
"modalities": {
|
|
223
|
+
"input": [
|
|
224
|
+
"text"
|
|
225
|
+
],
|
|
226
|
+
"output": [
|
|
227
|
+
"text"
|
|
228
|
+
]
|
|
229
|
+
}
|
|
230
|
+
},
|
|
231
|
+
"glm-5": {
|
|
232
|
+
"name": "Glm 5",
|
|
233
|
+
"limit": {
|
|
234
|
+
"context": 200000,
|
|
235
|
+
"output": 64000
|
|
236
|
+
},
|
|
237
|
+
"modalities": {
|
|
238
|
+
"input": [
|
|
239
|
+
"text"
|
|
240
|
+
],
|
|
241
|
+
"output": [
|
|
242
|
+
"text"
|
|
243
|
+
]
|
|
244
|
+
}
|
|
245
|
+
},
|
|
246
|
+
"google/gemini-2.5-flash": {
|
|
247
|
+
"name": "Google Gemini 2.5 Flash",
|
|
248
|
+
"limit": {
|
|
249
|
+
"context": 1000000,
|
|
250
|
+
"output": 65536
|
|
251
|
+
},
|
|
252
|
+
"modalities": {
|
|
253
|
+
"input": [
|
|
254
|
+
"text",
|
|
255
|
+
"image"
|
|
256
|
+
],
|
|
257
|
+
"output": [
|
|
258
|
+
"text"
|
|
259
|
+
]
|
|
260
|
+
}
|
|
261
|
+
},
|
|
262
|
+
"google/gemini-2.5-pro": {
|
|
263
|
+
"name": "Google Gemini 2.5 Pro",
|
|
264
|
+
"limit": {
|
|
265
|
+
"context": 1000000,
|
|
266
|
+
"output": 65536
|
|
267
|
+
},
|
|
268
|
+
"modalities": {
|
|
269
|
+
"input": [
|
|
270
|
+
"text",
|
|
271
|
+
"image"
|
|
272
|
+
],
|
|
273
|
+
"output": [
|
|
274
|
+
"text"
|
|
275
|
+
]
|
|
276
|
+
}
|
|
277
|
+
},
|
|
278
|
+
"openai/o3": {
|
|
279
|
+
"name": "Openai O3",
|
|
280
|
+
"limit": {
|
|
281
|
+
"context": 200000,
|
|
282
|
+
"output": 100000
|
|
283
|
+
},
|
|
284
|
+
"modalities": {
|
|
285
|
+
"input": [
|
|
286
|
+
"text",
|
|
287
|
+
"image"
|
|
288
|
+
],
|
|
289
|
+
"output": [
|
|
290
|
+
"text"
|
|
291
|
+
]
|
|
292
|
+
}
|
|
293
|
+
},
|
|
294
|
+
"qwen3-coder-next": {
|
|
295
|
+
"name": "Qwen3 Coder Next",
|
|
296
|
+
"limit": {
|
|
297
|
+
"context": 200000,
|
|
298
|
+
"output": 64000
|
|
299
|
+
},
|
|
300
|
+
"modalities": {
|
|
301
|
+
"input": [
|
|
302
|
+
"text"
|
|
303
|
+
],
|
|
304
|
+
"output": [
|
|
305
|
+
"text"
|
|
306
|
+
]
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Development Log — TASK-XXX: [Task Name]
|
|
2
|
+
|
|
3
|
+
## Session Info
|
|
4
|
+
- **Agent:** Developer Agent
|
|
5
|
+
- **Date:** [YYYY-MM-DD]
|
|
6
|
+
- **Branch:** feature/[nama]
|
|
7
|
+
- **Spec:** specifications/XXX_spec_*.md
|
|
8
|
+
|
|
9
|
+
## Changes Made
|
|
10
|
+
| File | Action | Description |
|
|
11
|
+
|------|--------|-------------|
|
|
12
|
+
| ... | Created/Modified/Deleted | ... |
|
|
13
|
+
|
|
14
|
+
## Decisions & Rationale
|
|
15
|
+
...
|
|
16
|
+
|
|
17
|
+
## Issues Encountered
|
|
18
|
+
...
|
|
19
|
+
|
|
20
|
+
## Self-Reflection
|
|
21
|
+
- Security: ...
|
|
22
|
+
- Performance: ...
|
|
23
|
+
- Code Quality: ...
|
|
24
|
+
|
|
25
|
+
## Status Update
|
|
26
|
+
- [x] Task status updated: development → ready_to_test
|