wdi-method 0.4.5 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/README.md +58 -16
  2. package/bin/wdi-method.js +152 -60
  3. package/kit/.constitution/method/README.md +66 -169
  4. package/kit/.constitution/{constitution.md → method/constitution.md} +10 -56
  5. package/kit/.constitution/{document → method/document}/architecture-guide.md +1 -1
  6. package/kit/.constitution/{document → method/document}/corpus-guide.md +2 -2
  7. package/kit/.constitution/{document → method/document}/delivery-flow-guide.md +338 -338
  8. package/kit/.constitution/{document → method/document}/sdd-guide.md +1 -1
  9. package/kit/.constitution/{document → method/document}/templates/cross-cutting.md +5 -5
  10. package/kit/.constitution/{document → method/document}/templates/design-system.md +67 -67
  11. package/kit/.constitution/{document → method/document}/templates/inventory.md +69 -69
  12. package/kit/.constitution/{document → method/document}/templates/model.md +2 -2
  13. package/kit/.constitution/{document → method/document}/templates/questions.md +10 -9
  14. package/kit/.constitution/{document → method/document}/templates/sdd.md +1 -1
  15. package/kit/.constitution/{document → method/document}/templates/srs.md +2 -2
  16. package/kit/.constitution/{document → method/document}/templates/structure-codebase.md +129 -129
  17. package/kit/.constitution/{document → method/document}/templates/structure-document.md +90 -90
  18. package/kit/.constitution/{language-guide.md → method/language-guide.md} +2 -2
  19. package/kit/.constitution/{repo-guide.md → method/repo-guide.md} +16 -3
  20. package/kit/.constitution/{scripts → method/scripts}/inventory.py +102 -100
  21. package/kit/.constitution/{scripts → method/scripts}/timeline.py +665 -665
  22. package/kit/.constitution/{scripts → method/scripts}/validate.py +1599 -1579
  23. package/kit/.constitution/{structure-guide.md → method/structure-guide.md} +3 -3
  24. package/kit/.constitution/method/why/README.md +169 -0
  25. package/kit/.constitution/method/{artifact-map.md → why/artifact-map.md} +5 -5
  26. package/kit/.constitution/method/{rationale.md → why/rationale.md} +5 -5
  27. package/kit/.constitution/project/constitution.md +63 -0
  28. package/kit/assets/bmad-custom/bmad-advanced-elicitation.toml +9 -9
  29. package/kit/assets/bmad-custom/bmad-architecture.toml +33 -31
  30. package/kit/assets/bmad-custom/bmad-build-auto.toml +5 -5
  31. package/kit/assets/bmad-custom/bmad-build.toml +52 -52
  32. package/kit/assets/bmad-custom/bmad-code-review.toml +13 -12
  33. package/kit/assets/bmad-custom/bmad-correct-course.toml +20 -19
  34. package/kit/assets/bmad-custom/bmad-deep-recon.toml +12 -11
  35. package/kit/assets/bmad-custom/bmad-prd.toml +42 -42
  36. package/kit/assets/bmad-custom/bmad-product-brief.toml +18 -18
  37. package/kit/assets/bmad-custom/bmad-retrospective.toml +4 -4
  38. package/kit/assets/bmad-custom/bmad-spec.toml +16 -15
  39. package/kit/assets/bmad-custom/bmad-ux.toml +19 -19
  40. package/kit/assets/bmad-custom/config.toml +3 -3
  41. package/kit/skills/wdi-blueprint/SKILL.md +3 -3
  42. package/kit/skills/wdi-build/SKILL.md +244 -244
  43. package/kit/skills/wdi-component/SKILL.md +1 -1
  44. package/kit/skills/wdi-help/SKILL.md +98 -98
  45. package/kit/skills/wdi-init/SKILL.md +1 -1
  46. package/kit/skills/wdi-problem/SKILL.md +90 -90
  47. package/kit/skills/wdi-product/SKILL.md +127 -127
  48. package/kit/skills/wdi-reconcile/SKILL.md +2 -2
  49. package/kit/skills/wdi-report/SKILL.md +205 -205
  50. package/kit/skills/wdi-systematic-debugging/SKILL.md +193 -193
  51. package/kit/skills/wdi-ux/SKILL.md +145 -145
  52. package/kit-overlay/AGENTS.md +20 -20
  53. package/kit-overlay/README.md +24 -17
  54. package/kit-overlay/constitution.md +10 -56
  55. package/kit-overlay/portability.md +6 -6
  56. package/kit-overlay/repo-guide.md +112 -97
  57. package/package.json +37 -37
  58. package/scaffold/.control/product-glossary.md +21 -21
  59. package/scaffold/.control/project-non-technical-log.md +23 -23
  60. package/scaffold/.control/questions/answered.md +11 -11
  61. package/scaffold/.control/questions/assumptions.md +15 -15
  62. package/scaffold/.control/questions/blocking.md +21 -21
  63. package/scaffold/.control/questions/external.md +11 -11
  64. package/scaffold/.control/registry/components.yaml +21 -21
  65. package/scaffold/.control/registry/defects.yaml +3 -3
  66. package/scaffold/.control/registry/index.yaml +46 -46
  67. package/scaffold/.control/registry/requirements.yaml +15 -15
  68. package/scaffold/.control/registry/risks.yaml +5 -5
  69. package/scaffold/.control/registry/usecases.yaml +6 -6
  70. package/kit/.constitution/README.md +0 -66
  71. /package/kit/.constitution/{document → method/document}/bmad-guide.md +0 -0
  72. /package/kit/.constitution/{document → method/document}/bmad-skill-register.md +0 -0
  73. /package/kit/.constitution/{document → method/document}/brief-guide.md +0 -0
  74. /package/kit/.constitution/{document → method/document}/decision-guide.md +0 -0
  75. /package/kit/.constitution/{document → method/document}/prd-guide.md +0 -0
  76. /package/kit/.constitution/{document → method/document}/srs-guide.md +0 -0
  77. /package/kit/.constitution/{document → method/document}/templates/addendum.md +0 -0
  78. /package/kit/.constitution/{document → method/document}/templates/architecture-spine.md +0 -0
  79. /package/kit/.constitution/{document → method/document}/templates/brief.md +0 -0
  80. /package/kit/.constitution/{document → method/document}/templates/c4.md +0 -0
  81. /package/kit/.constitution/{document → method/document}/templates/contract.md +0 -0
  82. /package/kit/.constitution/{document → method/document}/templates/decision.md +0 -0
  83. /package/kit/.constitution/{document → method/document}/templates/flow.md +0 -0
  84. /package/kit/.constitution/{document → method/document}/templates/integration.md +0 -0
  85. /package/kit/.constitution/{document → method/document}/templates/lc.md +0 -0
  86. /package/kit/.constitution/{document → method/document}/templates/lifecycle.md +0 -0
  87. /package/kit/.constitution/{document → method/document}/templates/meeting.md +0 -0
  88. /package/kit/.constitution/{document → method/document}/templates/oq.md +0 -0
  89. /package/kit/.constitution/{document → method/document}/templates/prd.md +0 -0
  90. /package/kit/.constitution/{document → method/document}/templates/rtr.md +0 -0
  91. /package/kit/.constitution/{document → method/document}/templates/rules.md +0 -0
  92. /package/kit/.constitution/{document → method/document}/templates/scn.md +0 -0
  93. /package/kit/.constitution/{document → method/document}/templates/uc.md +0 -0
  94. /package/kit/.constitution/{document → method/document}/templates/ux.md +0 -0
  95. /package/kit/.constitution/{document → method/document}/ux-guide.md +0 -0
  96. /package/kit/.constitution/{method-glossary.md → method/method-glossary.md} +0 -0
  97. /package/kit/.constitution/method/{portability.md → why/portability.md} +0 -0
  98. /package/kit/.constitution/{codebase/brownfield-guide.md → project/codebase-brownfield-guide.md} +0 -0
  99. /package/kit/.constitution/{codebase/conventions-guide.md → project/codebase-conventions-guide.md} +0 -0
  100. /package/kit/.constitution/{codebase/stack-guide.md → project/codebase-stack-guide.md} +0 -0
