yodogawa 2.0.0 → 2.1.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 +39 -0
- package/README.md +60 -22
- package/bin/cli.js +3 -7
- package/package.json +1 -1
- package/skills/a-001-setup-doc-structure/SKILL.md +67 -100
- package/skills/a-001-setup-doc-structure/reference/directory-structure.md +52 -0
- package/skills/a-002-initialize-project/SKILL.md +124 -289
- package/skills/a-002-initialize-project/examples/nfr-baseline.md +38 -0
- package/skills/a-002-initialize-project/reference/hearing-questions.md +92 -0
- package/skills/a-002-initialize-project/reference/structure-check.md +48 -0
- package/skills/a-003-create-scenarios/SKILL.md +99 -142
- package/skills/a-003-create-scenarios/examples/gherkin-templates.md +71 -0
- package/skills/a-003-create-scenarios/reference/structure-check.md +46 -0
- package/skills/a-004-define-domain-model/SKILL.md +99 -144
- package/skills/a-004-define-domain-model/reference/event-storming-guide.md +71 -0
- package/skills/a-005-create-domain-diagram/SKILL.md +94 -120
- package/skills/a-005-create-domain-diagram/examples/mermaid-templates.md +73 -0
- package/skills/a-005-create-domain-diagram/reference/structure-check.md +43 -0
- package/skills/a-006-review-requirements-domain/SKILL.md +85 -144
- package/skills/a-006-review-requirements-domain/examples/review-report-template.md +58 -0
- package/skills/a-006-review-requirements-domain/reference/consistency-checks.md +60 -0
- package/skills/a-007-define-tech-stack/SKILL.md +102 -130
- package/skills/a-007-define-tech-stack/examples/stack-interview.md +83 -0
- package/skills/a-007-define-tech-stack/reference/structure-check.md +51 -0
- package/skills/a-008-define-repository-structure/SKILL.md +99 -129
- package/skills/a-008-define-repository-structure/examples/structure-templates.md +108 -0
- package/skills/a-008-define-repository-structure/reference/structure-check.md +55 -0
- package/skills/a-009-define-screen-design/SKILL.md +106 -130
- package/skills/a-009-define-screen-design/examples/screen-templates.md +66 -0
- package/skills/a-009-define-screen-design/reference/structure-check.md +47 -0
- package/skills/a-010-define-design-system/SKILL.md +134 -212
- package/skills/a-010-define-design-system/examples/css-tokens.md +71 -0
- package/skills/a-010-define-design-system/reference/component-catalog.md +44 -0
- package/skills/a-011-define-data-model/SKILL.md +121 -134
- package/skills/a-011-define-data-model/examples/erd-templates.md +108 -0
- package/skills/a-011-define-data-model/reference/structure-check.md +56 -0
- package/skills/a-012-define-api-spec/SKILL.md +108 -132
- package/skills/a-012-define-api-spec/examples/api-templates.md +117 -0
- package/skills/a-012-define-api-spec/reference/structure-check.md +49 -0
- package/skills/a-013-define-architecture/SKILL.md +101 -128
- package/skills/a-013-define-architecture/examples/architecture-templates.md +98 -0
- package/skills/a-013-define-architecture/reference/structure-check.md +53 -0
- package/skills/a-014-define-infrastructure/SKILL.md +113 -130
- package/skills/a-014-define-infrastructure/examples/infrastructure-templates.md +97 -0
- package/skills/a-014-define-infrastructure/reference/structure-check.md +63 -0
- package/skills/a-015-review-design/SKILL.md +88 -140
- package/skills/a-015-review-design/examples/review-report-template.md +59 -0
- package/skills/a-015-review-design/reference/consistency-checks.md +47 -0
- package/skills/b-001-create-task-directory/SKILL.md +68 -78
- package/skills/b-001-create-task-directory/examples/naming-convention.md +39 -0
- package/skills/b-002-create-task-definition/SKILL.md +115 -172
- package/skills/b-002-create-task-definition/examples/hearing-and-criteria.md +49 -0
- package/skills/b-002-create-task-definition/reference/structure-check.md +42 -0
- package/skills/b-003-create-task-research/SKILL.md +130 -454
- package/skills/b-003-create-task-research/examples/research-tables.md +63 -0
- package/skills/b-003-create-task-research/reference/investigation-guide.md +106 -0
- package/skills/b-004-create-task-implementation/SKILL.md +97 -100
- package/skills/b-004-create-task-implementation/examples/phase-step-template.md +57 -0
- package/skills/b-004-create-task-implementation/reference/structure-check.md +34 -0
- package/skills/b-005-review-task/SKILL.md +117 -324
- package/skills/b-005-review-task/examples/review-report-template.md +62 -0
- package/skills/b-005-review-task/reference/assessment-criteria.md +79 -0
- package/skills/b-005-review-task/reference/consistency-checks.md +69 -0
- package/skills/c-001-implement-task/SKILL.md +186 -521
- package/skills/c-001-implement-task/examples/commit-and-pr.md +92 -0
- package/skills/c-001-implement-task/examples/task-list-format.md +50 -0
- package/skills/c-001-implement-task/reference/implementation-loop.md +65 -0
- package/skills/c-001-implement-task/reference/validation-loop.md +66 -0
- package/skills/c-002-update-documentation/SKILL.md +159 -853
- package/skills/c-002-update-documentation/examples/project-doc-updates.md +190 -0
- package/skills/c-002-update-documentation/examples/task-doc-updates.md +102 -0
- package/skills/c-002-update-documentation/reference/doc-structure-and-checks.md +100 -0
- package/templates/tasks/task-template/a-definition.md +1 -1
- package/templates/tasks/task-template/b-research.md +1 -1
- package/templates/tasks/task-template/c-implementation.md +2 -2
|
@@ -1,521 +1,186 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: c-001-implement-task
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
-
|
|
111
|
-
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
- [ ]
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
-
|
|
175
|
-
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
#### 3.1. フェーズ完了時のチェック
|
|
189
|
-
|
|
190
|
-
各フェーズの全ステップが完了したら、受け入れ基準を確認:
|
|
191
|
-
|
|
192
|
-
**質問5: 受け入れ基準の確認**
|
|
193
|
-
|
|
194
|
-
- 「フェーズ {N} の受け入れ基準を確認します。」
|
|
195
|
-
|
|
196
|
-
実装タスクリストから受け入れ基準を抽出:
|
|
197
|
-
|
|
198
|
-
```markdown
|
|
199
|
-
### フェーズ 1 の受け入れ基準
|
|
200
|
-
- [ ] データベースマイグレーションが成功する
|
|
201
|
-
- [ ] 型定義が正しく適用される(TypeScript コンパイルエラーなし)
|
|
202
|
-
- [ ] メール送信 API がトークンを生成し、メールを送信する
|
|
203
|
-
- [ ] 無効なトークンでアクセスした場合、エラーが返る
|
|
204
|
-
- [ ] トークンの有効期限切れが正しく検出される
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
#### 3.2. 受け入れ基準のテスト実行
|
|
208
|
-
|
|
209
|
-
各受け入れ基準について:
|
|
210
|
-
|
|
211
|
-
1. **自動テストの実行**
|
|
212
|
-
- ユニットテスト: `npm test`
|
|
213
|
-
- 統合テスト: `npm run test:integration`
|
|
214
|
-
- E2E テスト: `npm run test:e2e`
|
|
215
|
-
|
|
216
|
-
2. **手動確認が必要な項目**
|
|
217
|
-
- 「手動で確認が必要な項目があります:」
|
|
218
|
-
- ユーザーに確認を依頼
|
|
219
|
-
|
|
220
|
-
3. **結果の記録**
|
|
221
|
-
- 実装タスクリスト(`c-implementation.md`)の受け入れ基準チェックボックスを更新
|
|
222
|
-
- `- [ ]` → `- [x]` に変更
|
|
223
|
-
|
|
224
|
-
#### 3.3. フェーズ完了のコミット
|
|
225
|
-
|
|
226
|
-
**質問6: フェーズ完了のコミット**
|
|
227
|
-
|
|
228
|
-
- 「フェーズ {N} が完了しました。コミットしますか?」
|
|
229
|
-
|
|
230
|
-
コミットメッセージ例:
|
|
231
|
-
|
|
232
|
-
```
|
|
233
|
-
feat(task-{id}): complete phase {N} - {フェーズ名}
|
|
234
|
-
|
|
235
|
-
- {ステップ1の概要}
|
|
236
|
-
- {ステップ2の概要}
|
|
237
|
-
- {ステップ3の概要}
|
|
238
|
-
|
|
239
|
-
受け入れ基準:
|
|
240
|
-
- [x] {基準1}
|
|
241
|
-
- [x] {基準2}
|
|
242
|
-
- [x] {基準3}
|
|
243
|
-
```
|
|
244
|
-
|
|
245
|
-
### 4. 次のフェーズへの移行
|
|
246
|
-
|
|
247
|
-
#### 4.1. フェーズ間の依存関係確認
|
|
248
|
-
|
|
249
|
-
**質問7: 次のフェーズへ進む**
|
|
250
|
-
|
|
251
|
-
- 「フェーズ {N} が完了しました。次のフェーズ {N+1} に進みますか?」
|
|
252
|
-
|
|
253
|
-
次のフェーズの前提条件を確認:
|
|
254
|
-
|
|
255
|
-
- 前フェーズの受け入れ基準がすべて満たされているか
|
|
256
|
-
- 必要な環境設定が完了しているか
|
|
257
|
-
|
|
258
|
-
#### 4.2. 進捗の可視化
|
|
259
|
-
|
|
260
|
-
現在の進捗を表示:
|
|
261
|
-
|
|
262
|
-
```
|
|
263
|
-
進捗状況:
|
|
264
|
-
✅ フェーズ 1: データモデルと API の実装 (完了)
|
|
265
|
-
🔄 フェーズ 2: フロントエンド UI の実装 (進行中)
|
|
266
|
-
⏸️ フェーズ 3: テスト・ドキュメント (未着手)
|
|
267
|
-
|
|
268
|
-
全体進捗: 33% (3/9 ステップ完了)
|
|
269
|
-
```
|
|
270
|
-
|
|
271
|
-
### 5. 全フェーズ完了後の最終確認
|
|
272
|
-
|
|
273
|
-
#### 5.1. 最終テストの実行
|
|
274
|
-
|
|
275
|
-
**質問8: 最終テスト**
|
|
276
|
-
|
|
277
|
-
- 「全フェーズが完了しました。最終テストを実行します。」
|
|
278
|
-
|
|
279
|
-
実行するテスト:
|
|
280
|
-
|
|
281
|
-
- [ ] 全ユニットテストが通る
|
|
282
|
-
- [ ] 全統合テストが通る
|
|
283
|
-
- [ ] E2E テストが通る(該当する場合)
|
|
284
|
-
- [ ] テストカバレッジが基準を満たす(例: 80%以上)
|
|
285
|
-
- [ ] Lint エラーがない
|
|
286
|
-
- [ ] TypeScript コンパイルエラーがない
|
|
287
|
-
- [ ] ビルドが成功する
|
|
288
|
-
|
|
289
|
-
テストコマンド例:
|
|
290
|
-
|
|
291
|
-
```bash
|
|
292
|
-
npm run test:all
|
|
293
|
-
npm run lint
|
|
294
|
-
npm run type-check
|
|
295
|
-
npm run build
|
|
296
|
-
```
|
|
297
|
-
|
|
298
|
-
#### 5.2. タスク定義の受け入れ基準との照合
|
|
299
|
-
|
|
300
|
-
- タスク定義ドキュメント(`a-definition.md`)の受け入れ基準を確認
|
|
301
|
-
- 実装がすべての受け入れ基準を満たしているか検証
|
|
302
|
-
|
|
303
|
-
#### 5.3. ドキュメント更新の確認
|
|
304
|
-
|
|
305
|
-
**質問9: ドキュメント更新**
|
|
306
|
-
|
|
307
|
-
- 「以下のドキュメントは更新されていますか?」
|
|
308
|
-
- README.md(セットアップ手順、使い方)
|
|
309
|
-
- API ドキュメント(必要に応じて)
|
|
310
|
-
- 環境変数設定(.env.example)
|
|
311
|
-
- 変更履歴(CHANGELOG.md)
|
|
312
|
-
|
|
313
|
-
### 6. コミットとPR作成
|
|
314
|
-
|
|
315
|
-
#### 6.1. 最終コミット
|
|
316
|
-
|
|
317
|
-
**質問10: 最終コミット**
|
|
318
|
-
|
|
319
|
-
- 「実装が完了しました。最終コミットを作成しますか?」
|
|
320
|
-
|
|
321
|
-
コミットメッセージ例:
|
|
322
|
-
|
|
323
|
-
```
|
|
324
|
-
feat(task-{id}): implement {タスク概要}
|
|
325
|
-
|
|
326
|
-
実装内容:
|
|
327
|
-
- {変更1}
|
|
328
|
-
- {変更2}
|
|
329
|
-
- {変更3}
|
|
330
|
-
|
|
331
|
-
受け入れ基準:
|
|
332
|
-
- [x] {基準1}
|
|
333
|
-
- [x] {基準2}
|
|
334
|
-
- [x] {基準3}
|
|
335
|
-
|
|
336
|
-
テスト:
|
|
337
|
-
- ユニットテスト: 100% 通過
|
|
338
|
-
- 統合テスト: 100% 通過
|
|
339
|
-
- E2E テスト: 100% 通過
|
|
340
|
-
- カバレッジ: 85%
|
|
341
|
-
|
|
342
|
-
関連ドキュメント:
|
|
343
|
-
- docs/tasks/task{id}-{スラッグ}/a-definition.md
|
|
344
|
-
- docs/tasks/task{id}-{スラッグ}/b-research.md
|
|
345
|
-
- docs/tasks/task{id}-{スラッグ}/c-implementation.md
|
|
346
|
-
```
|
|
347
|
-
|
|
348
|
-
#### 6.2. PR作成の提案
|
|
349
|
-
|
|
350
|
-
**質問11: PR作成**
|
|
351
|
-
|
|
352
|
-
- 「Pull Request を作成しますか?」
|
|
353
|
-
|
|
354
|
-
PR タイトル例:
|
|
355
|
-
|
|
356
|
-
```
|
|
357
|
-
feat(task-{id}): {タスク概要}
|
|
358
|
-
```
|
|
359
|
-
|
|
360
|
-
PR 説明文例:
|
|
361
|
-
|
|
362
|
-
```markdown
|
|
363
|
-
## 概要
|
|
364
|
-
{タスクの目的と提供する価値}
|
|
365
|
-
|
|
366
|
-
## 変更内容
|
|
367
|
-
- {変更1}
|
|
368
|
-
- {変更2}
|
|
369
|
-
- {変更3}
|
|
370
|
-
|
|
371
|
-
## 受け入れ基準
|
|
372
|
-
- [x] {基準1}
|
|
373
|
-
- [x] {基準2}
|
|
374
|
-
- [x] {基準3}
|
|
375
|
-
|
|
376
|
-
## テスト結果
|
|
377
|
-
- ユニットテスト: ✅ 100% 通過
|
|
378
|
-
- 統合テスト: ✅ 100% 通過
|
|
379
|
-
- E2E テスト: ✅ 100% 通過
|
|
380
|
-
- カバレッジ: 85%
|
|
381
|
-
|
|
382
|
-
## スクリーンショット
|
|
383
|
-
(該当する場合)
|
|
384
|
-
|
|
385
|
-
## 関連ドキュメント
|
|
386
|
-
- [タスク定義](docs/tasks/task{id}-{スラッグ}/a-definition.md)
|
|
387
|
-
- [リサーチ](docs/tasks/task{id}-{スラッグ}/b-research.md)
|
|
388
|
-
- [実装タスクリスト](docs/tasks/task{id}-{スラッグ}/c-implementation.md)
|
|
389
|
-
|
|
390
|
-
## レビュー観点
|
|
391
|
-
- {観点1}
|
|
392
|
-
- {観点2}
|
|
393
|
-
```
|
|
394
|
-
|
|
395
|
-
### 7. 完成と次のステップ
|
|
396
|
-
|
|
397
|
-
- 「タスク {task-id} の実装が完了しました!」
|
|
398
|
-
- 実装完了の確認:
|
|
399
|
-
- [ ] 全ステップが完了している
|
|
400
|
-
- [ ] 全受け入れ基準が満たされている
|
|
401
|
-
- [ ] テストが全て通っている
|
|
402
|
-
- [ ] ドキュメントが更新されている
|
|
403
|
-
- [ ] コミットが作成されている
|
|
404
|
-
- [ ] PR が作成されている(該当する場合)
|
|
405
|
-
|
|
406
|
-
次のステップの提案:
|
|
407
|
-
|
|
408
|
-
- 「PR のレビューを依頼しますか?」
|
|
409
|
-
- 「次のタスクに取り掛かりますか?」
|
|
410
|
-
|
|
411
|
-
## 完了条件
|
|
412
|
-
|
|
413
|
-
- 実装タスクリスト(`c-implementation.md`)の全ステップが完了している
|
|
414
|
-
- 全ステップのチェックボックスが `[x]` になっている
|
|
415
|
-
- 全フェーズの受け入れ基準が満たされている
|
|
416
|
-
- タスク定義(`a-definition.md`)の受け入れ基準が満たされている
|
|
417
|
-
- 全テストが通っている(ユニット、統合、E2E)
|
|
418
|
-
- Lint エラーがない
|
|
419
|
-
- ビルドが成功している
|
|
420
|
-
- ドキュメントが更新されている
|
|
421
|
-
- Git コミットが作成されている
|
|
422
|
-
- PR が作成されている(該当する場合)
|
|
423
|
-
|
|
424
|
-
## エスカレーション
|
|
425
|
-
|
|
426
|
-
- 必須ドキュメントが存在しない場合:
|
|
427
|
-
- 「{ドキュメント名} が見つかりません。先に該当するワークフローを実行してください:」
|
|
428
|
-
- タスク定義: `/b-001-CreateTaskDefinition`
|
|
429
|
-
- リサーチ: `/b-002-CreateTaskResearch`
|
|
430
|
-
- 実装タスクリスト: `/b-003-CreateTaskImplementation`
|
|
431
|
-
|
|
432
|
-
- 開発環境が準備できていない場合:
|
|
433
|
-
- 「必要なツールがインストールされていません:{ツール名}」
|
|
434
|
-
- インストール方法をガイド
|
|
435
|
-
|
|
436
|
-
- ステップの実装中にエラーが発生した場合:
|
|
437
|
-
- 「ステップ {N} の実装中にエラーが発生しました:{エラー内容}」
|
|
438
|
-
- エラーの原因を分析し、修正を試みる
|
|
439
|
-
- 修正できない場合、ユーザーに報告し、ガイダンスを求める
|
|
440
|
-
|
|
441
|
-
- テストが失敗した場合:
|
|
442
|
-
- 「テストが失敗しました:{テスト名}」
|
|
443
|
-
- 失敗の原因を分析
|
|
444
|
-
- 修正が必要なコードを特定
|
|
445
|
-
- 修正を提案または実行
|
|
446
|
-
|
|
447
|
-
- 受け入れ基準を満たせない場合:
|
|
448
|
-
- 「受け入れ基準 {基準} を満たせませんでした。」
|
|
449
|
-
- 原因を調査し、追加の実装が必要か確認
|
|
450
|
-
- 受け入れ基準の見直しが必要か検討
|
|
451
|
-
|
|
452
|
-
- 並列実行でコンフリクトが発生した場合:
|
|
453
|
-
- 「並列実行したステップ間でコンフリクトが発生しました。」
|
|
454
|
-
- コンフリクトを解決
|
|
455
|
-
- 必要に応じて順次実行に切り替え
|
|
456
|
-
|
|
457
|
-
- 前のステップの完了が確認できない場合:
|
|
458
|
-
- 「ステップ {N} を実行するには、ステップ {N-1} が完了している必要があります。」
|
|
459
|
-
- 依存関係を確認し、順序を守る
|
|
460
|
-
|
|
461
|
-
## 実装ループの詳細フロー
|
|
462
|
-
|
|
463
|
-
```
|
|
464
|
-
開始
|
|
465
|
-
↓
|
|
466
|
-
[1] 実装前の検証
|
|
467
|
-
├─ ドキュメント存在確認
|
|
468
|
-
├─ 実装タスクリスト読み込み
|
|
469
|
-
├─ 開発環境確認
|
|
470
|
-
└─ Git 状態確認
|
|
471
|
-
↓
|
|
472
|
-
[2] フェーズループ開始
|
|
473
|
-
↓
|
|
474
|
-
[3] ステップループ開始
|
|
475
|
-
├─ ステップ情報表示
|
|
476
|
-
├─ 依存関係確認
|
|
477
|
-
├─ 実装実行
|
|
478
|
-
├─ コード説明
|
|
479
|
-
├─ ローカルテスト実行
|
|
480
|
-
├─ エラーハンドリング
|
|
481
|
-
├─ ステップ完了マーク
|
|
482
|
-
└─ Git コミット(オプション)
|
|
483
|
-
↓
|
|
484
|
-
[4] 全ステップ完了?
|
|
485
|
-
No → [3] に戻る
|
|
486
|
-
Yes ↓
|
|
487
|
-
[5] フェーズの受け入れ基準確認
|
|
488
|
-
├─ 受け入れ基準抽出
|
|
489
|
-
├─ テスト実行
|
|
490
|
-
├─ 結果記録
|
|
491
|
-
└─ フェーズ完了コミット
|
|
492
|
-
↓
|
|
493
|
-
[6] 全フェーズ完了?
|
|
494
|
-
No → [2] に戻る
|
|
495
|
-
Yes ↓
|
|
496
|
-
[7] 最終確認
|
|
497
|
-
├─ 最終テスト実行
|
|
498
|
-
├─ タスク定義の受け入れ基準照合
|
|
499
|
-
└─ ドキュメント更新確認
|
|
500
|
-
↓
|
|
501
|
-
[8] コミットとPR作成
|
|
502
|
-
├─ 最終コミット
|
|
503
|
-
└─ PR作成
|
|
504
|
-
↓
|
|
505
|
-
完了
|
|
506
|
-
```
|
|
507
|
-
|
|
508
|
-
## speckit.implement との対応
|
|
509
|
-
|
|
510
|
-
| speckit.implement | c-001-ImplementTask | 説明 |
|
|
511
|
-
|-------------------|---------------------|------|
|
|
512
|
-
| constitution ファイル確認 | タスク定義ドキュメント確認 | プロジェクトのガバナンスと標準 |
|
|
513
|
-
| specification ドキュメント確認 | タスク定義・リサーチ確認 | 何を構築するかの仕様 |
|
|
514
|
-
| implementation plan 確認 | 実装タスクリスト確認 | 技術スタックと実装計画 |
|
|
515
|
-
| tasks.md 解析 | c-implementation.md 解析 | タスクの分解と順序 |
|
|
516
|
-
| 依存関係の尊重 | ステップの順序確認 | 正しい順序で実行 |
|
|
517
|
-
| 並列実行の最適化 | [P] マークの識別 | 独立したタスクの並列実行 |
|
|
518
|
-
| TDD アプローチ | 各ステップでのテスト実行 | テスト駆動開発 |
|
|
519
|
-
| ローカル CLI コマンド実行 | Bash ツールでコマンド実行 | npm, dotnet, pytest など |
|
|
520
|
-
| 進捗更新 | チェックボックス更新と進捗表示 | 可視化 |
|
|
521
|
-
| エラーハンドリング | エラー分析と修正提案 | 問題解決 |
|
|
1
|
+
---
|
|
2
|
+
name: c-001-implement-task
|
|
3
|
+
description: c-implementation.md のステップを順次実行し、テスト・レビューを経て機能を完成させる。タスクレビュー後、実装を開始する際に使用(speckit.implement スタイル)。
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
argument-hint: "[task-id]"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# ImplementTask (c-001)
|
|
9
|
+
|
|
10
|
+
## 目的
|
|
11
|
+
|
|
12
|
+
- 実装タスクリスト(`c-implementation.md`)の各ステップを順次実行する。
|
|
13
|
+
- 各ステップの成果物を確実に作成し、実装漏れを防止する。
|
|
14
|
+
- ステップごとにテストを実行し、受け入れ基準を満たすことを確認する。
|
|
15
|
+
- フェーズごとに進捗を管理し、完了状態を可視化する。
|
|
16
|
+
- TDD(テスト駆動開発)アプローチに従い、品質を担保する。
|
|
17
|
+
|
|
18
|
+
## 前提
|
|
19
|
+
|
|
20
|
+
- タスクディレクトリが既に作成されていること(`/b-000-CreateTaskDirectory` で作成済み)
|
|
21
|
+
- タスク定義ドキュメント(`a-definition.md`)が作成されていること
|
|
22
|
+
- リサーチドキュメント(`b-research.md`)が作成されていること
|
|
23
|
+
- 実装タスクリスト(`c-implementation.md`)が作成されていること
|
|
24
|
+
- タスクディレクトリ形式: `docs/tasks/task000001-{スラッグ}/`
|
|
25
|
+
- 開発環境がセットアップされていること(必要なツール、ライブラリがインストール済み)
|
|
26
|
+
- Git リポジトリが初期化されていること
|
|
27
|
+
|
|
28
|
+
## Spec-Kit スタイルの実行フロー
|
|
29
|
+
|
|
30
|
+
このスキルは以下の原則に従います:
|
|
31
|
+
|
|
32
|
+
1. **仕様駆動開発**: タスク定義とリサーチドキュメントが実行可能な仕様として機能
|
|
33
|
+
2. **段階的な実装**: 一度にすべてを実装せず、ステップごとに進める
|
|
34
|
+
3. **依存関係の尊重**: ステップの順序を守り、前のステップの完了を確認してから次へ
|
|
35
|
+
4. **並列実行の最適化**: 依存関係のないステップは並列実行を検討
|
|
36
|
+
5. **テスト駆動開発**: 各ステップで適切なテストを実行
|
|
37
|
+
6. **継続的な検証**: 受け入れ基準を常に確認
|
|
38
|
+
|
|
39
|
+
実装ループ全体の俯瞰図と speckit.implement との対応は [reference/implementation-loop.md](reference/implementation-loop.md) を参照。
|
|
40
|
+
|
|
41
|
+
## 手順
|
|
42
|
+
|
|
43
|
+
`$ARGUMENTS` が指定されている場合は `task{ID}-{SLUG}`(例: `task000003-auth-login`)として使用する。未指定の場合はユーザーに対象タスクを確認する。
|
|
44
|
+
|
|
45
|
+
### 1. 実装前の検証
|
|
46
|
+
|
|
47
|
+
**必須ドキュメントの存在確認**:
|
|
48
|
+
|
|
49
|
+
- [ ] タスク定義ドキュメント(`a-definition.md`)
|
|
50
|
+
- [ ] リサーチドキュメント(`b-research.md`)
|
|
51
|
+
- [ ] 実装タスクリスト(`c-implementation.md`)
|
|
52
|
+
|
|
53
|
+
いずれかが存在しない場合、該当するスキルを実行するよう促す。
|
|
54
|
+
|
|
55
|
+
**実装タスクリストの読み込み**:
|
|
56
|
+
|
|
57
|
+
`c-implementation.md` からフェーズ一覧・各フェーズの目的と完了条件・ステップ一覧・成果物・受け入れ基準を確認する。構造例は [examples/task-list-format.md](examples/task-list-format.md) を参照。
|
|
58
|
+
|
|
59
|
+
**開発環境とGit 状態の確認**:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
node --version
|
|
63
|
+
git status
|
|
64
|
+
git branch --show-current
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
- 必要なツール(言語ランタイム、パッケージマネージャ、DB)の有無を確認。
|
|
68
|
+
- このタスク用の新しいブランチ作成を提案。推奨名: `task/{task-id}` または `feature/{スラッグ}`。
|
|
69
|
+
|
|
70
|
+
### 2. 実装の実行
|
|
71
|
+
|
|
72
|
+
**開始位置を確認**: どのフェーズ・ステップから開始するか(デフォルト: フェーズ 1、ステップ 1)。
|
|
73
|
+
|
|
74
|
+
**各ステップ実行の流れ**:
|
|
75
|
+
|
|
76
|
+
1. **ステップ情報の表示** — 「実行中: フェーズ {N}、ステップ {M}」+成果物・詳細
|
|
77
|
+
2. **依存関係の確認** — 前のステップ完了と前提条件の充足を確認
|
|
78
|
+
3. **実装の実行** — 成果物のファイルを作成/編集。リサーチのベスプラと再利用コンポーネントを活用
|
|
79
|
+
4. **コードの説明** — 実装内容と重要な技術的決定を簡潔に記録
|
|
80
|
+
5. **検証ループ(最大 3 回)** — 下記フローで、成功するまで修正を繰り返す。詳細は [reference/validation-loop.md](reference/validation-loop.md) を参照。
|
|
81
|
+
1. 型チェック / Lint / ユニットテストを実行
|
|
82
|
+
2. 失敗があれば原因を特定して修正
|
|
83
|
+
3. 再実行して合格を確認
|
|
84
|
+
4. 3 回試行しても解決しない場合はユーザーにエスカレーション
|
|
85
|
+
6. **ステップの完了マーク** — 全検証が合格したら `c-implementation.md` のチェックボックスを `- [ ]` → `- [x]` に更新
|
|
86
|
+
7. **Git コミット(オプション)** — コミットメッセージは [examples/commit-and-pr.md](examples/commit-and-pr.md) を参照
|
|
87
|
+
|
|
88
|
+
**並列実行の最適化**:
|
|
89
|
+
|
|
90
|
+
`[P]` マークがついたステップは依存関係がなく、並列実行を検討する(詳細は [examples/task-list-format.md](examples/task-list-format.md))。
|
|
91
|
+
|
|
92
|
+
### 3. フェーズごとの受け入れ基準の確認
|
|
93
|
+
|
|
94
|
+
各フェーズの全ステップが完了したら、受け入れ基準を確認:
|
|
95
|
+
|
|
96
|
+
1. **自動テストの実行**
|
|
97
|
+
- ユニットテスト: `npm test`
|
|
98
|
+
- 統合テスト: `npm run test:integration`
|
|
99
|
+
- E2E テスト: `npm run test:e2e`
|
|
100
|
+
|
|
101
|
+
2. **手動確認が必要な項目** — ユーザーに確認を依頼
|
|
102
|
+
|
|
103
|
+
3. **結果の記録** — `c-implementation.md` の受け入れ基準チェックボックスを `- [x]` に更新
|
|
104
|
+
|
|
105
|
+
4. **フェーズ完了コミット** — コミットメッセージ例は [examples/commit-and-pr.md](examples/commit-and-pr.md)
|
|
106
|
+
|
|
107
|
+
### 4. 次のフェーズへの移行
|
|
108
|
+
|
|
109
|
+
- 前フェーズの受け入れ基準がすべて満たされているか確認。
|
|
110
|
+
- 必要な環境設定が完了しているか確認。
|
|
111
|
+
- 進捗を可視化してユーザーに共有(例は [examples/task-list-format.md](examples/task-list-format.md))。
|
|
112
|
+
|
|
113
|
+
### 5. 全フェーズ完了後の最終確認
|
|
114
|
+
|
|
115
|
+
**最終テスト**:
|
|
116
|
+
|
|
117
|
+
- [ ] 全ユニット / 統合 / E2E テストが通る
|
|
118
|
+
- [ ] テストカバレッジが基準を満たす(例: 80%以上)
|
|
119
|
+
- [ ] Lint エラーがない
|
|
120
|
+
- [ ] TypeScript コンパイルエラーがない
|
|
121
|
+
- [ ] ビルドが成功する
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
npm run test:all
|
|
125
|
+
npm run lint
|
|
126
|
+
npm run type-check
|
|
127
|
+
npm run build
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
**タスク定義の受け入れ基準との照合**:
|
|
131
|
+
|
|
132
|
+
`a-definition.md` の受け入れ基準をすべての実装が満たしているか検証。
|
|
133
|
+
|
|
134
|
+
**ドキュメント更新の確認**:
|
|
135
|
+
|
|
136
|
+
- README.md(セットアップ手順、使い方)
|
|
137
|
+
- API ドキュメント(必要に応じて)
|
|
138
|
+
- 環境変数設定(.env.example)
|
|
139
|
+
- 変更履歴(CHANGELOG.md)
|
|
140
|
+
|
|
141
|
+
### 6. コミットと PR 作成
|
|
142
|
+
|
|
143
|
+
- **最終コミット**: 実装全体のまとめコミットを作成。
|
|
144
|
+
- **PR 作成の提案**: Pull Request を作成するか確認。
|
|
145
|
+
- コミットメッセージ・PR タイトル・PR 本文のテンプレートは [examples/commit-and-pr.md](examples/commit-and-pr.md) を参照。
|
|
146
|
+
|
|
147
|
+
### 7. 完成と次のステップ
|
|
148
|
+
|
|
149
|
+
- 「タスク {task-id} の実装が完了しました!」
|
|
150
|
+
- 実装完了チェック:
|
|
151
|
+
- [ ] 全ステップが完了している
|
|
152
|
+
- [ ] 全受け入れ基準が満たされている
|
|
153
|
+
- [ ] テストが全て通っている
|
|
154
|
+
- [ ] ドキュメントが更新されている
|
|
155
|
+
- [ ] コミットが作成されている
|
|
156
|
+
- [ ] PR が作成されている(該当する場合)
|
|
157
|
+
- 次のステップの提案: PR レビュー依頼 or 次のタスク着手。
|
|
158
|
+
|
|
159
|
+
## 完了条件
|
|
160
|
+
|
|
161
|
+
- `c-implementation.md` の全ステップチェックボックスが `[x]`
|
|
162
|
+
- 全フェーズの受け入れ基準が満たされている
|
|
163
|
+
- `a-definition.md` の受け入れ基準が満たされている
|
|
164
|
+
- 全テスト(ユニット/統合/E2E)が通っている
|
|
165
|
+
- Lint エラーがない
|
|
166
|
+
- ビルドが成功している
|
|
167
|
+
- ドキュメントが更新されている
|
|
168
|
+
- Git コミットが作成されている
|
|
169
|
+
- PR が作成されている(該当する場合)
|
|
170
|
+
|
|
171
|
+
## エスカレーション
|
|
172
|
+
|
|
173
|
+
- **必須ドキュメントが不足**: 「{ドキュメント名} が見つかりません。先に該当スキルを実行してください(タスク定義 → `/b-001` / リサーチ → `/b-002` / 実装タスクリスト → `/b-003`)。」
|
|
174
|
+
- **開発環境が未準備**: 「必要なツールがインストールされていません:{ツール名}」とインストール方法をガイド。
|
|
175
|
+
- **ステップ実装中のエラー**: 原因を分析し修正を試行。修正不能ならユーザーに報告しガイダンスを求める。
|
|
176
|
+
- **テスト失敗**: 失敗の原因を分析し、修正が必要なコードを特定して提案 or 実行。
|
|
177
|
+
- **受け入れ基準が満たせない**: 原因調査 → 追加実装 or 基準の見直しを検討。
|
|
178
|
+
- **並列実行でコンフリクト発生**: コンフリクトを解決、必要に応じて順次実行に切り替え。
|
|
179
|
+
- **前のステップの完了未確認**: 依存関係を確認し、順序を守る。
|
|
180
|
+
|
|
181
|
+
## 参考
|
|
182
|
+
|
|
183
|
+
- [reference/implementation-loop.md](reference/implementation-loop.md) — 実装ループの詳細フロー図と speckit.implement 対応
|
|
184
|
+
- [reference/validation-loop.md](reference/validation-loop.md) — 検証ループのフロー、実行コマンド、エスカレーション基準
|
|
185
|
+
- [examples/task-list-format.md](examples/task-list-format.md) — 実装タスクリストの構造・受け入れ基準・進捗表示の例
|
|
186
|
+
- [examples/commit-and-pr.md](examples/commit-and-pr.md) — コミットメッセージと PR テンプレート
|