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.
Files changed (41) hide show
  1. package/CHANGELOG.md +971 -0
  2. package/README.en.md +345 -0
  3. package/README.md +213 -159
  4. package/docs/evaluating-dflow.en.md +238 -0
  5. package/docs/evaluating-dflow.md +94 -151
  6. package/docs/examples-by-stack.md +516 -0
  7. package/docs/migrating-to-dflow-v1.md +28 -10
  8. package/docs/release-versioning-policy.md +13 -0
  9. package/docs/using-with-claude-code.en.md +210 -0
  10. package/docs/using-with-claude-code.md +108 -124
  11. package/docs/using-with-codex.en.md +248 -0
  12. package/docs/using-with-codex.md +137 -157
  13. package/docs/using-with-gemini-cli.en.md +200 -0
  14. package/docs/using-with-gemini-cli.md +184 -0
  15. package/docs/using-with-github-copilot.en.md +136 -0
  16. package/docs/using-with-github-copilot.md +177 -0
  17. package/docs/why-ddd-for-ai.en.md +37 -0
  18. package/docs/why-ddd-for-ai.md +19 -17
  19. package/lib/init.js +187 -24
  20. package/package.json +1 -1
  21. package/templates/brownfield/scaffolding/AI-AGENT-GUIDE.md +2 -1
  22. package/templates/brownfield/scaffolding/CLAUDE-md-snippet.md +32 -22
  23. package/templates/brownfield/scaffolding/Git-principles-gitflow.md +1 -1
  24. package/templates/brownfield/scaffolding/Git-principles-trunk.md +1 -1
  25. package/templates/brownfield/scaffolding/_conventions.md +1 -1
  26. package/templates/brownfield/scaffolding/_overview.md +40 -29
  27. package/templates/brownfield/templates/CLAUDE.md +26 -18
  28. package/templates/brownfield/templates/context-definition.md +4 -4
  29. package/templates/brownfield/templates/context-map.md +1 -1
  30. package/templates/brownfield/templates/lightweight-spec.md +3 -1
  31. package/templates/brownfield/templates/models.md +1 -1
  32. package/templates/brownfield/templates/phase-spec.md +33 -28
  33. package/templates/brownfield/templates/tech-debt.md +2 -2
  34. package/templates/greenfield/scaffolding/AI-AGENT-GUIDE.md +2 -1
  35. package/templates/greenfield/scaffolding/CLAUDE-md-snippet.md +14 -13
  36. package/templates/greenfield/scaffolding/Git-principles-gitflow.md +2 -2
  37. package/templates/greenfield/scaffolding/Git-principles-trunk.md +2 -2
  38. package/templates/greenfield/scaffolding/_conventions.md +1 -1
  39. package/templates/greenfield/scaffolding/_overview.md +29 -11
  40. package/templates/greenfield/templates/CLAUDE.md +6 -6
  41. package/templates/greenfield/templates/phase-spec.md +24 -21
