wdi-method 0.6.0 → 0.6.2

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.
@@ -1,98 +1,98 @@
1
- ---
2
- status: Reference
3
- ---
4
-
5
- # Portability — what is method, what is product
6
-
7
- **Opened when:** carrying a method change into the WDI Method package, or installing
8
- the method in a product repo.
9
-
10
- This file **explains**. It does not bind. Installing is the act, and that act lives in
11
- the WDI Method package README plus `wdi-method` (`install` · `update` · `promote` ·
12
- `verify`). Where this file and that README disagree, the README wins and the
13
- disagreement is a defect.
14
-
15
- It exists so that "promote the method, leave the product" is not a fresh re-reading of
16
- fifty files every time.
17
-
18
- ## The seam
19
-
20
- Most of `.constitution/` is portable as it stands. A handful name **this product**, and in most of
21
- them only an *example* does — not a rule.
22
-
23
- | File | What is this product's | What to do when carrying it |
24
- |---|---|---|
25
- | `../../project/constitution.md` | Articles 1, 2, and 5 | **Rewrite 2 and 5.** Article 1 cites `index.yaml` `product.name`. Articles 3, 4, 6, 7 are NOT here — they are the method's, in `../constitution.md`, and `update` replaces them. `promote` never touches this file: the room is skipped, so the package's copy is a seed and nothing more |
26
- | `../document/architecture-guide.md` | Seed examples of stack and tree shape | Re-point the examples. Every rule around them travels |
27
- | `../document/corpus-guide.md` | Worked examples of `_platform` ownership | Re-point the examples. **Keep both kinds**: they teach the trap better than the rule alone |
28
- | `templates/design-system.md` | The pointer to wherever this project keeps its tokens | Re-point at that project's token file |
29
- | `templates/oq.md` | One example of a bad question title | Cosmetic |
30
-
31
- Everything else — the five gates, the two fields, the sixteen skills, the templates, `validate.py`,
32
- `inventory.py`, `../method-glossary.md`, and the three files beside this one — carries without edit.
33
-
34
- One half-exception, and it is by design: `inventory.py` is the generic engine and carries whole, but
35
- it reads no code itself. The three readers live in `../../project/inventory-readers.py`, which ships
36
- as a skeleton and belongs to the product. A new project runs `wdi-init` intent `readers` once and
37
- rewrites that file, nothing else. No example ships, deliberately — an example is a guess about a
38
- stack nobody here has seen.
39
-
40
- ## What does NOT travel
41
-
42
- | Stays behind | Why |
43
- |---|---|
44
- | `.control/` | This product's state. A new project scaffolds its own through `wdi-init` intent `setup`, or receives empty stubs on first `install` |
45
- | `.what/` · `.how/` | This product's promises and build |
46
- | `.constitution/project/codebase-*-guide.md` | Written by the **project**, not the method. They ship as empty `Draft` stubs |
47
- | `.constitution/project/inventory-readers.py` | How THIS product's code is read. Seeded as a SKELETON — no patterns and no stack. `wdi-init` intent `readers` writes it against the repo in front of it |
48
- | `_bmad-output/` | Run workspace |
49
- | The `bmad-*` skills themselves | BMad's, installed by BMad. Only `_bmad/custom/*.toml` is ours |
50
-
51
- ## What travels beside `.constitution/`
52
-
53
- The method is not `.constitution/` alone. Three sets move together, and carrying one without the
54
- others leaves a method that cannot run:
55
-
56
- | Set | Note |
57
- |---|---|
58
- | `.constitution/` | Minus the product articles; `promote` / `install` handle the seam |
59
- | `.claude/skills/wdi-*/` (and `.agents/skills/wdi-*/` when those agents are selected) | Every wrapper. A wrapper without its guide, or a guide without its wrapper, is half a method |
60
- | `_bmad/custom/*.toml` | The one most likely to be forgotten. `*.user.toml` stays behind |
61
- | `AGENTS.md` | The routing table is the method; from `## Code` down is the product. `install` / `update` MUST NOT overwrite an existing `AGENTS.md` |
62
-
63
- ## Two directions
64
-
65
- ```
66
- a product repo with a newer working copy of the method
67
- --promote-->
68
- WDI Method (this package)
69
- --install / update-->
70
- product repos
71
- ```
72
-
73
- - **Promote** copies the method *up* once it has settled in a working copy.
74
- - **Install / update** copies that snapshot *out* to a repo that consumes it.
75
- - Do not run `update` against a repo you are about to promote from — that would overwrite the newer copy.
76
- - There is no SHA lock and no per-file increment. The snapshot is the unit. The package version on npm / GitHub is the name of that snapshot.
77
-
78
- ## Installing in a fresh repo
79
-
80
- BMad first (`npx bmad-method install`), then WDI Method. There is no numbered install runbook:
81
- the steps that a runbook used to carry are now `wdi-init` intent `setup`. The order the acts come in:
82
-
83
- 1. `npx bmad-method install` in the product repo.
84
- 2. `npx wdi-method install` (optionally `--agents …`).
85
- 3. Set `product.name` in `.control/registry/index.yaml`. Rewrite `../../project/constitution.md` Articles 2 and 5.
86
- 4. Merge the method routing into `AGENTS.md` if that file already existed.
87
- 5. Run `wdi-init` intent `setup`.
88
- 6. Sort what already existed. A file that is already the artifact one slot asks for goes into that
89
- slot through the skill that owns it; everything else goes to `_bmad-output/prior-knowledge/`.
90
- `corpus-guide.md` owns that test.
91
- 7. Then G1 — which confirms `product.name` and writes the brief under that name.
92
-
93
- **Two things a fresh install MUST NOT do:**
94
-
95
- - Set `mode` and `risk_accepted` before the components exist. They are per-component fields, and the
96
- components are born at the tail of G2.
97
- - Fill `.control/generated/` by hand. It is script output, and a hand-written table there is the one
98
- lie no validator catches.
1
+ ---
2
+ status: Reference
3
+ ---
4
+
5
+ # Portability — what is method, what is product
6
+
7
+ **Opened when:** carrying a method change into the WDI Method package, or installing
8
+ the method in a product repo.
9
+
10
+ This file **explains**. It does not bind. Installing is the act, and that act lives in
11
+ the WDI Method package README plus `wdi-method` (`install` · `update` · `promote` ·
12
+ `verify`). Where this file and that README disagree, the README wins and the
13
+ disagreement is a defect.
14
+
15
+ It exists so that "promote the method, leave the product" is not a fresh re-reading of
16
+ fifty files every time.
17
+
18
+ ## The seam
19
+
20
+ Most of `.constitution/` is portable as it stands. A handful name **this product**, and in most of
21
+ them only an *example* does — not a rule.
22
+
23
+ | File | What is this product's | What to do when carrying it |
24
+ |---|---|---|
25
+ | `../../project/constitution.md` | Articles 1, 2, and 5 | **Rewrite 2 and 5.** Article 1 cites `index.yaml` `product.name`. Articles 3, 4, 6, 7 are NOT here — they are the method's, in `../constitution.md`, and `update` replaces them. `promote` never touches this file: the room is skipped, so the package's copy is a seed and nothing more |
26
+ | `../document/architecture-guide.md` | Seed examples of stack and tree shape | Re-point the examples. Every rule around them travels |
27
+ | `../document/corpus-guide.md` | Worked examples of `_platform` ownership | Re-point the examples. **Keep both kinds**: they teach the trap better than the rule alone |
28
+ | `templates/design-system.md` | The pointer to wherever this project keeps its tokens | Re-point at that project's token file |
29
+ | `templates/oq.md` | One example of a bad question title | Cosmetic |
30
+
31
+ Everything else — the five gates, the two fields, the eighteen skills, the templates, `validate.py`,
32
+ `inventory.py`, `../method-glossary.md`, and the three files beside this one — carries without edit.
33
+
34
+ One half-exception, and it is by design: `inventory.py` is the generic engine and carries whole, but
35
+ it reads no code itself. The three readers live in `../../project/inventory-readers.py`, which ships
36
+ as a skeleton and belongs to the product. A new project runs `wdi-init` intent `readers` once and
37
+ rewrites that file, nothing else. No example ships, deliberately — an example is a guess about a
38
+ stack nobody here has seen.
39
+
40
+ ## What does NOT travel
41
+
42
+ | Stays behind | Why |
43
+ |---|---|
44
+ | `.control/` | This product's state. A new project scaffolds its own through `wdi-init` intent `setup`, or receives empty stubs on first `install` |
45
+ | `.what/` · `.how/` | This product's promises and build |
46
+ | `.constitution/project/codebase-*-guide.md` | Written by the **project**, not the method. They ship as empty `Draft` stubs |
47
+ | `.constitution/project/inventory-readers.py` | How THIS product's code is read. Seeded as a SKELETON — no patterns and no stack. `wdi-init` intent `readers` writes it against the repo in front of it |
48
+ | `_bmad-output/` | Run workspace |
49
+ | The `bmad-*` skills themselves | BMad's, installed by BMad. Only `_bmad/custom/*.toml` is ours |
50
+
51
+ ## What travels beside `.constitution/`
52
+
53
+ The method is not `.constitution/` alone. Three sets move together, and carrying one without the
54
+ others leaves a method that cannot run:
55
+
56
+ | Set | Note |
57
+ |---|---|
58
+ | `.constitution/` | Minus the product articles; `promote` / `install` handle the seam |
59
+ | `.claude/skills/wdi-*/` (and `.agents/skills/wdi-*/` when those agents are selected) | Every wrapper. A wrapper without its guide, or a guide without its wrapper, is half a method |
60
+ | `_bmad/custom/*.toml` | The one most likely to be forgotten. `*.user.toml` stays behind |
61
+ | `AGENTS.md` | The routing table is the method; from `## Code` down is the product. `install` / `update` MUST NOT overwrite an existing `AGENTS.md` |
62
+
63
+ ## Two directions
64
+
65
+ ```
66
+ a product repo with a newer working copy of the method
67
+ --promote-->
68
+ WDI Method (this package)
69
+ --install / update-->
70
+ product repos
71
+ ```
72
+
73
+ - **Promote** copies the method *up* once it has settled in a working copy.
74
+ - **Install / update** copies that snapshot *out* to a repo that consumes it.
75
+ - Do not run `update` against a repo you are about to promote from — that would overwrite the newer copy.
76
+ - There is no SHA lock and no per-file increment. The snapshot is the unit. The package version on npm / GitHub is the name of that snapshot.
77
+
78
+ ## Installing in a fresh repo
79
+
80
+ BMad first (`npx bmad-method install`), then WDI Method. There is no numbered install runbook:
81
+ the steps that a runbook used to carry are now `wdi-init` intent `setup`. The order the acts come in:
82
+
83
+ 1. `npx bmad-method install` in the product repo.
84
+ 2. `npx wdi-method install` (optionally `--agents …`).
85
+ 3. Set `product.name` in `.control/registry/index.yaml`. Rewrite `../../project/constitution.md` Articles 2 and 5.
86
+ 4. Merge the method routing into `AGENTS.md` if that file already existed.
87
+ 5. Run `wdi-init` intent `setup`.
88
+ 6. Sort what already existed. A file that is already the artifact one slot asks for goes into that
89
+ slot through the skill that owns it; everything else goes to `_bmad-output/prior-knowledge/`.
90
+ `corpus-guide.md` owns that test.
91
+ 7. Then G1 — which confirms `product.name` and writes the brief under that name.
92
+
93
+ **Two things a fresh install MUST NOT do:**
94
+
95
+ - Set `mode` and `risk_accepted` before the components exist. They are per-component fields, and the
96
+ components are born at the tail of G2.
97
+ - Fill `.control/generated/` by hand. It is script output, and a hand-written table there is the one
98
+ lie no validator catches.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wdi-method",
3
- "version": "0.6.0",
3
+ "version": "0.6.2",
4
4
  "description": "WDI Method — software delivery method that wraps BMad",
5
5
  "type": "module",
6
6
  "bin": {