wdi-method 0.6.19 → 0.6.25
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 +86 -0
- package/LICENSE +21 -21
- package/NOTICE +28 -0
- package/README.id.md +190 -0
- package/README.ja.md +188 -0
- package/README.md +115 -463
- package/README.zh.md +188 -0
- package/bin/wdi-method.js +2217 -2112
- package/kit/.constitution/method/branch-guide.md +87 -0
- package/kit/.constitution/method/ci-guide.md +23 -4
- package/kit/.constitution/method/constitution.md +1 -0
- package/kit/.constitution/method/scripts/lifecycle.py +416 -0
- package/kit/.constitution/method/scripts/validate.py +126 -9
- package/kit/skills/wdi-autopilot/SKILL.md +46 -16
- package/kit/skills/wdi-build/SKILL.md +12 -4
- package/kit/skills/wdi-daily-autopilot/SKILL.md +138 -0
- package/kit/skills/wdi-daily-what-to-build/SKILL.md +170 -0
- package/kit/skills/wdi-daily-what-to-test/SKILL.md +130 -0
- package/kit/skills/wdi-explain-to-me/SKILL.md +1 -1
- package/kit/skills/wdi-help/SKILL.md +21 -7
- package/kit/skills/wdi-init/SKILL.md +16 -0
- package/kit/skills/wdi-prune-or-archive/SKILL.md +76 -0
- package/kit/skills/wdi-review/SKILL.md +4 -1
- package/kit-overlay/AGENTS.md +36 -4
- package/kit-overlay/constitution.md +1 -0
- package/lib/identity.mjs +246 -117
- package/package.json +8 -4
- package/scaffold/.control/custom-dispatch.yaml.example +65 -0
- package/scaffold/.control/registry/index.yaml +9 -0
- package/scaffold/.control/test-targets/desktop.md +15 -0
- package/scaffold/.control/test-targets/mobile.md +6 -0
- package/scaffold/.control/test-targets/web.md +6 -0
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,92 @@ version contains every fix below it.
|
|
|
10
10
|
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
+
## [0.6.25] - 2026-09-19
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
|
|
17
|
+
- **Ephemeral Subagent Handoff Lifecycle & Mandatory Scratch Deletion:** `wdi-daily-what-to-build` mandates that subagent handoff packets, raw CLI logs, and review outputs are disposable execution scratch (not product evidence). Review outputs are strictly scoped to `<slug>-review-output.md`, and all scratch files under `.work/wdi-daily-what-to-build/` MUST be deleted upon coordinator fold-in and stamping. Raw review files MUST NOT be staged, committed, or archived into `.scratch/` or `.archive/`.
|
|
18
|
+
- **Distillation Scope Extension:** `wdi-build` Phase 4 Distillation checklist explicitly requires verifying and cleaning lingering triage scratch under `.work/wdi-daily-what-to-build/` before closing a spec.
|
|
19
|
+
- **Selective Staging Discipline on Autopilot:** `wdi-autopilot` explicitly prohibits broad wildcard staging (`git add .`, `git add -A`, `git add --all`). Staging is restricted to application code, tests, `.control/`, and `.scratch/<active-spec>/`. Ephemeral execution scratch under `.work/` is barred from the run branch, and mandate finish requires a clean sweep of temporary `.work/` files.
|
|
20
|
+
- **Enriched Ephemeral Precondition Guidance:** `wdi-daily-what-to-test` enriches Step 0.4 halt guidance when untracked files match `.work/` scratch, providing direct remediation instructions instead of generic dirty tree errors.
|
|
21
|
+
- **Scaffold Ignore for Raw Tool Dumps:** `bin/wdi-method.js` now automatically ensures `.work/*.txt`, `.work/*.log`, and `.work/tmp/` are ignored in `.gitignore` on install/update, preventing raw CLI redirection dumps from causing dirty working tree preflight halts.
|
|
22
|
+
|
|
23
|
+
**What a repo that already has the method installed does about it.** Run `npx wdi-method@latest update`. It updates the daily skills with strict scratch cleanup and staging guardrails, and ensures ephemeral tool dumps in `.work/` are ignored in `.gitignore`.
|
|
24
|
+
|
|
25
|
+
## [0.6.24] - 2026-09-18
|
|
26
|
+
|
|
27
|
+
### Added
|
|
28
|
+
|
|
29
|
+
- **Multi-Language Global Documentation (Japanese & Simplified Chinese):** Added full-length translations for the global AI developer communities: `README.ja.md` (日本語) and `README.zh.md` (简体中文), included directly in package manifest distribution.
|
|
30
|
+
- **Three-Layer Progressive Information Architecture (Preset 2):** Overhauled `README.md` and `README.id.md` into three progressive layers: Layer 1 (Beginner & Evaluator: Helicopter View AiDD vs. Vibe Coding, 10-minute Quickstart, and `/wdi-help`), Layer 2 (Practitioner & Advanced: 3 Workflow Options, Fase 4 Daily Tier, and 7 battle-tested operational rules), and Layer 3 (Contributor & Architect: Two-axis 22-skill directory, core invariants, and fixture corpus verification).
|
|
31
|
+
|
|
32
|
+
**What a repo that already has the method installed does about it.** No code changes required in consumer repositories. The package distribution surface now includes global multi-lingual documentation and comprehensive operational guides.
|
|
33
|
+
|
|
34
|
+
## [0.6.23] - 2026-09-18
|
|
35
|
+
|
|
36
|
+
### Changed
|
|
37
|
+
|
|
38
|
+
- **Fixed Coordinator Builder & Elimination of In-Session Coding Delegation:** `wdi-daily-autopilot` now fixes `roles.builder` strictly to `coordinator`. The coordinating session implements code directly in the active worktree following TDD red-to-green cycles. Coding delegation (whether `in-session` subagents or external builder runners) is prohibited in the daily routine to eliminate delegation latency and state-reporting hallucinations.
|
|
39
|
+
- **Python Subprocess UTF-8 Resilience on Windows:** Fixed `UnicodeDecodeError: 'charmap'` in `validate.py` and `lifecycle.py` by adding `encoding="utf-8", errors="replace"` to all `subprocess.run(..., text=True)` calls.
|
|
40
|
+
- **Ephemeral Smoke Artifact Scaffolding:** Added `ensureGitignoreSmoke()` in installer/updater logic to automatically ensure `.work/smoke/` is ignored in `.gitignore`, preventing dirty working tree failures during preflight checks.
|
|
41
|
+
|
|
42
|
+
**What a repo that already has the method installed does about it.** Run `npx wdi-method@latest update`. It updates method skills and python validation scripts, enforces direct coordinator implementation, and automatically ensures `.work/smoke/` is ignored.
|
|
43
|
+
|
|
44
|
+
## [0.6.22] - 2026-09-17
|
|
45
|
+
|
|
46
|
+
### Added
|
|
47
|
+
|
|
48
|
+
- **Advisory Read-Only Reviewer & Single-Writer Discipline:** Step 4 of `wdi-daily-what-to-build` now strictly dispatches reviewers in read-only mode (`--trust-tools=fs_read` / `--mode plan`) to eliminate unbounded tool-calling edit loops and orphaned background shells. The coordinator alone applies spec/ticket edits and writes the `spec_reviewed` trace into `specs.yaml`.
|
|
49
|
+
- **Live Peer Review Stamping Contract:** Added clarification in `wdi-review` affirming that live, same-session peer review dispatched and evaluated by the coordinator fulfills stamping requirements without redundant re-review from scratch.
|
|
50
|
+
- **Desktop Process Gate & File-Lock Prevention:** Added runtime process verification and manifest logging (`.work/smoke/runtime-desktop.yaml`) in `wdi-daily-what-to-test` to prevent Windows file-lock compilation failures (error 5/32).
|
|
51
|
+
- **Delta-Scoped Checklist Retrieval:** `wdi-daily-what-to-test` bounds verification checklist discovery strictly to the sync delta (`before_sync..HEAD`), eliminating brute-force scans of historical specs.
|
|
52
|
+
- **Upfront Dependency Enforcement:** `wdi-daily-what-to-build` mandates establishing sequential `blocked_by` chains for tickets sharing `touches` upfront to satisfy `parallel-tickets-blocked`.
|
|
53
|
+
- **Canonical `uv run` Validation:** Standardized all validation commands to `uv run .constitution/method/scripts/validate.py --generate --baseline`, preventing Windows Python Launcher shebang parsing errors.
|
|
54
|
+
- **Remote-Tracking Branch Hygiene:** `wdi-daily-what-to-test` adds `git fetch --prune origin` and safely prunes merged autopilot run branches while protecting primary and development branches.
|
|
55
|
+
|
|
56
|
+
**What a repo that already has the method installed does about it.** Run `npx wdi-method@latest update`. It updates method skills, tightens reviewer dispatch and process gating, and keeps triage focused without administrative or tool-loop interruptions.
|
|
57
|
+
|
|
58
|
+
## [0.6.21] - 2026-09-17
|
|
59
|
+
|
|
60
|
+
### Added
|
|
61
|
+
|
|
62
|
+
- **Autonomous Daily Tier Skills (`/wdi-daily-*`):** Added three streamlined wrappers (`wdi-daily-what-to-build`, `wdi-daily-autopilot`, `wdi-daily-what-to-test`) providing rapid manual-test notes triage, autonomous unattended loops with local runner integration, and post-merge physical testing verification.
|
|
63
|
+
- **Local Dispatch Runner Schema & Safety:** Added `.control/custom-dispatch.yaml.example` for optional machine-specific runner definitions. Installer and update automatically ensure `.control/custom-dispatch.yaml` is added to `.gitignore`, and `validate.py` enforces fail-closed rejection if personal dispatch files are committed to git.
|
|
64
|
+
- **Physical Smoke Test Target Templates:** Added `.control/test-targets/` (`desktop.md`, `web.md`, `mobile.md`) seeded per-file during install and update without overwriting custom templates.
|
|
65
|
+
- **Spec Lifecycle Management (`lifecycle.py`):** Added Python lifecycle utility supporting `--archive` (`git mv` to `.archive/specs/<spec-id>/`) and `--prune` (`git rm` of completed spec directories while preserving RTM history). Supported by `archived_spec_closed` validator and historical citation resolution.
|
|
66
|
+
- **Normative Branch Protection Guide:** Added `.constitution/method/branch-guide.md` establishing absolute immunity for `primary_branch` and `development_branch`, fail-closed branch prechecks, and fast-forward pull mandates.
|
|
67
|
+
- **Delivery Flow SSOT in `AGENTS.md`:** Absorbed standing sequence rules directly into product agent guidelines (authoring on active development branch, implementation in isolated worktree, prohibition of unattended auto-continue).
|
|
68
|
+
|
|
69
|
+
### Changed
|
|
70
|
+
|
|
71
|
+
- **Surgical Policy Block Upsert:** Replaced full-block regex replacement in `lib/identity.mjs` with per-key upsert (`upsertBlockKeys`), safely preserving configured branch policies (`primary_branch`, `development_branch`) across updates.
|
|
72
|
+
- **Branch Configuration:** De-hardcoded `main` in `wdi-build`, `wdi-autopilot`, and `ci-guide.md`, dynamically resolving to `policy.development_branch`.
|
|
73
|
+
- **Smoke Test Directory Standardization:** Automated spec smoke tests standardized under `.scratch/<spec>/smoke/`, while transient human verification logs live in `.work/smoke/` and permanent audit records remain in `.control/memlog/`.
|
|
74
|
+
|
|
75
|
+
**What a repo that already has the method installed does about it.** Run `npx wdi-method@latest update`. It updates method skills and guides, seeds missing test-target templates and custom-dispatch example, and adds `.control/custom-dispatch.yaml` to `.gitignore`.
|
|
76
|
+
|
|
77
|
+
## [0.6.20] - 2026-09-17
|
|
78
|
+
|
|
79
|
+
### Added
|
|
80
|
+
|
|
81
|
+
- **GitHub Community Standards & Hygiene:** Added `.github/ISSUE_TEMPLATE/bug_report.md`, `.github/ISSUE_TEMPLATE/feature_request.md`, and `.github/pull_request_template.md`.
|
|
82
|
+
- **Bilingual Showcase (Preset 2):** Added Indonesian summary etalase (`README.id.md`) with cross-language switcher on `README.md`.
|
|
83
|
+
- **Legal SSOT Documents:** Added source-stamped `SECURITY.md` (private vulnerability reporting via `security@wiradelta.id` and GitHub Security Advisories) and `PRIVACY.md` (offline-first, zero telemetry).
|
|
84
|
+
- **Attribution & Third-Party Notices:** Added `NOTICE` summarizing runtime and framework dependencies (`@clack`, `sisteransi`, BMad Method, `mattpocock/skills`), included in npm tarball via `package.json`.
|
|
85
|
+
- **Trademark Protection:** Added `## The name and the icon` to `README.md` and licensing terms to `CONTRIBUTING.md`, separating MIT code rights from Wira Delta Indonesia trademarks.
|
|
86
|
+
- **Process Survivability Documentation:** Documented session persistence guidelines (`tmux`/`screen` on Linux/remote, persistent terminal on Windows) in `wdi-autopilot` skill.
|
|
87
|
+
|
|
88
|
+
### Changed
|
|
89
|
+
|
|
90
|
+
- **Organization Migration:** Repository, issue tracker, and documentation URLs aligned across the codebase and kit overlay to [`wiradeltaid/wdi-method`](https://github.com/wiradeltaid/wdi-method).
|
|
91
|
+
- **Copyright & License:** Legal copyright holder updated to `Wira Delta Indonesia` in `LICENSE` and `package.json`.
|
|
92
|
+
|
|
93
|
+
### Security
|
|
94
|
+
|
|
95
|
+
- **Private Vulnerability Reporting:** Activated GitHub Security Advisories private vulnerability reporting on `wiradeltaid/wdi-method`.
|
|
96
|
+
|
|
97
|
+
**What a repo that already has the method installed does about it.** Run `npx wdi-method@latest update`. It updates the stamped method block in `AGENTS.md` to point to the canonical `wiradeltaid` repository.
|
|
98
|
+
|
|
13
99
|
## 0.6.19 — 2026-09-10
|
|
14
100
|
|
|
15
101
|
- **One autopilot run now costs one cloud CI run, not dozens.** A run over fifteen tickets pushed often
|
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 Wira
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Wira Delta Indonesia
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/NOTICE
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
WDI Method
|
|
2
|
+
Copyright (c) 2026 Wira Delta Indonesia
|
|
3
|
+
|
|
4
|
+
This product includes software developed by third parties under the following licenses:
|
|
5
|
+
|
|
6
|
+
========================================================================
|
|
7
|
+
@clack/prompts and @clack/core
|
|
8
|
+
Copyright (c) 2023 Nate Moore
|
|
9
|
+
License: MIT (https://github.com/natemoo-re/clack)
|
|
10
|
+
========================================================================
|
|
11
|
+
|
|
12
|
+
========================================================================
|
|
13
|
+
sisteransi
|
|
14
|
+
Copyright (c) Terkel Gjervig
|
|
15
|
+
License: MIT (https://github.com/terkelg/sisteransi)
|
|
16
|
+
========================================================================
|
|
17
|
+
|
|
18
|
+
========================================================================
|
|
19
|
+
fast-string-width, fast-wrap-ansi, fast-string-truncated-width
|
|
20
|
+
Copyright (c) Kevin Martensson
|
|
21
|
+
License: MIT (https://github.com/kevva)
|
|
22
|
+
========================================================================
|
|
23
|
+
|
|
24
|
+
========================================================================
|
|
25
|
+
Upstream Methodology & Skills Architecture
|
|
26
|
+
- BMad Method: Copyright (c) BMad Code Org, MIT License (https://github.com/bmad-code-org/BMAD-METHOD)
|
|
27
|
+
- mattpocock/skills: Copyright (c) Matt Pocock, MIT License (https://github.com/mattpocock/skills)
|
|
28
|
+
========================================================================
|
package/README.id.md
ADDED
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
# WDI Method
|
|
2
|
+
|
|
3
|
+
[English](README.md) | [Bahasa Indonesia](README.id.md) | [日本語](README.ja.md) | [简体中文](README.zh.md)
|
|
4
|
+
|
|
5
|
+
**Lapisan tinjauan yang melengkapi BMad — spesifikasi terverifikasi yang dibaca manusia untuk memeriksa keputusan teknis sebelum kode ditulis, disesuaikan dengan skala perubahan nyata.**
|
|
6
|
+
|
|
7
|
+
[BMad](https://github.com/bmad-code-org/BMAD-METHOD) menentukan *apa* yang dibangun dan *bagaimana* menyusun solusi dengan baik. WDI Method membungkusnya — tanpa menggantikannya — menyediakan lapisan tata kelola terverifikasi antara keputusan arsitektur tingkat tinggi dan kode aplikasi: registri kebutuhan, katalog use case, batasan komponen, validator deviasi otomatis, dan loop harian otonom yang andal.
|
|
8
|
+
|
|
9
|
+
> Repositori ini bersifat **publik dan generik**. Repositori ini **TIDAK BOLEH** memuat nama klien, nama produk komersial, atau tautan ke repositori privat. Identitas produk dikonfigurasi sepenuhnya di repositori yang memasangnya.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Pandangan Menyeluruh: AI-Driven Development (AiDD) vs. Vibe Coding
|
|
14
|
+
|
|
15
|
+
Prompting spekulatif ("vibe coding") pasti gagal pada sistem produksi jangka panjang: AI coding agent kehilangan konteks, berhalusinasi menyatakan tugas selesai, dan mengaburkan batasan kebutuhan. WDI Method menegakkan disiplin **AI-Driven Development (AiDD)** melalui triad arsitektur tiga lapis:
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
┌─────────────────────────────────────────────────────────────────────────┐
|
|
19
|
+
│ 1. Tujuan & Strategi: BMad Method │
|
|
20
|
+
│ Menggali masalah pengguna, draf brief produk, dan arsitektur awal │
|
|
21
|
+
├─────────────────────────────────────────────────────────────────────────┤
|
|
22
|
+
│ 2. Lapisan Tinjauan Terverifikasi: WDI Method (SSOT) │
|
|
23
|
+
│ Mengawal 5 gerbang manusia, menghubungkan Goal → FR → UC → Ticket, │
|
|
24
|
+
│ menjalankan validator deviasi, dan memandu loop otonom harian │
|
|
25
|
+
├─────────────────────────────────────────────────────────────────────────┤
|
|
26
|
+
│ 3. Pemotongan & Implementasi: Skills Engines (mattpocock/skills) │
|
|
27
|
+
│ to-spec & to-tickets memotong tracer-bullet; implement memandu TDD │
|
|
28
|
+
└─────────────────────────────────────────────────────────────────────────┘
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Invarian Utama: Dokumen Selalu Mengikuti Kode
|
|
32
|
+
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.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Panduan Memulai dalam 10 Menit
|
|
37
|
+
|
|
38
|
+
Pasang WDI Method ke dalam repositori produk Anda melalui tiga langkah berurutan. Seluruh prompt menyediakan jawaban default yang dapat disetujui dengan menekan <kbd>Enter</kbd>.
|
|
39
|
+
|
|
40
|
+
### Langkah 1: Pasang BMad Method
|
|
41
|
+
Memasang mesin perumusan masalah ke repositori produk Anda:
|
|
42
|
+
```bash
|
|
43
|
+
cd /path/ke/repo-produk-anda
|
|
44
|
+
npx bmad-method install
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Langkah 2: Tambahkan Enam Engine Tiket
|
|
48
|
+
Pasang engine eksekusi langsung ke repositori produk (pilih "copy" atau "symlink"):
|
|
49
|
+
```bash
|
|
50
|
+
npx skills@latest add mattpocock/skills
|
|
51
|
+
```
|
|
52
|
+
*Pilih seluruh 6 engine yang dikendalikan oleh method:* `to-spec`, `to-tickets`, `implement`, `tdd`, `code-review`, dan `domain-modeling`.
|
|
53
|
+
|
|
54
|
+
> **Kenapa plugin Claude Code tidak mencukupi:** Engine hulu membawa flag `disable-model-invocation: true`. WDI Method secara otomatis mencopot flag ini dari salinan lokal agar loop otonom dapat menjalankannya tanpa pengawasan manusia. Plugin tingkat pengguna tidak dapat dimodifikasi oleh repositori.
|
|
55
|
+
|
|
56
|
+
### Langkah 3: Pasang WDI Method
|
|
57
|
+
Membuka installer interaktif dan menyinkronkan skill ke platform agent Anda (Claude Code, Cursor, OpenCode, Windsurf, dll.):
|
|
58
|
+
```bash
|
|
59
|
+
npx wdi-method
|
|
60
|
+
```
|
|
61
|
+
*(Untuk lingkungan otomasi CI: `npx wdi-method install --yes --agents claude --product "Nama Produk"`)*
|
|
62
|
+
|
|
63
|
+
### Perintah Pertama Anda: `/wdi-help`
|
|
64
|
+
Di dalam AI coding agent Anda (Claude Code, Cursor), jalankan:
|
|
65
|
+
```text
|
|
66
|
+
/wdi-help
|
|
67
|
+
```
|
|
68
|
+
`wdi-help` memeriksa folder `.control/registry/` dan langsung memberi tahu gerbang mana yang sedang aktif tanpa menebak dari riwayat percakapan.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Tiga Opsi Alur Kerja
|
|
73
|
+
|
|
74
|
+
WDI Method menyesuaikan tata kelolanya dengan skala dan risiko pekerjaan:
|
|
75
|
+
|
|
76
|
+
### Opsi A: Alur Pengiriman Terarah (Inisiatif Baru & Gerbang G1–G5)
|
|
77
|
+
Untuk produk baru, inisiatif besar, dan perubahan arsitektur. Manusia membaca **satu halaman ter-render** per gerbang dan memutuskan: *lanjut atau perbaiki*.
|
|
78
|
+
|
|
79
|
+
| Gerbang | Pertanyaan yang Dijawab | Skill yang Dijalankan | Halaman yang Dibaca | Keputusan Pemilik |
|
|
80
|
+
|---|---|---|---|---|
|
|
81
|
+
| **G1 — Problem** | Apakah masalah ini nyata, milik siapa, dan layak dikerjakan? | `/wdi-problem` | `.what-rendered/_product-brief/brief.md` | Setujui rumusan masalah |
|
|
82
|
+
| **G2 — Product** | Apa yang kita bangun, dan bagaimana alur pengalamannya? | `/wdi-product`<br>`/wdi-ux` | `.what-rendered/_prd/<slug>/prd.md` | Setujui janji fungsional (FR) |
|
|
83
|
+
| **G3 — Blueprint** | Apakah keseluruhan arsitektur terhubung utuh? *(Sekali per repo)* | `/wdi-blueprint` | `.how-rendered/blueprint.md` | Setujui pondasi arsitektur |
|
|
84
|
+
| **G4 — Component** | Bagaimana komponen teknis dibangun? *(Dilewati pada `mode: catalog`)* | `/wdi-component` | `.how-rendered/<pc>/SDD-<pc>.md` | Setujui desain perangkat lunak |
|
|
85
|
+
| **G5 — Build** | Apakah irisan tiket selesai, terverifikasi, dan terbukti? *(Per spek)* | `/wdi-build` | Bukti runner pengujian (merah → hijau) | Terima kode yang dimerge |
|
|
86
|
+
|
|
87
|
+
#### Dua Tombol yang Tidak Pernah Digabung: Mode vs. Risiko
|
|
88
|
+
- **`mode`** menentukan gerbang mana yang wajib ada (`catalog` melewati G4; `guarded` dan `deep` mewajibkan SDD menyeluruh).
|
|
89
|
+
- **`risk_accepted`** menentukan kedalaman bukti verifikasi yang diminta (`low`, `medium`, `high`). Menggabungkannya menjadi satu tombol "rigor" akan membebani komponen kecil dengan birokrasi atau meloloskan perubahan berisiko tinggi tanpa pengujian.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
### Opsi B: Operasi Harian Otonom (Fase 4 Daily Tier)
|
|
94
|
+
Setelah arsitektur ditegakkan, rekayasa sehari-hari adalah ritme kerja harian. WDI Method menyediakan 4 perkakas praktis:
|
|
95
|
+
|
|
96
|
+
1. **`/wdi-daily-what-to-build [reviewer] <notes>`**:
|
|
97
|
+
Mengubah catatan uji manual, umpan balik QA, atau laporan bug menjadi spesifikasi teknis terstruktur. Mengklasifikasikan kebutuhan terhadap korpus, menyusun draf tiket di cabang development, dan meminta second opinion independen read-only.
|
|
98
|
+
2. **`/wdi-daily-autopilot [self-review] [peer] [interval]`**:
|
|
99
|
+
Meluncurkan rutinitas otonom di bawah mandat yang disetujui pemilik produk. Berjalan tanpa interupsi dengan ritme loop (default: `/loop 10m /wdi-autopilot`), menjalankan siklus TDD dan memperbarui ledger setelah setiap keputusan.
|
|
100
|
+
3. **`/wdi-daily-what-to-test [web|mobile|desktop]`**:
|
|
101
|
+
Koordinator pengujian fisik pasca-merge. Sinkronisasi cabang development, pembersihan worktree dan branch remote yang telah dimerge, pencegahan file-lock desktop, dan penyusunan checklist uji fisik berbasis delta commit (`before_sync..HEAD`).
|
|
102
|
+
4. **`/wdi-prune-or-archive [spec-id] [--archive|--prune]`**:
|
|
103
|
+
Menjaga kebersihan repositori dengan memindahkan spesifikasi tertutup dari `.scratch/` ke `.archive/specs/` atau membersihkan folder fisik via `git rm`, dengan preservasi 100% jejak audit RTM.
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
### Opsi C: Jalur Cepat (`/implement` Langsung)
|
|
108
|
+
Perbaikan bug kecil atau penyesuaian kosmetik yang tidak menyentuh `FR`, `UC`, `AD-N`, atau domain model dapat melewati seluruh gerbang dokumen dan menjalankan `/implement` langsung. Jika perubahan meluas menyentuh kebutuhan fungsional, proses **wajib berhenti seketika dan dijadikan spek eksplisit `S`** yang dievaluasi pada Gerbang G5.
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Panduan Lapangan Praktis & Pengetahuan Operasional
|
|
113
|
+
|
|
114
|
+
Aturan teruji lapangan yang ditemukan dari eksekusi nyata pada berbagai platform agen:
|
|
115
|
+
|
|
116
|
+
### 1. Builder Mutlak Koordinator (`builder: coordinator`)
|
|
117
|
+
Pada `wdi-daily-autopilot`, konfigurasi `roles.builder` di `.control/custom-dispatch.yaml` wajib disetel ke `coordinator`. Mendelegasikan koding ke subagent memicu halusinasi status (subagent melapor seluruh tes lulus tanpa mengubah satu berkas pun). Koordinator sesi aktif menulis kode langsung melalui siklus TDD merah ke hijau.
|
|
118
|
+
|
|
119
|
+
### 2. Peninjau Sejawat Bersifat Penasihat Read-Only
|
|
120
|
+
Peninjau independen (seperti Terra / GPT-5.6-Terra via `kiro-cli`) wajib dijalankan dalam mode baca saja (`--trust-tools=fs_read` / `--mode plan`). Peninjau memeriksa kasus batas dan diff kode, tetapi dilarang mengubah berkas atau memicu proses build panjang. Disiplin penulis tunggal tetap terjaga.
|
|
121
|
+
|
|
122
|
+
### 3. Pencegahan File-Locking Windows (Process Gating)
|
|
123
|
+
Di sistem operasi Windows, proses latar belakang (aplikasi yang sedang berjalan, Gradle Test Daemon, Java VM) menahan handle terbuka pada berkas biner, memicu kegagalan `Access is denied (Exit code 5/32)` saat kompilasi atau penghapusan worktree. `wdi-daily-what-to-test` memeriksa dan mematikan proses aktif sebelum proses build atau peluncuran dimulai.
|
|
124
|
+
|
|
125
|
+
### 4. Invarian Isolasi Worktree
|
|
126
|
+
Penyusunan spek dan tiket dilakukan di cabang `main`, namun tahap penulisan kode dan loop otonom (`wdi-autopilot`) **wajib berjalan di git worktree terpisah** (`autopilot/<mandate-id>`). Jangan pernah menjalankan loop tanpa pengawasan di working tree utama yang kotor.
|
|
127
|
+
|
|
128
|
+
### 5. Satu Pemicu Cloud CI Per PR
|
|
129
|
+
Loop otonom membuat commit lokal per tiket. Menjalankan Cloud CI di setiap iterasi lokal akan menghabiskan kuota runner bulanan dengan cepat. Rangkaian tes lokal menyediakan bukti authoritative selama loop; Cloud CI dipicu **satu kali**, saat Pull Request ditandai siap ditinjau (*ready for review*).
|
|
130
|
+
|
|
131
|
+
### 6. Kebersihan Artefak Smoke Sementara
|
|
132
|
+
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.
|
|
133
|
+
|
|
134
|
+
### 7. Konfigurasi Runner Lokal Mesin (`custom-dispatch.yaml`)
|
|
135
|
+
Perintah runner khusus mesin dan model flag disimpan di `.control/custom-dispatch.yaml` (otomatis di-ignore git). Hanya templat `.control/custom-dispatch.yaml.example` yang dilacak ke git.
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Direktori 22 Skill Resmi
|
|
140
|
+
|
|
141
|
+
WDI Method menyediakan 22 skill resmi yang terstruktur berdasarkan bidang kerja dan wewenang pemanggilan:
|
|
142
|
+
|
|
143
|
+
| Bidang Kerja | Pemanggilan Langsung Pengguna (Slash Command) | Orkestrasi Model / Agen Otomatis |
|
|
144
|
+
|---|---|---|
|
|
145
|
+
| **Pengiriman & Arsitektur (G1–G5)** | `/wdi-init` (Setup G0 & komponen)<br>`/wdi-problem` (G1 brief masalah)<br>`/wdi-product` (G2 PRD solusi)<br>`/wdi-ux` (G2/G3 alur UX & kontrak)<br>`/wdi-blueprint` (G3 arsitektur sistem)<br>`/wdi-component` (G4 desain komponen SDD)<br>`/wdi-build` (G5 pemotongan tiket spek) | Dijalankan berurutan oleh koordinator pada transisi gerbang |
|
|
146
|
+
| **Operasi Harian Otonom** | `/wdi-daily-what-to-build` (triage catatan uji ke spek)<br>`/wdi-daily-autopilot` (peluncur loop mandat otonom)<br>`/wdi-daily-what-to-test` (verifikasi fisik pasca-merge)<br>`/wdi-prune-or-archive` (arsip/pembersihan spek tertutup) | `/wdi-autopilot` (mesin loop mandat via `/loop`) |
|
|
147
|
+
| **Tata Kelola & Diagnostik** | `/wdi-help` (panduan gerbang kontekstual)<br>`/wdi-explain-to-me` (penjelas arsitektur sistem)<br>`/wdi-decision` (pencatatan keputusan teknis ADR)<br>`/wdi-question` (pelacak pertanyaan terbuka)<br>`/wdi-log` (pencatatan aktivitas audit)<br>`/wdi-report` (laporan progres & estimasi)<br>`/wdi-reconcile` (audit deviasi kode-dokumen)<br>`/wdi-review` (peninjauan independen)<br>`/wdi-systematic-debugging` (investigasi akar masalah)<br>`/wdi-upgrade` (migrasi skema korpus) | Dispatch peninjau independen dan second opinion |
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Struktur Repositori & Invarian
|
|
152
|
+
|
|
153
|
+
```text
|
|
154
|
+
.constitution/
|
|
155
|
+
method/ Mesin method — ditimpa setiap pembaruan; jangan pernah diedit langsung
|
|
156
|
+
project/ Aturan produk dan reader inventori khusus — dipertahankan saat pembaruan
|
|
157
|
+
.control/
|
|
158
|
+
registry/ Sumber Kebenaran Tunggal: goals.yaml · specs.yaml · components.yaml
|
|
159
|
+
decisions/ Keputusan yang diterima dan mandat pemilik (DEC-*.md)
|
|
160
|
+
memlog/ Ledger audit yang mencatat keputusan loop otonom
|
|
161
|
+
test-targets/ Templat pengujian fisik (desktop.md, web.md, mobile.md)
|
|
162
|
+
.scratch/ Ruang kerja spesifikasi aktif (SPEC-*.md dan tiket)
|
|
163
|
+
.archive/ Spesifikasi historis yang diarsipkan dengan preservasi link RTM
|
|
164
|
+
.what/ & .how/ Dokumen kerja korpus (PRD, SRS, Blueprint, SDD)
|
|
165
|
+
.what-rendered/ Hasil render dokumen manusia (dibangkitkan oleh validate.py / wdi-report)
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Panduan Kontribusi & Fondasi Arsitektur
|
|
171
|
+
|
|
172
|
+
Setiap kontribusi ke WDI Method harus menjawab satu pertanyaan kunci: **apakah perubahan ini membuat lapisan tinjauan lebih dapat dipercaya, atau hanya membuatnya lebih tebal?**
|
|
173
|
+
|
|
174
|
+
### Fixture Corpus & Verifikasi Lokal
|
|
175
|
+
Seluruh perubahan validator dan framework wajib dibuktikan terhadap fixture corpus internal (`tests/fixture/`). Jalankan seluruh rangkaian tes sebelum mengajukan pull request:
|
|
176
|
+
```bash
|
|
177
|
+
npm test
|
|
178
|
+
```
|
|
179
|
+
Suite pengujian menegakkan baseline 100% hijau pada script Python PEP 723 (`validate.py`, `timeline.py`, `lifecycle.py`), sinkronisasi platform, dan integritas kit.
|
|
180
|
+
|
|
181
|
+
### Aturan Paket Publik Generik
|
|
182
|
+
WDI Method dipublikasikan ke registri npm publik. Repositori ini tidak boleh memuat nama klien privat, identitas produk komersial, kredensial jaringan internal, atau path absolut sistem berkas mesin lokal.
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## Lisensi & Merek Dagang
|
|
187
|
+
|
|
188
|
+
- **Lisensi Kode:** Didistribusikan di bawah [MIT License](LICENSE).
|
|
189
|
+
- **Privasi & Telemetri:** 100% offline-first. Bebas telemetri, bebas analitik, bebas soket jaringan luar (lihat [PRIVACY.md](PRIVACY.md) dan [SECURITY.md](SECURITY.md)).
|
|
190
|
+
- **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.
|
package/README.ja.md
ADDED
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
# WDI Method
|
|
2
|
+
|
|
3
|
+
[English](README.md) | [Bahasa Indonesia](README.id.md) | [日本語](README.ja.md) | [简体中文](README.zh.md)
|
|
4
|
+
|
|
5
|
+
**BMadが薄く残したレビュー層 — コードを書く前に技術的な決定を人間が検証するための仕様書フレームワーク。変更規模に応じて適切な粒度を提供します。**
|
|
6
|
+
|
|
7
|
+
[BMad](https://github.com/bmad-code-org/BMAD-METHOD) は「*何を*構築するか」と「*どのように*ソリューションを構成するか」を決定します。WDI Methodはそれを置き換えるのではなく包摂し、高レベルのアーキテクチャ上の決定と実際の動作コードとの間に検証可能なガバナンス層を提供します。これには、要件レジストリ、ユースケースカタログ、コンポーネント境界、自動ドリフト検証ツール、そして自律的なデイリーループが含まれます。
|
|
8
|
+
|
|
9
|
+
> 本リポジトリは**パブリックかつ汎用**です。クライアント名、商用製品名、プライベートリポジトリへのリンクを含めてはなりません。製品のアイデンティティは、本パッケージをインストールするリポジトリ側で完全に定義されます。
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 概要: AI駆動開発 (AiDD) と Vibe Coding の違い
|
|
14
|
+
|
|
15
|
+
仕様なきプロンプティング(いわゆる「Vibe Coding」)は、数ヶ月に及ぶ本番システム開発において必ず破綻します。AIコーディングエージェントがコンテキストを見失い、完了状態を幻覚(ハルシネーション)し、要件の境界線を曖昧にしてしまうためです。WDI Methodは、以下の3層アーキテクチャを通じて規律ある**AI駆動開発(Ai-Driven Development - AiDD)**を確立します。
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
┌─────────────────────────────────────────────────────────────────────────┐
|
|
19
|
+
│ 1. 意図と戦略: BMad Method │
|
|
20
|
+
│ ユーザーの課題発見、プロダクトブリーフ草案、初期アーキテクチャ策定 │
|
|
21
|
+
├─────────────────────────────────────────────────────────────────────────┤
|
|
22
|
+
│ 2. 検証可能なレビュー層: WDI Method (SSOT) │
|
|
23
|
+
│ 5つの人間レビューゲート、Goal → FR → UC → Ticket → Test の追跡性、 │
|
|
24
|
+
│ 自動ドリフト検証、デイリーループの安全な自律運用 │
|
|
25
|
+
├─────────────────────────────────────────────────────────────────────────┤
|
|
26
|
+
│ 3. チケット分割と実装: Skills Engines (mattpocock/skills) │
|
|
27
|
+
│ to-spec & to-tickets で垂直スライス分割; implement で TDD 実装 │
|
|
28
|
+
└─────────────────────────────────────────────────────────────────────────┘
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### 黄金の不変原則: ドキュメントは常にコードに従う
|
|
32
|
+
ドキュメントは、すでに行われた作業の記録です。決定記録や要件行がコードと矛盾する場合、**コードが常に優先され、ドキュメント側が修正されます**。古いドキュメントに合わせてコードを退行させてはなりません。コードより遅れているドキュメントは自然な状態であり、致命的な誤情報を含まない限り、リリースを妨げるべきではありません。
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 10分クイックスタート
|
|
37
|
+
|
|
38
|
+
3つのステップでプロダクトリポジトリにインストールできます。すべての対話プロンプトには適切なデフォルト値が設定されており、<kbd>Enter</kbd> を押すだけで承認できます。
|
|
39
|
+
|
|
40
|
+
### ステップ 1: BMad Method のインストール
|
|
41
|
+
プロダクトリポジトリにディスカバリーエンジンをインストールします:
|
|
42
|
+
```bash
|
|
43
|
+
cd /path/to/your/product-repo
|
|
44
|
+
npx bmad-method install
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### ステップ 2: 6つのチケットエンジンの追加
|
|
48
|
+
実行エンジンをリポジトリに直接インストールします(copy または symlink を選択):
|
|
49
|
+
```bash
|
|
50
|
+
npx skills@latest add mattpocock/skills
|
|
51
|
+
```
|
|
52
|
+
*メソッドが駆動する6つのエンジンすべてを選択します:* `to-spec`, `to-tickets`, `implement`, `tdd`, `code-review`, `domain-modeling`。
|
|
53
|
+
|
|
54
|
+
> **Claude Codeプラグインが不十分な理由:** アップストリームのエンジンには `disable-model-invocation: true` が設定されています。WDI Methodはローカルコピーからこのフラグを自動的に解除し、自律ループが無人実行できるようにします。ユーザーレベルのプラグインはリポジトリ側から編集できません。
|
|
55
|
+
|
|
56
|
+
### ステップ 3: WDI Method のインストール
|
|
57
|
+
対話型インストーラーを起動し、使用しているエージェント環境(Claude Code, Cursor, OpenCode, Windsurf など)にスキルをセットアップします:
|
|
58
|
+
```bash
|
|
59
|
+
npx wdi-method
|
|
60
|
+
```
|
|
61
|
+
*(CI自動化環境の場合: `npx wdi-method install --yes --agents claude --product "Your Product"`)*
|
|
62
|
+
|
|
63
|
+
### 最初のコマンド: `/wdi-help`
|
|
64
|
+
AIコーディングエージェント(Claude Code、Cursor)内で以下を実行します:
|
|
65
|
+
```text
|
|
66
|
+
/wdi-help
|
|
67
|
+
```
|
|
68
|
+
`wdi-help` は `.control/registry/` を検査し、会話コンテキストから推測することなく、プロジェクトが現在どのゲートにあるかを正確に回答します。
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 3つのワークフローオプション
|
|
73
|
+
|
|
74
|
+
タスクの規模とリスクに応じて、適用するセレモニーの重さを柔軟に調整できます。
|
|
75
|
+
|
|
76
|
+
### オプション A: ガイド付きデリバリートラック (新規イニシアチブ & G1–G5)
|
|
77
|
+
新製品、主要機能の追加、アーキテクチャの変更向け。人間がゲートごとに**レンダリングされた1ページ**を読み、進めるか修正するかを判断します。
|
|
78
|
+
|
|
79
|
+
| ゲート | 回答される問い | 実行スキル | 人間が読むレンダリングページ | オーナーの判断 |
|
|
80
|
+
|---|---|---|---|---|
|
|
81
|
+
| **G1 — Problem** | この問題は実在し、誰のもので、取り組む価値があるか? | `/wdi-problem` | `.what-rendered/_product-brief/brief.md` | 課題定義の承認または修正 |
|
|
82
|
+
| **G2 — Product** | 何を構築し、どのようなユーザー体験になるか? | `/wdi-product`<br>`/wdi-ux` | `.what-rendered/_prd/<slug>/prd.md` | 機能要件(FR)とUI契約の承認 |
|
|
83
|
+
| **G3 — Blueprint** | システムアーキテクチャ全体が統合されているか? *(製品ごとに1回)* | `/wdi-blueprint` | `.how-rendered/blueprint.md` | アーキテクチャ背骨の承認 |
|
|
84
|
+
| **G4 — Component** | コンポーネントはどのように構築されるか? *(mode: catalog では省略)* | `/wdi-component` | `.how-rendered/<pc>/SDD-<pc>.md` | ソフトウェア設計(SDD)の承認 |
|
|
85
|
+
| **G5 — Build** | チケットスライスは構築され、検証され、証明されたか? *(仕様ごと)* | `/wdi-build` | テストランナー出力(Red → Green) | マージの承認または差し戻し |
|
|
86
|
+
|
|
87
|
+
#### 決して統合してはならない2つのノブ: Mode と Risk
|
|
88
|
+
- **`mode`** はどのゲートが存在するかを決定します(`catalog` は G4 を省略し、`guarded` や `deep` は完全な SDD を要求)。
|
|
89
|
+
- **`risk_accepted`** はゲートが要求する検証の深さを決定します(`low`, `medium`, `high`)。これらを単一の「厳格さ」ダイヤルにまとめると、低リスクなコンポーネントが官僚主義に埋もれるか、高リスクな変更が無検証で通過してしまいます。
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
### オプション B: 自律デイリー運用 (Fase 4 Daily Tier)
|
|
94
|
+
アーキテクチャが整った後の日常的な開発フロー向け。WDI Methodは4つの専用ツールを提供します:
|
|
95
|
+
|
|
96
|
+
1. **`/wdi-daily-what-to-build [reviewer] <notes>`**:
|
|
97
|
+
手動テストのメモ、QAフィードバック、バグ報告を構造化された仕様書に変換します。コーパスに対して要件を分類し、開発ブランチ上にドラフトチケットを作成し、読み取り専用のセカンドオピニオンをディスパッチします。
|
|
98
|
+
2. **`/wdi-daily-autopilot [self-review] [peer] [interval]`**:
|
|
99
|
+
承認されたマンデート(権限委譲規定)のもとで自律エンジニアリングルーチンを実行します。無人ループ(デフォルト: `/loop 10m /wdi-autopilot`)でTDDを実行し、判断ごとに台帳(ledger)を更新します。
|
|
100
|
+
3. **`/wdi-daily-what-to-test [web|mobile|desktop]`**:
|
|
101
|
+
マージ後の物理テストコーディネーター。開発ブランチのファストフォワード同期、マージ済みブランチやワークツリーの削除、デスクトッププロセスのロック解除、コミット差分(`before_sync..HEAD`)に基づいた検証チェックリストの生成を行います。
|
|
102
|
+
4. **`/wdi-prune-or-archive [spec-id] [--archive|--prune]`**:
|
|
103
|
+
クローズされた仕様書を `.scratch/` から `.archive/specs/` に安全に退避、または `git rm` でクリーンアップし、100%のRTM追跡可能性を維持します。
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
### オプション C: ファストパス (`/implement` 直行)
|
|
108
|
+
`FR`、`UC`、`AD-N`、ドメインモデルに一切触れない小さなバグ修正やスタイルの微調整は、すべてのドキュメントゲートをスキップして直接 `/implement` を実行できます。変更が機能要件(FR)に波及した場合は、**直ちに停止して明示的な仕様 `S` に昇格**させ、G5で検証します。
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## 実践的な運用ノウハウと現場のルール
|
|
113
|
+
|
|
114
|
+
複数のマルチプラットフォームエージェント運用から得られた実戦知見:
|
|
115
|
+
|
|
116
|
+
### 1. ビルダーはコーディネーターに固定 (`builder: coordinator`)
|
|
117
|
+
`wdi-daily-autopilot` において、`.control/custom-dispatch.yaml` の `roles.builder` は厳格に `coordinator` に固定されます。サブエージェントに実装を委譲すると、ファイルを1行も変更していないのに「全テスト合格」と虚偽報告するハルシネーションが発生します。コーディネーター自身が直接TDDサイクルを回します。
|
|
118
|
+
|
|
119
|
+
### 2. 独立レビューアはアドバイザリー(読み取り専用)
|
|
120
|
+
外部ピアレビューア(Terra / GPT-5.6-Terra など)は必ず読み取り専用モード(`--trust-tools=fs_read` / `--mode plan`)でディスパッチします。レビューアは差分を精査しコーナーケースを指摘しますが、コードの改変やビルドの実行は行いません。単一執筆者原則を守ります。
|
|
121
|
+
|
|
122
|
+
### 3. Windowsファイルロックの防止 (Process Gating)
|
|
123
|
+
Windows環境では、バックグラウンドに残存するプロセス(実行中のバイナリ、Gradle Test Daemon、Java VM)がファイルハンドルを保持し、コンパイル時やワークツリー削除時に `Access is denied (Exit code 5/32)` エラーを引き起こします。`wdi-daily-what-to-test` はビルド前に残存プロセスを検査・終了します。
|
|
124
|
+
|
|
125
|
+
### 4. ワークツリー分離の不変原則
|
|
126
|
+
仕様書の作成は `main` で行いますが、自律コーディングループ(`wdi-autopilot`)は**必ず独立した Git ワークツリー(`autopilot/<mandate-id>`)内で実行**しなければなりません。ダーティな共有環境で無人ループを回してはなりません。
|
|
127
|
+
|
|
128
|
+
### 5. クラウドCIトリガーの節約
|
|
129
|
+
自律ループはチケットごとにローカルコミットを作成します。毎回のコミットでクラウドCIを走らせると、実行時間枠を浪費します。ループ中の検証は高速なローカルテストで担保し、クラウドCIはPRがレビュー可能になった段階で**1回だけ**起動させます。
|
|
130
|
+
|
|
131
|
+
### 6. 一時的なスモークテスト成果物の無視
|
|
132
|
+
スモークテストの同期カーソル(`.work/smoke/last-sync`)などはマシン固有のファイルです。`.work/smoke/` を必ず `.gitignore` に登録し、クリーンな作業ツリーを要求する事前チェックが停止しないようにします。
|
|
133
|
+
|
|
134
|
+
### 7. ローカルマシン固有のランナー設定 (`custom-dispatch.yaml`)
|
|
135
|
+
マシン固有のランナーコマンドやモデルフラグは `.control/custom-dispatch.yaml` に記述します(自動的にgit除外されます)。テンプレートである `.control/custom-dispatch.yaml.example` のみがGitで追跡されます。
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## 公式22スキル一覧 (機能ドメインと起動権限)
|
|
140
|
+
|
|
141
|
+
| ドメイン | ユーザー呼び出し (スラッシュコマンド) | モデル呼び出し / 自動オーケストレーション |
|
|
142
|
+
|---|---|---|
|
|
143
|
+
| **設計・デリバリー (G1–G5)** | `/wdi-init` (G0 セットアップ & コンポーネント)<br>`/wdi-problem` (G1 課題定義 & ブリーフ)<br>`/wdi-product` (G2 PRD 要件定義)<br>`/wdi-ux` (G2/G3 UIフロー & 契約)<br>`/wdi-blueprint` (G3 アーキテクチャ背骨)<br>`/wdi-component` (G4 コンポーネント SDD)<br>`/wdi-build` (G5 仕様策定 & チケット分割) | ゲート遷移時にコーディネーターが順次実行 |
|
|
144
|
+
| **自律デイリー運用** | `/wdi-daily-what-to-build` (メモの仕様化・トリアージ)<br>`/wdi-daily-autopilot` (自律ルーチン起動)<br>`/wdi-daily-what-to-test` (マージ後の物理テスト検証)<br>`/wdi-prune-or-archive` (クローズ済み仕様のアーカイブ・削除) | `/wdi-autopilot` (`/loop` で駆動される無人ループエンジン) |
|
|
145
|
+
| **ガバナンス & 診断** | `/wdi-help` (コンテキストに応じた現在ゲート案内)<br>`/wdi-explain-to-me` (アーキテクチャ解説)<br>`/wdi-decision` (ADR 意思決定記録)<br>`/wdi-question` (未解決事項トラッカー)<br>`/wdi-log` (活動記録ログ)<br>`/wdi-report` (見積もり & 進捗レポート)<br>`/wdi-reconcile` (コードと文書のドリフト監査)<br>`/wdi-review` (独立ピアレビュー)<br>`/wdi-systematic-debugging` (根本原因調査)<br>`/wdi-upgrade` (コーパススキーマ移行) | アドバイザリーピアレビューおよびセカンドオピニオン |
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## リポジトリ構成と原則
|
|
150
|
+
|
|
151
|
+
```text
|
|
152
|
+
.constitution/
|
|
153
|
+
method/ メソッドエンジン — 更新時に上書きされます。直接編集禁止
|
|
154
|
+
project/ 製品固有のルールやカスタムインベントリリーダー — 更新時も保持
|
|
155
|
+
.control/
|
|
156
|
+
registry/ 信頼できる唯一の情報源 (SSOT): goals.yaml · specs.yaml · components.yaml
|
|
157
|
+
decisions/ 承認された意思決定およびオーナーマンデート (DEC-*.md)
|
|
158
|
+
memlog/ 自律ループの決定を記録する監査台帳 (ledger)
|
|
159
|
+
test-targets/ 物理テスト用テンプレート (desktop.md, web.md, mobile.md)
|
|
160
|
+
.scratch/ 進行中の仕様書ワークスペース (SPEC-*.md とチケット)
|
|
161
|
+
.archive/ RTMリンクを保持した過去の仕様書アーカイブ
|
|
162
|
+
.what/ & .how/ 作業コーパス文書 (PRD, SRS, Blueprint, SDD)
|
|
163
|
+
.what-rendered/ 人間が閲覧するレンダリング済み文書 (validate.py / wdi-report で生成)
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## コントリビューション & 設計思想
|
|
169
|
+
|
|
170
|
+
WDI Methodへの貢献は、常に一つの問いに答えなければなりません: **「この変更はレビュー層の信頼性を高めるか、単に書類を分厚くするだけか?」**
|
|
171
|
+
|
|
172
|
+
### フィクスチャコーパスとローカル検証
|
|
173
|
+
すべてのバリデータおよびフレームワークの変更は、内部のフィクスチャコーパス(`tests/fixture/`)で検証されます。プルリクエストを送信する前にテストスイートを実行してください:
|
|
174
|
+
```bash
|
|
175
|
+
npm test
|
|
176
|
+
```
|
|
177
|
+
テストスイートは、Python PEP 723スクリプト(`validate.py`, `timeline.py`, `lifecycle.py`)、プラットフォーム同期、およびキットの整合性において100%グリーンベースラインを強制します。
|
|
178
|
+
|
|
179
|
+
### パブリック汎用パッケージの規則
|
|
180
|
+
WDI Methodはnpmパブリックレジストリに公開されます。プライベートな顧客名、商用製品名、内部ネットワーク認証情報、ローカルマシンの絶対パスを含めることは固く禁止されています。
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## ライセンス & 商標について
|
|
185
|
+
|
|
186
|
+
- **コードライセンス:** [MIT License](LICENSE) のもとで配布されます。
|
|
187
|
+
- **プライバシーとテレメトリ:** 100% オフラインファースト。テレメトリ、アナリティクス、外部ネットワーク接続は一切ありません([PRIVACY.md](PRIVACY.md) および [SECURITY.md](SECURITY.md) を参照)。
|
|
188
|
+
- **商標について:** 「Wira Delta Indonesia」、「WDI Method」、およびスタジオのブランドモノグラムは PT Wira Delta Indonesia の商標であり、オープンソースコードライセンスとは区別されて保持されます。
|