@@ -1,46 +1,46 @@
1
- # index.yaml — peta kendali
2
- #
3
- # Memuat yang tidak punya rumah di registry lain: identitas produk, kedalaman global, peran, jatah
4
- # waktu gate, jatah pertanyaan terbuka, dan kosakata `touches`.
5
-
6
- # IDENTITAS PRODUK. Satu-satunya tempat terstruktur. Diisi di G1.
7
- # constitution.md Pasal 1 dan judul brief mengutip nilai inimereka MUST NOT menjadi sumber kedua.
8
- product:
9
- name: "{product}"
10
- client: ""
11
-
12
- # KEDALAMAN GLOBAL. Satu-satunya knob kedalaman dokumen, dan ia MUST NOT ikut mengendalikan intensitas
13
- # review itu `risk_accepted` per komponen di components.yaml.
14
- # catalog daftar UC + tiga inventaris + C4; nol berkas tambahan per komponen. G4 dilewati
15
- # outline + alur penuh maks 3 UC, business rule lokal, Decision Summary, daftar LC
16
- # guarded + Failure Behaviour seluruh boundary, Inherited Constraints, dokumen integrasi
17
- # deep + ABCE, spec kontrak per endpoint, data dictionary, flow, state machine, skenario
18
- # Default `catalog` bila baris ini tidak ada. Baris per komponen di components.yaml MENANG atas ini.
19
- # Tidak ada scope ketiga: `mode` MUST NOT di-override per wave maupun per SPEC.md.
20
- mode: catalog
21
-
22
- # GATE YANG SUDAH LULUS. Ditulis hanya atas keputusan pemilik repo di gate-nya sendiri, dan MUST NOT
23
- # diisi agent untuk membuka jalan bagi dirinya.
24
- gates_passed: []
25
-
26
- roles: []
27
- # - role: Product Owner
28
- # files: []
29
-
30
- gates:
31
- G1: { name: Problem, stage: 1, budget_minutes: 20 }
32
- G2: { name: Product, stage: 2, budget_minutes: 45 }
33
- G3: { name: Blueprint, stage: 3, budget_minutes: 45 }
34
- G4: { name: Component, stage: 4, budget_minutes: 30 }
35
- G5: { name: Release, stage: 5, budget_minutes: 10 }
36
-
37
- question_budget:
38
- blocking_per_component: 3
39
- assumptions_per_gate: 15
40
-
41
- wave_sizes:
42
- S: { stories: "<=3", note: "tanpa FR baru; G4 dan G5 digabung satu sesi 20 menit" }
43
- M: { stories: "4-12", note: "seperti biasa" }
44
- L: { stories: ">12", note: "atau container baru; retrospektif dijalankan" }
45
-
46
- touches_vocabulary: []
1
+ # index.yaml — the control map
2
+ #
3
+ # Holds what has no home in another registry: product identity, global depth, roles, gate time
4
+ # budgets, the open-question budget, and the `touches` vocabulary.
5
+
6
+ # PRODUCT IDENTITY. The one structured place for it. Filled at G1.
7
+ # constitution.md Article 1 and the brief's title quote this value they MUST NOT become a second source.
8
+ product:
9
+ name: "{product}"
10
+ client: ""
11
+
12
+ # GLOBAL DEPTH. The only document-depth knob, and it MUST NOT also govern review intensity —
13
+ # that is `risk_accepted` per component in components.yaml.
14
+ # catalog UC list + three inventories + C4; zero extra files per component. G4 is skipped
15
+ # outline + full flows for at most 3 UC, local business rules, Decision Summary, LC list
16
+ # guarded + Failure Behaviour for every boundary, Inherited Constraints, integration documents
17
+ # deep + ABCE, a contract spec per endpoint, data dictionary, flow, state machine, scenarios
18
+ # Defaults to `catalog` when this line is absent. A component's own row in components.yaml WINS over this.
19
+ # There is no third scope: `mode` MUST NOT be overridden per wave or per SPEC.md.
20
+ mode: catalog
21
+
22
+ # GATES ALREADY PASSED. Written only by the repo owner's own decision at their own gate, and MUST NOT
23
+ # be filled by an agent to clear its own way forward.
24
+ gates_passed: []
25
+
26
+ roles: []
27
+ # - role: Product Owner
28
+ # files: []
29
+
30
+ gates:
31
+ G1: { name: Problem, stage: 1, budget_minutes: 20 }
32
+ G2: { name: Product, stage: 2, budget_minutes: 45 }
33
+ G3: { name: Blueprint, stage: 3, budget_minutes: 45 }
34
+ G4: { name: Component, stage: 4, budget_minutes: 30 }
35
+ G5: { name: Release, stage: 5, budget_minutes: 10 }
36
+
37
+ question_budget:
38
+ blocking_per_component: 3
39
+ assumptions_per_gate: 15
40
+
41
+ wave_sizes:
42
+ S: { stories: "<=3", note: "no new FR; G4 and G5 merge into one 20-minute session" }
43
+ M: { stories: "4-12", note: "as usual" }
44
+ L: { stories: ">12", note: "or a new container; a retrospective runs" }
45
+
46
+ touches_vocabulary: []
@@ -1,15 +1,15 @@
1
- # requirements.yaml — SSOT untuk BG · CAP · FR · NFR · UJ
2
- #
3
- # Kunci berbahasa Inggris; isi nilainya Bahasa Indonesia.
4
- # Nomor dialokasikan DARI SINI dan MUST NOT dimulai ulang per dokumen, per komponen, atau per rilis.
5
- # Deretnya global untuk satu produk.
6
-
7
- goals: []
8
-
9
- capabilities: []
10
-
11
- functional: []
12
-
13
- nonfunctional: []
14
-
15
- journeys: []
1
+ # requirements.yaml — SSOT for BG · CAP · FR · NFR · UJ
2
+ #
3
+ # Keys are English; prose values follow the product's chosen `doc_language`.
4
+ # Numbers are allocated FROM HERE and MUST NOT restart per document, per component, or per release.
5
+ # The sequence is global to one product.
6
+
7
+ goals: []
8
+
9
+ capabilities: []
10
+
11
+ functional: []
12
+
13
+ nonfunctional: []
14
+
15
+ journeys: []
@@ -1,5 +1,5 @@
1
- # risks.yaml — Risk Register
2
- #
3
- # `pivot_trigger` adalah kondisi terukur yang membuat berbelok atau menyerah jadi tindakan benar.
4
-
5
- risks: []
1
+ # risks.yaml — Risk Register
2
+ #
3
+ # `pivot_trigger` is a measurable condition that makes turning or giving up the right call.
4
+
5
+ risks: []
@@ -1,6 +1,6 @@
1
- # usecases.yaml — SSOT untuk UC
2
- #
3
- # `critical: true` bila UC itu menyentuh UANG, DATA PRIBADI, atau TINDAKAN TAK-TERBALIKKAN.
4
- # Label ini menentukan sesuatu HANYA pada `mode: deep`.
5
-
6
- usecases: []
1
+ # usecases.yaml — SSOT for UC
2
+ #
3
+ # `critical: true` when the UC touches MONEY, PERSONAL DATA, or an IRREVERSIBLE ACTION.
4
+ # This label decides something ONLY at `mode: deep`.
5
+
6
+ usecases: []
@@ -1,66 +0,0 @@
1
- ---
2
- status: Reference
3
- ---
4
-
5
- # `.constitution/` — index
6
-
7
- Method files arrive from the public WDI Method package via `npx wdi-method install`
8
- or `update`. Load [`constitution.md`](constitution.md) before acting. Guides are
9
- loaded **lazily** — only when the task matches, and every guide states when on its
10
- own **Loaded when:** line.
11
-
12
- Every file here carries a `status:` — Article 4 owns the five values. Only `Accepted` binds;
13
- `Reference` explains and MUST NOT be cited to reject a change. A template carries no status of its
14
- own, because its frontmatter belongs to the artifact it produces.
15
-
16
- A file this product added (one that is not in the snapshot) stays here across `update` and MUST be
17
- listed from `constitution.md` Article 2 or from `AGENTS.md` routing — this index is overwritten on
18
- every update.
19
-
20
- ## `method/` — the explanation, `status: Reference`
21
-
22
- Never a rule. When it disagrees with a guide, the guide wins and the disagreement is a defect.
23
-
24
- | File | Opened when |
25
- |---|---|
26
- | [`method/README.md`](method/README.md) | You want the whole shape in five minutes — five gates, two settings, fifteen skills, WDI ↔ BMad |
27
- | [`method/artifact-map.md`](method/artifact-map.md) | "Where does this file go", or "does this document exist at my `mode`" |
28
- | [`method/rationale.md`](method/rationale.md) | Before changing a rule, to know what you would break |
29
- | [`method/portability.md`](method/portability.md) | Which files are the method and which are the product; how promote and install move them |
30
-
31
- ## Cross-domain
32
-
33
- | File | Loaded when |
34
- |---|---|
35
- | [`repo-guide.md`](repo-guide.md) | Adding a file that is neither code nor corpus; the content boundary, `.work/`, cross-repo references |
36
- | [`language-guide.md`](language-guide.md) | Naming anything — a code identifier, a code file, a document file |
37
- | [`method-glossary.md`](method-glossary.md) | Unsure what a method term means — layer, wave, Product Component, ID code |
38
- | [`structure-guide.md`](structure-guide.md) | Writing or checking the two structure maps in `.control/` |
39
-
40
- ## `document/` — document rules
41
-
42
- | File | Governs |
43
- |---|---|
44
- | [`corpus-guide.md`](document/corpus-guide.md) | Where a file lives. Read before the other guides |
45
- | [`delivery-flow-guide.md`](document/delivery-flow-guide.md) | Five gates, `mode`, `risk_accepted`, the gate checklists, units of work, wave size, Fast Path, the story-closing checklist, change control |
46
- | [`bmad-guide.md`](document/bmad-guide.md) | How BMad skills are used here; classes A–D, the read-write map, memlog |
47
- | [`bmad-skill-register.md`](document/bmad-skill-register.md) | The installed BMad skills with the documents each reads and writes |
48
- | [`brief-guide.md`](document/brief-guide.md) · [`prd-guide.md`](document/prd-guide.md) · [`ux-guide.md`](document/ux-guide.md) | The G1 and G2 artifacts |
49
- | [`srs-guide.md`](document/srs-guide.md) · [`sdd-guide.md`](document/sdd-guide.md) | The G3 and G4 artifacts, per Product Component |
50
- | [`architecture-guide.md`](document/architecture-guide.md) | The architecture spine, `AD-N`, C4, and the three inventories |
51
- | [`decision-guide.md`](document/decision-guide.md) | `DEC-`: the one test for recording at all, shape, global numbering, the `draft → accepted → applied` ladder, supersession |
52
- | [`templates/`](document/templates/) | Templates, one per kind of document; they MUST be copied, and MUST NOT be reproduced from memory |
53
-
54
- ## `codebase/` — code rules
55
-
56
- All three are written by the **project**, not the kit. While `Draft`, their contents MAY be read as
57
- guidance but MUST NOT be used to reject a change.
58
-
59
- [`stack-guide.md`](codebase/stack-guide.md) · [`conventions-guide.md`](codebase/conventions-guide.md) · [`brownfield-guide.md`](codebase/brownfield-guide.md)
60
-
61
- ## `scripts/`
62
-
63
- `validate.py` — registry gates and the `.control/generated/` generator. `timeline.py` — the time
64
- dimension from git history. `inventory.py` — derives the three inventories from code and reports the
65
- difference against the plan; it MUST NOT patch either side into agreement. All three run through
66
- `uv run`.