speccrew 0.1.1 → 0.1.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.
- package/README.ar.md +98 -91
- package/README.bn.md +122 -0
- package/README.bs.md +321 -0
- package/README.da.md +321 -0
- package/README.de.md +321 -0
- package/README.el.md +122 -0
- package/README.en.md +92 -85
- package/README.es.md +96 -89
- package/README.fr.md +321 -0
- package/README.it.md +321 -0
- package/README.ja.md +321 -0
- package/README.ko.md +321 -0
- package/README.md +92 -109
- package/README.no.md +321 -0
- package/README.pl.md +321 -0
- package/README.pt-BR.md +321 -0
- package/README.ru.md +321 -0
- package/README.th.md +239 -0
- package/README.tr.md +239 -0
- package/README.uk.md +239 -0
- package/README.vi.md +122 -0
- package/README.zh-TW.md +321 -0
- package/bin/cli.js +5 -1
- package/bin/postinstall.js +157 -0
- package/docs/GETTING-STARTED.ar.md +452 -0
- package/docs/GETTING-STARTED.bn.md +449 -0
- package/docs/GETTING-STARTED.bs.md +449 -0
- package/docs/GETTING-STARTED.da.md +448 -0
- package/docs/GETTING-STARTED.de.md +448 -0
- package/docs/GETTING-STARTED.el.md +449 -0
- package/docs/GETTING-STARTED.en.md +448 -0
- package/docs/GETTING-STARTED.es.md +448 -0
- package/docs/GETTING-STARTED.fr.md +448 -0
- package/docs/GETTING-STARTED.it.md +448 -0
- package/docs/GETTING-STARTED.ja.md +448 -0
- package/docs/GETTING-STARTED.ko.md +448 -0
- package/docs/GETTING-STARTED.md +448 -0
- package/docs/GETTING-STARTED.no.md +449 -0
- package/docs/GETTING-STARTED.pl.md +449 -0
- package/docs/GETTING-STARTED.pt-BR.md +449 -0
- package/docs/GETTING-STARTED.ru.md +449 -0
- package/docs/GETTING-STARTED.th.md +449 -0
- package/docs/GETTING-STARTED.tr.md +449 -0
- package/docs/GETTING-STARTED.uk.md +449 -0
- package/docs/GETTING-STARTED.vi.md +449 -0
- package/docs/GETTING-STARTED.zh-TW.md +448 -0
- package/lib/commands/init.js +238 -41
- package/lib/commands/uninstall.js +150 -32
- package/lib/commands/update.js +159 -24
- package/lib/ide-adapters.js +257 -3
- package/lib/utils.js +23 -7
- package/package.json +7 -2
|
@@ -0,0 +1,449 @@
|
|
|
1
|
+
# SpecCrew - คู่มือเริ่มต้นอย่างรวดเร็ว
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<a href="./GETTING-STARTED.md">简体中文</a> |
|
|
5
|
+
<a href="./GETTING-STARTED.zh-TW.md">繁體中文</a> |
|
|
6
|
+
<a href="./GETTING-STARTED.en.md">English</a> |
|
|
7
|
+
<a href="./GETTING-STARTED.ko.md">한국어</a> |
|
|
8
|
+
<a href="./GETTING-STARTED.de.md">Deutsch</a> |
|
|
9
|
+
<a href="./GETTING-STARTED.es.md">Español</a> |
|
|
10
|
+
<a href="./GETTING-STARTED.fr.md">Français</a> |
|
|
11
|
+
<a href="./GETTING-STARTED.it.md">Italiano</a> |
|
|
12
|
+
<a href="./GETTING-STARTED.da.md">Dansk</a> |
|
|
13
|
+
<a href="./GETTING-STARTED.ja.md">日本語</a> |
|
|
14
|
+
<a href="./GETTING-STARTED.ar.md">العربية</a> |
|
|
15
|
+
<a href="./GETTING-STARTED.th.md">ไทย</a>
|
|
16
|
+
</p>
|
|
17
|
+
|
|
18
|
+
เอกสารนี้ช่วยให้คุณเข้าใจวิธีการใช้ทีมเอเจนต์ SpecCrew เพื่อทำวงจรการพัฒนาแบบเต็มตั้งแต่ความต้องการจนถึงการส่งมอบ ตามกระบวนการวิศวกรรมมาตรฐาน
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 1. ข้อกำหนดเบื้องต้น
|
|
23
|
+
|
|
24
|
+
### ติดตั้ง SpecCrew
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npm install -g speccrew
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### เริ่มต้นโปรเจกต์
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
speccrew init --ide qoder
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
IDE ที่รองรับ: `qoder`, `cursor`, `claude`, `codex`
|
|
37
|
+
|
|
38
|
+
### โครงสร้างไดเรกทอรีหลังจากเริ่มต้น
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
.
|
|
42
|
+
├── .qoder/
|
|
43
|
+
│ ├── agents/ # ไฟล์กำหนดเอเจนต์
|
|
44
|
+
│ └── skills/ # ไฟล์กำหนดทักษะ
|
|
45
|
+
├── speccrew-workspace/ # พื้นที่ทำงาน
|
|
46
|
+
│ ├── docs/ # การกำหนดค่า กฎ เทมเพลต วิธีแก้ปัญหา
|
|
47
|
+
│ ├── iterations/ # การทำซ้ำปัจจุบัน
|
|
48
|
+
│ ├── iteration-archives/ # การทำซ้ำที่เก็บถาวร
|
|
49
|
+
│ └── knowledges/ # ฐานความรู้
|
|
50
|
+
│ ├── base/ # ข้อมูลพื้นฐาน (รายงานการวินิจฉัย หนี้เทคนิค)
|
|
51
|
+
│ ├── bizs/ # ฐานความรู้ธุรกิจ
|
|
52
|
+
│ └── techs/ # ฐานความรู้เทคนิค
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### ข้อมูลอ้างอิงคำสั่ง CLI
|
|
56
|
+
|
|
57
|
+
| คำสั่ง | คำอธิบาย |
|
|
58
|
+
|---------|-------------|
|
|
59
|
+
| `speccrew list` | แสดงรายการเอเจนต์และทักษะทั้งหมดที่มี |
|
|
60
|
+
| `speccrew doctor` | ตรวจสอบความสมบูรณ์ของการติดตั้ง |
|
|
61
|
+
| `speccrew update` | อัปเดตการกำหนดค่าโปรเจกต์เป็นเวอร์ชันล่าสุด |
|
|
62
|
+
| `speccrew uninstall` | ถอนการติดตั้ง SpecCrew |
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## 2. ภาพรวมเวิร์กโฟลว์
|
|
67
|
+
|
|
68
|
+
### แผนภาพโฟลว์แบบเต็ม
|
|
69
|
+
|
|
70
|
+
```mermaid
|
|
71
|
+
flowchart LR
|
|
72
|
+
PRD[ระยะที่ 1<br/>การวิเคราะห์ความต้องการ<br/>Product Manager] --> FD[ระยะที่ 2<br/>การออกแบบฟีเจอร์<br/>Feature Designer]
|
|
73
|
+
FD --> SD[ระยะที่ 3<br/>การออกแบบระบบ<br/>System Designer]
|
|
74
|
+
SD --> DEV[ระยะที่ 4<br/>การพัฒนา<br/>System Developer]
|
|
75
|
+
DEV --> TEST[ระยะที่ 5<br/>การทดสอบระบบ<br/>Test Manager]
|
|
76
|
+
TEST --> ARCHIVE[ระยะที่ 6<br/>การเก็บถาวร]
|
|
77
|
+
|
|
78
|
+
KB[(ฐานความรู้<br/>ตลอดกระบวนการ)] -.-> PRD
|
|
79
|
+
KB -.-> FD
|
|
80
|
+
KB -.-> SD
|
|
81
|
+
KB -.-> DEV
|
|
82
|
+
KB -.-> TEST
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### หลักการพื้นฐาน
|
|
86
|
+
|
|
87
|
+
1. **การขึ้นต่อกันของระยะ**: ผลผลิตของแต่ละระยะเป็นอินพุตของระยะถัดไป
|
|
88
|
+
2. **การยืนยันจุดตรวจสอบ**: แต่ละระยะมีจุดยืนยันที่ต้องได้รับการอนุมัติจากผู้ใช้ก่อนจะไปต่อ
|
|
89
|
+
3. **ขับเคลื่อนด้วยฐานความรู้**: ฐานความรู้ไหลผ่านกระบวนการทั้งหมด ให้บริบทสำหรับทุกระยะ
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## 3. ขั้นตอนที่ศูนย์: การวินิจฉัยโปรเจกต์และการเริ่มต้นฐานความรู้
|
|
94
|
+
|
|
95
|
+
ก่อนเริ่มกระบวนการวิศวกรรมทางการ คุณต้องเริ่มต้นฐานความรู้ของโปรเจกต์
|
|
96
|
+
|
|
97
|
+
### 3.1 การวินิจฉัยโปรเจกต์
|
|
98
|
+
|
|
99
|
+
**ตัวอย่างบทสนทนา**:
|
|
100
|
+
```
|
|
101
|
+
@speccrew-team-leader วินิจฉัยโปรเจกต์
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**เอเจนต์จะทำอะไร**:
|
|
105
|
+
- สแกนโครงสร้างโปรเจกต์
|
|
106
|
+
- ตรวจจับสแต็กเทคโนโลยี
|
|
107
|
+
- ระบุโมดูลธุรกิจ
|
|
108
|
+
|
|
109
|
+
**ผลลัพธ์**:
|
|
110
|
+
```
|
|
111
|
+
speccrew-workspace/knowledges/base/diagnosis-reports/diagnosis-report-{date}.md
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### 3.2 การเริ่มต้นฐานความรู้เทคนิค
|
|
115
|
+
|
|
116
|
+
**ตัวอย่างบทสนทนา**:
|
|
117
|
+
```
|
|
118
|
+
@speccrew-team-leader เริ่มต้นฐานความรู้เทคนิค
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**กระบวนการสามระยะ**:
|
|
122
|
+
1. การตรวจจับแพลตฟอร์ม — ระบุแพลตฟอร์มเทคโนโลยีในโปรเจกต์
|
|
123
|
+
2. การสร้างเอกสารเทคนิค — สร้างเอกสารข้อมูลจำเพาะเทคนิคสำหรับแต่ละแพลตฟอร์ม
|
|
124
|
+
3. การสร้างดัชนี — สร้างดัชนีฐานความรู้
|
|
125
|
+
|
|
126
|
+
**ผลลัพธ์**:
|
|
127
|
+
```
|
|
128
|
+
speccrew-workspace/knowledges/techs/{platform-id}/
|
|
129
|
+
├── tech-stack.md # คำจำกัดความสแต็กเทคโนโลยี
|
|
130
|
+
├── architecture.md # ข้อตกลงสถาปัตยกรรม
|
|
131
|
+
├── dev-spec.md # ข้อมูลจำเพาะการพัฒนา
|
|
132
|
+
├── test-spec.md # ข้อมูลจำเพาะการทดสอบ
|
|
133
|
+
└── INDEX.md # ไฟล์ดัชนี
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### 3.3 การเริ่มต้นฐานความรู้ธุรกิจ
|
|
137
|
+
|
|
138
|
+
**ตัวอย่างบทสนทนา**:
|
|
139
|
+
```
|
|
140
|
+
@speccrew-team-leader เริ่มต้นฐานความรู้ธุรกิจ
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
**กระบวนการสี่ระยะ**:
|
|
144
|
+
1. การสำรวจฟีเจอร์ — สแกนโค้ดเพื่อระบุฟีเจอร์ทั้งหมด
|
|
145
|
+
2. การวิเคราะห์ฟีเจอร์ — วิเคราะห์ลอจิกธุรกิจของแต่ละฟีเจอร์
|
|
146
|
+
3. การสรุปโมดูล — สรุปฟีเจอร์ตามโมดูล
|
|
147
|
+
4. การสรุประบบ — สร้างภาพรวมธุรกิจระดับระบบ
|
|
148
|
+
|
|
149
|
+
**ผลลัพธ์**:
|
|
150
|
+
```
|
|
151
|
+
speccrew-workspace/knowledges/bizs/
|
|
152
|
+
├── {platform-type}/
|
|
153
|
+
│ └── {module-name}/
|
|
154
|
+
│ └── feature-spec.md
|
|
155
|
+
└── system-overview.md
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## 4. คู่มือบทสนทนาระยะต่อระยะ
|
|
161
|
+
|
|
162
|
+
### 4.1 ระยะที่ 1: การวิเคราะห์ความต้องการ (Product Manager)
|
|
163
|
+
|
|
164
|
+
**วิธีการเริ่ม**:
|
|
165
|
+
```
|
|
166
|
+
@speccrew-product-manager ฉันมีความต้องการใหม่: [อธิบายความต้องการของคุณ]
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
**เวิร์กโฟลว์เอเจนต์**:
|
|
170
|
+
1. อ่านภาพรวมระบบเพื่อเข้าใจโมดูลที่มีอยู่
|
|
171
|
+
2. วิเคราะห์ความต้องการของผู้ใช้
|
|
172
|
+
3. สร้างเอกสาร PRD แบบมีโครงสร้าง
|
|
173
|
+
|
|
174
|
+
**ผลลัพธ์**:
|
|
175
|
+
```
|
|
176
|
+
iterations/{หมายเลข}-{ประเภท}-{ชื่อ}/01.product-requirement/
|
|
177
|
+
├── [feature-name]-prd.md # เอกสารความต้องการผลิตภัณฑ์
|
|
178
|
+
└── [feature-name]-bizs-modeling.md # การสร้างแบบจำลองธุรกิจ (สำหรับความต้องการที่ซับซ้อน)
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
**รายการตรวจสอบการยืนยัน**:
|
|
182
|
+
- [ ] คำอธิบายความต้องการสะท้อนความตั้งใจของผู้ใช้อย่างแม่นยำหรือไม่?
|
|
183
|
+
- [ ] กฎธุรกิจครบถ้วนหรือไม่?
|
|
184
|
+
- [ ] จุดบูรณาการกับระบบที่มีอยู่ชัดเจนหรือไม่?
|
|
185
|
+
- [ ] เกณฑ์การยอมรับวัดผลได้หรือไม่?
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
### 4.2 ระยะที่ 2: การออกแบบฟีเจอร์ (Feature Designer)
|
|
190
|
+
|
|
191
|
+
**วิธีการเริ่ม**:
|
|
192
|
+
```
|
|
193
|
+
@speccrew-feature-designer เริ่มการออกแบบฟีเจอร์
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
**เวิร์กโฟลว์เอเจนต์**:
|
|
197
|
+
1. ระบุเอกสาร PRD ที่ยืนยันอัตโนมัติ
|
|
198
|
+
2. โหลดฐานความรู้ธุรกิจ
|
|
199
|
+
3. สร้างการออกแบบฟีเจอร์ (รวมถึง UI wireframes, โฟลว์การโต้ตอบ, คำจำกัดความข้อมูล, API contracts)
|
|
200
|
+
4. สำหรับหลาย PRD ใช้ Task Worker สำหรับการออกแบบแบบขนาน
|
|
201
|
+
|
|
202
|
+
**ผลลัพธ์**:
|
|
203
|
+
```
|
|
204
|
+
iterations/{iter}/02.feature-design/
|
|
205
|
+
└── [feature-name]-feature-spec.md # เอกสารการออกแบบฟีเจอร์
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
**รายการตรวจสอบการยืนยัน**:
|
|
209
|
+
- [ ] สถานการณ์ผู้ใช้ทั้งหมดครอบคลุมหรือไม่?
|
|
210
|
+
- [ ] โฟลว์การโต้ตอบชัดเจนหรือไม่?
|
|
211
|
+
- [ ] คำจำกัดความฟิลด์ข้อมูลครบถ้วนหรือไม่?
|
|
212
|
+
- [ ] การจัดการข้อยกเว้นครอบคลุมหรือไม่?
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
### 4.3 ระยะที่ 3: การออกแบบระบบ (System Designer)
|
|
217
|
+
|
|
218
|
+
**วิธีการเริ่ม**:
|
|
219
|
+
```
|
|
220
|
+
@speccrew-system-designer เริ่มการออกแบบระบบ
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
**เวิร์กโฟลว์เอเจนต์**:
|
|
224
|
+
1. ระบุ Feature Spec และ API Contract
|
|
225
|
+
2. โหลดฐานความรู้เทคนิค (สแต็กเทคโนโลยี สถาปัตยกรรม ข้อมูลจำเพาะสำหรับแต่ละแพลตฟอร์ม)
|
|
226
|
+
3. **จุดตรวจสอบ A**: การประเมินเฟรมเวิร์ก — วิเคราะห์ช่องว่างเทคนิค แนะนำเฟรมเวิร์กใหม่ (หากจำเป็น) รอการยืนยันจากผู้ใช้
|
|
227
|
+
4. สร้าง DESIGN-OVERVIEW.md
|
|
228
|
+
5. ใช้ Task Worker สำหรับการส่งการออกแบบแบบขนานสำหรับแต่ละแพลตฟอร์ม (frontend/backend/mobile/desktop)
|
|
229
|
+
6. **จุดตรวจสอบ B**: การยืนยันร่วมกัน — แสดงสรุปการออกแบบแพลตฟอร์มทั้งหมด รอการยืนยันจากผู้ใช้
|
|
230
|
+
|
|
231
|
+
**ผลลัพธ์**:
|
|
232
|
+
```
|
|
233
|
+
iterations/{iter}/03.system-design/
|
|
234
|
+
├── DESIGN-OVERVIEW.md # ภาพรวมการออกแบบ
|
|
235
|
+
├── {platform-id}/
|
|
236
|
+
│ ├── INDEX.md # ดัชนีการออกแบบแพลตฟอร์ม
|
|
237
|
+
│ └── {module}-design.md # การออกแบบโมดูลระดับโค้ดเทียม
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
**รายการตรวจสอบการยืนยัน**:
|
|
241
|
+
- [ ] โค้ดเทียมใช้ไวยากรณ์เฟรมเวิร์กจริงหรือไม่?
|
|
242
|
+
- [ ] API contracts ข้ามแพลตฟอร์มสอดคล้องกันหรือไม่?
|
|
243
|
+
- [ ] กลยุทธ์การจัดการข้อผิดพลาดเป็นหนึ่งเดียวหรือไม่?
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
### 4.4 ระยะที่ 4: การนำไปใช้การพัฒนา (System Developer)
|
|
248
|
+
|
|
249
|
+
**วิธีการเริ่ม**:
|
|
250
|
+
```
|
|
251
|
+
@speccrew-system-developer เริ่มการพัฒนา
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
**เวิร์กโฟลว์เอเจนต์**:
|
|
255
|
+
1. อ่านเอกสารการออกแบบระบบ
|
|
256
|
+
2. โหลดความรู้เทคนิคสำหรับแต่ละแพลตฟอร์ม
|
|
257
|
+
3. **จุดตรวจสอบ A**: การตรวจสอบสภาพแวดล้อมล่วงหน้า — ตรวจสอบเวอร์ชัน runtime การพึ่งพา ความพร้อมใช้งานของบริการ; หากไม่สำเร็จรอการแก้ไขจากผู้ใช้
|
|
258
|
+
4. ใช้ Task Worker สำหรับการส่งการพัฒนาแบบขนานสำหรับแต่ละแพลตฟอร์ม
|
|
259
|
+
5. การตรวจสอบการบูรณาการ: การจัดแนว API contracts ความสอดคล้องของข้อมูล
|
|
260
|
+
6. สร้างรายงานการส่งมอบ
|
|
261
|
+
|
|
262
|
+
**ผลลัพธ์**:
|
|
263
|
+
```
|
|
264
|
+
# ซอร์สโค้ดเขียนในไดเรกทอรีซอร์สโค้ดจริงของโปรเจกต์
|
|
265
|
+
iterations/{iter}/04.development/
|
|
266
|
+
├── {platform-id}/
|
|
267
|
+
│ └── tasks/ # บันทึกงานการพัฒนา
|
|
268
|
+
└── delivery-report.md
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
**รายการตรวจสอบการยืนยัน**:
|
|
272
|
+
- [ ] สภาพแวดล้อมพร้อมหรือไม่?
|
|
273
|
+
- [ ] ปัญหาด้านการบูรณาการอยู่ในขอบเขตที่ยอมรับได้หรือไม่?
|
|
274
|
+
- [ ] โค้ดเป็นไปตามข้อมูลจำเพาะการพัฒนาหรือไม่?
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
### 4.5 ระยะที่ 5: การทดสอบระบบ (Test Manager)
|
|
279
|
+
|
|
280
|
+
**วิธีการเริ่ม**:
|
|
281
|
+
```
|
|
282
|
+
@speccrew-test-manager เริ่มการทดสอบ
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
**กระบวนการทดสอบสามระยะ**:
|
|
286
|
+
|
|
287
|
+
| ระยะ | คำอธิบาย | จุดตรวจสอบ |
|
|
288
|
+
|------|----------|-------------------|
|
|
289
|
+
| การออกแบบกรณีทดสอบ | สร้างกรณีทดสอบตาม PRD และ Feature Spec | A: แสดงสถิติความครอบคลุมของกรณีและเมทริกซ์การติดตาม รอการยืนยันจากผู้ใช้ว่าครอบคลุมเพียงพอ |
|
|
290
|
+
| การสร้างโค้ดทดสอบ | สร้างโค้ดทดสอบที่เรียกใช้ได้ | B: แสดงไฟล์ทดสอบที่สร้างและการแมปกรณี รอการยืนยันจากผู้ใช้ |
|
|
291
|
+
| การดำเนินการทดสอบและรายงานข้อบกพร่อง | ดำเนินการทดสอบอัตโนมัติและสร้างรายงาน | ไม่มี (ดำเนินการอัตโนมัติ) |
|
|
292
|
+
|
|
293
|
+
**ผลลัพธ์**:
|
|
294
|
+
```
|
|
295
|
+
iterations/{iter}/05.system-test/
|
|
296
|
+
├── cases/
|
|
297
|
+
│ └── {platform-id}/ # เอกสารกรณีทดสอบ
|
|
298
|
+
├── code/
|
|
299
|
+
│ └── {platform-id}/ # แผนโค้ดทดสอบ
|
|
300
|
+
├── reports/
|
|
301
|
+
│ └── test-report-{date}.md # รายงานการทดสอบ
|
|
302
|
+
└── bugs/
|
|
303
|
+
└── BUG-{id}-{title}.md # รายงานข้อบกพร่อง (หนึ่งไฟล์ต่อข้อบกพร่อง)
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
**รายการตรวจสอบการยืนยัน**:
|
|
307
|
+
- [ ] ความครอบคลุมของกรณีครบถ้วนหรือไม่?
|
|
308
|
+
- [ ] โค้ดทดสอบเรียกใช้ได้หรือไม่?
|
|
309
|
+
- [ ] การประเมินความรุนแรงของข้อบกพร่องถูกต้องหรือไม่?
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
### 4.6 ระยะที่ 6: การเก็บถาวร
|
|
314
|
+
|
|
315
|
+
การทำซ้ำจะถูกเก็บถาวรอัตโนมัติเมื่อเสร็จสมบูรณ์:
|
|
316
|
+
|
|
317
|
+
```
|
|
318
|
+
speccrew-workspace/iteration-archives/
|
|
319
|
+
└── {หมายเลข}-{ประเภท}-{ชื่อ}-{วันที่}/
|
|
320
|
+
├── 01.product-requirement/
|
|
321
|
+
├── 02.feature-design/
|
|
322
|
+
├── 03.system-design/
|
|
323
|
+
├── 04.development/
|
|
324
|
+
└── 05.system-test/
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
---
|
|
328
|
+
|
|
329
|
+
## 5. ภาพรวมฐานความรู้
|
|
330
|
+
|
|
331
|
+
### 5.1 ฐานความรู้ธุรกิจ (bizs)
|
|
332
|
+
|
|
333
|
+
**วัตถุประสงค์**: เก็บคำอธิบายฟังก์ชันธุรกิจของโปรเจกต์ การแบ่งโมดูล ลักษณะ API
|
|
334
|
+
|
|
335
|
+
**โครงสร้างไดเรกทอรี**:
|
|
336
|
+
```
|
|
337
|
+
knowledges/bizs/
|
|
338
|
+
├── {platform-type}/
|
|
339
|
+
│ └── {module-name}/
|
|
340
|
+
│ └── feature-spec.md
|
|
341
|
+
└── system-overview.md
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
**สถานการณ์การใช้งาน**: Product Manager, Feature Designer
|
|
345
|
+
|
|
346
|
+
### 5.2 ฐานความรู้เทคนิค (techs)
|
|
347
|
+
|
|
348
|
+
**วัตถุประสงค์**: เก็บสแต็กเทคโนโลยีของโปรเจกต์ ข้อตกลงสถาปัตยกรรม ข้อมูลจำเพาะการพัฒนา ข้อมูลจำเพาะการทดสอบ
|
|
349
|
+
|
|
350
|
+
**โครงสร้างไดเรกทอรี**:
|
|
351
|
+
```
|
|
352
|
+
knowledges/techs/{platform-id}/
|
|
353
|
+
├── tech-stack.md
|
|
354
|
+
├── architecture.md
|
|
355
|
+
├── dev-spec.md
|
|
356
|
+
├── test-spec.md
|
|
357
|
+
└── INDEX.md
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
**สถานการณ์การใช้งาน**: System Designer, System Developer, Test Manager
|
|
361
|
+
|
|
362
|
+
---
|
|
363
|
+
|
|
364
|
+
## 6. คำถามที่พบบ่อย (FAQ)
|
|
365
|
+
|
|
366
|
+
### ค1: จะทำอย่างไรหากเอเจนต์ไม่ทำงานตามที่คาดไว้?
|
|
367
|
+
|
|
368
|
+
1. รัน `speccrew doctor` เพื่อตรวจสอบความสมบูรณ์ของการติดตั้ง
|
|
369
|
+
2. ยืนยันว่าฐานความรู้ถูกเริ่มต้นแล้ว
|
|
370
|
+
3. ยืนยันว่าผลผลิตของระยะก่อนหน้ามีอยู่ในไดเรกทอรีการทำซ้ำปัจจุบัน
|
|
371
|
+
|
|
372
|
+
### ค2: วิธีข้ามระยะ?
|
|
373
|
+
|
|
374
|
+
**ไม่แนะนำ** — ผลผลิตของแต่ละระยะเป็นอินพุตของระยะถัดไป
|
|
375
|
+
|
|
376
|
+
หากจำเป็นต้องข้าม ให้เตรียมเอกสารอินพุตของระยะที่สอดคล้องกันด้วยตนเอง และตรวจสอบว่าเป็นไปตามข้อกำหนดรูปแบบ
|
|
377
|
+
|
|
378
|
+
### ค3: วิธีจัดการหลายความต้องการแบบขนาน?
|
|
379
|
+
|
|
380
|
+
สร้างไดเรกทอรีการทำซ้ำอิสระสำหรับแต่ละความต้องการ:
|
|
381
|
+
```
|
|
382
|
+
iterations/
|
|
383
|
+
├── 001-feature-xxx/
|
|
384
|
+
├── 002-feature-yyy/
|
|
385
|
+
└── 003-feature-zzz/
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
แต่ละการทำซ้ำถูกแยกอย่างสมบูรณ์และไม่ส่งผลกระทบต่อกัน
|
|
389
|
+
|
|
390
|
+
### ค4: วิธีอัปเดตเวอร์ชัน SpecCrew?
|
|
391
|
+
|
|
392
|
+
- **การอัปเดตระดับโลก**: `npm update -g speccrew`
|
|
393
|
+
- **การอัปเดตโปรเจกต์**: รัน `speccrew update` ในไดเรกทอรีโปรเจกต์
|
|
394
|
+
|
|
395
|
+
### ค5: วิธีดูการทำซ้ำในอดีต?
|
|
396
|
+
|
|
397
|
+
หลังจากเก็บถาวร ดูใน `speccrew-workspace/iteration-archives/` จัดรูปแบบเป็น `{หมายเลข}-{ประเภท}-{ชื่อ}-{วันที่}/`
|
|
398
|
+
|
|
399
|
+
### ค6: ฐานความรู้ต้องอัปเดตเป็นประจำหรือไม่?
|
|
400
|
+
|
|
401
|
+
ต้องเริ่มต้นใหม่ในสถานการณ์ต่อไปนี้:
|
|
402
|
+
- การเปลี่ยนแปลงโครงสร้างโปรเจกต์อย่างมีนัยสำคัญ
|
|
403
|
+
- การอัปเดตหรือเปลี่ยนสแต็กเทคโนโลยี
|
|
404
|
+
- การเพิ่ม/ลบโมดูลธุรกิจ
|
|
405
|
+
|
|
406
|
+
---
|
|
407
|
+
|
|
408
|
+
## 7. ข้อมูลอ้างอิงด่วน
|
|
409
|
+
|
|
410
|
+
### ข้อมูลอ้างอิงด่วนการเริ่มเอเจนต์
|
|
411
|
+
|
|
412
|
+
| ระยะ | เอเจนต์ | บทสนทนาเริ่มต้น |
|
|
413
|
+
|------|-------|-------------------|
|
|
414
|
+
| การวินิจฉัย | Team Leader | `@speccrew-team-leader วินิจฉัยโปรเจกต์` |
|
|
415
|
+
| การเริ่มต้น | Team Leader | `@speccrew-team-leader เริ่มต้นฐานความรู้เทคนิค` |
|
|
416
|
+
| การวิเคราะห์ความต้องการ | Product Manager | `@speccrew-product-manager ฉันมีความต้องการใหม่: [คำอธิบาย]` |
|
|
417
|
+
| การออกแบบฟีเจอร์ | Feature Designer | `@speccrew-feature-designer เริ่มการออกแบบฟีเจอร์` |
|
|
418
|
+
| การออกแบบระบบ | System Designer | `@speccrew-system-designer เริ่มการออกแบบระบบ` |
|
|
419
|
+
| การพัฒนา | System Developer | `@speccrew-system-developer เริ่มการพัฒนา` |
|
|
420
|
+
| การทดสอบระบบ | Test Manager | `@speccrew-test-manager เริ่มการทดสอบ` |
|
|
421
|
+
|
|
422
|
+
### รายการตรวจสอบจุดตรวจสอบ
|
|
423
|
+
|
|
424
|
+
| ระยะ | จำนวนจุดตรวจสอบ | องค์ประกอบสำคัญของการตรวจสอบ |
|
|
425
|
+
|------|-----------------------------|------------------------------|
|
|
426
|
+
| การวิเคราะห์ความต้องการ | 1 | ความแม่นยำของข้อกำหนด ความสมบูรณ์ของกฎธุรกิจ การวัดผลได้ของเกณฑ์การยอมรับ |
|
|
427
|
+
| การออกแบบฟีเจอร์ | 1 | ความครอบคลุมของสถานการณ์ ความชัดเจนของการโต้ตอบ ความสมบูรณ์ของข้อมูล การจัดการข้อยกเว้น |
|
|
428
|
+
| การออกแบบระบบ | 2 | A: การประเมินเฟรมเวิร์ก; B: ไวยากรณ์โค้ดเทียม ความสอดคล้องข้ามแพลตฟอร์ม การจัดการข้อผิดพลาด |
|
|
429
|
+
| การพัฒนา | 1 | A: ความพร้อมของสภาพแวดล้อม ปัญหาด้านการบูรณาการ ข้อมูลจำเพาะโค้ด |
|
|
430
|
+
| การทดสอบระบบ | 2 | A: ความครอบคลุมของกรณี; B: การเรียกใช้ได้ของโค้ดทดสอบ |
|
|
431
|
+
|
|
432
|
+
### ข้อมูลอ้างอิงด่วนเส้นทางผลผลิต
|
|
433
|
+
|
|
434
|
+
| ระยะ | ไดเรกทอรีเอาต์พุต | รูปแบบไฟล์ |
|
|
435
|
+
|------|------------------|-------------|
|
|
436
|
+
| การวิเคราะห์ความต้องการ | `iterations/{iter}/01.product-requirement/` | `[name]-prd.md`, `[name]-bizs-modeling.md` |
|
|
437
|
+
| การออกแบบฟีเจอร์ | `iterations/{iter}/02.feature-design/` | `[name]-feature-spec.md` |
|
|
438
|
+
| การออกแบบระบบ | `iterations/{iter}/03.system-design/` | `DESIGN-OVERVIEW.md`, `{platform}/INDEX.md`, `{platform}/{module}-design.md` |
|
|
439
|
+
| การพัฒนา | `iterations/{iter}/04.development/` | ซอร์สโค้ด + `delivery-report.md` |
|
|
440
|
+
| การทดสอบระบบ | `iterations/{iter}/05.system-test/` | `cases/`, `code/`, `reports/`, `bugs/` |
|
|
441
|
+
| การเก็บถาวร | `iteration-archives/{iter}-{วันที่}/` | สำเนาเต็มของการทำซ้ำ |
|
|
442
|
+
|
|
443
|
+
---
|
|
444
|
+
|
|
445
|
+
## ขั้นตอนถัดไป
|
|
446
|
+
|
|
447
|
+
1. รัน `speccrew init --ide qoder` เพื่อเริ่มต้นโปรเจกต์ของคุณ
|
|
448
|
+
2. ทำขั้นตอนที่ศูนย์: การวินิจฉัยโปรเจกต์และการเริ่มต้นฐานความรู้
|
|
449
|
+
3. ดำเนินการผ่านแต่ละระยะตามเวิร์กโฟลว์ สนุกกับประสบการณ์การพัฒนาแบบขับเคลื่อนด้วยข้อมูลจำเพาะ!
|