Skip to content

Commit db548a9

Browse files
author
薛華慶, james.hsueh
committed
docs: update documents
1 parent 1d0545f commit db548a9

File tree

2 files changed

+121
-48
lines changed

2 files changed

+121
-48
lines changed

README.md

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ cd your-project
136136

137137
## 🔄 工作流程概覽
138138

139-
### 四個階段
139+
### 核心四階段(必需)
140140

141141
```
142142
Phase 1:規格(PM)
@@ -156,16 +156,34 @@ Phase 4:驗證(QA)
156156
✅ 驗證結論報告
157157
```
158158

159+
### 選用階段:Integration Tests
160+
161+
```
162+
Phase 2.5:整合測試(選用)
163+
164+
在實作前生成 Integration Tests
165+
166+
測試先行開發(紅燈 → 綠燈)
167+
```
168+
169+
**何時使用 `/sdd-integration-test`**
170+
- ✅ 團隊實踐 BDD 測試先行
171+
- ✅ 需要完整的整合測試覆蓋
172+
- ✅ 複雜的業務邏輯需要驗證
173+
- ❌ 簡單的 CRUD 功能
174+
- ❌ 原型開發階段
175+
- ❌ 時程緊迫的專案
176+
159177
### 指令
160178

161-
| 指令 | 用途 | 何時使用 |
162-
| ----------------------- | -------------------------------- | ------------------ |
163-
| `/sdd-auto` | 自動執行全部 4 個階段 | 快速原型、簡單功能 |
164-
| `/sdd-spec` | 生成 Gherkin 規格 | 定義需求 |
165-
| `/sdd-arch` | 設計資料模型與介面 | 審查結構 |
166-
| `/sdd-integration-test` | 生成 Integration Tests(紅燈) | BDD 測試先行開發 |
167-
| `/sdd-impl` | 實作邏輯 | 撰寫程式碼 |
168-
| `/sdd-verify` | 根據規格驗證 | 測試實作 |
179+
| 指令 | 用途 | 何時使用 | 是否必需 |
180+
| ----------------------- | -------------------------------- | ------------------ | -------- |
181+
| `/sdd-auto` | 自動執行全部 4 個階段 | 快速原型、簡單功能 | - |
182+
| `/sdd-spec` | 生成 Gherkin 規格 | 定義需求 | ✅ 必需 |
183+
| `/sdd-arch` | 設計資料模型與介面 | 審查結構 | ✅ 必需 |
184+
| `/sdd-integration-test` | 生成 Integration Tests(紅燈) | BDD 測試先行開發 | 🔷 選用 |
185+
| `/sdd-impl` | 實作邏輯 | 撰寫程式碼 | ✅ 必需 |
186+
| `/sdd-verify` | 根據規格驗證 | 測試實作 | ✅ 必需 |
169187

170188
---
171189

docs/COMMANDS.md

Lines changed: 94 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,24 @@
44

55
## 指令概覽
66

7+
### 核心工作流程(必需)
8+
79
```
810
/sdd-auto → 自動模式:自動執行全部 4 個 Phase
911
/sdd-spec → Phase 1:生成 Gherkin 規格
1012
/sdd-arch → Phase 2:設計架構(繁中文件)
11-
/sdd-integration-test → BDD:生成 Integration Tests(測試先行)
1213
/sdd-impl → Phase 3:實作邏輯
1314
/sdd-verify → Phase 4:驗證實作
1415
```
1516

17+
### 選用指令
18+
19+
```
20+
/sdd-integration-test → 🔷 選用:生成 Integration Tests(BDD 測試先行)
21+
```
22+
23+
> **💡 提示:** `/sdd-integration-test` 適合重視測試先行開發的團隊,在 Phase 2 之後、Phase 3 之前使用。
24+
1625
---
1726

1827
## `/sdd-auto` - 自動模式
@@ -110,10 +119,12 @@
110119

111120
---
112121

