wdi-method 0.6.27 → 0.6.28
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/CHANGELOG.md +51 -0
- package/README.de.md +262 -0
- package/README.es.md +262 -0
- package/README.fr.md +262 -0
- package/README.id.md +172 -101
- package/README.ja.md +172 -99
- package/README.ko.md +262 -0
- package/README.md +164 -97
- package/README.pt-BR.md +262 -0
- package/README.ru.md +262 -0
- package/README.zh-CN.md +262 -0
- package/kit/.constitution/method/README.md +1 -1
- package/kit/.constitution/method/method-glossary.md +184 -184
- package/kit/.constitution/method/why/README.md +201 -192
- package/kit/.constitution/method/why/portability.md +1 -1
- package/kit/skills/wdi-daily-autopilot/SKILL.md +4 -3
- package/kit/skills/wdi-daily-what-to-build/SKILL.md +1 -1
- package/kit/skills/wdi-init/SKILL.md +231 -231
- package/kit/skills/wdi-prune-or-archive/SKILL.md +1 -1
- package/kit-overlay/AGENTS.md +7 -4
- package/kit-overlay/README.md +1 -1
- package/kit-overlay/portability.md +1 -1
- package/package.json +26 -3
- package/scaffold/.control/custom-dispatch.yaml.example +14 -9
- package/README.zh.md +0 -189
package/README.id.md
CHANGED
|
@@ -1,191 +1,262 @@
|
|
|
1
1
|
# WDI Method
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
[Changelog](CHANGELOG.md) | [Contributing](CONTRIBUTING.md) | [License](LICENSE) | [Security](SECURITY.md) | [Privacy](PRIVACY.md)
|
|
3
|
+
> Lapisan review di atas BMad: dokumen yang dibaca manusia untuk memeriksa keputusan teknis sebelum kode ditulis, disesuaikan dengan apa yang benar-benar dibutuhkan perubahan itu.
|
|
5
4
|
|
|
6
|
-
|
|
5
|
+
[English](README.md) | [Bahasa Indonesia](README.id.md) | [简体中文](README.zh-CN.md) | [日本語](README.ja.md) | [한국어](README.ko.md) | [Español](README.es.md) | [Deutsch](README.de.md) | [Français](README.fr.md) | [Português (Brasil)](README.pt-BR.md) | [Русский](README.ru.md)
|
|
6
|
+
[Website](https://wiradelta.id/wdi-method/docs/) | [Changelog](CHANGELOG.md) | [Contributing](CONTRIBUTING.md) | [License](LICENSE) | [Security](SECURITY.md) | [Privacy](PRIVACY.md)
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
> **Pemberitahuan terjemahan:** Berkas ini merupakan terjemahan dari [README.md](README.md) untuk kenyamanan pembaca. Jika terdapat perbedaan makna atau penafsiran, berkas resmi berbahasa Inggris (`README.md`) yang menjadi acuan otoritatif. Seluruh dokumen teknis mendalam dan dokumen hukum dikelola dalam Bahasa Inggris.
|
|
9
11
|
|
|
10
|
-
|
|
12
|
+
[BMad](https://github.com/bmad-code-org/BMAD-METHOD) menulis dokumen untuk AI agent. WDI Method menambahkan dokumen yang sudah biasa dibaca banyak peran: use case, diagram C4, daftar API dan database, dan dokumen desain. WDI Method membungkus BMad tanpa menggantikannya: setiap skill WDI menyerahkan penulisan ke skill BMad, lalu memeriksa hasilnya terhadap panduan metode.
|
|
13
|
+
|
|
14
|
+
> Repositori ini bersifat **publik dan generik**. Repositori ini **TIDAK BOLEH** memuat nama klien, nama produk komersial, atau tautan ke repositori privat. Identitas produk sepenuhnya berada di repositori yang memasangnya.
|
|
11
15
|
|
|
12
16
|
---
|
|
13
17
|
|
|
14
|
-
##
|
|
18
|
+
## AI-Driven Development (AiDD) vs. Vibe Coding
|
|
15
19
|
|
|
16
|
-
|
|
20
|
+
Vibe coding juga memakai spesifikasi, tetapi tidak konsisten: setiap sesi prompt bisa berbeda, dokumennya tidak terstruktur, dan prosesnya tidak dijaga tetap sistematis. Akibatnya efisiensi dan efektivitas jauh lebih rendah, dan ada risiko nyata menumpuk technical debt. Itulah alasan sebuah framework dibutuhkan.
|
|
17
21
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
└─────────────────────────────────────────────────────────────────────────┘
|
|
30
|
-
```
|
|
22
|
+
Di WDI Method, AI-Driven Development (AiDD) berjalan dalam satu urutan: janji dicatat sebagai FR dan use case, lalu gerbang, lalu spec dipotong menjadi tiket dengan `to-spec` dan `to-tickets`, lalu setiap tiket dibangun dengan test lebih dulu, lalu satu PR yang di-review dan di-merge pemilik.
|
|
23
|
+
|
|
24
|
+
Tiga lapisan menjalankan pekerjaannya:
|
|
25
|
+
|
|
26
|
+
| Lapisan | Siapa | Yang Dikerjakan |
|
|
27
|
+
|---|---|---|
|
|
28
|
+
| 1. Dokumen untuk agent | [BMad](https://github.com/bmad-code-org/BMAD-METHOD) | Menulis product brief, PRD, UX, dan architecture spine, masing-masing lewat skill BMad |
|
|
29
|
+
| 2. Lapisan review | WDI Method | Membungkus skill tersebut, menambahkan dokumen yang dibaca peran lain, menjalankan lima gerbang manusia, menghubungkan Goal → FR → UC → Ticket → Test, dan memeriksa drift pada korpus |
|
|
30
|
+
| 3. Tiket dan kode | Engine ([mattpocock/skills](https://github.com/mattpocock/skills)) | `to-spec` dan `to-tickets` memotong spec menjadi tiket vertikal; `implement` membangun setiap tiket dengan test lebih dulu |
|
|
31
|
+
|
|
32
|
+
### Dokumen Mengikuti Kode
|
|
31
33
|
|
|
32
|
-
|
|
33
|
-
Dokumen adalah catatan yang ditinggalkan oleh pekerjaan yang sudah selesai. Jika catatan keputusan atau baris kebutuhan bertentangan dengan kode aplikasi, **kode yang menang dan dokumen yang diperbaiki**. Kode tidak boleh diubah agar cocok dengan dokumen usang. Dokumen yang tertinggal dari kode adalah keadaan wajar dan tidak boleh memblokir rilis kecuali memuat klaim basi yang menyesatkan.
|
|
34
|
+
Dokumen yang tertinggal dari kode adalah keadaan wajar, bukan cacat. Bila pemilik memilih kode daripada dokumen, dokumennya yang diperbaiki. Dokumen yang mendahului kode, misalnya spec yang belum dibangun, juga wajar.
|
|
34
35
|
|
|
35
36
|
---
|
|
36
37
|
|
|
37
|
-
##
|
|
38
|
+
## Pasang dalam 3 Langkah
|
|
39
|
+
|
|
40
|
+
### Prasyarat
|
|
41
|
+
|
|
42
|
+
- Node.js 20 atau lebih baru.
|
|
43
|
+
- Git.
|
|
44
|
+
- [uv](https://docs.astral.sh/uv/), untuk menjalankan validator Python 3.11+ milik metode ini.
|
|
45
|
+
- Platform agent: Claude Code, Cursor, Codex, dan platform agent lainnya.
|
|
38
46
|
|
|
39
|
-
|
|
47
|
+
Jalankan ketiga langkah secara berurutan. Installer berhenti bila langkah 1 atau langkah 2 belum dikerjakan. Semua prompt menyediakan jawaban default; tekan <kbd>Enter</kbd> untuk menerimanya.
|
|
40
48
|
|
|
41
49
|
### Langkah 1: Pasang BMad Method
|
|
42
|
-
Memasang mesin perumusan masalah ke repositori produk Anda:
|
|
43
50
|
```bash
|
|
44
|
-
cd /path/
|
|
51
|
+
cd /path/to/your/product-repo
|
|
45
52
|
npx bmad-method install
|
|
46
53
|
```
|
|
47
54
|
|
|
48
|
-
### Langkah 2: Tambahkan Enam Engine
|
|
49
|
-
Pasang engine
|
|
55
|
+
### Langkah 2: Tambahkan Enam Engine
|
|
56
|
+
Pasang engine ke repositori Anda (pilih "copy" atau "symlink"):
|
|
50
57
|
```bash
|
|
51
58
|
npx skills@latest add mattpocock/skills
|
|
52
59
|
```
|
|
53
|
-
*Pilih
|
|
60
|
+
*Pilih keenam engine yang dijalankan metode ini:* `to-spec`, `to-tickets`, `implement`, `tdd`, `code-review`, dan `domain-modeling`.
|
|
54
61
|
|
|
55
|
-
> **
|
|
62
|
+
> **Mengapa Plugin Claude Code Tidak Cukup:** Tiga dari enam engine (`to-spec`, `to-tickets`, `implement`) dirilis dengan `disable-model-invocation: true`. Setiap install dan update, WDI Method menghapus baris itu dari salinan di repo Anda, supaya `wdi-build` dan `wdi-autopilot` bisa menjalankannya. Plugin tingkat pengguna tidak bisa diubah, jadi installer berhenti sampai engine ada di repo. `--skip-engines-check` melewati pemeriksaan ini.
|
|
56
63
|
|
|
57
64
|
### Langkah 3: Pasang WDI Method
|
|
58
|
-
Membuka installer interaktif dan
|
|
65
|
+
Membuka installer interaktif dan menaruh skill di tempat yang dibaca setiap platform agent Anda:
|
|
59
66
|
```bash
|
|
60
67
|
npx wdi-method
|
|
61
68
|
```
|
|
62
|
-
*(
|
|
69
|
+
*(Non-interaktif: `npx wdi-method install --yes --agents claude-code --product "Your Product"`)*
|
|
70
|
+
|
|
71
|
+
> **Yang diubah installer di BMad:** Installer juga mematikan pemanggilan oleh model untuk 13 skill build dan sprint BMad yang digantikan engine, dan menambahkan aturan deny yang sama ke `.claude/settings.json`. Anda tetap bisa menjalankannya dengan mengetik perintahnya.
|
|
63
72
|
|
|
64
73
|
### Perintah Pertama Anda: `/wdi-help`
|
|
65
|
-
Di dalam
|
|
74
|
+
Di dalam coding agent Anda, jalankan:
|
|
66
75
|
```text
|
|
67
76
|
/wdi-help
|
|
68
77
|
```
|
|
69
|
-
`wdi-help`
|
|
78
|
+
`wdi-help` membaca `.control/registry/` dan memberi tahu gerbang tempat proyek Anda berada, spec yang terbuka, dan skill berikutnya, tanpa menebak dari percakapan.
|
|
70
79
|
|
|
71
80
|
---
|
|
72
81
|
|
|
73
|
-
## Tiga
|
|
82
|
+
## Tiga Pilihan Alur Kerja
|
|
83
|
+
|
|
84
|
+
WDI Method menyesuaikan seremoninya dengan skala dan risiko pekerjaan.
|
|
74
85
|
|
|
75
|
-
|
|
86
|
+
### Opsi A: Jalur Delivery Terpandu (G1 sampai G5)
|
|
87
|
+
Untuk produk baru, inisiatif besar, dan perubahan arsitektur. Anda memulai setiap skill gerbang; agent menyebut skill berikutnya dan menunggu.
|
|
76
88
|
|
|
77
|
-
|
|
78
|
-
Untuk produk baru, inisiatif besar, dan perubahan arsitektur. Manusia membaca **satu halaman ter-render** per gerbang dan memutuskan: *lanjut atau perbaiki*.
|
|
89
|
+
**Satu Keputusan per Gerbang.** Setiap gerbang memutuskan satu hal. Di G1 sampai G4 Anda membaca satu halaman terender; di G5 Anda membaca baris RTM spec. Anda menjawab daftar periksa singkat, dan satu jawaban "tidak" pada pertanyaan bertanda bintang menahan gerbang.
|
|
79
90
|
|
|
80
|
-
| Gerbang |
|
|
91
|
+
| Gerbang | Yang Diputuskan | Skill | Yang Anda Baca | Keputusan Pemilik |
|
|
81
92
|
|---|---|---|---|---|
|
|
82
|
-
| **G1
|
|
83
|
-
| **G2
|
|
84
|
-
| **G3
|
|
85
|
-
| **G4
|
|
86
|
-
| **G5
|
|
93
|
+
| **G1 Problem** | Apa masalahnya, milik siapa, dan mengapa layak dikerjakan | `/wdi-problem` | `.what-rendered/_product-brief/brief.md` | Setujui rumusan masalah |
|
|
94
|
+
| **G2 Product** | Apa yang dibangun, dan bagaimana rasanya dipakai | `/wdi-product`<br>`/wdi-ux` (opsional) | `.what-rendered/_prd/<slug>/prd.md` | Setujui janji fungsional (FR) |
|
|
95
|
+
| **G3 Blueprint** | Gambaran utuh produk, sekali per produk | `/wdi-blueprint` | `.how-rendered/blueprint.md` | Setujui architecture spine |
|
|
96
|
+
| **G4 Component** | Bagaimana satu komponen dibangun (dilewati pada `mode: catalog`) | `/wdi-component` | `.how-rendered/<pc>/SDD-<pc>.md` | Setujui desain perangkat lunak |
|
|
97
|
+
| **G5 Release** | Apakah sudah selesai dan terbukti | `/wdi-build` | Baris RTM spec di `.control/generated/` dan bukti test setiap tiket | Terima spec sebagai selesai, atau kembalikan |
|
|
98
|
+
|
|
99
|
+
**Perbaiki, Jangan Lanjutkan.** Satu jawaban "tidak" pada pertanyaan daftar periksa bertanda bintang (★) menahan gerbang. Perbaiki dokumennya lalu jalankan gerbang lagi; jangan menyetujuinya dengan rencana memperbaikinya nanti.
|
|
87
100
|
|
|
88
|
-
#### Dua
|
|
89
|
-
- **`mode`** menentukan
|
|
90
|
-
- **`risk_accepted`** menentukan
|
|
101
|
+
#### Dua Parameter yang Tidak Boleh Digabung
|
|
102
|
+
- **`mode`** menentukan kedalaman dokumen setiap komponen. `catalog` (default): tidak ada dokumen di luar blueprint, dan G4 dilewati. `outline`: alur lengkap untuk paling banyak 3 use case, aturan bisnis lokal, dan ringkasan keputusan. `guarded`: menambah bagian `Failure Behaviour` untuk setiap batas dan dokumen integrasi pihak ketiga. `deep`: menambah analisis robustness, kontrak per endpoint, kamus data, diagram alur, dan state machine.
|
|
103
|
+
- **`risk_accepted`** menentukan seberapa keras review. `high` (Anda menerima banyak risiko): lensa dasar structure dan prose. `medium`: menambah lensa edge case. `low`: menambah lensa edge case, dan kode butuh dua reviewer yang bukan builder.
|
|
104
|
+
|
|
105
|
+
Bila satu field mengatur keduanya, satu-satunya cara mendapat dokumen tipis adalah menulis risiko yang lebih besar daripada yang sebenarnya Anda terima.
|
|
91
106
|
|
|
92
107
|
---
|
|
93
108
|
|
|
94
|
-
### Opsi B: Operasi Harian Otonom (
|
|
95
|
-
Setelah arsitektur
|
|
109
|
+
### Opsi B: Operasi Harian Otonom (Daily Tier)
|
|
110
|
+
Setelah arsitektur siap, pekerjaan sehari-hari berjalan sebagai ritme harian lewat empat skill yang Anda ketik di dalam agent:
|
|
96
111
|
|
|
97
|
-
1. **`/wdi-daily-what-to-build [reviewer] <notes
|
|
98
|
-
Mengubah catatan uji manual,
|
|
99
|
-
2. **`/wdi-daily-autopilot [self-review] [peer] [interval]
|
|
100
|
-
|
|
101
|
-
3. **`/wdi-daily-what-to-test [web|mobile|desktop]
|
|
102
|
-
|
|
103
|
-
4. **`/wdi-prune-or-archive [spec-
|
|
104
|
-
|
|
112
|
+
1. **`/wdi-daily-what-to-build [reviewer] <notes>`**
|
|
113
|
+
Mengubah catatan uji manual, temuan QA, atau laporan bug menjadi spec atau tiket yang sudah ditinjau di development branch, untuk run autopilot berikutnya. Skill ini berhenti di situ: tidak pernah melakukan commit, push, atau memulai autopilot.
|
|
114
|
+
2. **`/wdi-daily-autopilot [self-review] [peer] [interval] [--skip-peer-review]`**
|
|
115
|
+
Memeriksa mandat yang sudah diterima dan menjalankan preflight bila belum ada, menentukan reviewer dari konfigurasi lokal, lalu memulai loop (default `/loop 10m /wdi-autopilot`). Loop bekerja di branch `autopilot/<mandate-id>`, menulis kode dengan test lebih dulu, mencatat setiap keputusan di ledger-nya, dan berakhir dengan satu PR yang siap di-review. Pemilik yang melakukan merge.
|
|
116
|
+
3. **`/wdi-daily-what-to-test [web <target> | mobile <target> | desktop]`**
|
|
117
|
+
Sesudah merge: menyinkronkan development branch, memangkas branch dan worktree yang sudah di-merge, menyiapkan aplikasi untuk uji manual, dan menyusun checklist dari tiket yang ditutup sejak sinkronisasi terakhir (`before_sync..HEAD`). Tanpa argumen, skill ini hanya menyinkronkan, memangkas, dan menyusun checklist.
|
|
118
|
+
4. **`/wdi-prune-or-archive [--spec <id> | --all-closed] [--archive | --prune] [--dry-run]`**
|
|
119
|
+
Memindahkan spec yang sudah ditutup dari `.scratch/` ke `.archive/specs/`, atau menghapusnya dengan `git rm`, lewat `lifecycle.py` yang memeriksa dulu dan membatalkan perubahan bila gagal. Baris spec tetap di `specs.yaml`. Tanpa argumen, skill ini bertanya.
|
|
105
120
|
|
|
106
121
|
---
|
|
107
122
|
|
|
108
123
|
### Opsi C: Jalur Cepat (`/implement` Langsung)
|
|
109
|
-
|
|
124
|
+
Sebuah perbaikan boleh melewati semua gerbang bila tidak mengubah FR, UC, AD-N, atau domain model, paling banyak satu tiket, dan tidak menyentuh uang, data pribadi, atau integrasi pihak ketiga. Anda menjalankan `/implement` langsung, tanpa skill pembungkus. Bila ternyata menyentuh FR, pekerjaan berhenti dan menjadi spec ukuran S (paling banyak 3 tiket) yang dijalankan lewat `wdi-build`.
|
|
110
125
|
|
|
111
126
|
---
|
|
112
127
|
|
|
113
|
-
##
|
|
128
|
+
## Aturan Lapangan
|
|
129
|
+
|
|
130
|
+
Aturan operasional dari menjalankan loop coding otonom di repositori produk nyata:
|
|
114
131
|
|
|
115
|
-
|
|
132
|
+
### 1. Builder Tetap di Koordinator (`builder: coordinator`)
|
|
133
|
+
Di `wdi-daily-autopilot`, `roles.builder` di `.control/custom-dispatch.yaml` ditetapkan ke `coordinator`. Menyerahkan penulisan kode ke subagent menghasilkan laporan selesai yang palsu (subagent mengaku test lulus tanpa mengubah satu file pun). Sesi koordinator menulis kodenya sendiri, dengan test lebih dulu.
|
|
116
134
|
|
|
117
|
-
###
|
|
118
|
-
|
|
135
|
+
### 2. Reviewer Hanya Membaca
|
|
136
|
+
Peer reviewer berjalan dalam mode hanya membaca. Mereka menguji edge case dan membaca diff, tetapi tidak pernah mengubah kode atau menjalankan build; hanya sesi koordinator yang menulis. Pada `risk_accepted: low`, permintaan melewati peer review ditolak, karena kode di sana butuh dua reviewer yang bukan builder.
|
|
119
137
|
|
|
120
|
-
###
|
|
121
|
-
|
|
138
|
+
### 3. File Lock di Windows (Desktop Process Gate)
|
|
139
|
+
Di Windows, binary aplikasi yang sedang berjalan atau daemon build di latar belakang menahan handle file tetap terbuka, sehingga build ulang atau penghapusan worktree gagal dengan `Access is denied`. Dengan target `desktop`, `wdi-daily-what-to-test` memeriksa apakah binary aplikasi masih berjalan sebelum build ulang. Aplikasi hanya ditutup bila dijalankan oleh smoke run sebelumnya; selain itu skill melaporkan PID dan berhenti, supaya Anda menutupnya sendiri. Proses tidak pernah dihentikan paksa.
|
|
122
140
|
|
|
123
|
-
###
|
|
124
|
-
|
|
141
|
+
### 4. Loop Berjalan di Branch Sendiri
|
|
142
|
+
Penulisan spec dan tiket dilakukan di development branch. Loop berjalan di branch-nya sendiri, `autopilot/<mandate-id>`, di worktree terisolasi atau checkout bersih yang hanya dipakai run itu. Loop tidak pernah berjalan di checkout bersama atau yang kotor.
|
|
125
143
|
|
|
126
|
-
###
|
|
127
|
-
|
|
144
|
+
### 5. Satu Cloud CI Run per Run Autopilot
|
|
145
|
+
Loop melakukan commit per tiket, dan rangkaian test lokal menjadi bukti selama run. Cloud CI berjalan sekali per run autopilot, di akhir: saat satu-satunya PR ditandai siap di-review, atau saat workflow dijalankan sekali secara manual. Push selama run tidak memicu cloud run.
|
|
128
146
|
|
|
129
|
-
###
|
|
130
|
-
|
|
147
|
+
### 6. File Smoke Khusus Mesin Lokal
|
|
148
|
+
Kursor smoke (`.work/smoke/last-sync`) dan manifes runtime milik satu mesin. Installer menambahkan `.work/smoke/` ke `.gitignore`, jadi file smoke khusus mesin lokal tidak pernah membuat working tree kotor.
|
|
149
|
+
|
|
150
|
+
---
|
|
131
151
|
|
|
132
|
-
|
|
133
|
-
Kursor uji smoke (`.work/smoke/last-sync`) dan manifes runtime bersifat lokal per mesin. Pastikan `.work/smoke/` didaftarkan di `.gitignore` agar pemeriksaan kebersihan working tree preflight tidak pernah gagal secara tak terduga.
|
|
152
|
+
## Konfigurasi (`custom-dispatch.yaml`)
|
|
134
153
|
|
|
135
|
-
|
|
136
|
-
|
|
154
|
+
Perintah runner dan flag model khusus mesin disimpan di `.control/custom-dispatch.yaml`. Installer membuatnya dari `.control/custom-dispatch.yaml.example` bila belum ada, lalu menambahkannya ke `.gitignore`; hanya contohnya yang di-commit.
|
|
155
|
+
|
|
156
|
+
Runner yang ditunjuk sebagai reviewer WAJIB hanya membaca. Flag hanya membaca per CLI: `claude --permission-mode plan`, `kiro-cli --trust-tools=fs_read`, `cursor-agent --mode plan`. Semua contoh runner di templat memakainya.
|
|
137
157
|
|
|
138
158
|
---
|
|
139
159
|
|
|
140
|
-
## Direktori
|
|
160
|
+
## Direktori Skill (22)
|
|
161
|
+
|
|
162
|
+
WDI Method memasang 22 skill: 7 skill gerbang, 5 untuk daily tier (termasuk `wdi-autopilot`), dan 10 yang bisa Anda jalankan kapan saja.
|
|
141
163
|
|
|
142
|
-
|
|
164
|
+
Cara sebuah skill dimulai:
|
|
165
|
+
- **Anda mengetiknya**: empat skill daily tier, `wdi-build`, dan `wdi-explain-to-me` (membawa `disable-model-invocation: true`).
|
|
166
|
+
- **Anda mengetiknya, atau agent menyebutnya dan menunggu izin Anda**: skill lainnya.
|
|
167
|
+
- **Agent boleh menjalankannya sendiri (hanya membaca)**: `wdi-help`.
|
|
168
|
+
- **Dijalankan `/loop` di bawah mandat yang diterima**: `wdi-autopilot`. Di bawah mandat, `wdi-autopilot` juga menjalankan skill lain.
|
|
143
169
|
|
|
144
|
-
|
|
|
170
|
+
| Skill | Yang Dikerjakan | Cara Mulai |
|
|
145
171
|
|---|---|---|
|
|
146
|
-
| **
|
|
147
|
-
|
|
|
148
|
-
|
|
|
172
|
+
| **Skill gerbang** | | |
|
|
173
|
+
| `/wdi-init` | Sebelum G1 dan di akhir G2: menyiapkan registri, komponen, `mode` dan `risk_accepted`, dua peta struktur, pemeriksaan engine, dan pembaca inventaris. | Anda mengetiknya, atau agent menyebutnya |
|
|
174
|
+
| `/wdi-problem` | G1. Menjalankan skill product brief BMad, lalu memeriksa brief terhadap panduan metode. Tidak pernah menulis brief sendiri. | Anda mengetiknya, atau agent menyebutnya |
|
|
175
|
+
| `/wdi-product` | G2. Menjalankan skill PRD BMad untuk PRD baru atau janji yang berubah, lalu memeriksanya terhadap panduan PRD. Tidak pernah menulis PRD sendiri. | Anda mengetiknya, atau agent menyebutnya |
|
|
176
|
+
| `/wdi-ux` | Opsional, bersama G2. Menjalankan skill UX BMad dan menaruh hasil desain di tempatnya. Tidak pernah menulis isi UX sendiri. | Anda mengetiknya, atau agent menyebutnya |
|
|
177
|
+
| `/wdi-blueprint` | G3, sekali per produk. Gambaran utuh produk: use case, aktor, domain model, aturan bisnis, glosarium, architecture spine, C4, serta inventaris API, tabel, dan layar. | Anda mengetiknya, atau agent menyebutnya |
|
|
178
|
+
| `/wdi-component` | G4. Kedalaman satu komponen, sedalam `mode`-nya dan tidak lebih. Dilewati pada `mode: catalog`. | Anda mengetiknya, atau agent menyebutnya |
|
|
179
|
+
| `/wdi-build` | G5. Satu spec dari dibuka sampai ditutup: Anda menjalankan `to-spec` dan `to-tickets`, setiap tiket sampai PR hijau, lalu spec ditutup. Tidak pernah melakukan merge. | Anda mengetiknya |
|
|
180
|
+
| **Daily tier** | | |
|
|
181
|
+
| `/wdi-daily-what-to-build` | Mengubah catatan uji manual menjadi spec atau tiket yang sudah ditinjau untuk run autopilot berikutnya. Berhenti sebelum kode, commit, atau push. | Anda mengetiknya |
|
|
182
|
+
| `/wdi-daily-autopilot` | Memeriksa mandat yang sudah diterima (menjalankan preflight bila belum ada), menentukan reviewer dari konfigurasi lokal, lalu memulai loop, default setiap 10 menit. | Anda mengetiknya |
|
|
183
|
+
| `/wdi-autopilot` | Loop-nya sendiri: mengerjakan semua FR di bawah satu mandat yang diterima, di satu branch dengan satu PR, dan menulis setiap keputusan ke satu ledger. | Dijalankan `/loop` di bawah mandat yang diterima |
|
|
184
|
+
| `/wdi-daily-what-to-test` | Sesudah merge: menyinkronkan development branch, memangkas branch dan worktree yang sudah di-merge, menyiapkan aplikasi untuk uji manual, dan menyusun checklist dari tiket yang ditutup. | Anda mengetiknya |
|
|
185
|
+
| `/wdi-prune-or-archive` | Memindahkan spec yang sudah ditutup ke `.archive/specs/` atau menghapusnya dengan `git rm`, lewat `lifecycle.py` yang memeriksa dulu dan membatalkan perubahan bila gagal. Baris spec tetap di `specs.yaml`. | Anda mengetiknya |
|
|
186
|
+
| **Kapan saja** | | |
|
|
187
|
+
| `/wdi-help` | Membaca registri status dan memberi tahu gerbang saat ini, spec yang terbuka, dan skill berikutnya. | Agent boleh menjalankannya sendiri (hanya membaca) |
|
|
188
|
+
| `/wdi-explain-to-me` | Membaca dulu sebelum Anda memutuskan: menyelidiki, lalu memberi ringkasan dalam enam bagian tetap. Tidak menulis file. | Anda mengetiknya |
|
|
189
|
+
| `/wdi-decision` | Membuka, menerima, dan menerapkan keputusan bernomor (`DEC-`), lalu membawanya ke dokumen yang diaturnya. | Anda mengetiknya, atau agent menyebutnya |
|
|
190
|
+
| `/wdi-question` | Mencatat hal yang belum bisa diputuskan ke salah satu dari empat daftar di `.control/questions/`, dan menutupnya saat jawaban datang. | Anda mengetiknya, atau agent menyebutnya |
|
|
191
|
+
| `/wdi-log` | Mencatat rapat yang sudah selesai atau fakta non-teknis yang membatasi apa yang boleh dibangun. | Anda mengetiknya, atau agent menyebutnya |
|
|
192
|
+
| `/wdi-report` | Angka tentang proyek: progres, estimasi, baris tugas untuk tracker, atau brief atau PRD yang berdiri sendiri. Tidak pernah mengarang angka. | Anda mengetiknya, atau agent menyebutnya |
|
|
193
|
+
| `/wdi-reconcile` | Sebelum gerbang atau sesudah sekumpulan perubahan: melaporkan drift antara `.what`, `.how`, `.control`, dan aturan metode. Hanya membaca. | Anda mengetiknya, atau agent menyebutnya |
|
|
194
|
+
| `/wdi-review` | Meninjau dokumen korpus mana pun, dan wajib dijalankan sebelum gerbang untuk spine, SRS, SDD, dan SPEC. Lensanya mengikuti `risk_accepted`. Bukan untuk review kode. | Anda mengetiknya, atau agent menyebutnya |
|
|
195
|
+
| `/wdi-systematic-debugging` | Untuk bug, test yang gagal, atau build yang gagal, sebelum perbaikan diusulkan: cari akar masalah dan uji satu hipotesis setiap kali. | Anda mengetiknya, atau agent menyebutnya |
|
|
196
|
+
| `/wdi-upgrade` | Tepat sesudah `wdi-method update`: memindahkan dokumen dan file registri yang masih berbentuk lama ke bentuk baru, lalu memastikan validasi hijau. | Anda mengetiknya, atau agent menyebutnya |
|
|
149
197
|
|
|
150
198
|
---
|
|
151
199
|
|
|
152
|
-
## Struktur Repositori
|
|
200
|
+
## Struktur Repositori
|
|
153
201
|
|
|
154
202
|
```text
|
|
155
203
|
.constitution/
|
|
156
|
-
method/
|
|
157
|
-
project/
|
|
204
|
+
method/ The method itself: overwritten by every update; never edit here
|
|
205
|
+
project/ Product-owned rules and inventory readers: kept across updates
|
|
158
206
|
.control/
|
|
159
|
-
registry/
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
.
|
|
165
|
-
.
|
|
166
|
-
.what
|
|
207
|
+
registry/ The registries: index.yaml · goals.yaml · specs.yaml · components.yaml
|
|
208
|
+
generated/ Status and RTM projections written by validate.py (never by hand)
|
|
209
|
+
decisions/ Decisions and owner mandates (DEC-*.md)
|
|
210
|
+
memlog/ Ledgers recording autonomous loop decisions
|
|
211
|
+
test-targets/ Hand-testing templates (desktop.md, web.md, mobile.md)
|
|
212
|
+
.scratch/<spec-id>-<slug>/ Active spec workspaces (SPEC.md and tickets)
|
|
213
|
+
.archive/ Archived closed specs
|
|
214
|
+
.what/ & .how/ Working corpus documents (brief, PRD, SRS, blueprint, SDD)
|
|
215
|
+
.what-rendered/ Rendered pages for G1 and G2 (generated)
|
|
216
|
+
.how-rendered/ Rendered pages for G3 and G4 (generated)
|
|
217
|
+
.work/ Scratch that empties when a task closes
|
|
167
218
|
```
|
|
168
219
|
|
|
169
220
|
---
|
|
170
221
|
|
|
171
|
-
##
|
|
222
|
+
## Kontribusi
|
|
172
223
|
|
|
173
|
-
Setiap kontribusi ke WDI Method
|
|
224
|
+
Setiap kontribusi ke WDI Method menjawab satu pertanyaan: **apakah perubahan ini membuat lapisan review lebih dapat dipercaya, atau hanya membuatnya lebih tebal?** Lihat [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
174
225
|
|
|
175
|
-
### Fixture Corpus
|
|
176
|
-
|
|
226
|
+
### Fixture Corpus dan Verifikasi Lokal
|
|
227
|
+
Perubahan validator dan metode dibuktikan terhadap fixture corpus (`tests/fixture/`). Jalankan rangkaian test sebelum membuka pull request:
|
|
177
228
|
```bash
|
|
178
229
|
npm test
|
|
179
230
|
```
|
|
180
|
-
|
|
231
|
+
Rangkaian test menjalankan empat script Python PEP 723 (`validate.py`, `timeline.py`, `inventory.py`, `lifecycle.py`) terhadap fixture, lalu memeriksa registri platform, file yang diterima setiap platform, dan integritas kit.
|
|
181
232
|
|
|
182
233
|
### Aturan Paket Publik Generik
|
|
183
|
-
WDI Method dipublikasikan ke registri npm publik.
|
|
234
|
+
WDI Method dipublikasikan ke registri npm publik. Paket ini tidak boleh memuat nama klien privat, identitas produk komersial, kredensial, atau path absolut sistem file.
|
|
184
235
|
|
|
185
236
|
---
|
|
186
237
|
|
|
187
|
-
## Lisensi
|
|
238
|
+
## Lisensi dan Privasi
|
|
239
|
+
|
|
240
|
+
- **Lisensi kode:** [MIT License](LICENSE).
|
|
241
|
+
- **Privasi:** WDI Method sendiri tidak melakukan panggilan jaringan; coding agent Anda tetap berkomunikasi dengan penyedia modelnya. Lihat [PRIVACY.md](PRIVACY.md) dan [SECURITY.md](SECURITY.md).
|
|
242
|
+
|
|
243
|
+
## The name and the icon
|
|
244
|
+
|
|
245
|
+
Naskah berbahasa Inggris di bawah ini yang berlaku.
|
|
246
|
+
|
|
247
|
+
The MIT License grants broad rights over the code. It says nothing about names or logos,
|
|
248
|
+
and it does not oblige the studio to hand over either — so the licence above covers this
|
|
249
|
+
repository's code, not the name **WDI Method**, not **Wira Delta Indonesia**, and not any
|
|
250
|
+
associated visual marks or logos.
|
|
251
|
+
|
|
252
|
+
You may use those names to refer to this project: "based on WDI Method", "a fork of WDI Method",
|
|
253
|
+
or "compatible with WDI Method". You may not use them as the name of your own product or
|
|
254
|
+
methodology, or in a way that suggests you are this project or endorsed by it.
|
|
255
|
+
|
|
256
|
+
If you publish a modified distribution or fork, please give it your own name, so the
|
|
257
|
+
engineers using it know whom to ask when something behaves unexpectedly. The code is yours
|
|
258
|
+
to take; the name is not.
|
|
259
|
+
|
|
260
|
+
---
|
|
188
261
|
|
|
189
|
-
|
|
190
|
-
- **Privasi & Telemetri:** 100% offline-first. Bebas telemetri, bebas analitik, bebas soket jaringan luar (lihat [PRIVACY.md](PRIVACY.md) dan [SECURITY.md](SECURITY.md)).
|
|
191
|
-
- **Merek Dagang:** Nama "Wira Delta Indonesia", "WDI Method", dan simbol monogram studio adalah merek dagang sah milik PT Wira Delta Indonesia dan terpisah dari lisensi terbuka kode.
|
|
262
|
+
Kami memakai metode yang sama di proyek klien. [Hubungi Wira Delta Indonesia](https://wiradelta.id/id/#contact).
|