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.
- package/README.md +58 -16
- package/bin/wdi-method.js +152 -60
- package/kit/.constitution/method/README.md +66 -169
- package/kit/.constitution/{constitution.md → method/constitution.md} +10 -56
- package/kit/.constitution/{document → method/document}/architecture-guide.md +1 -1
- package/kit/.constitution/{document → method/document}/corpus-guide.md +2 -2
- package/kit/.constitution/{document → method/document}/delivery-flow-guide.md +338 -338
- package/kit/.constitution/{document → method/document}/sdd-guide.md +1 -1
- package/kit/.constitution/{document → method/document}/templates/cross-cutting.md +5 -5
- package/kit/.constitution/{document → method/document}/templates/design-system.md +67 -67
- package/kit/.constitution/{document → method/document}/templates/inventory.md +69 -69
- package/kit/.constitution/{document → method/document}/templates/model.md +2 -2
- package/kit/.constitution/{document → method/document}/templates/questions.md +10 -9
- package/kit/.constitution/{document → method/document}/templates/sdd.md +1 -1
- package/kit/.constitution/{document → method/document}/templates/srs.md +2 -2
- package/kit/.constitution/{document → method/document}/templates/structure-codebase.md +129 -129
- package/kit/.constitution/{document → method/document}/templates/structure-document.md +90 -90
- package/kit/.constitution/{language-guide.md → method/language-guide.md} +2 -2
- package/kit/.constitution/{repo-guide.md → method/repo-guide.md} +16 -3
- package/kit/.constitution/{scripts → method/scripts}/inventory.py +102 -100
- package/kit/.constitution/{scripts → method/scripts}/timeline.py +665 -665
- package/kit/.constitution/{scripts → method/scripts}/validate.py +1599 -1579
- package/kit/.constitution/{structure-guide.md → method/structure-guide.md} +3 -3
- package/kit/.constitution/method/why/README.md +169 -0
- package/kit/.constitution/method/{artifact-map.md → why/artifact-map.md} +5 -5
- package/kit/.constitution/method/{rationale.md → why/rationale.md} +5 -5
- package/kit/.constitution/project/constitution.md +63 -0
- package/kit/assets/bmad-custom/bmad-advanced-elicitation.toml +9 -9
- package/kit/assets/bmad-custom/bmad-architecture.toml +33 -31
- package/kit/assets/bmad-custom/bmad-build-auto.toml +5 -5
- package/kit/assets/bmad-custom/bmad-build.toml +52 -52
- package/kit/assets/bmad-custom/bmad-code-review.toml +13 -12
- package/kit/assets/bmad-custom/bmad-correct-course.toml +20 -19
- package/kit/assets/bmad-custom/bmad-deep-recon.toml +12 -11
- package/kit/assets/bmad-custom/bmad-prd.toml +42 -42
- package/kit/assets/bmad-custom/bmad-product-brief.toml +18 -18
- package/kit/assets/bmad-custom/bmad-retrospective.toml +4 -4
- package/kit/assets/bmad-custom/bmad-spec.toml +16 -15
- package/kit/assets/bmad-custom/bmad-ux.toml +19 -19
- package/kit/assets/bmad-custom/config.toml +3 -3
- package/kit/skills/wdi-blueprint/SKILL.md +3 -3
- package/kit/skills/wdi-build/SKILL.md +244 -244
- package/kit/skills/wdi-component/SKILL.md +1 -1
- package/kit/skills/wdi-help/SKILL.md +98 -98
- package/kit/skills/wdi-init/SKILL.md +1 -1
- package/kit/skills/wdi-problem/SKILL.md +90 -90
- package/kit/skills/wdi-product/SKILL.md +127 -127
- package/kit/skills/wdi-reconcile/SKILL.md +2 -2
- package/kit/skills/wdi-report/SKILL.md +205 -205
- package/kit/skills/wdi-systematic-debugging/SKILL.md +193 -193
- package/kit/skills/wdi-ux/SKILL.md +145 -145
- package/kit-overlay/AGENTS.md +20 -20
- package/kit-overlay/README.md +24 -17
- package/kit-overlay/constitution.md +10 -56
- package/kit-overlay/portability.md +6 -6
- package/kit-overlay/repo-guide.md +112 -97
- package/package.json +37 -37
- package/scaffold/.control/product-glossary.md +21 -21
- package/scaffold/.control/project-non-technical-log.md +23 -23
- package/scaffold/.control/questions/answered.md +11 -11
- package/scaffold/.control/questions/assumptions.md +15 -15
- package/scaffold/.control/questions/blocking.md +21 -21
- package/scaffold/.control/questions/external.md +11 -11
- package/scaffold/.control/registry/components.yaml +21 -21
- package/scaffold/.control/registry/defects.yaml +3 -3
- package/scaffold/.control/registry/index.yaml +46 -46
- package/scaffold/.control/registry/requirements.yaml +15 -15
- package/scaffold/.control/registry/risks.yaml +5 -5
- package/scaffold/.control/registry/usecases.yaml +6 -6
- package/kit/.constitution/README.md +0 -66
- /package/kit/.constitution/{document → method/document}/bmad-guide.md +0 -0
- /package/kit/.constitution/{document → method/document}/bmad-skill-register.md +0 -0
- /package/kit/.constitution/{document → method/document}/brief-guide.md +0 -0
- /package/kit/.constitution/{document → method/document}/decision-guide.md +0 -0
- /package/kit/.constitution/{document → method/document}/prd-guide.md +0 -0
- /package/kit/.constitution/{document → method/document}/srs-guide.md +0 -0
- /package/kit/.constitution/{document → method/document}/templates/addendum.md +0 -0
- /package/kit/.constitution/{document → method/document}/templates/architecture-spine.md +0 -0
- /package/kit/.constitution/{document → method/document}/templates/brief.md +0 -0
- /package/kit/.constitution/{document → method/document}/templates/c4.md +0 -0
- /package/kit/.constitution/{document → method/document}/templates/contract.md +0 -0
- /package/kit/.constitution/{document → method/document}/templates/decision.md +0 -0
- /package/kit/.constitution/{document → method/document}/templates/flow.md +0 -0
- /package/kit/.constitution/{document → method/document}/templates/integration.md +0 -0
- /package/kit/.constitution/{document → method/document}/templates/lc.md +0 -0
- /package/kit/.constitution/{document → method/document}/templates/lifecycle.md +0 -0
- /package/kit/.constitution/{document → method/document}/templates/meeting.md +0 -0
- /package/kit/.constitution/{document → method/document}/templates/oq.md +0 -0
- /package/kit/.constitution/{document → method/document}/templates/prd.md +0 -0
- /package/kit/.constitution/{document → method/document}/templates/rtr.md +0 -0
- /package/kit/.constitution/{document → method/document}/templates/rules.md +0 -0
- /package/kit/.constitution/{document → method/document}/templates/scn.md +0 -0
- /package/kit/.constitution/{document → method/document}/templates/uc.md +0 -0
- /package/kit/.constitution/{document → method/document}/templates/ux.md +0 -0
- /package/kit/.constitution/{document → method/document}/ux-guide.md +0 -0
- /package/kit/.constitution/{method-glossary.md → method/method-glossary.md} +0 -0
- /package/kit/.constitution/method/{portability.md → why/portability.md} +0 -0
- /package/kit/.constitution/{codebase/brownfield-guide.md → project/codebase-brownfield-guide.md} +0 -0
- /package/kit/.constitution/{codebase/conventions-guide.md → project/codebase-conventions-guide.md} +0 -0
- /package/kit/.constitution/{codebase/stack-guide.md → project/codebase-stack-guide.md} +0 -0
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
# index.yaml —
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
|
|
6
|
-
#
|
|
7
|
-
# constitution.md
|
|
8
|
-
product:
|
|
9
|
-
name: "{product}"
|
|
10
|
-
client: ""
|
|
11
|
-
|
|
12
|
-
#
|
|
13
|
-
#
|
|
14
|
-
# catalog
|
|
15
|
-
# outline +
|
|
16
|
-
# guarded + Failure Behaviour
|
|
17
|
-
# deep + ABCE, spec
|
|
18
|
-
#
|
|
19
|
-
#
|
|
20
|
-
mode: catalog
|
|
21
|
-
|
|
22
|
-
#
|
|
23
|
-
#
|
|
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: "
|
|
43
|
-
M: { stories: "4-12", note: "
|
|
44
|
-
L: { stories: ">12", note: "
|
|
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
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
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`
|
|
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
|
|
2
|
-
#
|
|
3
|
-
# `critical: true`
|
|
4
|
-
#
|
|
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`.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/kit/.constitution/{codebase/brownfield-guide.md → project/codebase-brownfield-guide.md}
RENAMED
|
File without changes
|
/package/kit/.constitution/{codebase/conventions-guide.md → project/codebase-conventions-guide.md}
RENAMED
|
File without changes
|
|
File without changes
|