113-
## `/sdd-integration-test` - BDD Integration Tests
122+
## `/sdd-integration-test` - BDD Integration Tests(選用)
114123

115124
**目的:** 從 feature file 和 architecture.md 生成 integration tests(測試先行),測試會失敗(紅燈),等待實作後轉為通過(綠燈)。
116125

126+
> **🔷 此為選用階段**:適合實踐 BDD 測試先行的團隊。如果您的專案不需要測試先行開發,可以跳過此階段直接使用 `/sdd-impl`
127+
117128
**用法:**
118129
```bash
119130
/sdd-integration-test <feature_file_path>
@@ -142,16 +153,22 @@
142153
**BDD 工作流程:**
143154
1. **規格階段**:定義 feature file(`/sdd-spec`
144155
2. **架構階段**:設計技術架構(`/sdd-arch`
145-
3. **測試階段**(本指令):生成 integration tests(🔴 紅燈)
156+
3. **測試階段**(本指令,🔷 選用):生成 integration tests(🔴 紅燈)
146157
4. **實作階段**:實作功能(`/sdd-impl`
147158
5. **驗證階段**:確認測試通過(`/sdd-verify` → 🟢 綠燈)
148159

149160
**何時使用:**
150-
-完成 `/sdd-spec``/sdd-arch`
151-
-需要先定義測試場景
152-
-確保實作符合業務需求
161+
-團隊實踐 BDD 測試先行開發
162+
-需要完整的整合測試覆蓋
163+
-複雜的業務邏輯需要驗證
153164
- ✅ 建立整合測試框架
154-
- ✅ 與 `/sdd-impl` 搭配使用(測試先行開發)
165+
- ✅ 與 `/sdd-impl` 搭配使用
166+
167+
**何時跳過:**
168+
- ⏭️ 簡單的 CRUD 功能
169+
- ⏭️ 快速原型開發
170+
- ⏭️ 時程緊迫的專案
171+
- ⏭️ 團隊不熟悉 BDD
155172

156173
**支援框架:**
157174
- **TypeScript**: Jest/Vitest + Supertest
@@ -218,29 +235,35 @@
218235

219236
## 工作流程比較
220237

221-
### 自動模式流程
238+
### 標準工作流程(推薦)
222239
```
223240
使用者需求
224241
225-
/sdd-auto <需求>
242+
/sdd-spec <需求>
226243
227-
[全部 4 個階段自動執行]
244+
[審查 Gherkin]
245+
246+
/sdd-arch features/spec.feature
247+
248+
[審查結構]
249+
250+
/sdd-impl features/spec.feature
251+
252+
[審查實作]
253+
254+
/sdd-verify features/spec.feature
228255
229256
完整功能
230257
```
231258

232259
**優點:**
233-
- ⚡ 最快獲得可運作程式碼的方式
234-
- 🎯 單一指令
235-
- 🔄 適合迭代
236-
237-
**缺點:**
238-
- 🚫 階段之間無手動審查
239-
- 🚫 如果複雜可能需要重做
260+
- 🎯 流程清晰,易於理解
261+
- ⚡ 開發速度快
262+
- 📋 適合大多數專案
240263

241264
---
242265

243-
### 手動模式流程
266+
### BDD 測試先行工作流程(選用)
244267
```
245268
使用者需求
246269
@@ -252,23 +275,51 @@
252275
253276
[審查結構]
254277
255-
/sdd-impl features/spec.feature structure/struct.py
278+
/sdd-integration-test features/spec.feature 🔷 選用
256279
257-
[審查實作]
280+
[審查測試 - 紅燈]
281+
282+
/sdd-impl features/spec.feature
258283
259-
/sdd-verify features/spec.feature implementation/impl.py
284+
[審查實作 - 綠燈]
285+
286+
/sdd-verify features/spec.feature
287+
288+
完整功能 + 完整測試
289+
```
290+
291+
**優點:**
292+
- 🎯 測試先行,品質更高
293+
- 📋 完整的整合測試覆蓋
294+
- 🔍 更適合複雜業務邏輯
295+
296+
**缺點:**
297+
- ⏱️ 需要額外時間
298+
- 🔢 需要更多步驟
299+
- 📚 團隊需熟悉 BDD
300+
301+
---
302+
303+
### 自動模式流程
304+
```
305+
使用者需求
306+
307+
/sdd-auto <需求>
308+
309+
[全部 4 個階段自動執行]
260310
261311
完整功能
262312
```
263313

264314
**優點:**
265-
- 🎯 每個階段完全控制
266-
- 📋 手動審查檢查點
267-
- 🔍 更適合複雜功能
315+
- ⚡ 最快獲得可運作程式碼的方式
316+
- 🎯 單一指令
317+
- 🔄 適合迭代
268318

269319
**缺點:**
270-
- ⏱️ 更耗時
271-
- 🔢 需要多個指令
320+
- 🚫 階段之間無手動審查
321+
- 🚫 不包含 integration tests
322+
- 🚫 如果複雜可能需要重做
272323

273324
---
274325

@@ -277,15 +328,16 @@
277328
| 情境 | 建議指令 |
278329
|----------|-------------------|
279330
| "快速原型展示" | `/sdd-auto` |
280-
| "需要團隊審查的生產功能" | 手動階段 |
331+
| "需要團隊審查的生產功能" | 標準工作流程 |
281332
| "學習 SDD 方法論" | 先使用 `/sdd-auto`,然後嘗試手動 |
282333
| "API 契約設計" | `/sdd-spec` + `/sdd-arch` |
283-
| "複雜業務邏輯" | 手動階段 |
334+
| "複雜業務邏輯" | 標準工作流程 |
284335
| "測試想法" | `/sdd-auto` |
285336
| "遷移現有程式碼" | 先使用 `/sdd-spec` |
286-
| "需要利害關係人批准" | 手動階段 |
287-
| "BDD 測試先行開發" | `/sdd-integration-test` + `/sdd-impl` |
288-
| "建立整合測試" | `/sdd-integration-test` |
337+
| "需要利害關係人批准" | 標準工作流程 |
338+
| "BDD 測試先行開發" | BDD 測試先行工作流程(含 `/sdd-integration-test`|
339+
| "建立整合測試框架" | `/sdd-integration-test` |
340+
| "簡單 CRUD 功能" | 標準工作流程(跳過 `/sdd-integration-test`|
289341

290342
---
291343

@@ -374,12 +426,15 @@ pipx run gsi-protocol-installer
374426
**快速參考卡:**
375427

376428
```
377-
快速原型 → /sdd-auto <需求>
378-
生產程式碼 → /sdd-spec → /sdd-arch → /sdd-impl → /sdd-verify
379-
BDD 測試先行開發 → /sdd-spec → /sdd-arch → /sdd-integration-test → /sdd-impl → /sdd-verify
380-
只要規格 → /sdd-spec <需求>
381-
只要架構 → /sdd-arch <spec.feature>
382-
只要整合測試 → /sdd-integration-test <spec.feature>
383-
只要程式碼 → /sdd-impl <spec.feature>
384-
只要驗證 → /sdd-verify <spec.feature>
429+
快速原型 → /sdd-auto <需求>
430+
431+
標準工作流程(推薦) → /sdd-spec → /sdd-arch → /sdd-impl → /sdd-verify
432+
433+
BDD 測試先行(選用) → /sdd-spec → /sdd-arch → /sdd-integration-test → /sdd-impl → /sdd-verify
434+
435+
只要規格 → /sdd-spec <需求>
436+
只要架構 → /sdd-arch <spec.feature>
437+
只要整合測試(選用) → /sdd-integration-test <spec.feature>
438+
只要程式碼 → /sdd-impl <spec.feature>
439+
只要驗證 → /sdd-verify <spec.feature>
385440
```

0 commit comments

Comments
 (0)