@@ -0,0 +1,238 @@
1
+ # Evaluating Dflow
2
+
3
+ > [繁體中文](evaluating-dflow.md) | **English**
4
+
5
+ A short guide for first-time evaluators deciding whether Dflow fits a project.
6
+ About 10 minutes to read, optional 30 minutes to try in a sample project.
7
+
8
+ ## Who This Guide Is For
9
+
10
+ You are deciding whether to introduce Dflow into a codebase. You may be a
11
+ tech lead evaluating workflow changes for an AI-assisted team, a solo
12
+ developer comparing AI coding workflows, or a team member asked to assess
13
+ Dflow before broader adoption.
14
+
15
+ This guide answers the most common evaluation questions in one place. It does
16
+ not replace [`README.md`](../README.en.md) (overview) or [`tutorial/`](../tutorial/)
17
+ (deep walk-throughs); it is a focused decision aid.
18
+
19
+ ## What Is Dflow
20
+
21
+ Dflow is a workflow kit for AI-assisted development. It gives an AI coding
22
+ agent a concrete process for turning change requests into structured specs,
23
+ domain language, and reviewable code, instead of jumping from prompt straight
24
+ to code.
25
+
26
+ Dflow is Markdown-based workflow material plus a scaffolding CLI. It does not
27
+ require a runtime, server, or framework. Once `init` runs, Dflow lives entirely
28
+ in your project's `dflow/specs/` directory and AI instruction files.
29
+
30
+ ## What `init` Creates and Does Not Do
31
+
32
+ `dflow init` (or `npx dflow-sdd-ddd init` on the no-install path) creates:
33
+
34
+ - A `dflow/specs/` workspace (overview, conventions, domain glossary, context
35
+ map, architecture/tech-debt, features active/completed). See
36
+ [`README.md` "Files Created by Init"](../README.en.md#files-created-by-init)
37
+ for the full tree.
38
+ - A canonical project guide at `dflow/specs/shared/AI-AGENT-GUIDE.md`.
39
+ - Mergeable AI agent instruction files for the tools you select (e.g.,
40
+ `CLAUDE.md`, `AGENTS.md`, `GEMINI.md`,
41
+ `.github/copilot-instructions.md`). Each is a thin pointer to the
42
+ canonical guide.
43
+
44
+ `init` does **not**:
45
+
46
+ - Inspect, refactor, or migrate your application code.
47
+ - Overwrite existing AI agent instruction files; if one exists, Dflow writes
48
+ a merge snippet under `dflow/specs/shared/` instead.
49
+ - Modify your build system, package manager, or dependencies.
50
+ - Send any data anywhere; it is a local scaffolding command.
51
+
52
+ ## How Dflow Works With Different AI Tools
53
+
54
+ Dflow targets multiple AI coding agents. After running `init`, you select one
55
+ or more tools and Dflow writes the corresponding shim:
56
+
57
+ | Tool | Generated file |
58
+ |---|---|
59
+ | Codex / Copilot coding agent | `AGENTS.md` |
60
+ | Claude Code | `CLAUDE.md` |
61
+ | Gemini CLI | `GEMINI.md` |
62
+ | GitHub Copilot | `.github/copilot-instructions.md` |
63
+
64
+ Each shim points back to the canonical
65
+ `dflow/specs/shared/AI-AGENT-GUIDE.md`. Practical implications:
66
+
67
+ - Multiple tools can be active in the same project without diverging
68
+ workflow rules.
69
+ - Switching or adding tools later does not require re-running `init`; use
70
+ run `dflow configure-agents` to add another shim.
71
+ - The project guide stays the single source of truth for Dflow workflow
72
+ behavior.
73
+
74
+ If your tool does not support custom slash commands, use the same command
75
+ names (e.g., `/dflow:new-feature`) as plain instructions in chat. Dflow is
76
+ Markdown-based workflow material; it works with any AI agent that can read
77
+ project instructions and repository context.
78
+
79
+ For a tool-specific walk-through of what `init` writes and how the slash
80
+ commands appear in conversation, see the per-tool guides:
81
+
82
+ - [Using Dflow with Claude Code](using-with-claude-code.en.md)
83
+ - [Using Dflow with Codex CLI](using-with-codex.en.md)
84
+ - [Using Dflow with Gemini CLI](using-with-gemini-cli.en.md)
85
+ - [Using Dflow with GitHub Copilot](using-with-github-copilot.en.md)
86
+
87
+ ## Greenfield or Brownfield: Choosing a Track
88
+
89
+ Pick **Greenfield** if:
90
+
91
+ - You are starting a new system or a new bounded module.
92
+ - You have room to shape architecture before legacy constraints accumulate.
93
+ - You want explicit domain models from feature 1.
94
+
95
+ Pick **Brownfield** if:
96
+
97
+ - You are extending or modifying an existing codebase.
98
+ - Business rules are scattered across handlers, stored procedures, UI code,
99
+ or scripts.
100
+ - You want to introduce specs and domain extraction incrementally without
101
+ refactoring everything first.
102
+
103
+ Mixed cases:
104
+
105
+ - New module inside an existing app: usually Greenfield, scoped to the new
106
+ bounded context.
107
+ - Existing app with clean architecture and active development: either track
108
+ works; Brownfield is safer if rules are not yet documented.
109
+
110
+ ## A 30-Minute Evaluation Playbook
111
+
112
+ This walk-through lets you see what Dflow does without committing it to a
113
+ real codebase.
114
+
115
+ 1. **Create a sample project** (Greenfield):
116
+
117
+ ```bash
118
+ mkdir dflow-sample && cd dflow-sample
119
+ git init
120
+ ```
121
+
122
+ 2. **Install and run init**:
123
+
124
+ ```bash
125
+ npm install -g dflow-sdd-ddd
126
+ dflow init
127
+ ```
128
+
129
+ If you prefer not to install globally, use `npx dflow-sdd-ddd init`
130
+ instead. When prompted, choose Greenfield. Pick one AI tool to generate
131
+ the shim for.
132
+
133
+ 3. **Inspect what was created**:
134
+
135
+ ```bash
136
+ ls -la
137
+ find dflow -type f
138
+ ```
139
+
140
+ Open `dflow/specs/shared/_overview.md`,
141
+ `dflow/specs/shared/_conventions.md`, and
142
+ `dflow/specs/shared/AI-AGENT-GUIDE.md` to see the shape.
143
+
144
+ 4. **Read one tutorial walk-through** to see what a real feature flow looks
145
+ like end to end:
146
+ - Greenfield: [`tutorial/01-greenfield/`](../tutorial/01-greenfield/walkthrough-00-setup.md)
147
+ - Brownfield: [`tutorial/02-brownfield/`](../tutorial/02-brownfield/walkthrough-00-setup.md)
148
+
149
+ 5. **Optional: try one workflow command**. Open the sample project in your
150
+ AI tool and ask it to run `/dflow:new-feature` (or paste the equivalent
151
+ instruction in chat). Inspect what it writes to `dflow/specs/`.
152
+
153
+ 6. **Decide and clean up**. If Dflow does not fit, delete the sample
154
+ directory. There is no global state to clean; nothing was installed
155
+ beyond the one-shot `npx` cache.
156
+
157
+ If you want a deeper read instead of running anything, the tutorial
158
+ walk-throughs cover the same flow with worked outputs you can compare
159
+ against.
160
+
161
+ ## What If You Stop Using Dflow
162
+
163
+ Dflow is designed for low cost to try and low cost to leave:
164
+
165
+ - Nothing depends on the `dflow-sdd-ddd` CLI being installed after `init`.
166
+ - The generated files are plain Markdown; remove Dflow from a project with
167
+ `rm -rf dflow/` plus deleting the AI agent shim files you no longer want.
168
+ - Existing project instruction files (e.g., a pre-existing `CLAUDE.md`) are
169
+ not modified by Dflow, so reverting is straightforward.
170
+
171
+ This means an evaluation pass leaves no permanent footprint if you decide
172
+ not to adopt.
173
+
174
+ ## Cost Per Feature: A Rough Estimate
175
+
176
+ Dflow scales ceremony to change risk through three tiers (see
177
+ [`README.md` "Workflow Model"](../README.en.md#workflow-model) for full
178
+ detail):
179
+
180
+ - **T1 Heavy** — new features, new phases, new Aggregates or Bounded
181
+ Contexts, architecture changes, new business rules. A full phase-spec
182
+ with domain modeling, behavior examples, an implementation plan, and
183
+ verification + finish checks. The cost is real but proportional to
184
+ the risk being managed.
185
+ - **T2 Light** — bug fixes (logic errors), UI verification adjustments,
186
+ small changes with a business-rule delta. A lightweight spec, focused
187
+ verification, and confirmation that the fix lands in the correct
188
+ architectural layer.
189
+ - **T3 Trivial** — button colors, copy typos, pure formatting — **no
190
+ business-rule, Domain, or data-structure changes**. One line in
191
+ `_index.md`; no separate spec file.
192
+
193
+ Tier choice is not always manual: `/dflow:new-feature` and
194
+ `/dflow:new-phase` default to T1; `/dflow:modify-existing` and
195
+ `/dflow:bug-fix` let the AI judge T1/T2/T3 based on what is actually
196
+ changing. Pure typo / formatting commits (e.g., `prettier`,
197
+ `dotnet format`) can skip Dflow entirely and just `git commit` — Dflow
198
+ is for changes with business semantics or structural impact.
199
+
200
+ ## Project Language Compatibility
201
+
202
+ Dflow templates use **canonical English** structure (headings, field labels)
203
+ so AI agents can locate sections reliably across projects. The free-form
204
+ content you write inside templates can be in any team language — English,
205
+ Traditional Chinese, Simplified Chinese, or others. The init flow asks for
206
+ the project's prose language and stores it in
207
+ `dflow/specs/shared/_conventions.md`.
208
+
209
+ Practical effect:
210
+
211
+ - AI tools see stable English structure across projects.
212
+ - Humans read and write specs in the team's chosen language.
213
+ - No need to translate templates or maintain parallel localized copies.
214
+
215
+ ## Where to Go Next
216
+
217
+ If you decided Dflow fits:
218
+
219
+ - Run `init` in your real project (consider a branch first).
220
+ - Read [`tutorial/`](../tutorial/) for end-to-end walk-throughs and worked
221
+ outputs.
222
+ - See [`CONTRIBUTING.md`](../CONTRIBUTING.md) before opening issues or
223
+ pull requests.
224
+
225
+ If you are still deciding:
226
+
227
+ - Read [`docs/why-ddd-for-ai.en.md`](why-ddd-for-ai.en.md) for the design
228
+ rationale behind spec-first plus DDD.
229
+ - Compare a tutorial scenario step-by-step with its `outputs/` tree to see
230
+ what production-shape Dflow specs look like.
231
+
232
+ If Dflow does not fit your project today:
233
+
234
+ - The structured-spec idea is portable; you can adopt parts of it without
235
+ the CLI.
236
+ - Open a docs feedback issue (see
237
+ [`CONTRIBUTING.md`](../CONTRIBUTING.md)) if a specific gap blocked you.
238
+ That feedback helps future evaluators.
@@ -1,226 +1,169 @@
1
- # Evaluating Dflow
1
+ # 評估 Dflow
2
2
 
3
- A short guide for first-time evaluators deciding whether Dflow fits a project.
4
- About 10 minutes to read, optional 30 minutes to try in a sample project.
3
+ > **繁體中文** | [English](evaluating-dflow.en.md)
5
4
 
6
- ## Who This Guide Is For
5
+ 首次評估 Dflow 是否適合專案的簡明指引。
6
+ 閱讀約需 10 分鐘;可選擇再花 30 分鐘在範例專案中實際試用。
7
7
 
8
- You are deciding whether to introduce Dflow into a codebase. You may be a
9
- tech lead evaluating workflow changes for an AI-assisted team, a solo
10
- developer comparing AI coding workflows, or a team member asked to assess
11
- Dflow before broader adoption.
8
+ ## 本指引的適用對象
12
9
 
13
- This guide answers the most common evaluation questions in one place. It does
14
- not replace [`README.md`](../README.md) (overview) or [`tutorial/`](../tutorial/)
15
- (deep walk-throughs); it is a focused decision aid.
10
+ 你正在評估是否要在一個 codebase 中引入 Dflow。你可能是正在評估 AI 輔助團隊 workflow 變更的技術主管、比較各種 AI 開發 workflow 的獨立開發者,或是在更廣泛採用前受指派評估 Dflow 的團隊成員。
16
11
 
17
- ## What Is Dflow
12
+ 本指引把最常見的評估問題彙整在一處。它不取代
13
+ [`README.md`](../README.md)(概覽)或 [`tutorial/`](../tutorial/)
14
+ (深度 walk-through);它是一份聚焦的決策輔助文件。
18
15
 
19
- Dflow is a workflow kit for AI-assisted development. It gives an AI coding
20
- agent a concrete process for turning change requests into structured specs,
21
- domain language, and reviewable code, instead of jumping from prompt straight
22
- to code.
16
+ ## Dflow 是什麼
23
17
 
24
- Dflow is Markdown-based workflow material plus a scaffolding CLI. It does not
25
- require a runtime, server, or framework. Once `init` runs, Dflow lives entirely
26
- in your project's `dflow/specs/` directory and AI instruction files.
18
+ Dflow 是一套 AI 輔助開發的 workflow 工具集。它為 AI 程式設計助理提供具體流程,把變更需求轉成結構化規格、領域語言、與可審查的程式碼,而不是從 prompt 直接跳到程式碼。
27
19
 
28
- ## What `init` Creates and Does Not Do
20
+ Dflow 是 Markdown-based 的 workflow 材料加上一個 scaffolding CLI。它不需要任何 runtime、server 或 framework。`init` 跑完之後,Dflow 完全存在於你的專案的 `dflow/specs/` 目錄與 AI 指示檔中。
29
21
 
30
- `npx dflow-sdd-ddd init` creates:
22
+ ## `init` 產生什麼、不做什麼
31
23
 
32
- - A `dflow/specs/` workspace (overview, conventions, domain glossary, context
33
- map, architecture/tech-debt, features active/completed). See
34
- [`README.md` "Files Created by Init"](../README.md#files-created-by-init)
35
- for the full tree.
36
- - A canonical project guide at `dflow/specs/shared/AI-AGENT-GUIDE.md`.
37
- - Mergeable AI agent instruction files for the tools you select (e.g.,
38
- `CLAUDE.md`, `AGENTS.md`, `GEMINI.md`,
39
- `.github/copilot-instructions.md`). Each is a thin pointer to the
40
- canonical guide.
24
+ `dflow init`(或免安裝路徑的 `npx dflow-sdd-ddd init`)會建立:
41
25
 
42
- `init` does **not**:
26
+ - `dflow/specs/` workspace(概覽、慣例、領域詞彙表、context map、架構 / 技術債、功能 active/completed)。完整目錄樹見
27
+ [`README.md` "Init 產生的檔案"](../README.md#init-產生的檔案)。
28
+ - 位於 `dflow/specs/shared/AI-AGENT-GUIDE.md` 的 canonical 專案指南。
29
+ - 你所選工具的可合併 AI 指示檔(例如 `CLAUDE.md`、`AGENTS.md`、`GEMINI.md`、`.github/copilot-instructions.md`)。每個都是指向 canonical 指南的薄 shim。
43
30
 
44
- - Inspect, refactor, or migrate your application code.
45
- - Overwrite existing AI agent instruction files; if one exists, Dflow writes
46
- a merge snippet under `dflow/specs/shared/` instead.
47
- - Modify your build system, package manager, or dependencies.
48
- - Send any data anywhere; it is a local scaffolding command.
31
+ `init` **不會**:
49
32
 
50
- ## How Dflow Works With Different AI Tools
33
+ - 檢查、重構、或遷移你的應用程式碼。
34
+ - 覆寫既有的 AI 指示檔;若檔案已存在,Dflow 改在 `dflow/specs/shared/` 下寫入 merge snippet。
35
+ - 修改你的建構系統、套件管理工具、或相依套件。
36
+ - 傳送任何資料到外部;它是本機的 scaffolding 指令。
51
37
 
52
- Dflow targets multiple AI coding agents. After running `init`, you select one
53
- or more tools and Dflow writes the corresponding shim:
38
+ ## Dflow 如何與不同 AI 工具協作
54
39
 
55
- | Tool | Generated file |
40
+ Dflow 支援多種 AI 程式設計助理。跑完 `init` 後,你選取一個或多個工具,Dflow 就會寫入對應的 shim:
41
+
42
+ | 工具 | 產生的檔案 |
56
43
  |---|---|
57
44
  | Codex / Copilot coding agent | `AGENTS.md` |
58
45
  | Claude Code | `CLAUDE.md` |
59
46
  | Gemini CLI | `GEMINI.md` |
60
47
  | GitHub Copilot | `.github/copilot-instructions.md` |
61
48
 
62
- Each shim points back to the canonical
63
- `dflow/specs/shared/AI-AGENT-GUIDE.md`. Practical implications:
49
+ 每個 shim 都指向 canonical 的 `dflow/specs/shared/AI-AGENT-GUIDE.md`。實際意義:
64
50
 
65
- - Multiple tools can be active in the same project without diverging
66
- workflow rules.
67
- - Switching or adding tools later does not require re-running `init`; use
68
- `dflow configure-agents` to add another shim.
69
- - The project guide stays the single source of truth for Dflow workflow
70
- behavior.
51
+ - 同一個專案可以同時啟用多個工具,而不會有 workflow 規則分歧。
52
+ - 之後切換或新增工具不需要重跑 `init`;執行 `dflow configure-agents` 即可新增 shim。
53
+ - 專案指南始終保持為 Dflow workflow 行為的單一 source of truth。
71
54
 
72
- If your tool does not support custom slash commands, use the same command
73
- names (e.g., `/dflow:new-feature`) as plain instructions in chat. Dflow is
74
- Markdown-based workflow material; it works with any AI agent that can read
75
- project instructions and repository context.
55
+ 若你的工具不支援自訂 slash command,把同名指令(例如 `/dflow:new-feature`)當成普通對話訊息輸入即可。Dflow 是 Markdown-based 的 workflow 材料,能與任何可讀專案指示與 repo 上下文的 AI 助理一起運作。
76
56
 
77
- For a tool-specific walk-through of what `init` writes and how the slash
78
- commands appear in conversation, see the per-tool guides:
57
+ 關於特定工具的 `init` 寫入內容與 slash command 在對話中的呈現方式,見各工具指南:
79
58
 
80
- - [Using Dflow with Claude Code](using-with-claude-code.md)
81
- - [Using Dflow with Codex CLI](using-with-codex.md)
82
- - (Guides for Gemini and GitHub Copilot may follow as maintainer experience
83
- with each tool stabilizes.)
59
+ - [在 Claude Code 中使用 Dflow](using-with-claude-code.md)
60
+ - [在 Codex CLI 中使用 Dflow](using-with-codex.md)
61
+ - [在 Gemini CLI 中使用 Dflow](using-with-gemini-cli.md)
62
+ - [在 GitHub Copilot 中使用 Dflow](using-with-github-copilot.md)
84
63
 
85
- ## Greenfield or Brownfield: Choosing a Track
64
+ ## Greenfield 或 Brownfield:選擇 Track
86
65
 
87
- Pick **Greenfield** if:
66
+ 選 **Greenfield** 若:
88
67
 
89
- - You are starting a new system or a new bounded module.
90
- - You have room to shape architecture before legacy constraints accumulate.
91
- - You want explicit domain models from feature 1.
68
+ - 你正在啟動一個新系統或新的 bounded module。
69
+ - 你有空間在 legacy 限制累積前先塑形架構。
70
+ - 你想從 feature 1 就建立明確的領域模型。
92
71
 
93
- Pick **Brownfield** if:
72
+ 選 **Brownfield** 若:
94
73
 
95
- - You are extending or modifying an existing codebase.
96
- - Business rules are scattered across handlers, stored procedures, UI code,
97
- or scripts.
98
- - You want to introduce specs and domain extraction incrementally without
99
- refactoring everything first.
74
+ - 你正在擴充或修改一個既有的 codebase。
75
+ - 業務規則散落在 handler、stored procedure、UI 程式碼或腳本中。
76
+ - 你想漸進引入規格與領域抽出,而不必先做全面重構。
100
77
 
101
- Mixed cases:
78
+ 混合情境:
102
79
 
103
- - New module inside an existing app: usually Greenfield, scoped to the new
104
- bounded context.
105
- - Existing app with clean architecture and active development: either track
106
- works; Brownfield is safer if rules are not yet documented.
80
+ - 在既有 app 內加入新 module:通常選 Greenfield,scope 限定在新的 bounded context。
81
+ - 既有 app 具有乾淨架構且持續開發中:兩種 track 都可行;業務規則尚未文件化時 Brownfield 較安全。
107
82
 
108
- ## A 30-Minute Evaluation Playbook
83
+ ## 30 分鐘評估 Playbook
109
84
 
110
- This walk-through lets you see what Dflow does without committing it to a
111
- real codebase.
85
+ 這份 walk-through 讓你在不動到真實 codebase 的情況下看清楚 Dflow 的實際效果。
112
86
 
113
- 1. **Create a sample project** (Greenfield):
87
+ 1. **建立範例專案**(Greenfield):
114
88
 
115
89
  ```bash
116
90
  mkdir dflow-sample && cd dflow-sample
117
91
  git init
118
92
  ```
119
93
 
120
- 2. **Run init**:
94
+ 2. **安裝並執行 init**:
121
95
 
122
96
  ```bash
123
- npx dflow-sdd-ddd init
97
+ npm install -g dflow-sdd-ddd
98
+ dflow init
124
99
  ```
125
100
 
126
- When prompted, choose Greenfield. Pick one AI tool to generate the shim
127
- for.
101
+ 若不想全域安裝,改用 `npx dflow-sdd-ddd init`。提示時選擇 Greenfield,並選取一個 AI 工具產生 shim。
128
102
 
129
- 3. **Inspect what was created**:
103
+ 3. **檢視產生的內容**:
130
104
 
131
105
  ```bash
132
106
  ls -la
133
107
  find dflow -type f
134
108
  ```
135
109
 
136
- Open `dflow/specs/shared/_overview.md`,
137
- `dflow/specs/shared/_conventions.md`, and
138
- `dflow/specs/shared/AI-AGENT-GUIDE.md` to see the shape.
110
+ 開啟 `dflow/specs/shared/_overview.md`、`dflow/specs/shared/_conventions.md`、以及 `dflow/specs/shared/AI-AGENT-GUIDE.md` 看看整體架構。
139
111
 
140
- 4. **Read one tutorial walk-through** to see what a real feature flow looks
141
- like end to end:
142
- - Greenfield: [`tutorial/01-greenfield/`](../tutorial/01-greenfield/00-setup.md)
143
- - Brownfield: [`tutorial/02-brownfield/`](../tutorial/02-brownfield/00-setup.md)
112
+ 4. **閱讀一份 tutorial walk-through** 以了解完整的 feature flow:
113
+ - Greenfield:[`tutorial/01-greenfield/`](../tutorial/01-greenfield/walkthrough-00-setup.md)
114
+ - Brownfield:[`tutorial/02-brownfield/`](../tutorial/02-brownfield/walkthrough-00-setup.md)
144
115
 
145
- 5. **Optional: try one workflow command**. Open the sample project in your
146
- AI tool and ask it to run `/dflow:new-feature` (or paste the equivalent
147
- instruction in chat). Inspect what it writes to `dflow/specs/`.
116
+ 5. **選用:試跑一個 workflow 指令**。在你的 AI 工具中開啟範例專案,叫它執行 `/dflow:new-feature`(或在對話中貼上同等指令)。檢查它寫入 `dflow/specs/` 的內容。
148
117
 
149
- 6. **Decide and clean up**. If Dflow does not fit, delete the sample
150
- directory. There is no global state to clean; nothing was installed
151
- beyond the one-shot `npx` cache.
118
+ 6. **決定並清理**。若 Dflow 不適合,直接刪除範例目錄。沒有全域狀態需要清除;除了一次性的 `npx` 快取,什麼也沒有安裝。
152
119
 
153
- If you want a deeper read instead of running anything, the tutorial
154
- walk-throughs cover the same flow with worked outputs you can compare
155
- against.
120
+ 若你偏好不執行任何指令、只做深度閱讀,tutorial walk-through 也涵蓋同樣的 flow,並附有可供對比的預期產出。
156
121
 
157
- ## What If You Stop Using Dflow
122
+ ## 若你停用 Dflow
158
123
 
159
- Dflow is designed for low cost to try and low cost to leave:
124
+ Dflow 的設計讓試用成本低、退出成本也低:
160
125
 
161
- - Nothing depends on the `dflow-sdd-ddd` CLI being installed after `init`.
162
- - The generated files are plain Markdown; remove Dflow from a project with
163
- `rm -rf dflow/` plus deleting the AI agent shim files you no longer want.
164
- - Existing project instruction files (e.g., a pre-existing `CLAUDE.md`) are
165
- not modified by Dflow, so reverting is straightforward.
126
+ - `init` 完成後,你的專案不依賴已安裝的 `dflow-sdd-ddd` CLI。
127
+ - 產生的檔案都是純 Markdown;用 `rm -rf dflow/` 加上刪除你不再需要的 AI 指示 shim 檔案,即可從專案中移除 Dflow。
128
+ - 既有的專案指示檔(例如原本就存在的 `CLAUDE.md`)不會被 Dflow 修改,因此復原很直接。
166
129
 
167
- This means an evaluation pass leaves no permanent footprint if you decide
168
- not to adopt.
130
+ 這表示評估一輪後,若你決定不採用,不會留下任何永久痕跡。
169
131
 
170
- ## Cost Per Feature: A Rough Estimate
132
+ ## 每個 Feature 的成本:概略估算
171
133
 
172
- Dflow scales ceremony to change risk through three tiers (see
173
- [`README.md` "Workflow Model"](../README.md#workflow-model) for full
174
- detail):
134
+ Dflow 依改動深淺將流程份量調整為三個 tier(完整說明見
135
+ [`README.md` "Workflow 模型"](../README.md#workflow-模型)):
175
136
 
176
- - **T1 Lightweight** — small bug fixes, narrow edits. Roughly the same
177
- speed as ad-hoc AI coding, with a short spec and verification on top.
178
- - **T2 Standard** — normal feature work. Adds a feature spec, behavior
179
- examples, and finish checks. Expect modest upfront overhead in exchange
180
- for a reusable spec, fewer review cycles, and lower drift risk.
181
- - **T3 Full** — cross-cutting changes, new bounded contexts, risky
182
- architecture work. Adds full domain modeling and broader verification.
183
- The cost is real but proportional to the risk being managed.
137
+ - **T1 Heavy** — 新 feature、新 phase、新 Aggregate 或 Bounded Context、架構變更、新業務規則。需要完整的 phase-spec,包含領域建模、行為例子、實作計畫、以及驗證與收尾檢查。成本確實存在,但與所管理的風險成正比。
138
+ - **T2 Light** — bug fix(邏輯錯誤)、UI 驗證調整、有業務規則 delta 的小幅修改。需要 lightweight spec、聚焦驗證、以及確認修復落在正確的架構層。
139
+ - **T3 Trivial** — 按鈕顏色、文案 typo、純 formatting — **不動業務規則、不動 Domain 概念、不動資料結構**。只需在 `_index.md` 寫一行,不另開 spec 檔。
184
140
 
185
- Tier choice is intentional, not automatic. You are not forced into T3
186
- ceremony for a one-line fix.
141
+ Tier 不是每次都由 user 手動決定:`/dflow:new-feature` 與 `/dflow:new-phase` 預設一律 T1;`/dflow:modify-existing` 與 `/dflow:bug-fix` 則由 AI 依實際改動內容判斷 T1 / T2 / T3。純 typo / formatting commit(例如 `prettier`、`dotnet format`)可以完全跳過 Dflow 直接 `git commit` — Dflow 是給有業務語意或結構影響的變更使用的。
187
142
 
188
- ## Project Language Compatibility
143
+ ## 專案語言相容性
189
144
 
190
- Dflow templates use **canonical English** structure (headings, field labels)
191
- so AI agents can locate sections reliably across projects. The free-form
192
- content you write inside templates can be in any team language — English,
193
- Traditional Chinese, Simplified Chinese, or others. The init flow asks for
194
- the project's prose language and stores it in
195
- `dflow/specs/shared/_conventions.md`.
145
+ Dflow 模板使用**英文 canonical 結構**(標題、欄位標籤),讓 AI 助理能可靠地在不同專案間定位各段落。你在模板內容中自由撰寫的文字可以使用任何團隊語言 — 英文、繁體中文、簡體中文或其他。init 流程會詢問專案的文章語言,並存入 `dflow/specs/shared/_conventions.md`。
196
146
 
197
- Practical effect:
147
+ 實際效果:
198
148
 
199
- - AI tools see stable English structure across projects.
200
- - Humans read and write specs in the team's chosen language.
201
- - No need to translate templates or maintain parallel localized copies.
149
+ - AI 工具在不同專案間看到一致的英文結構。
150
+ - 人員以團隊選定的語言讀寫規格。
151
+ - 不需要翻譯模板或維護平行的在地化副本。
202
152
 
203
- ## Where to Go Next
153
+ ## 下一步
204
154
 
205
- If you decided Dflow fits:
155
+ 若你決定 Dflow 適合:
206
156
 
207
- - Run `init` in your real project (consider a branch first).
208
- - Read [`tutorial/`](../tutorial/) for end-to-end walk-throughs and worked
209
- outputs.
210
- - See [`CONTRIBUTING.md`](../CONTRIBUTING.md) before opening issues or
211
- pull requests.
157
+ - 在你的真實專案執行 `init`(建議先用 branch)。
158
+ - 閱讀 [`tutorial/`](../tutorial/) 取得端到端 walk-through 與預期產出。
159
+ - 開 issue 或 pull request 前,先看 [`CONTRIBUTING.md`](../CONTRIBUTING.md)。
212
160
 
213
- If you are still deciding:
161
+ 若你還在評估中:
214
162
 
215
- - Read [`docs/why-ddd-for-ai.md`](why-ddd-for-ai.md) for the design
216
- rationale behind spec-first plus DDD.
217
- - Compare a tutorial scenario step-by-step with its `outputs/` tree to see
218
- what production-shape Dflow specs look like.
163
+ - 閱讀 [為什麼 AI 時代 DDD 更重要](why-ddd-for-ai.md),了解 spec-first 加上 DDD 背後的設計理由。
164
+ - 把 tutorial 劇情逐步與它的 `outputs/` 目錄對比,看看 Dflow 規格在接近正式的狀態下是什麼樣子。
219
165
 
220
- If Dflow does not fit your project today:
166
+ 若 Dflow 目前不適合你的專案:
221
167
 
222
- - The structured-spec idea is portable; you can adopt parts of it without
223
- the CLI.
224
- - Open a docs feedback issue (see
225
- [`CONTRIBUTING.md`](../CONTRIBUTING.md)) if a specific gap blocked you.
226
- That feedback helps future evaluators.
168
+ - structured-spec 的概念是可移植的;你可以採用其中一部分而不需要 CLI。
169
+ - 若某個具體缺口阻礙了你,開一個 docs feedback issue(見 [`CONTRIBUTING.md`](../CONTRIBUTING.md))。這類回饋對未來的評估者很有幫助。