dflow-sdd-ddd 0.2.0 → 0.4.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/CHANGELOG.md +971 -0
- package/README.en.md +345 -0
- package/README.md +213 -159
- package/docs/evaluating-dflow.en.md +238 -0
- package/docs/evaluating-dflow.md +94 -151
- package/docs/examples-by-stack.md +516 -0
- package/docs/migrating-to-dflow-v1.md +28 -10
- package/docs/release-versioning-policy.md +13 -0
- package/docs/using-with-claude-code.en.md +210 -0
- package/docs/using-with-claude-code.md +108 -124
- package/docs/using-with-codex.en.md +248 -0
- package/docs/using-with-codex.md +137 -157
- package/docs/using-with-gemini-cli.en.md +200 -0
- package/docs/using-with-gemini-cli.md +184 -0
- package/docs/using-with-github-copilot.en.md +136 -0
- package/docs/using-with-github-copilot.md +177 -0
- package/docs/why-ddd-for-ai.en.md +37 -0
- package/docs/why-ddd-for-ai.md +19 -17
- package/lib/init.js +187 -24
- package/package.json +1 -1
- package/templates/brownfield/scaffolding/AI-AGENT-GUIDE.md +2 -1
- package/templates/brownfield/scaffolding/CLAUDE-md-snippet.md +32 -22
- package/templates/brownfield/scaffolding/Git-principles-gitflow.md +1 -1
- package/templates/brownfield/scaffolding/Git-principles-trunk.md +1 -1
- package/templates/brownfield/scaffolding/_conventions.md +1 -1
- package/templates/brownfield/scaffolding/_overview.md +40 -29
- package/templates/brownfield/templates/CLAUDE.md +26 -18
- package/templates/brownfield/templates/context-definition.md +4 -4
- package/templates/brownfield/templates/context-map.md +1 -1
- package/templates/brownfield/templates/lightweight-spec.md +3 -1
- package/templates/brownfield/templates/models.md +1 -1
- package/templates/brownfield/templates/phase-spec.md +33 -28
- package/templates/brownfield/templates/tech-debt.md +2 -2
- package/templates/greenfield/scaffolding/AI-AGENT-GUIDE.md +2 -1
- package/templates/greenfield/scaffolding/CLAUDE-md-snippet.md +14 -13
- package/templates/greenfield/scaffolding/Git-principles-gitflow.md +2 -2
- package/templates/greenfield/scaffolding/Git-principles-trunk.md +2 -2
- package/templates/greenfield/scaffolding/_conventions.md +1 -1
- package/templates/greenfield/scaffolding/_overview.md +29 -11
- package/templates/greenfield/templates/CLAUDE.md +6 -6
- package/templates/greenfield/templates/phase-spec.md +24 -21
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,977 @@
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+
## 0.4.0 — 2026-05-19 — Language-agnostic templates and skill source
|
|
10
|
+
|
|
11
|
+
**Proposals**:PROPOSAL-030(language-agnostic templates and skill source;
|
|
12
|
+
post-v0.3.0 follow-up; cross-model reviewed with Codex CLI)
|
|
13
|
+
|
|
14
|
+
**變更**:
|
|
15
|
+
|
|
16
|
+
- **`lib/init.js` canonical placeholders + backward-compat aliases**(PROPOSAL-030 Group 1):
|
|
17
|
+
- 新增 canonical placeholders:`{Language}` / `{Framework}` /
|
|
18
|
+
`{Framework version}` / `{ORM / persistence}` / `{ORM version}` /
|
|
19
|
+
`{Mediator}`(與既有 `{Test framework}` 對齊)
|
|
20
|
+
- 既有 .NET-specific placeholder(`{ASP.NET Core version}` /
|
|
21
|
+
`{EF Core version}` / `{MediatR version}` / `{ASP.NET WebForms version}` /
|
|
22
|
+
`{.NET Framework version}` / `{ORM / Data Access}`)保留為 backward-compat
|
|
23
|
+
alias,substitute 同 canonical 值
|
|
24
|
+
- `extractTechStackPlaceholders` regex 擴充:Spring Boot / NestJS /
|
|
25
|
+
Fastify / Express / Django / FastAPI / Flask / Gin / Echo / Laravel
|
|
26
|
+
framework;EF Core / Hibernate / Spring Data JPA / SQLAlchemy /
|
|
27
|
+
Prisma / TypeORM / MikroORM / GORM / Eloquent / Doctrine ORM;JUnit /
|
|
28
|
+
Vitest / Jest / Mocha / pytest / unittest / go test / PHPUnit / Pest
|
|
29
|
+
test framework;C# / TypeScript / JavaScript / Kotlin / Java /
|
|
30
|
+
Python / Go / PHP / Ruby language
|
|
31
|
+
- `detectProjectSignals` 加 `stackHints`(從 `pom.xml` / `package.json` /
|
|
32
|
+
`pyproject.toml` / `go.mod` / `Cargo.toml` / `composer.json` / `Gemfile`
|
|
33
|
+
fingerprint)— **不**自動推 `trackHint`,user 選擇仍主導
|
|
34
|
+
- `printNextSteps` 加 `docs/examples-by-stack.md` pointer
|
|
35
|
+
- **Brownfield skill source + templates language-agnostic**(Group 2 + Group 2 follow-up):
|
|
36
|
+
- `Code-Behind` → umbrella `business logic embedded in delivery/entrypoint
|
|
37
|
+
code`,context 簡寫 `presentation-layer logic` (web/UI/API) 或
|
|
38
|
+
`entrypoint-layer logic` (CLI/batch/pipeline)
|
|
39
|
+
- `ASP.NET Core migration` / `future ASP.NET Core migration` →
|
|
40
|
+
`target architecture`
|
|
41
|
+
- `No System.Web references` → `No delivery-framework references`,明列
|
|
42
|
+
HTTP req/resp、session/cookie、job-runner context、CLI flag parser、
|
|
43
|
+
ViewState equivalents 等多 stack 示例
|
|
44
|
+
- `純 C# class` → `framework-pure class`
|
|
45
|
+
- Layer tag `PAGE` → `DELIVERY`(含 lightweight-spec 的 layer tags
|
|
46
|
+
說明擴及 web/CLI/job/pipeline)
|
|
47
|
+
- SKILL.md 新增 `## Scope: When Dflow Brownfield Applies` 段,明標適用
|
|
48
|
+
business-rule-bearing legacy systems / 不適用純 infra script 或無
|
|
49
|
+
domain model pipeline
|
|
50
|
+
- 目錄樹 `src/Pages/` → `src/Delivery/`(與 umbrella term 對齊)
|
|
51
|
+
- SKILL.md / templates/CLAUDE.md / scaffolding/CLAUDE-md-snippet.md /
|
|
52
|
+
scaffolding/_overview.md 在 directory tree 前加 stack-adapt callout
|
|
53
|
+
- **Greenfield skill source + templates language-agnostic**(Group 3 + Group 3 follow-up):
|
|
54
|
+
- 檔案標題 `# Project — ASP.NET Core + DDD` →
|
|
55
|
+
`# Project — Clean Architecture + DDD`
|
|
56
|
+
- `# X Workflow — ASP.NET Core` → `# X Workflow — Greenfield Clean Architecture`
|
|
57
|
+
- Cross-edition `Same as WebForms version` → `Same as Brownfield edition`
|
|
58
|
+
- `_overview.md` stack table 全用 canonical placeholders
|
|
59
|
+
- `init-project-flow.md` Q2 prompt + substitution table 改 canonical
|
|
60
|
+
- Project Layout `{Project}.Domain` `.NET` 慣例保留 + 加詳細 callout
|
|
61
|
+
列 Java/Spring、Node/TS、Python、Go、PHP/Laravel 對應
|
|
62
|
+
- `PRACTICE_PLAN_tw.md` 開頭加 disclaimer:練習以 .NET 為示例、
|
|
63
|
+
Dflow 本身 language-agnostic
|
|
64
|
+
- Git-principles-{gitflow,trunk} 的 `NuGet dependencies` →
|
|
65
|
+
`external package dependencies`
|
|
66
|
+
- **`docs/examples-by-stack.md` 新增**(Group 4):520 行 public
|
|
67
|
+
appendix,列 7 stack 段(.NET ASP.NET Core greenfield / .NET WebForms
|
|
68
|
+
brownfield / Java Spring Boot / Node TypeScript NestJS / Python FastAPI /
|
|
69
|
+
Go Gin / PHP Laravel),每段:substituted stack table + project
|
|
70
|
+
layout + per-stack domain purity check + test framework + run
|
|
71
|
+
command。`README.md` / `README.en.md` 在 Project Tracks 段加 link。
|
|
72
|
+
- **`planning/init-contract-spec.md` 同步**(Group 1):placeholder
|
|
73
|
+
inventory + alias table + detectProjectSignals stackHints 文件對齊
|
|
74
|
+
|
|
75
|
+
**Breaking / migration notes**:
|
|
76
|
+
|
|
77
|
+
- **無 runtime API 破壞**:v0.3.0 寫入 user project 的 `CLAUDE.md` /
|
|
78
|
+
`_overview.md` 等檔案 Dflow 不會自動覆蓋;backward-compat alias 只保護
|
|
79
|
+
future init 動作的 placeholder 替換不破壞,不主動 migrate 既有檔案
|
|
80
|
+
- 若要對齊新風格,請參考 `docs/examples-by-stack.md` 對既有 init 產出的
|
|
81
|
+
檔案手動修改
|
|
82
|
+
- AI agent 對話中讀 skill source 會自動切到新術語(Code-Behind →
|
|
83
|
+
delivery/entrypoint code、ASP.NET Core migration → target architecture);
|
|
84
|
+
若 user 有自製 prompt / shortcut 用到舊術語,建議同步更新但**不強制**
|
|
85
|
+
|
|
86
|
+
**驗證**:
|
|
87
|
+
|
|
88
|
+
- `npm test`(含新增 Java/Spring Boot greenfield init e2e,assert 不殘留 .NET literals)
|
|
89
|
+
- `scripts/check-repo-consistency.sh`(source ↔ packaged mirror diff clean)
|
|
90
|
+
- 全 repo grep `Code-Behind` / `ASP.NET` / `WebForms` / `NuGet` 在 active skill / template surface 範圍內無殘留(archive/ 與 test fixture 刻意保留)
|
|
91
|
+
|
|
92
|
+
**邊界**:
|
|
93
|
+
|
|
94
|
+
- Tutorial 目錄 `tutorial/**` scenario prose 為教學劇情 artifact,明確
|
|
95
|
+
out of scope(PROPOSAL-030 §影響範圍 已宣告)
|
|
96
|
+
- `test/smoke.mjs` 既有 .NET fixture 保留作為 brownfield init 測試輸入
|
|
97
|
+
- Dist projection 在所有 Group merge 完後一次性 export(Director-only)
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## 0.3.0 — 2026-05-18 — Workflow flow completion, terminology disambiguation, bilingual public docs
|
|
102
|
+
|
|
103
|
+
**Proposals**:PROPOSAL-022(CLI install 推薦路徑)、PROPOSAL-023(line-ending normalization)、PROPOSAL-024(README zh-TW + migration reframing)、PROPOSAL-025(Phase 術語拆解:Step Gate / Activity)、PROPOSAL-026(`/dflow:new-phase` 補 implementation / verification)、PROPOSAL-027(handoff lifecycle,dev-only)、PROPOSAL-028(`docs/*.md` 雙語化)、PROPOSAL-029(tutorial 檔名 align)。
|
|
104
|
+
|
|
105
|
+
**變更**:
|
|
106
|
+
|
|
107
|
+
- **CLI install 推薦路徑改為 `npm install -g dflow-sdd-ddd` + `dflow init`**(PROPOSAL-022);`npx dflow-sdd-ddd init` 降為 labeled alternative。README、`docs/*.md`、scaffolding 模板與 bug template 全部對齊。
|
|
108
|
+
- **`/dflow:new-phase` 從 5-step planning-only flow 擴為 7-step full phase workflow**(PROPOSAL-026),新增 Step 6 implementation / verification 與 Step 7 phase-level completion;phase-spec frontmatter lifecycle `status: in-progress` → `status: completed`。Greenfield / Brownfield `new-phase-flow.md`、兩份 `SKILL.md`、tutorial walkthrough-03 全部同步。
|
|
109
|
+
- **Phase 術語拆解**(PROPOSAL-025):
|
|
110
|
+
- `phase-spec` / `/dflow:new-phase` 保留(user-facing API)
|
|
111
|
+
- **Phase Gate → Step Gate**(Workflow 內 Step ↔ Step 之間的 checkpoint)
|
|
112
|
+
- **Phase 1-5 → Activity N: Name**(SDD 概念活動:Understanding / Domain Modeling / Spec Writing / Implementation Planning / Testing Strategy)
|
|
113
|
+
- **bilingual public docs**(PROPOSAL-024 / 028):
|
|
114
|
+
- `README.md` 改 zh-TW primary,新增 `README.en.md` 英文 alt,兩份頂部都有 language switcher
|
|
115
|
+
- `docs/` 6 份 user-facing docs(`why-ddd-for-ai`、`evaluating-dflow`、`using-with-{claude-code,codex,gemini-cli,github-copilot}`)全部雙語化:`<file>.md` zh-TW + `<file>.en.md` en,含 language switcher 與 outgoing-ref 分流
|
|
116
|
+
- **Tutorial 檔名 align**(PROPOSAL-029):14 份 `walkthrough-*.zh-TW.md` + 3 份 helper 全部去掉語言後綴,落到 `<file>.md`,與 README / docs pattern 統一
|
|
117
|
+
- **line-ending policy**(PROPOSAL-023):新增 `.gitattributes` 以 `* text=auto eol=lf` + `.bat`/`.cmd` CRLF 例外 + 二進位防護
|
|
118
|
+
- **公開 docs 整體 register polish**:README round 2(reframe features around engineer problems + rewrite Documentation Model)、tier 標籤對齊、`using-with-github-copilot.md` register polish
|
|
119
|
+
|
|
120
|
+
**Breaking / migration notes**:
|
|
121
|
+
|
|
122
|
+
- **Phase Gate / Phase 1-5 在 AI agent 對話中已淘汰**。已採用 Dflow 的專案會在下次 AI 助理重新讀 skill 時自動換到新術語(skill source 已更新)。若 user 有自製 prompt / shortcut 用到 "Phase Gate" 或 "Phase 1-5",請改成 "Step Gate" 與 "Activity N: <Name>"。
|
|
123
|
+
- **`/dflow:new-phase` 行為擴展**:原本只寫 phase-spec / refresh `_index.md`,現在會走完 implementation / verification / phase-level completion。既有的 phase-spec 不需 retrofit;新跑的 `/dflow:new-phase` 走新流程。
|
|
124
|
+
- **Tutorial 檔名變動**:若有外部連結指向 `tutorial/0X-*/walkthrough-NN-*.zh-TW.md`,需改為去掉 `.zh-TW` 後綴的版本。tutorial 是教學素材、無 runtime 影響。
|
|
125
|
+
- **CLI install 推薦變更**:舊文件用 `npx dflow-sdd-ddd init` 仍可用,只是 README 與 docs 預設改成全域安裝。
|
|
126
|
+
|
|
127
|
+
**邊界**:
|
|
128
|
+
|
|
129
|
+
- 無 runtime API 破壞:`bin/dflow.js`、`lib/init.js`、`test/smoke.mjs`、scaffolding mirrors 行為向後相容
|
|
130
|
+
- 無 `package.json#files` 變動(`.en.md` 自然透過既有 include 規則進 tarball)
|
|
131
|
+
- PROPOSAL-027(handoff lifecycle)為 dev-only governance,不影響 public 行為
|
|
132
|
+
- `docs/migrating-to-dflow-v1.md` 維持英文且未動內容(PROPOSAL-028 明確 defer 至有 real adopter 或需實質改寫時再翻譯)
|
|
133
|
+
|
|
134
|
+
**驗證**:
|
|
135
|
+
|
|
136
|
+
- `npm test`
|
|
137
|
+
- `npm pack --dry-run`
|
|
138
|
+
- `scripts/check-repo-consistency.sh`
|
|
139
|
+
- `scripts/export-dist.sh --check`
|
|
140
|
+
- `git diff --check`
|
|
141
|
+
|
|
142
|
+
詳見以下 dated entries(按時間倒序)。
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## 2026-05-17 ~ 2026-05-18 — `docs/*.md` 雙語化 (PROPOSAL-028)
|
|
147
|
+
|
|
148
|
+
**變更**:
|
|
149
|
+
|
|
150
|
+
延續 PROPOSAL-024 的 `<file>.md` (zh-TW primary) + `<file>.en.md` (en alternative) pattern,把 `docs/` 下 6 份 user-facing 文件雙語化。每份 doc 一個 commit、Sonnet worker 草譯、Director review。
|
|
151
|
+
|
|
152
|
+
| Commit | Doc | en 行 / zh-TW 行 |
|
|
153
|
+
|---|---|---|
|
|
154
|
+
| `07c1cb9` | `docs/why-ddd-for-ai.md` | 36 / 37 |
|
|
155
|
+
| `0a3ddd5` | `docs/evaluating-dflow.md` | 238 / 169 |
|
|
156
|
+
| `8264ab4` | `docs/using-with-claude-code.md` | 208 / 199 |
|
|
157
|
+
| `4720280` | `docs/using-with-codex.md` | 246 / 226 |
|
|
158
|
+
| `3dfa428` | `docs/using-with-gemini-cli.md` | 198 / 184 |
|
|
159
|
+
| `d065b3f` | `docs/using-with-github-copilot.md` | 136 / 178 |
|
|
160
|
+
|
|
161
|
+
每份 doc 都掛 language switcher(在 H1 後第一行),outgoing refs 依規分流:zh-TW doc 連 `.md` + zh-TW anchor、en doc 連 `.en.md` + en anchor。Anchor 對齊例如 `#init-產生的檔案`、`#workflow-模型`、`#30-分鐘評估-playbook`。README.md 與 README.en.md、`docs/evaluating-dflow.md`(zh+en)、`docs/migrating-to-dflow-v1.md`、`docs/using-with-*.md` 互引、`planning/public-onboarding-tasklist.md` 的 incoming refs 全 sweep 並依語言分流。
|
|
162
|
+
|
|
163
|
+
**Side findings & pre-translation sweeps**(cross-model review 階段 + 翻譯過程中發現並一併處理):
|
|
164
|
+
|
|
165
|
+
- `4023a99`:修 `docs/evaluating-dflow.md:178` tier 標籤倒置(T1 Lightweight / T2 Standard / T3 Full → T1 Heavy / T2 Light / T3 Trivial),對齊 README canonical 排序
|
|
166
|
+
- `3dfa428` 順手:移除 `using-with-gemini-cli.en.md` 殘留章節編號(`## 1. / ## 2. / ...`),對齊其他 3 份 per-tool en docs
|
|
167
|
+
- `82b3da4`:bilingualize 前先 polish `using-with-github-copilot.md` register(headings → Title Case、backtick path mentions → markdown links、合併「(verify with maintainer)」hedges 為單一 footer note)
|
|
168
|
+
- `d065b3f` 順手:補上 `using-with-github-copilot.en.md` 缺的「Tool / Generated shim / Loads canonical guide via」對照表,4 份 per-tool docs 兩語版本完全對稱
|
|
169
|
+
|
|
170
|
+
**Cross-model review**:
|
|
171
|
+
|
|
172
|
+
PROPOSAL-028 起草後(`9da50f6`)走 cross-model review(reviewer 另一個 session)回 `approve with modifications`。所有 modifications 整合進 Proposal 內文(`fffabcb`):scope 收斂為 Option B 分批 commit + Worker 草譯 + Director review、新增 Acceptance criteria 段(強制 pre-translation stale sweep)、新增 Validation 段(dev commit vs dist projection 兩級)、補 outgoing refs 分流規則、補 npm tarball 驗證。
|
|
173
|
+
|
|
174
|
+
**Scope 不含**:
|
|
175
|
+
|
|
176
|
+
- `docs/migrating-to-dflow-v1.md`:deferred(runtime contingency endpoint、Dflow 目前無 user 也無非 OBTS adopter;等真有 adopter 或該檔需實質改寫時再翻譯)。本次只更新它對其他 6 份新雙語 docs 的 outgoing refs 指向 `.en.md` 版本。
|
|
177
|
+
- `docs/npm-publish-checklist.md`、`docs/release-versioning-policy.md`:maintainer-facing、user 是唯一 maintainer,英文 ops 文件對外更直覺,明確不譯。
|
|
178
|
+
|
|
179
|
+
**邊界**:
|
|
180
|
+
|
|
181
|
+
- dev-only;dist projection 留待 user-approved checkpoint
|
|
182
|
+
- 純 public-facing docs;無 lib/、bin/、test/、scaffolding 變動。`package.json` `files`、`scripts/export-dist.sh` `include_paths`、`test/smoke.mjs`、`bin/dflow.js`、`lib/init.js`、scaffolding mirrors **全部未動**(runtime 零衝擊)
|
|
183
|
+
- 不 bump `package.json`、不 `npm publish`、不 `git tag`、不建 GitHub Release
|
|
184
|
+
|
|
185
|
+
**驗證**:
|
|
186
|
+
|
|
187
|
+
- 每份 commit 都驗證 `git diff --check` clean、incoming refs sweep 完整、stale anchor grep 通過
|
|
188
|
+
- npm pack --dry-run(cross-model review 階段):tarball 自然帶入 `.en.md`,`package.json` `files` 不需動
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## 2026-05-17 — Tutorial 檔名與 README/docs 雙語規約對齊 (PROPOSAL-029)
|
|
193
|
+
|
|
194
|
+
**變更**:
|
|
195
|
+
|
|
196
|
+
純機械 cleanup:把 tutorial/ 內三種不一致後綴(`.zh-TW.md`、`_tw.md`、`.md`)統一到 PROPOSAL-024 規約(zh-TW primary 落在 `.md`,`.en.md` 保留給未來英文版)。
|
|
197
|
+
|
|
198
|
+
17 個 `git mv` 去掉語言後綴(commit `edd97fa`):
|
|
199
|
+
|
|
200
|
+
- 14 個 walkthrough:`tutorial/0{1,2}-{greenfield,brownfield}/walkthrough-{00..06}-*.zh-TW.md` → `walkthrough-{00..06}-*.md`
|
|
201
|
+
- 2 個 tutorial-level helpers:`tutorial/dflow-command-surface.zh-TW.md` 與 `tutorial/how-to-read-dflow-specs.zh-TW.md` → 同名 `.md`
|
|
202
|
+
- 1 個離群檔案:`tutorial/DDD_MINDSET_SHIFT_tw.md` → `tutorial/DDD_MINDSET_SHIFT.md`
|
|
203
|
+
|
|
204
|
+
Incoming refs sweep 同 commit:`tutorial/README.md`、所有 rename 後 walkthrough 互連、`docs/evaluating-dflow.md`、`docs/using-with-{claude-code,codex,gemini-cli}.md`、`MAINTAINERS.md`、6 份 `planning/*.md`。
|
|
205
|
+
|
|
206
|
+
**保留不動**:
|
|
207
|
+
|
|
208
|
+
- `tutorial/0X-*/outputs/` 內所有 demo 專案輸出(非雙語化目標)
|
|
209
|
+
- `CHANGELOG.md` 歷史條目(凍結)
|
|
210
|
+
- `archive/**`(archived 內容凍結)
|
|
211
|
+
|
|
212
|
+
**邊界**:
|
|
213
|
+
|
|
214
|
+
- 零 runtime 影響:scaffolding mirrors、`bin/`、`lib/`、`test/`、`scripts/export-dist.sh` 完全不引用 walkthrough 檔名
|
|
215
|
+
- 無翻譯工作(內容語言不變)
|
|
216
|
+
- dev-only;dist projection 留待 user-approved checkpoint
|
|
217
|
+
- 不 bump `package.json`、不 `npm publish`、不 `git tag`、不建 GitHub Release
|
|
218
|
+
|
|
219
|
+
**驗證**:
|
|
220
|
+
|
|
221
|
+
- `git diff --check` clean
|
|
222
|
+
- 殘留 grep(`\.zh-TW\.md\|_tw\.md` 在 `tutorial`、`docs`、`MAINTAINERS.md`):0 命中
|
|
223
|
+
- Git rename detection: 90–100% similarity,17 個全部偵測為 rename
|
|
224
|
+
- 不需 `npm test`(純檔名 cleanup、無 runtime 變動)
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## 2026-05-17 — `/dflow:new-phase` implementation / verification flow (PROPOSAL-026)
|
|
229
|
+
|
|
230
|
+
**變更**:
|
|
231
|
+
|
|
232
|
+
- Greenfield / Brownfield `new-phase-flow.md` 從 5-step planning-only flow 改為 7-step full phase workflow:新增 Step 6 implementation / verification 與 Step 7 phase-level completion。
|
|
233
|
+
- `/dflow:new-phase` 現在明確處理 phase-spec frontmatter lifecycle:Step 4 建檔時 `status: in-progress`,Step 7 完成時 `status: completed`。
|
|
234
|
+
- 兩份 `SKILL.md` 的 command summary、Step Gate positions、Reference Files 與 `Completion Checklist Execution` 已同步,並明確區分 new-phase Step 6 -> 7 是 phase-level completion,不做 BC-level docs sync、不 archive feature directory。
|
|
235
|
+
- README zh-TW / English、round-2 planning note、tutorial command surface 與 walkthrough-03 已同步 7-step 語意;`/dflow:new-phase` 不再被描述成只寫文件。
|
|
236
|
+
- Tutorial supervisor-approval fixture 更新為 completed phase state,phase-spec status 與 tests / Implementation Tasks checkbox 對齊 completed `_index.md`。
|
|
237
|
+
|
|
238
|
+
**邊界**:
|
|
239
|
+
|
|
240
|
+
- Slash command 名稱、`phase-spec-{date}-{slug}.md` 命名、CLI runtime 不變。
|
|
241
|
+
- `/dflow:finish-feature` 仍負責 BC-level `rules.md` / `behavior.md` / `events.md` sync、feature directory archival 與 Integration Summary。
|
|
242
|
+
- Dev-only;dist projection 留待 user-approved checkpoint。
|
|
243
|
+
- 不 bump `package.json`、不 `npm publish`、不 `git tag`、不建 GitHub Release。
|
|
244
|
+
|
|
245
|
+
**驗證**:
|
|
246
|
+
|
|
247
|
+
- `git diff --check`
|
|
248
|
+
- `scripts/check-repo-consistency.sh`
|
|
249
|
+
- Targeted stale-grep for `new-phase` 5-step wording and missing `## Step 7`
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
## 2026-05-15 — Phase terminology disambiguation (PROPOSAL-025)
|
|
254
|
+
|
|
255
|
+
**變更**:
|
|
256
|
+
|
|
257
|
+
Dflow 內部「Phase」一詞之前同時用於三個互不相關的概念,造成 SKILL.md / templates / tutorial 內歧義。本次重命名清理:
|
|
258
|
+
|
|
259
|
+
- **(A) `phase-spec` / `/dflow:new-phase`**(feature 內一次「提案 → 實作 → 歸檔」循環)— **保留**。這是已發佈 v0.2.0 的 user-facing API
|
|
260
|
+
- **(B) Phase Gate → Step Gate**(Workflow 內 Step 與 Step 之間需停下等確認的 checkpoint)— 改名。標準書寫格式:`Step Gate: Step X → Step Y`。與既有 `Step-internal transition` 形成詞根對偶
|
|
261
|
+
- **(C) Phase 1-5 → Activity 1-5**(SDD 概念活動:Understanding / Domain Modeling / Spec Writing / Implementation Planning / Testing Strategy)— 改名。HTML comment 標準格式 `<!-- Fill timing: Activity N: Name -->`(編號 + 名稱,提升 AI 排序與人類可讀性)
|
|
262
|
+
|
|
263
|
+
**檔案範圍**:~30 個檔案、3 個 commit(atomic terminology rename):
|
|
264
|
+
|
|
265
|
+
- `c12f909` Add PROPOSAL-025 proposal (approved, cross-model reviewed by Codex)
|
|
266
|
+
- `f091ffb` (B) Phase Gate → Step Gate in 12 skill source files;連帶 `/dflow:next` 與 Confirmation Signals 的 "next phase" / "next-phase" idiom 改成 "next step" 避免與 (A) 撞詞
|
|
267
|
+
- `f0e7bcf` (C) Phase 1-5 → Activity N: Name in 13 source + packaged mirror files;含 SKILL.md `Guiding Questions by Phase` 段、phase-spec template HTML comments、scaffolding `_conventions.md` 的 CQRS-split convention、references flow 的 `Phase 3 draft sections` checklist item
|
|
268
|
+
- `e287791` Tutorial walkthrough + outputs sync(9 檔)— 逐句判斷 (A)/(B)/(C) 後分別處理。Tutorial outputs 視為 live teaching artifacts(per user 決策 Q1 = A)
|
|
269
|
+
|
|
270
|
+
**保留不動的部分**:
|
|
271
|
+
|
|
272
|
+
- `/dflow:new-phase` 指令名稱、`phase-spec-{date}-{slug}.md` 檔名模式、`templates/phase-spec.md` template 檔名 — 都是 user-facing API
|
|
273
|
+
- `_index.md` 內 `Phase Specs` table 標題、所有 `Phase 1 phase-spec` / `Phase 2+ specs` 衍生用法 — 都屬 (A)
|
|
274
|
+
- `CHANGELOG.md` 內既有條目、`archive/proposals/` — 凍結歷史紀錄
|
|
275
|
+
- `superseded-drafts/` 內檔案 — 已標 superseded,不維護
|
|
276
|
+
- `PRACTICE_PLAN_tw.md` 內 `Phase 1-7`(tutorial 練習章節,第 4 種 Phase 用法)— 加入 disambiguation note;完整重命名(候選名 Module / Practice Session)留作 follow-up
|
|
277
|
+
|
|
278
|
+
**Codex cross-model review**:
|
|
279
|
+
|
|
280
|
+
提案經 Codex 獨立評審,accept with revisions。5 處具體修正全部納入(衍生用法澄清、標準書寫格式、HTML comment 格式、影響範圍補列 9 檔、atomic commit / release notes / 外部相容性配套)。User 拍板 2 個 Open Questions:tutorial outputs 視為 live artifact(Q1=A)、(B) 採 Step Gate(Q2=A)。
|
|
281
|
+
|
|
282
|
+
**邊界**:
|
|
283
|
+
|
|
284
|
+
- 無 CLI / 檔名 / 對外 API 表面變更 — 純文件術語清理
|
|
285
|
+
- dev-only;dist projection 留待下次 user-approved checkpoint
|
|
286
|
+
- 不 bump `package.json`、不 `npm publish`、不 `git tag`、不建 GitHub Release
|
|
287
|
+
- 解鎖 PROPOSAL-024 後續 README polish 第二輪(README workflow 模型段落可用新詞彙改寫)
|
|
288
|
+
|
|
289
|
+
**驗證**:
|
|
290
|
+
|
|
291
|
+
- `scripts/check-repo-consistency.sh` pass(source ↔ packaged mirror diff clean)
|
|
292
|
+
- 全 repo grep 無 `Phase Gate` / `phase gate` 殘留(CHANGELOG 與 PROPOSAL-025 文檔內提及為刻意)
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## 2026-05-15 — Public README zh-TW strategy + migrating-to-v1 reframing (PROPOSAL-024)
|
|
297
|
+
|
|
298
|
+
**變更**:
|
|
299
|
+
|
|
300
|
+
- `README.md` 改為**繁體中文版**(GitHub / npm 預設顯示),新增 `README.en.md` 作為英文版備案
|
|
301
|
+
- 兩份 README 頂部都有 language switcher(粗體 = 當前語言、連結 = 另一語言)
|
|
302
|
+
- 兩份 README 都**移除**舊有的 migration-guide 廣告段(原 `README.md:254-256` 那段「If you maintain a project that adopted an early Dflow form...」)。Dflow 經驗上只有 OBTS 這個唯一 pre-V1 adopter 且已完成遷移;首頁廣告 migration guide 對新 evaluator 是干擾文字
|
|
303
|
+
- `scripts/export-dist.sh` `include_paths` 加 `README.en.md`,確保未來 dist projection 把雙語版都帶過去
|
|
304
|
+
- `docs/migrating-to-dflow-v1.md` 頂部加「Audience reality (2026-05-15)」blockquote,校正讀者期待 — 這篇 doc 仍存在是因為 `dflow doctor` / `dflow init` warning 接過來時需要它,**不是**廣告型 evangelism 文件
|
|
305
|
+
- `MAINTAINERS.md` 新增「README Language Strategy」段,記錄雙語政策
|
|
306
|
+
|
|
307
|
+
**邊界**:
|
|
308
|
+
|
|
309
|
+
- dev-only;dist projection 留待 user-approved checkpoint,與 PROPOSAL-022 / 023 一起 bundle
|
|
310
|
+
- 純 public-facing docs;無 lib/、bin/、test/、scaffolding 變動。`docs/migrating-to-dflow-v1.md` 的 runtime references(doctor、init.js warning、smoke test、scaffolding mirrors)全部保留
|
|
311
|
+
- 不 bump `package.json`、不 `npm publish`、不 `git tag`、不建 GitHub Release
|
|
312
|
+
|
|
313
|
+
**驗證**:
|
|
314
|
+
|
|
315
|
+
- `git diff --check` clean
|
|
316
|
+
- `scripts/check-repo-consistency.sh` pass
|
|
317
|
+
- `npm pack --dry-run`:file list 含 `README.en.md`
|
|
318
|
+
- `test/smoke.mjs` 不受影響(migrating-to-v1 path reference 未動)
|
|
319
|
+
|
|
320
|
+
---
|
|
321
|
+
|
|
322
|
+
## 2026-05-15 — Line-ending policy, dev-side (PROPOSAL-023)
|
|
323
|
+
|
|
324
|
+
**變更**:
|
|
325
|
+
|
|
326
|
+
- 新增 `.gitattributes` line-ending 政策(commit `f7b3cbe`):
|
|
327
|
+
- `* text=auto eol=lf` 規定全 repo 文字檔 LF(含 repo storage 與所有 OS 的 working tree)
|
|
328
|
+
- `*.bat` / `*.cmd` 例外 CRLF(Windows `cmd.exe` 必需)
|
|
329
|
+
- `*.png` / `*.jpg` / `*.pdf` 標記 binary(defensive future-proofing;repo 內目前無此類檔案)
|
|
330
|
+
- `scripts/export-dist.sh` `include_paths` 加 `.gitattributes`(commit `c887b05`,Phase 1.5;resolves Director cross-check Finding 12),確保未來 dist projection 把政策帶過去
|
|
331
|
+
- 一次性 brute-force WT refresh(`git ls-files -z | xargs -0 rm -f && git checkout -- .`)讓 dev 內 336 個 CRLF working-tree 檔對齊 LF。**無 commit 產生** — repo storage 早已是 LF(`autocrlf=true` 歷史),`git add --renormalize .` 是 no-op;只有 WT 不一致
|
|
332
|
+
- `MAINTAINERS.md` 加「Line Endings」段,說明政策、`.bat`/`.cmd` 例外、Windows 個人 `core.autocrlf=input` 建議、`.git-blame-ignore-revs` 未使用的理由與未來啟用步驟
|
|
333
|
+
- `planning/line-ending-finding.md` 加 closeout 註
|
|
334
|
+
|
|
335
|
+
**邊界**:
|
|
336
|
+
|
|
337
|
+
- dev-only;Phase 2(dist projection)留待 user-approved checkpoint,與 PROPOSAL-022 implementation + bug template 等 pending 變更一起 bundle
|
|
338
|
+
- 純 line-ending policy + WT refresh;無 semantic / API / runtime 變化
|
|
339
|
+
- 不 bump `package.json`、不 `npm publish`、不 `git tag`、不建 GitHub Release
|
|
340
|
+
|
|
341
|
+
**驗證**:
|
|
342
|
+
|
|
343
|
+
- `git ls-files --eol | awk '{print $1, $2}' | sort | uniq -c` → 347 `i/lf w/lf` + 3 `i/none w/none`(無 `i/lf w/crlf` 殘留)
|
|
344
|
+
- `scripts/check-repo-consistency.sh` pass
|
|
345
|
+
- `git diff --check` clean
|
|
346
|
+
- `git status` clean after WT refresh
|
|
347
|
+
|
|
348
|
+
---
|
|
349
|
+
|
|
350
|
+
## 2026-05-15 — Archive legacy tutorial drafts
|
|
351
|
+
|
|
352
|
+
**變更**:
|
|
353
|
+
|
|
354
|
+
- 將 14 個 legacy 非 zh-TW tutorial 草稿從 `tutorial/0X-{greenfield,brownfield}/`
|
|
355
|
+
搬到 `archive/tutorial-drafts/0X-{greenfield,brownfield}/`,使用 `git mv` 保留
|
|
356
|
+
rename history(檔案內容不變):
|
|
357
|
+
- greenfield 7 檔(00-setup、01-init-project、02-new-feature、03-new-phase、
|
|
358
|
+
04-modify-existing、05-bug-fix、06-finish-feature)
|
|
359
|
+
- brownfield 7 檔(00-setup、01-init-project、02-modify-existing、
|
|
360
|
+
03-baseline-capture、04-new-feature、05-bug-fix、06-finish-feature)
|
|
361
|
+
- 更新 `archive/README.md`,加入 `archive/tutorial-drafts/` 子目錄說明。
|
|
362
|
+
|
|
363
|
+
**動機**:
|
|
364
|
+
|
|
365
|
+
- zh-TW canonical walkthrough(`tutorial/0X-*/walkthrough-*.zh-TW.md`)已是
|
|
366
|
+
reader-facing 入口;legacy 草稿在公開閱讀流程中已無入口(PROPOSAL-022 Phase 2
|
|
367
|
+
已將 `docs/*.md` 連結重新指向 zh-TW canonical)。
|
|
368
|
+
- `scripts/export-dist.sh` 將 `tutorial/` 整個投影到 dist;legacy 檔留在
|
|
369
|
+
`tutorial/` 內會在 dist projection 時被帶上 dist。搬到已被排除的 `archive/`
|
|
370
|
+
目錄即可保留 dev 歷史、不污染 dist。
|
|
371
|
+
|
|
372
|
+
**邊界**:
|
|
373
|
+
|
|
374
|
+
- 純檔案搬移;無內容變更。
|
|
375
|
+
- `archive/` 已在 `scripts/export-dist.sh` `excluded_stale_paths` 內。
|
|
376
|
+
- 不 bump `package.json`、不 `npm publish`、不 `git tag`、不建 GitHub Release。
|
|
377
|
+
|
|
378
|
+
**驗證**:
|
|
379
|
+
|
|
380
|
+
- `git diff --check`
|
|
381
|
+
- `scripts/check-repo-consistency.sh`
|
|
382
|
+
- `ls tutorial/` 與 `ls archive/tutorial-drafts/` 確認 14 檔搬移完整。
|
|
383
|
+
|
|
384
|
+
---
|
|
385
|
+
|
|
386
|
+
## 2026-05-14 — CLI install recommendation docs update (PROPOSAL-022)
|
|
387
|
+
|
|
388
|
+
**變更**:
|
|
389
|
+
|
|
390
|
+
- 更新 `README.md`:將 `npm install -g dflow-sdd-ddd` + `dflow init` 提升為
|
|
391
|
+
主要安裝路徑;`npx dflow-sdd-ddd` 改為明確標示的「Alternative: try without
|
|
392
|
+
installing」替代路徑,並列出 init / doctor / configure-agents 的 npx 形式。
|
|
393
|
+
- 更新 `tutorial/README.md`、`tutorial/dflow-command-surface.zh-TW.md`、
|
|
394
|
+
`tutorial/01-greenfield/walkthrough-0{0,1,2}-*.zh-TW.md`、
|
|
395
|
+
`tutorial/02-brownfield/walkthrough-0{0,1,6}-*.zh-TW.md`:
|
|
396
|
+
CLI 命令參照從 `npx dflow-sdd-ddd init` 更新為 `dflow init`;
|
|
397
|
+
walkthrough-01 保留一段 npx 替代路徑說明。
|
|
398
|
+
- 更新 `templates/` 與 `sdd-ddd-*-skill/scaffolding/` 四個 mirror pair
|
|
399
|
+
(AI-AGENT-GUIDE.md、CLAUDE-md-snippet.md):install 參照改為 neutral 措辭
|
|
400
|
+
(`dflow init`, or `npx dflow-sdd-ddd init` when using the no-install path)。
|
|
401
|
+
- 更新 `templates/{greenfield,brownfield}/templates/CLAUDE.md` 與
|
|
402
|
+
`sdd-ddd-{green,brown}field-skill/templates/CLAUDE.md` 兩對 mirror pair:
|
|
403
|
+
目錄樹 comment 從「由 npx dflow-sdd-ddd init 寫入」改為「由 dflow init 寫入」。
|
|
404
|
+
- 更新 `docs/evaluating-dflow.md`、`docs/using-with-claude-code.md`、
|
|
405
|
+
`docs/using-with-codex.md`、`docs/using-with-gemini-cli.md`、
|
|
406
|
+
`docs/using-with-github-copilot.md`、`docs/migrating-to-dflow-v1.md`:
|
|
407
|
+
install ordering 對齊新主路徑;重新連結四個 docs 的舊 tutorial 連結至
|
|
408
|
+
zh-TW canonical walkthrough 檔案。
|
|
409
|
+
- 更新 `MAINTAINERS.md`:新增 contributor CLI 使用 `npm link` 的一行說明。
|
|
410
|
+
- `docs/npm-publish-checklist.md`:確認未動,versioned smoke checks 保持不變。
|
|
411
|
+
- `npx dflow-sdd-ddd` 形式繼續有效;本次只是不再作為主要文件路徑推薦。
|
|
412
|
+
|
|
413
|
+
**邊界**:
|
|
414
|
+
|
|
415
|
+
- doc-only;無 `lib/` / `bin/` / `package.json` / skill source 行為變更。
|
|
416
|
+
- dev-only checkpoint;dist projection 待後續 user-approved checkpoint。
|
|
417
|
+
- 不 bump `package.json`、不 `npm publish`、不 `git tag`、不建 GitHub Release。
|
|
418
|
+
|
|
419
|
+
**驗證**:
|
|
420
|
+
|
|
421
|
+
- `git diff --check`
|
|
422
|
+
- `scripts/check-repo-consistency.sh`
|
|
423
|
+
- 手動 grep 分類:`rg -n "npx dflow-sdd-ddd|dflow doctor|dflow configure-agents"`
|
|
424
|
+
|
|
425
|
+
---
|
|
426
|
+
|
|
427
|
+
## 2026-05-14 — Maintainer operational guardrails
|
|
428
|
+
|
|
429
|
+
**變更**:
|
|
430
|
+
|
|
431
|
+
- 更新 `MAINTAINERS.md`,將近期 handoff 中反覆出現的跨任務運作規則制度化:
|
|
432
|
+
commit / push 判斷、依 changed surface 選擇驗證、dist projection cadence、
|
|
433
|
+
tutorial fixture 邊界與 release boundary。
|
|
434
|
+
- 明確規定 docs / tutorial / planning-only 變更不需跑 `npm test`;
|
|
435
|
+
`npm test` 保留給 runtime、CLI、templates、tests、package metadata 或
|
|
436
|
+
release automation 等會影響 package behavior 的變更。
|
|
437
|
+
- 明確規定 tutorial draft 不逐次投影 dist;dist projection 需在
|
|
438
|
+
user-approved checkpoint 或 full tutorial rewrite ready 時進行。
|
|
439
|
+
- 明確規定 `tutorial/**/outputs/` fixture 不因 wording cleanup 或翻譯工作修改;
|
|
440
|
+
若要 rename,必須作為獨立 path-migration checkpoint 處理。
|
|
441
|
+
|
|
442
|
+
**邊界**:
|
|
443
|
+
|
|
444
|
+
- dev-only maintainer guidance;本次不投影 dist。
|
|
445
|
+
- doc-only;無 `lib/` / `templates/` / `bin/` / skill source 變更。
|
|
446
|
+
- 不 bump `package.json`、不 `npm publish`、不 `git tag`、不建 GitHub Release。
|
|
447
|
+
|
|
448
|
+
**驗證**:
|
|
449
|
+
|
|
450
|
+
- `git diff --check`
|
|
451
|
+
|
|
452
|
+
---
|
|
453
|
+
|
|
454
|
+
## 2026-05-14 — Tutorial wording and link-label cleanup
|
|
455
|
+
|
|
456
|
+
**變更**:
|
|
457
|
+
|
|
458
|
+
- 更新 `tutorial/README.md` 開頭說明,移除「API reference」這類不直覺的對比,
|
|
459
|
+
改成直接說明 tutorial 讓讀者透過 Greenfield / Brownfield 劇情理解 Dflow。
|
|
460
|
+
- 將 tutorial walkthrough 內指向其他教學篇章與導讀頁的連結文字,從檔名改為
|
|
461
|
+
reader-facing 篇名,並在段落連結中使用 `〈...〉` 呈現篇名。
|
|
462
|
+
- 將 `how-to-read-dflow-specs.zh-TW.md` 的標題與說明從 `outputs snapshots`
|
|
463
|
+
收斂為「Dflow 規格與完整文件範例」,降低讀者必須理解 repo 內
|
|
464
|
+
`outputs/` 目錄命名的負擔。
|
|
465
|
+
- 更新 walkthrough 開頭的閱讀提示,將 `outputs/` 描述為完整文件範例目前的存放位置。
|
|
466
|
+
- 更新主 `README.md` 的 `Files Created by Init` 目錄樹,加入 tree connector 符號。
|
|
467
|
+
|
|
468
|
+
**邊界**:
|
|
469
|
+
|
|
470
|
+
- dev-only checkpoint;本次不投影 dist。
|
|
471
|
+
- doc-only;無 `lib/` / `templates/` / `bin/` / skill source 變更。
|
|
472
|
+
- 本次不 rename `tutorial/**/outputs/`;該目錄命名需要另行決策。
|
|
473
|
+
- 不 bump `package.json`、不 `npm publish`、不 `git tag`、不建 GitHub Release。
|
|
474
|
+
|
|
475
|
+
**驗證**:
|
|
476
|
+
|
|
477
|
+
- `git diff --check`
|
|
478
|
+
- 手動 grep tutorial walkthrough 中舊式 walkthrough filename labels
|
|
479
|
+
|
|
480
|
+
---
|
|
481
|
+
|
|
482
|
+
## 2026-05-13 — Tutorial README reader-facing labels
|
|
483
|
+
|
|
484
|
+
**變更**:
|
|
485
|
+
|
|
486
|
+
- 更新 `tutorial/README.md`,將「先讀」與 walkthrough 入口的連結文字
|
|
487
|
+
從檔名改成 reader-facing 文件題名。
|
|
488
|
+
- 保留 Greenfield / Brownfield walkthrough 表格形式,並補上「建議順讀、
|
|
489
|
+
但每篇可單篇閱讀」的導覽說明。
|
|
490
|
+
- 將 README 中「正在改寫中的 immersive walkthrough 系列」改為
|
|
491
|
+
`zh-TW immersive walkthrough 系列`,避免過期語氣。
|
|
492
|
+
|
|
493
|
+
**邊界**:
|
|
494
|
+
|
|
495
|
+
- dev-only checkpoint;本次不投影 dist。
|
|
496
|
+
- doc-only;無 `lib/` / `templates/` / `bin/` / skill source 變更。
|
|
497
|
+
- `outputs/` tree 完全未動。
|
|
498
|
+
- 不 bump `package.json`、不 `npm publish`、不 `git tag`、不建 GitHub Release。
|
|
499
|
+
|
|
500
|
+
**驗證**:
|
|
501
|
+
|
|
502
|
+
- `git diff --check`
|
|
503
|
+
- 手動 grep `tutorial/README.md` 中舊式 walkthrough filename labels
|
|
504
|
+
|
|
505
|
+
---
|
|
506
|
+
|
|
507
|
+
## 2026-05-13 — Walkthrough reading-flow cleanup
|
|
508
|
+
|
|
509
|
+
**變更**:
|
|
510
|
+
|
|
511
|
+
- 清理 Greenfield / Brownfield 02-06 user / evaluator-facing walkthrough 的
|
|
512
|
+
reading flow wording,範圍包含:
|
|
513
|
+
`tutorial/01-greenfield/walkthrough-02-new-feature.zh-TW.md` through
|
|
514
|
+
`tutorial/01-greenfield/walkthrough-06-finish-feature.zh-TW.md`,
|
|
515
|
+
以及 `tutorial/02-brownfield/walkthrough-02-modify-existing.zh-TW.md`
|
|
516
|
+
through `tutorial/02-brownfield/walkthrough-06-finish-feature.zh-TW.md`。
|
|
517
|
+
- 將重複的 `final snapshot` 說明收斂成「完整文件範例」與少量情境補充,
|
|
518
|
+
避免每個文件片段都重複解釋 snapshot / excerpt 分工。
|
|
519
|
+
- 將「README feature claims」區塊改成 reader-facing「本篇展示的 Dflow 能力」,
|
|
520
|
+
並把 `Three-layer documentation model` 改成較自然的「三層文件分工」。
|
|
521
|
+
- 保留每篇開頭的自足閱讀提示,讓讀者不必先跳到
|
|
522
|
+
`how-to-read-dflow-specs.zh-TW.md` 才能讀懂單篇 walkthrough。
|
|
523
|
+
|
|
524
|
+
**邊界**:
|
|
525
|
+
|
|
526
|
+
- dev-only checkpoint;本次不投影 dist。
|
|
527
|
+
- doc-only;無 `lib/` / `templates/` / `bin/` / skill source 變更。
|
|
528
|
+
- `outputs/` tree 完全未動。
|
|
529
|
+
- 不 bump `package.json`、不 `npm publish`、不 `git tag`、不建 GitHub Release。
|
|
530
|
+
|
|
531
|
+
**驗證**:
|
|
532
|
+
|
|
533
|
+
- `git diff --check`
|
|
534
|
+
- 手動 grep 02-06 walkthroughs 中的舊式 `final snapshot` /
|
|
535
|
+
`README feature claims` / `Three-layer` wording
|
|
536
|
+
|
|
537
|
+
---
|
|
538
|
+
|
|
539
|
+
## 2026-05-13 — Reader-facing walkthrough wording cleanup
|
|
540
|
+
|
|
541
|
+
**變更**:
|
|
542
|
+
|
|
543
|
+
- 清理 Greenfield / Brownfield `walkthrough-*.zh-TW.md` 的開頭與閱讀提示,
|
|
544
|
+
移除 `00-setup.md`、`02-new-feature.md` 等素材檔引用,避免 user /
|
|
545
|
+
evaluator-facing 文件暴露 maintainer source-material 語境。
|
|
546
|
+
- 將 walkthrough 的 bracketed notes 改為 reader-facing「閱讀提示」,說明
|
|
547
|
+
`outputs/` 連結代表完整 snapshot、正文 excerpt 代表當下重點,並連到
|
|
548
|
+
`how-to-read-dflow-specs.zh-TW.md`。
|
|
549
|
+
- 更新 `tutorial/dflow-command-surface.zh-TW.md`,把舊 step trace links
|
|
550
|
+
改指向公開 walkthrough 入口。
|
|
551
|
+
|
|
552
|
+
**邊界**:
|
|
553
|
+
|
|
554
|
+
- dev-only checkpoint;本次不投影 dist。
|
|
555
|
+
- doc-only;無 `lib/` / `templates/` / `bin/` / skill source 變更。
|
|
556
|
+
- `outputs/` tree 完全未動。
|
|
557
|
+
- 不 bump `package.json`、不 `npm publish`、不 `git tag`、不建 GitHub Release。
|
|
558
|
+
|
|
559
|
+
**驗證**:
|
|
560
|
+
|
|
561
|
+
- `git diff --check`
|
|
562
|
+
- 手動 spot-check walkthrough source-material references
|
|
563
|
+
|
|
564
|
+
---
|
|
565
|
+
|
|
566
|
+
## 2026-05-13 — Dflow specs reading guide
|
|
567
|
+
|
|
568
|
+
**變更**:
|
|
569
|
+
|
|
570
|
+
- 新增 `tutorial/how-to-read-dflow-specs.zh-TW.md`,作為 cross-cutting
|
|
571
|
+
reading guide,說明 walkthrough excerpt 與 `outputs/` final snapshot
|
|
572
|
+
的差別、phase / lightweight / BUG specs、feature `_index.md`、BC layer
|
|
573
|
+
cumulative docs、Brownfield baseline capture 與 `migration/tech-debt.md`
|
|
574
|
+
的讀法。
|
|
575
|
+
- 更新 `tutorial/README.md` 的「先讀」入口,加入 spec / snapshot 讀法導覽。
|
|
576
|
+
- 更新 `planning/immersive-tutorial-suite-plan.md`,把
|
|
577
|
+
`how-to-read-dflow-specs.zh-TW.md` 從候選轉為 accepted cross-cutting
|
|
578
|
+
tutorial。
|
|
579
|
+
|
|
580
|
+
**邊界**:
|
|
581
|
+
|
|
582
|
+
- dev-only checkpoint;本次不投影 dist。
|
|
583
|
+
- doc-only;無 `lib/` / `templates/` / `bin/` / skill source 變更。
|
|
584
|
+
- `outputs/` tree 完全未動;本篇只說明如何閱讀 snapshots。
|
|
585
|
+
- 不 bump `package.json`、不 `npm publish`、不 `git tag`、不建 GitHub Release。
|
|
586
|
+
|
|
587
|
+
**驗證**:
|
|
588
|
+
|
|
589
|
+
- `git diff --check`
|
|
590
|
+
- 手動 spot-check 新增 tutorial link targets
|
|
591
|
+
|
|
592
|
+
---
|
|
593
|
+
|
|
594
|
+
## 2026-05-13 — Setup and init immersive walkthroughs
|
|
595
|
+
|
|
596
|
+
**變更**:
|
|
597
|
+
|
|
598
|
+
- 新增 Greenfield walkthrough 00 / 01:
|
|
599
|
+
`tutorial/01-greenfield/walkthrough-00-setup.zh-TW.md` 與
|
|
600
|
+
`tutorial/01-greenfield/walkthrough-01-init-project.zh-TW.md`,補齊
|
|
601
|
+
Alice / ExpenseTracker 的專案起點、Clean Architecture repo state、
|
|
602
|
+
`npx dflow-sdd-ddd init`、file-list preview、Greenfield baseline
|
|
603
|
+
outputs、AI tool shims,以及 Day-0 不預建 `behavior.md` / ADR 的理由。
|
|
604
|
+
- 新增 Brownfield walkthrough 00 / 01:
|
|
605
|
+
`tutorial/02-brownfield/walkthrough-00-setup.zh-TW.md` 與
|
|
606
|
+
`tutorial/02-brownfield/walkthrough-01-init-project.zh-TW.md`,補齊
|
|
607
|
+
Bob / OrderManager 的 legacy context、WebForms / EF 6 / Stored Procedure
|
|
608
|
+
風險、Brownfield init baseline、`migration/tech-debt.md`、Git Flow 選擇,
|
|
609
|
+
以及 init 不建立 `src/Domain/` 或預設 Order BC 的邊界。
|
|
610
|
+
- 更新 `tutorial/README.md`,讓 Greenfield 與 Brownfield walkthrough path
|
|
611
|
+
都從 00-06 完整列出。
|
|
612
|
+
- 更新 `planning/immersive-tutorial-suite-plan.md`,把 00 / 01 四篇 zh-TW
|
|
613
|
+
walkthrough 加入 accepted pattern。
|
|
614
|
+
|
|
615
|
+
**邊界**:
|
|
616
|
+
|
|
617
|
+
- dev-only checkpoint;本次不投影 dist。
|
|
618
|
+
- doc-only;無 `lib/` / `templates/` / `bin/` / skill source 變更。
|
|
619
|
+
- `outputs/` tree 完全未動;walkthrough 只以連結與內嵌 excerpt 引用。
|
|
620
|
+
- 不 bump `package.json`、不 `npm publish`、不 `git tag`、不建 GitHub Release。
|
|
621
|
+
|
|
622
|
+
**驗證**:
|
|
623
|
+
|
|
624
|
+
- `git diff --check`
|
|
625
|
+
- 手動 spot-check 新增 tutorial link targets
|
|
626
|
+
|
|
627
|
+
---
|
|
628
|
+
|
|
629
|
+
## 2026-05-12 — Greenfield finish-feature immersive walkthrough
|
|
630
|
+
|
|
631
|
+
**變更**:
|
|
632
|
+
|
|
633
|
+
- 新增 `tutorial/01-greenfield/walkthrough-06-finish-feature.zh-TW.md`,
|
|
634
|
+
以中文 canonical walkthrough 展示 Greenfield `/dflow:finish-feature`
|
|
635
|
+
如何收尾 `SPEC-20260428-001-employee-submit-expense`:closeout
|
|
636
|
+
validation、deferred item disposition、status flip、BR-001~007 sync
|
|
637
|
+
到 Expense BC `rules.md`、completed archive、Integration Summary、
|
|
638
|
+
tech-debt preserve,以及 completed feature frozen history 邊界。
|
|
639
|
+
- 更新 `tutorial/README.md` 的 Greenfield walkthrough 表格,連到新的
|
|
640
|
+
finish-feature walkthrough,並將目前狀態更新為 Greenfield 02-06
|
|
641
|
+
與 Brownfield 02-06 zh-TW immersive walkthroughs 已列入索引。
|
|
642
|
+
- 更新 `planning/immersive-tutorial-suite-plan.md`,把 Greenfield
|
|
643
|
+
`walkthrough-06-finish-feature.zh-TW.md` 加入 accepted pattern。
|
|
644
|
+
|
|
645
|
+
**邊界**:
|
|
646
|
+
|
|
647
|
+
- dev-only checkpoint;本次不投影 dist。
|
|
648
|
+
- doc-only;無 `lib/` / `templates/` / `bin/` / skill source 變更。
|
|
649
|
+
- `outputs/` tree 完全未動;walkthrough 只以連結與內嵌 excerpt 引用。
|
|
650
|
+
- 不 bump `package.json`、不 `npm publish`、不 `git tag`、不建 GitHub Release。
|
|
651
|
+
|
|
652
|
+
**驗證**:
|
|
653
|
+
|
|
654
|
+
- `git diff --check`
|
|
655
|
+
- 手動 spot-check 新增 tutorial link targets
|
|
656
|
+
|
|
657
|
+
---
|
|
658
|
+
|
|
659
|
+
## 2026-05-12 — Greenfield bug-fix immersive walkthrough
|
|
660
|
+
|
|
661
|
+
**變更**:
|
|
662
|
+
|
|
663
|
+
- 新增 `tutorial/01-greenfield/walkthrough-05-bug-fix.zh-TW.md`,
|
|
664
|
+
以中文 canonical walkthrough 展示 Greenfield `/dflow:bug-fix`
|
|
665
|
+
如何處理 reject reason emoji surrogate truncation:T2 Light 判定、
|
|
666
|
+
BUG-001 命名、active host feature linkage、Presentation primary /
|
|
667
|
+
Domain secondary layer split、BR-007 wording unchanged、Current BR
|
|
668
|
+
Snapshot intentionally unchanged note,以及 Unicode character counting
|
|
669
|
+
tech debt 分流。
|
|
670
|
+
- 更新 `tutorial/README.md` 的 Greenfield walkthrough 表格,連到新的
|
|
671
|
+
bug-fix walkthrough,並將目前狀態更新為只剩 Greenfield 06 尚未
|
|
672
|
+
改寫。
|
|
673
|
+
- 更新 `planning/immersive-tutorial-suite-plan.md`,把 Greenfield
|
|
674
|
+
`walkthrough-05-bug-fix.zh-TW.md` 加入 accepted pattern。
|
|
675
|
+
|
|
676
|
+
**邊界**:
|
|
677
|
+
|
|
678
|
+
- dev-only checkpoint;本次不投影 dist。
|
|
679
|
+
- doc-only;無 `lib/` / `templates/` / `bin/` / skill source 變更。
|
|
680
|
+
- `outputs/` tree 完全未動;walkthrough 只以連結與內嵌 excerpt 引用。
|
|
681
|
+
- 不 bump `package.json`、不 `npm publish`、不 `git tag`、不建 GitHub Release。
|
|
682
|
+
|
|
683
|
+
**驗證**:
|
|
684
|
+
|
|
685
|
+
- `git diff --check`
|
|
686
|
+
- 手動 spot-check 新增 tutorial link targets
|
|
687
|
+
|
|
688
|
+
---
|
|
689
|
+
|
|
690
|
+
## 2026-05-12 — Greenfield modify-existing immersive walkthrough
|
|
691
|
+
|
|
692
|
+
**變更**:
|
|
693
|
+
|
|
694
|
+
- 新增 `tutorial/01-greenfield/walkthrough-04-modify-existing.zh-TW.md`,
|
|
695
|
+
以中文 canonical walkthrough 展示 Greenfield `/dflow:modify-existing`
|
|
696
|
+
如何把 BR-007 reject reason 從單一 10 字元調整為 bilingual length
|
|
697
|
+
rule:T2 Light 判定、active host feature linkage、completed-feature
|
|
698
|
+
reopen skip、lightweight spec Delta、Current BR Snapshot regenerate、
|
|
699
|
+
`ApprovalReason` Value Object impact,以及 `models.md` / `context.md`
|
|
700
|
+
故意不擴張同步的邊界。
|
|
701
|
+
- 更新 `tutorial/README.md` 的 Greenfield reading path 與 immersive
|
|
702
|
+
walkthrough 區塊,連到新的 modify-existing walkthrough。
|
|
703
|
+
- 更新 `planning/immersive-tutorial-suite-plan.md`,把 Greenfield
|
|
704
|
+
`walkthrough-04-modify-existing.zh-TW.md` 加入 accepted pattern。
|
|
705
|
+
|
|
706
|
+
**邊界**:
|
|
707
|
+
|
|
708
|
+
- dev-only checkpoint;本次不投影 dist。
|
|
709
|
+
- doc-only;無 `lib/` / `templates/` / `bin/` / skill source 變更。
|
|
710
|
+
- `outputs/` tree 完全未動;walkthrough 只以連結與內嵌 excerpt 引用。
|
|
711
|
+
- 不 bump `package.json`、不 `npm publish`、不 `git tag`、不建 GitHub Release。
|
|
712
|
+
|
|
713
|
+
**驗證**:
|
|
714
|
+
|
|
715
|
+
- `git diff --check`
|
|
716
|
+
- 手動 spot-check 新增 tutorial link targets
|
|
717
|
+
|
|
718
|
+
---
|
|
719
|
+
|
|
720
|
+
## 2026-05-11 — Greenfield new-phase immersive walkthrough
|
|
721
|
+
|
|
722
|
+
**變更**:
|
|
723
|
+
|
|
724
|
+
- 新增 `tutorial/01-greenfield/walkthrough-03-new-phase.zh-TW.md`,
|
|
725
|
+
以中文 canonical walkthrough 展示 Greenfield `/dflow:new-phase`
|
|
726
|
+
如何在既有 `SPEC-20260428-001-employee-submit-expense` 內新增
|
|
727
|
+
supervisor approval phase:active feature context loading、phase scope
|
|
728
|
+
confirmation、ApprovalDecision Aggregate 邊界、ADDED / MODIFIED Delta、
|
|
729
|
+
Current BR Snapshot regenerate,以及 living domain docs sync。
|
|
730
|
+
- 更新 `tutorial/README.md` 的 Greenfield reading path 與 immersive
|
|
731
|
+
walkthrough 區塊,連到新的 new-phase walkthrough。
|
|
732
|
+
- 更新 `planning/immersive-tutorial-suite-plan.md`,把 Greenfield
|
|
733
|
+
`walkthrough-03-new-phase.zh-TW.md` 加入 accepted pattern。
|
|
734
|
+
|
|
735
|
+
**邊界**:
|
|
736
|
+
|
|
737
|
+
- dev-only checkpoint;本次不投影 dist。
|
|
738
|
+
- doc-only;無 `lib/` / `templates/` / `bin/` / skill source 變更。
|
|
739
|
+
- `outputs/` tree 完全未動;walkthrough 只以連結與內嵌 excerpt 引用。
|
|
740
|
+
- 不 bump `package.json`、不 `npm publish`、不 `git tag`、不建 GitHub Release。
|
|
741
|
+
|
|
742
|
+
**驗證**:
|
|
743
|
+
|
|
744
|
+
- `git diff --check`
|
|
745
|
+
- 手動 spot-check 新增 tutorial link targets
|
|
746
|
+
|
|
747
|
+
---
|
|
748
|
+
|
|
749
|
+
## 2026-05-11 — Brownfield finish-feature immersive walkthrough
|
|
750
|
+
|
|
751
|
+
**變更**:
|
|
752
|
+
|
|
753
|
+
- 新增 `tutorial/02-brownfield/walkthrough-06-finish-feature.zh-TW.md`,
|
|
754
|
+
以中文 canonical walkthrough 展示 Brownfield `/dflow:finish-feature`
|
|
755
|
+
如何收尾 `SPEC-20260430-001-order-discount-calculation`:closeout
|
|
756
|
+
validation、BR-001~004 sync、BR-005~008 preserve、completed archive、
|
|
757
|
+
Integration Summary、tech-debt sweep,以及 completed feature frozen
|
|
758
|
+
history 邊界。
|
|
759
|
+
- 更新 `tutorial/README.md` 的 Brownfield reading path 與 immersive
|
|
760
|
+
walkthrough 區塊,連到新的 finish-feature walkthrough。
|
|
761
|
+
- 更新 `planning/immersive-tutorial-suite-plan.md`,把 Brownfield
|
|
762
|
+
`walkthrough-06-finish-feature.zh-TW.md` 加入 accepted pattern。
|
|
763
|
+
|
|
764
|
+
**邊界**:
|
|
765
|
+
|
|
766
|
+
- dev-only checkpoint;本次不投影 dist。
|
|
767
|
+
- doc-only;無 `lib/` / `templates/` / `bin/` / skill source 變更。
|
|
768
|
+
- `outputs/` tree 完全未動;walkthrough 只以連結與內嵌 excerpt 引用。
|
|
769
|
+
- 不 bump `package.json`、不 `npm publish`、不 `git tag`、不建 GitHub Release。
|
|
770
|
+
|
|
771
|
+
**驗證**:
|
|
772
|
+
|
|
773
|
+
- `git diff --check`
|
|
774
|
+
- 手動 spot-check 新增 tutorial link targets
|
|
775
|
+
|
|
776
|
+
---
|
|
777
|
+
|
|
778
|
+
## 2026-05-11 — Brownfield bug-fix immersive walkthrough
|
|
779
|
+
|
|
780
|
+
**變更**:
|
|
781
|
+
|
|
782
|
+
- 新增 `tutorial/02-brownfield/walkthrough-05-bug-fix.zh-TW.md`,
|
|
783
|
+
以中文 canonical walkthrough 展示 Brownfield `/dflow:bug-fix`
|
|
784
|
+
如何處理跨頁 rounding inconsistency:T2 Light 判定、BUG-001 命名、
|
|
785
|
+
host feature 歸屬 SPEC-001、`Money.ToDisplay()` implementation contract
|
|
786
|
+
收斂、BR Snapshot intentionally unchanged note,以及 `tech-debt.md`
|
|
787
|
+
resolved disposition。
|
|
788
|
+
- 更新 `tutorial/README.md` 的 Brownfield reading path 與 immersive
|
|
789
|
+
walkthrough 區塊,連到新的 bug-fix walkthrough。
|
|
790
|
+
- 更新 `planning/immersive-tutorial-suite-plan.md`,把 Brownfield
|
|
791
|
+
`walkthrough-05-bug-fix.zh-TW.md` 加入 accepted pattern。
|
|
792
|
+
|
|
793
|
+
**邊界**:
|
|
794
|
+
|
|
795
|
+
- dev-only checkpoint;本次不投影 dist。
|
|
796
|
+
- doc-only;無 `lib/` / `templates/` / `bin/` / skill source 變更。
|
|
797
|
+
- `outputs/` tree 完全未動;walkthrough 只以連結與內嵌 excerpt 引用。
|
|
798
|
+
- 不 bump `package.json`、不 `npm publish`、不 `git tag`、不建 GitHub Release。
|
|
799
|
+
|
|
800
|
+
**驗證**:
|
|
801
|
+
|
|
802
|
+
- `git diff --check`
|
|
803
|
+
- 手動 spot-check 新增 tutorial link targets
|
|
804
|
+
|
|
805
|
+
---
|
|
806
|
+
|
|
807
|
+
## 2026-05-11 — Brownfield new-feature immersive walkthrough
|
|
808
|
+
|
|
809
|
+
**變更**:
|
|
810
|
+
|
|
811
|
+
- 新增 `tutorial/02-brownfield/walkthrough-04-new-feature.zh-TW.md`,
|
|
812
|
+
以中文 canonical walkthrough 展示 Brownfield 已有 Order BC 後如何用
|
|
813
|
+
`/dflow:new-feature` 新增 VIP discount policy,並說明 `isVip * 0.93`
|
|
814
|
+
dead code disposition、Customer reference data 邊界、BR-005~008 與
|
|
815
|
+
既有 BR-001~004 的互動。
|
|
816
|
+
- 更新 `tutorial/README.md` 的 Brownfield reading path 與 immersive
|
|
817
|
+
walkthrough 區塊,連到新的 new-feature walkthrough。
|
|
818
|
+
- 更新 `planning/immersive-tutorial-suite-plan.md`,把 Brownfield
|
|
819
|
+
`walkthrough-04-new-feature.zh-TW.md` 加入 accepted pattern。
|
|
820
|
+
|
|
821
|
+
**邊界**:
|
|
822
|
+
|
|
823
|
+
- dev-only checkpoint;本次不投影 dist。
|
|
824
|
+
- doc-only;無 `lib/` / `templates/` / `bin/` / skill source 變更。
|
|
825
|
+
- `outputs/` tree 完全未動;walkthrough 只以連結與內嵌 excerpt 引用。
|
|
826
|
+
- 不 bump `package.json`、不 `npm publish`、不 `git tag`、不建 GitHub Release。
|
|
827
|
+
|
|
828
|
+
**驗證**:
|
|
829
|
+
|
|
830
|
+
- `git diff --check`
|
|
831
|
+
- 手動 spot-check 新增 tutorial link targets
|
|
832
|
+
|
|
833
|
+
---
|
|
834
|
+
|
|
835
|
+
## 2026-05-10 — Brownfield baseline-capture immersive walkthrough
|
|
836
|
+
|
|
837
|
+
**變更**:
|
|
838
|
+
|
|
839
|
+
- 新增 `tutorial/02-brownfield/walkthrough-03-baseline-capture.zh-TW.md`,
|
|
840
|
+
以中文 canonical walkthrough 展示 baseline-only path:不硬塞 T1 / T2 /
|
|
841
|
+
T3、不改 code、不建 spec、不改 rules,而是把跨頁面 `OrderList` /
|
|
842
|
+
`OrderDetail` 現況分成 confirmed / buggy / unknown 並分流到
|
|
843
|
+
`behavior.md` 與 `tech-debt.md`。
|
|
844
|
+
- 更新 `tutorial/README.md` 的 Brownfield reading path,連到新的
|
|
845
|
+
baseline-capture walkthrough。
|
|
846
|
+
- 更新 `planning/immersive-tutorial-suite-plan.md`,把 Brownfield
|
|
847
|
+
`walkthrough-03-baseline-capture.zh-TW.md` 加入 accepted pattern。
|
|
848
|
+
|
|
849
|
+
**邊界**:
|
|
850
|
+
|
|
851
|
+
- dev-only checkpoint;本次不投影 dist。
|
|
852
|
+
- doc-only;無 `lib/` / `templates/` / `bin/` / skill source 變更。
|
|
853
|
+
- `outputs/` tree 完全未動;walkthrough 只以連結與內嵌 excerpt 引用。
|
|
854
|
+
- 不 bump `package.json`、不 `npm publish`、不 `git tag`、不建 GitHub Release。
|
|
855
|
+
|
|
856
|
+
**驗證**:
|
|
857
|
+
|
|
858
|
+
- `git diff --check`
|
|
859
|
+
- 手動 spot-check 新增 tutorial link targets
|
|
860
|
+
|
|
861
|
+
---
|
|
862
|
+
|
|
863
|
+
## 2026-05-10 — Brownfield modify-existing immersive walkthrough
|
|
864
|
+
|
|
865
|
+
**變更**:
|
|
866
|
+
|
|
867
|
+
- 新增 `tutorial/02-brownfield/walkthrough-02-modify-existing.zh-TW.md`,
|
|
868
|
+
以中文 canonical walkthrough 展示 Brownfield `/dflow:modify-existing`
|
|
869
|
+
如何從 WebForms 客訴進入 T1 判定、無 host feature 時升級為
|
|
870
|
+
`/dflow:new-feature`、捕捉 baseline contrast、建立第一個 Order BC,
|
|
871
|
+
並把折扣計算抽成可測試 Domain logic。
|
|
872
|
+
- 更新 `tutorial/README.md` 的 Brownfield reading path 與 immersive
|
|
873
|
+
walkthrough 區塊,連到新 walkthrough。
|
|
874
|
+
- 更新 `planning/immersive-tutorial-suite-plan.md`,把 Brownfield
|
|
875
|
+
`walkthrough-02-modify-existing.zh-TW.md` 加入 accepted pattern。
|
|
876
|
+
- 更新 `MAINTAINERS.md` 與 active tutorial plan,記錄 tutorial-only
|
|
877
|
+
變更不需要 `npm test`,且 active tutorial rewrite 期間 dev commits
|
|
878
|
+
不必每次投影 dist;等 user-approved tutorial checkpoint 或 full rewrite
|
|
879
|
+
ready 時再 export。
|
|
880
|
+
|
|
881
|
+
**邊界**:
|
|
882
|
+
|
|
883
|
+
- dev-only checkpoint;本次不投影 dist。
|
|
884
|
+
- doc-only;無 `lib/` / `templates/` / `bin/` / skill source 變更。
|
|
885
|
+
- `outputs/` tree 完全未動;walkthrough 只以連結與內嵌 excerpt 引用。
|
|
886
|
+
- 不 bump `package.json`、不 `npm publish`、不 `git tag`、不建 GitHub Release。
|
|
887
|
+
|
|
888
|
+
**驗證**:
|
|
889
|
+
|
|
890
|
+
- `git diff --check`
|
|
891
|
+
- 手動 spot-check 新增 tutorial link targets
|
|
892
|
+
|
|
893
|
+
---
|
|
894
|
+
|
|
895
|
+
## 2026-05-10 — Bilingual immersive tutorial suite
|
|
896
|
+
|
|
897
|
+
**變更**:
|
|
898
|
+
|
|
899
|
+
- 新增 `tutorial/dflow-command-surface.zh-TW.md`,整理現行 Dflow 命令表面:
|
|
900
|
+
`npx dflow-sdd-ddd init` / `dflow doctor` / `dflow configure-agents`
|
|
901
|
+
與 `/dflow:*` AI workflow commands 的分工,並明確列出 workflow /
|
|
902
|
+
phase / closeout / control / verify / review / feedback commands。
|
|
903
|
+
- 新增 `tutorial/01-greenfield/walkthrough-02-new-feature.zh-TW.md`,
|
|
904
|
+
作為第一份中文 canonical immersive walkthrough,展示
|
|
905
|
+
`/dflow:new-feature` 如何從 AI 對話、DDD discovery、phase gate、
|
|
906
|
+
generated document excerpts 走到 implementation task list。
|
|
907
|
+
- 更新 `tutorial/README.md`,移除不存在的 `outputs-tour.md` forward-links,
|
|
908
|
+
改連到已存在的中文 command surface 與 Greenfield walkthrough;Brownfield
|
|
909
|
+
walkthrough 標為後續 incremental work。
|
|
910
|
+
- 新增 `planning/immersive-tutorial-suite-plan.md` 作為目前 tutorial rewrite
|
|
911
|
+
的 active source of truth,記錄 zh-TW first、English adaptation later、
|
|
912
|
+
「讀者」用詞、cross-cutting tutorials、Worker 分工策略。
|
|
913
|
+
- 將 `planning/full-tutorial-rewrite-plan.md` 收斂為 superseded stub,避免
|
|
914
|
+
舊 English-first / `outputs-tour.md` 設計干擾後續 session;歷史細節由 git
|
|
915
|
+
history 保留。
|
|
916
|
+
- 更新 `planning/public-onboarding-tasklist.md` 的 tutorial rewrite 狀態,
|
|
917
|
+
指向新的 immersive tutorial suite plan。
|
|
918
|
+
|
|
919
|
+
**邊界**:
|
|
920
|
+
|
|
921
|
+
- doc-only;無 `lib/` / `templates/` / `bin/` / skill source 變更。
|
|
922
|
+
- `outputs/` tree 完全未動;walkthrough 只以連結與內嵌 excerpt 引用。
|
|
923
|
+
- 不 bump `package.json`、不 `npm publish`、不 `git tag`、不建 GitHub Release。
|
|
924
|
+
|
|
925
|
+
**驗證**:
|
|
926
|
+
|
|
927
|
+
- `git diff --check`
|
|
928
|
+
- `scripts/check-repo-consistency.sh`
|
|
929
|
+
- `scripts/export-dist.sh --dry-run`
|
|
930
|
+
- dist `npm test`
|
|
931
|
+
- dist `npm pack --dry-run`
|
|
932
|
+
- dist `git diff --check`
|
|
933
|
+
|
|
934
|
+
---
|
|
935
|
+
|
|
936
|
+
## 2026-05-09 — Tutorial English-first promotion (full tutorial rewrite Batch 1)
|
|
937
|
+
|
|
938
|
+
**變更**:
|
|
939
|
+
|
|
940
|
+
- `tutorial/README.md` 推升為 English-first canonical entry:
|
|
941
|
+
- 開頭兩段英文 orientation;既有 zh-TW 表格與 `使用方式` 段落移至
|
|
942
|
+
`## 中文導讀` companion section,保留現有內容
|
|
943
|
+
- 新增 `## Two Scenarios` 概述 Greenfield (Alice / ExpenseTracker)
|
|
944
|
+
與 Brownfield (Bob / OrderManager) 適配對象
|
|
945
|
+
- 每條 scenario 新增 `### Reading Order` 段落,每個 step file 一段
|
|
946
|
+
1-2 句英文 plot summary
|
|
947
|
+
- 新增 `### Curated Outputs Tour` 區塊,前向連到尚未存在的
|
|
948
|
+
`01-greenfield/outputs-tour.md` 與 `02-brownfield/outputs-tour.md`
|
|
949
|
+
(由本 rewrite 計畫的 Batch 2 / Batch 3 建立)
|
|
950
|
+
- mermaid workflow chart 保留為 language-neutral,置於英文段內
|
|
951
|
+
- 對 `docs/evaluating-dflow.md`、`docs/using-with-{claude-code,codex}.md`
|
|
952
|
+
與 root `README.md` 採 cross-link,不重述 evaluator playbook /
|
|
953
|
+
per-tool surface / Get Started 內容(per
|
|
954
|
+
`planning/full-tutorial-rewrite-plan.md` Non-duplication guardrails)
|
|
955
|
+
- 14 個 step file 內容未動(English summary header 屬本 rewrite 計畫
|
|
956
|
+
的 Batch 4 / Batch 5 範疇)
|
|
957
|
+
|
|
958
|
+
**邊界**:
|
|
959
|
+
|
|
960
|
+
- doc-only;無 `lib/` / `templates/` / `bin/` / skill source 變更
|
|
961
|
+
- 依 `planning/full-tutorial-rewrite-plan.md` §3.4,本次走 independent
|
|
962
|
+
public docs update:不 bump `package.json`、不 `npm publish`、不
|
|
963
|
+
`git tag`、不建 GitHub Release
|
|
964
|
+
- `outputs/` tree 完全未動(無 file move / delete / rename / 內容修改)
|
|
965
|
+
|
|
966
|
+
**驗證**:
|
|
967
|
+
|
|
968
|
+
- `npm test`
|
|
969
|
+
- `scripts/check-repo-consistency.sh`
|
|
970
|
+
- `scripts/export-dist.sh --check`
|
|
971
|
+
- dist `npm pack --dry-run`
|
|
972
|
+
- `git diff --check`
|
|
973
|
+
- 手動 link spot-check:`../docs/evaluating-dflow.md`、
|
|
974
|
+
`../docs/using-with-claude-code.md`、`../docs/using-with-codex.md`、
|
|
975
|
+
step file paths、`outputs/` tree 連結均可達;`outputs-tour.md` 兩條
|
|
976
|
+
forward-link 為設計性故意,將於 Batch 2 / Batch 3 落地
|
|
977
|
+
|
|
978
|
+
---
|
|
979
|
+
|
|
9
980
|
## 0.2.0 — 2026-05-09 — Public migration tooling, governance baseline, and evaluator onboarding
|
|
10
981
|
|
|
11
982
|
**Proposals**:PROPOSAL-016(governance baseline)、PROPOSAL-017(AI-assisted feedback flow)、PROPOSAL-018(repository consistency)、PROPOSAL-021(verification-only CI)。其餘為 backlog 推進的公開 docs 與 migration tooling 累積項。
|