@sk8metal/michi-cli 0.10.1 → 0.11.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 (104) hide show
  1. package/README.md +77 -847
  2. package/dist/scripts/phase-runner.js +1 -1
  3. package/dist/scripts/phase-runner.js.map +1 -1
  4. package/dist/scripts/utils/multi-repo-validator.d.ts +18 -0
  5. package/dist/scripts/utils/multi-repo-validator.d.ts.map +1 -1
  6. package/dist/scripts/utils/multi-repo-validator.js +42 -0
  7. package/dist/scripts/utils/multi-repo-validator.js.map +1 -1
  8. package/dist/scripts/utils/tasks-format-validator.js +3 -3
  9. package/dist/scripts/utils/tasks-format-validator.js.map +1 -1
  10. package/docs/README.md +20 -83
  11. package/docs/getting-started/configuration.md +379 -0
  12. package/docs/getting-started/installation.md +59 -0
  13. package/docs/getting-started/quick-start.md +76 -0
  14. package/docs/guides/ai-tools.md +311 -0
  15. package/docs/guides/atlassian-integration.md +116 -0
  16. package/docs/guides/claude-code.md +155 -0
  17. package/docs/guides/multi-repo.md +117 -0
  18. package/docs/guides/workflow.md +382 -0
  19. package/docs/reference/ai-commands.md +92 -0
  20. package/docs/reference/cli.md +756 -0
  21. package/docs/reference/environment-variables.md +192 -0
  22. package/docs/troubleshooting.md +543 -0
  23. package/package.json +1 -1
  24. package/scripts/phase-runner.ts +1 -1
  25. package/scripts/utils/__tests__/multi-repo-validator.test.ts +159 -1
  26. package/scripts/utils/multi-repo-validator.ts +50 -0
  27. package/scripts/utils/tasks-format-validator.ts +3 -3
  28. package/templates/claude/agents/e2e-first-planner/AGENT.md +1 -1
  29. package/templates/claude/agents/pr-resolver/AGENT.md +15 -3
  30. package/templates/claude/commands/michi/e2e-plan.md +1 -1
  31. package/templates/claude/commands/michi/spec-design.md +2 -2
  32. package/templates/claude/commands/michi/spec-tasks.md +156 -0
  33. package/templates/claude/commands/michi/test-planning.md +1 -1
  34. package/templates/claude/commands/michi/validate-design.md +3 -3
  35. package/templates/claude/commands/michi-multi-repo/impl-all.md +30 -1
  36. package/templates/claude/commands/michi-multi-repo/propagate-specs.md +14 -1
  37. package/templates/claude/commands/michi-multi-repo/spec-review.md +16 -2
  38. package/templates/claude-agent/agents/repo-spec-executor.md +1 -1
  39. package/templates/claude-agent/commands/michi/spec-tasks.md +117 -0
  40. package/templates/claude-agent/rules/code-size-monitor.md +26 -0
  41. package/templates/claude-agent/rules/code-size-rules.md +32 -0
  42. package/templates/codex/AGENTS.override.md +1 -1
  43. package/templates/codex/rules/README.md +2 -2
  44. package/templates/cursor/commands/michi/spec-tasks.md +117 -0
  45. package/templates/michi/cc-sdd-overrides/settings/rules/design-review-michi.md +1 -1
  46. package/docs/context.md +0 -59
  47. package/docs/michi-development/contributing/development.md +0 -341
  48. package/docs/michi-development/contributing/release.md +0 -365
  49. package/docs/michi-development/design/config-unification.md +0 -733
  50. package/docs/michi-development/design/design-config-current-state.md +0 -330
  51. package/docs/michi-development/design/design-config-implementation.md +0 -628
  52. package/docs/michi-development/design/design-config-migration.md +0 -952
  53. package/docs/michi-development/design/design-config-security.md +0 -771
  54. package/docs/michi-development/design/design-config-solution.md +0 -583
  55. package/docs/michi-development/design/design-config-testing.md +0 -892
  56. package/docs/michi-development/testing/manual-verification-flow.md +0 -871
  57. package/docs/michi-development/testing/manual-verification-other-tools.md +0 -1279
  58. package/docs/michi-development/testing/manual-verification-troubleshooting.md +0 -122
  59. package/docs/michi-development/testing/pre-publish-checklist.md +0 -560
  60. package/docs/michi-development/testing-strategy.md +0 -87
  61. package/docs/plan.md +0 -275
  62. package/docs/user-guide/getting-started/github-token-setup.md +0 -510
  63. package/docs/user-guide/getting-started/new-repository-setup.md +0 -704
  64. package/docs/user-guide/getting-started/quick-start.md +0 -212
  65. package/docs/user-guide/getting-started/setup.md +0 -819
  66. package/docs/user-guide/guides/agent-skills-integration.md +0 -222
  67. package/docs/user-guide/guides/customization.md +0 -537
  68. package/docs/user-guide/guides/internationalization.md +0 -540
  69. package/docs/user-guide/guides/migration-guide.md +0 -138
  70. package/docs/user-guide/guides/multi-project.md +0 -368
  71. package/docs/user-guide/guides/multi-repo-guide.md +0 -1590
  72. package/docs/user-guide/guides/phase-automation.md +0 -419
  73. package/docs/user-guide/guides/workflow.md +0 -574
  74. package/docs/user-guide/hands-on/README.md +0 -142
  75. package/docs/user-guide/hands-on/claude-agent-setup.md +0 -597
  76. package/docs/user-guide/hands-on/claude-setup.md +0 -452
  77. package/docs/user-guide/hands-on/cursor-setup.md +0 -353
  78. package/docs/user-guide/hands-on/troubleshooting.md +0 -964
  79. package/docs/user-guide/hands-on/verification-checklist.md +0 -439
  80. package/docs/user-guide/hands-on/workflow-walkthrough.md +0 -1078
  81. package/docs/user-guide/reference/config.md +0 -589
  82. package/docs/user-guide/reference/multi-repo-api.md +0 -771
  83. package/docs/user-guide/reference/quick-reference.md +0 -297
  84. package/docs/user-guide/reference/security-test-payloads.md +0 -50
  85. package/docs/user-guide/reference/tasks-template.md +0 -550
  86. package/docs/user-guide/release/ci-setup-java.md +0 -114
  87. package/docs/user-guide/release/ci-setup-nodejs.md +0 -94
  88. package/docs/user-guide/release/ci-setup-php.md +0 -102
  89. package/docs/user-guide/release/ci-setup-troubleshooting.md +0 -94
  90. package/docs/user-guide/release/ci-setup.md +0 -188
  91. package/docs/user-guide/release/release-flow.md +0 -476
  92. package/docs/user-guide/templates/test-specs/README.md +0 -173
  93. package/docs/user-guide/templates/test-specs/e2e-test-spec-template.md +0 -553
  94. package/docs/user-guide/templates/test-specs/integration-test-spec-template.md +0 -435
  95. package/docs/user-guide/templates/test-specs/performance-test-spec-template.md +0 -454
  96. package/docs/user-guide/templates/test-specs/security-test-spec-template.md +0 -625
  97. package/docs/user-guide/templates/test-specs/unit-test-spec-template.md +0 -328
  98. package/docs/user-guide/testing/integration-tests.md +0 -312
  99. package/docs/user-guide/testing/tdd-cycle.md +0 -349
  100. package/docs/user-guide/testing/test-execution-flow.md +0 -396
  101. package/docs/user-guide/testing/test-failure-handling.md +0 -521
  102. package/docs/user-guide/testing/test-planning-flow.md +0 -185
  103. package/docs/user-guide/testing-strategy.md +0 -185
  104. package/docs/verification-guide.md +0 -518
@@ -1,871 +0,0 @@
1
- # Michi 手動検証フロー
2
-
3
- NPMパッケージpublish前の完全な手動検証フローガイド
4
-
5
- ## 目次
6
-
7
- - [概要](#概要)
8
- - [ツールサポート状況](#ツールサポート状況)
9
- - [前提条件](#前提条件)
10
- - [Part 1: 実ユーザーワークフロー](#part-1-実ユーザーワークフロー)
11
- - [1.1 Cursor IDE](#11-cursor-ide)
12
- - [1.2 Claude Code](#12-claude-code)
13
- - [1.3 Claude Agent SDK](#13-claude-agent-sdk)
14
- - [1.4 Cline](#14-cline)
15
- - [1.5 Gemini](#15-gemini)
16
- - [1.6 Codex](#16-codex)
17
- - [Part 2: 自動テストワークフロー](#part-2-自動テストワークフロー)
18
- - [トラブルシューティング](#トラブルシューティング)
19
-
20
- ---
21
-
22
- ## 概要
23
-
24
- このドキュメントは、Michiパッケージのpublish前に実施する手動検証の完全なフローを記載しています。
25
-
26
- ### 検証の目的
27
-
28
- 1. **実環境での動作確認**: NPMパッケージとしてインストールした状態での動作を確認
29
- 2. **全ツール対応確認**: 6つのAI開発ツールすべてでセットアップと基本機能が動作することを確認
30
- 3. **2段階セットアップの検証**: cc-sdd → Michi の順序でのセットアップが正しく動作することを確認
31
-
32
- ### 2つのコマンド実行パターン
33
-
34
- このガイドでは、各ツールに対して2つのコマンド実行パターンを提供します:
35
-
36
- - **Pattern A (NPM Package)**: NPMパッケージとしてインストールした状態での実行
37
- - 実ユーザーの使用方法に最も近い
38
- - `npx @sk8metal/michi-cli <command>` を使用
39
-
40
- - **Pattern B (Development)**: 開発環境から直接実行
41
- - 開発者が開発中のコードをテストする場合に使用
42
- - `npx tsx ~/Work/git/michi/src/cli.ts <command>` を使用
43
-
44
- ---
45
-
46
- ## ツールサポート状況
47
-
48
- | AI開発ツール | cc-sdd対応 | Michi対応 | 検証状況 |
49
- | -------------------- | ----------- | ----------------- | --------------- |
50
- | **Cursor IDE** | ✅ 完全対応 | ✅ 完全対応 | ✅ 動作確認済み |
51
- | **Claude Code** | ✅ 完全対応 | ✅ 完全対応 | ✅ 動作確認済み |
52
- | **Claude Agent SDK** | ⚠️ 暫定対応 | ⚠️ 暫定対応 | ⚠️ 要検証 |
53
- | **Cline** | ❓ 未確認 | ✅ テンプレート有 | ❓ 要検証 |
54
- | **Gemini** | 🚧 準備中 | 🚧 準備中 | 🚧 未対応 |
55
- | **Codex** | 🚧 準備中 | 🚧 準備中 | 🚧 未対応 |
56
-
57
- ### サポート状況の詳細
58
-
59
- - ✅ **完全対応**: すべての機能が動作確認済み
60
- - ⚠️ **暫定対応**: 基本機能は動作するが、一部制限あり
61
- - ❓ **未確認**: テンプレートは存在するが動作未検証
62
- - 🚧 **準備中**: 現在開発中
63
-
64
- ---
65
-
66
- ## 前提条件
67
-
68
- ### システム要件
69
-
70
- - Node.js >= 20.0.0
71
- - npm >= 10.0.0
72
- - Git
73
- - 各AI開発ツールのインストール(検証対象のツール)
74
-
75
- ### 事前準備
76
-
77
- 1. **Michiプロジェクトのビルド**(Pattern B使用時のみ)
78
-
79
- ```bash
80
- cd ~/Work/git/michi
81
- npm run build
82
- ```
83
-
84
- 2. **NPMパッケージの作成**(Pattern A使用時のみ)
85
- ```bash
86
- cd ~/Work/git/michi
87
- npm pack
88
- # 出力: sk8metal-michi-cli-X.X.X.tgz
89
- ```
90
-
91
- ---
92
-
93
- ## Part 1: 実ユーザーワークフロー
94
-
95
- このセクションでは、各AI開発ツールごとに、実際のユーザーが行うセットアップから基本機能の確認までの完全なフローを記載します。
96
-
97
- ### 重要な原則
98
-
99
- 1. **2段階セットアップが必須**
100
- - Phase 1: cc-sddのインストール(AIコマンド `/kiro:spec-*` を提供)
101
- - Phase 2: Michiのセットアップ(CLIコマンドとチャットコマンド `/michi:*` を提供)
102
-
103
- 2. **絶対パスの使用**
104
- - すべてのコマンドは絶対パスで記載
105
- - テストディレクトリ `/tmp/michi-manual-test-<tool>` からでも実行可能
106
-
107
- 3. **feature名の統一**
108
- - すべての検証で `java-calculator-webapp` を使用
109
-
110
- ---
111
-
112
- ## 1.1 Cursor IDE
113
-
114
- ### サポート状況
115
-
116
- - ✅ cc-sdd: 完全対応
117
- - ✅ Michi: 完全対応
118
-
119
- ### Step 0: テストディレクトリの準備
120
-
121
- ```bash
122
- # テストディレクトリを作成
123
- mkdir -p /tmp/michi-manual-test-cursor
124
- cd /tmp/michi-manual-test-cursor
125
-
126
- # Gitリポジトリとして初期化
127
- git init
128
- git config user.name "Test User"
129
- git config user.email "test@example.com"
130
-
131
- # 初期コミット
132
- touch README.md
133
- git add README.md
134
- git commit -m "Initial commit"
135
- ```
136
-
137
- ### Step 1: Phase 1 - cc-sddのインストール
138
-
139
- #### Pattern A: NPM Package(推奨)
140
-
141
- ```bash
142
- cd /tmp/michi-manual-test-cursor
143
-
144
- # cc-sddをインストール(Cursor IDE用、日本語)
145
- npx cc-sdd@latest --cursor --lang ja
146
- ```
147
-
148
- #### Pattern B: Development(開発環境)
149
-
150
- cc-sddは外部パッケージのため、Pattern Bは適用外です。常にNPMから最新版をインストールしてください。
151
-
152
- #### 確認事項
153
-
154
- 実行後、以下のファイルが生成されることを確認:
155
-
156
- ```bash
157
- ls -la /tmp/michi-manual-test-cursor/.cursor/
158
- # 出力例:
159
- # .cursor/
160
- # .cursorrules
161
- # commands/
162
- # kiro-spec-init.md
163
- # kiro-spec-requirements.md
164
- # kiro-spec-design.md
165
- # ... (cc-sdd提供の10個のコマンド)
166
- ```
167
-
168
- ### Step 2: Phase 2 - Michiのセットアップ
169
-
170
- #### Pattern A: NPM Package(推奨)
171
-
172
- ```bash
173
- cd /tmp/michi-manual-test-cursor
174
-
175
- # Michiパッケージをグローバルインストール
176
- npm install -g @sk8metal/michi-cli
177
-
178
- # Michiセットアップ(Cursor IDE用)
179
- michi setup-existing --cursor --lang ja
180
- ```
181
-
182
- #### Pattern B: Development(開発環境)
183
-
184
- ```bash
185
- cd /tmp/michi-manual-test-cursor
186
-
187
- # 開発環境のMichiを使用してセットアップ
188
- npx tsx ~/Work/git/michi/src/cli.ts setup-existing --cursor --lang ja
189
- ```
190
-
191
- #### 確認事項
192
-
193
- 実行後、以下のファイルが追加されることを確認:
194
-
195
- ```bash
196
- ls -la /tmp/michi-manual-test-cursor/.cursor/commands/
197
- # cc-sddのコマンドに加えて、Michiのコマンドが追加されている:
198
- # michi-confluence-sync.md
199
- # michi-project-switch.md
200
- ```
201
-
202
- ### Step 3: フェーズ実行
203
-
204
- 各フェーズごとに、AIコマンド(該当する場合)とCLIコマンドを順番に実行します。
205
-
206
- #### 3.0 初期化
207
-
208
- Cursor IDEを開き、AIコマンドを実行:
209
-
210
- ```
211
- /kiro:spec-init マニュアルテスト機能
212
- ```
213
-
214
- **期待される動作:**
215
-
216
- - `.kiro/specs/java-calculator-webapp/` ディレクトリが作成される
217
- - `spec.json` が初期化される
218
-
219
- #### 3.1 Phase 0.1: 要件定義(必須)
220
-
221
- **AIコマンド:**
222
-
223
- ```
224
- /kiro:spec-requirements java-calculator-webapp
225
- ```
226
-
227
- **期待される動作:**
228
-
229
- - `requirements.md` が生成される
230
- - AIが要件を整理して記載
231
-
232
- **CLIコマンド - Pattern A (NPM Package):**
233
-
234
- ```bash
235
- cd /tmp/michi-manual-test-cursor
236
- michi phase:run java-calculator-webapp requirements
237
- ```
238
-
239
- **CLIコマンド - Pattern B (Development):**
240
-
241
- ```bash
242
- cd /tmp/michi-manual-test-cursor
243
- npx tsx ~/Work/git/michi/src/cli.ts phase:run java-calculator-webapp requirements
244
- ```
245
-
246
- **期待される結果:**
247
-
248
- - Confluenceページが作成される
249
- - バリデーションが成功する
250
-
251
- #### 3.2 Phase 0.2: 設計(必須)
252
-
253
- **AIコマンド:**
254
-
255
- ```
256
- /kiro:spec-design java-calculator-webapp
257
- ```
258
-
259
- **期待される動作:**
260
-
261
- - `design.md` が生成される
262
- - AIが設計内容を記載
263
-
264
- **CLIコマンド - Pattern A (NPM Package):**
265
-
266
- ```bash
267
- cd /tmp/michi-manual-test-cursor
268
- michi phase:run java-calculator-webapp design
269
- ```
270
-
271
- **CLIコマンド - Pattern B (Development):**
272
-
273
- ```bash
274
- cd /tmp/michi-manual-test-cursor
275
- npx tsx ~/Work/git/michi/src/cli.ts phase:run java-calculator-webapp design
276
- ```
277
-
278
- **期待される結果:**
279
-
280
- - Confluenceページが作成される
281
- - バリデーションが成功する
282
-
283
- #### 3.3 Phase 0.3: テストタイプ選択(任意)
284
-
285
- **AIコマンド:** なし(このフェーズにはAIコマンドは不要)
286
-
287
- **CLIコマンド - Pattern A (NPM Package):**
288
-
289
- ```bash
290
- cd /tmp/michi-manual-test-cursor
291
- michi phase:run java-calculator-webapp test-type-selection
292
- ```
293
-
294
- **CLIコマンド - Pattern B (Development):**
295
-
296
- ```bash
297
- cd /tmp/michi-manual-test-cursor
298
- npx tsx ~/Work/git/michi/src/cli.ts phase:run java-calculator-webapp test-type-selection
299
- ```
300
-
301
- **期待される結果:**
302
-
303
- - テストタイプの選択が完了する
304
- - バリデーションが成功する
305
-
306
- #### 3.4 Phase 0.4: テスト仕様書作成(任意)
307
-
308
- **AIコマンド:** なし(このフェーズにはAIコマンドは不要)
309
-
310
- **CLIコマンド - Pattern A (NPM Package):**
311
-
312
- ```bash
313
- cd /tmp/michi-manual-test-cursor
314
- michi phase:run java-calculator-webapp test-spec
315
- ```
316
-
317
- **CLIコマンド - Pattern B (Development):**
318
-
319
- ```bash
320
- cd /tmp/michi-manual-test-cursor
321
- npx tsx ~/Work/git/michi/src/cli.ts phase:run java-calculator-webapp test-spec
322
- ```
323
-
324
- **期待される結果:**
325
-
326
- - テスト仕様書が作成される
327
- - バリデーションが成功する
328
-
329
- #### 3.5 Phase 0.5-0.6: タスク分割・JIRA同期(必須)
330
-
331
- **AIコマンド:**
332
-
333
- ```
334
- /kiro:spec-tasks java-calculator-webapp
335
- ```
336
-
337
- **期待される動作:**
338
-
339
- - `tasks.md` が生成される
340
- - ストーリー、タスク、工数が記載される
341
-
342
- **CLIコマンド - Pattern A (NPM Package):**
343
-
344
- ```bash
345
- cd /tmp/michi-manual-test-cursor
346
- michi phase:run java-calculator-webapp tasks
347
- ```
348
-
349
- **CLIコマンド - Pattern B (Development):**
350
-
351
- ```bash
352
- cd /tmp/michi-manual-test-cursor
353
- npx tsx ~/Work/git/michi/src/cli.ts phase:run java-calculator-webapp tasks
354
- ```
355
-
356
- **期待される結果:**
357
-
358
- - JIRAチケットが作成される
359
- - バリデーションが成功する
360
-
361
- #### 3.6 Phase 1: 環境構築(任意)
362
-
363
- **AIコマンド:** なし(このフェーズにはAIコマンドは不要)
364
-
365
- **CLIコマンド - Pattern A (NPM Package):**
366
-
367
- ```bash
368
- cd /tmp/michi-manual-test-cursor
369
- michi phase:run java-calculator-webapp environment-setup
370
- ```
371
-
372
- **CLIコマンド - Pattern B (Development):**
373
-
374
- ```bash
375
- cd /tmp/michi-manual-test-cursor
376
- npx tsx ~/Work/git/michi/src/cli.ts phase:run java-calculator-webapp environment-setup
377
- ```
378
-
379
- **期待される結果:**
380
-
381
- - 環境構築プロセスが完了する
382
- - バリデーションが成功する
383
-
384
- #### 3.7 Phase 2: TDD実装(必須)
385
-
386
- **AIコマンド:**
387
-
388
- ```
389
- /kiro:spec-impl java-calculator-webapp
390
- ```
391
-
392
- **期待される動作:**
393
-
394
- - TDD(RED-GREEN-REFACTOR)サイクルで実装
395
- - 各タスクの実装とテストが完了
396
-
397
- **注意:** 実際の実装は行わず、コマンドの動作確認のみ
398
-
399
- **JIRA連携について:**
400
- JIRA連携は `/kiro:spec-impl` コマンド実行時に自動で行われます:
401
-
402
- - spec.json から JIRA 情報(Epic + Story)を自動取得
403
- - Epic と最初の Story を「進行中」に移動
404
- - TDD 実装
405
- - PR 作成
406
- - Epic と最初の Story を「レビュー待ち」に移動
407
- - JIRA に PR リンクをコメント
408
-
409
- **CLIコマンド - 個別JIRA操作(任意)- Pattern A (NPM Package):**
410
-
411
- ```bash
412
- cd /tmp/michi-manual-test-cursor
413
- # ステータス変更
414
- michi jira:transition DEMO-103 "In Progress"
415
-
416
- # コメント追加
417
- michi jira:comment DEMO-103 "テストコメント"
418
- ```
419
-
420
- **CLIコマンド - 個別JIRA操作(任意)- Pattern B (Development):**
421
-
422
- ```bash
423
- cd /tmp/michi-manual-test-cursor
424
- # ステータス変更
425
- npx tsx ~/Work/git/michi/src/cli.ts jira:transition DEMO-103 "In Progress"
426
-
427
- # コメント追加
428
- npx tsx ~/Work/git/michi/src/cli.ts jira:comment DEMO-103 "テストコメント"
429
- ```
430
-
431
- **期待される結果:**
432
-
433
- - JIRAステータスが変更される
434
- - JIRAにコメントが追加される
435
-
436
- #### 3.8 Phase A: PR前自動テスト(任意)
437
-
438
- **AIコマンド:** なし(このフェーズにはAIコマンドは不要)
439
-
440
- **CLIコマンド - Pattern A (NPM Package):**
441
-
442
- ```bash
443
- cd /tmp/michi-manual-test-cursor
444
- michi phase:run java-calculator-webapp phase-a
445
- ```
446
-
447
- **CLIコマンド - Pattern B (Development):**
448
-
449
- ```bash
450
- cd /tmp/michi-manual-test-cursor
451
- npx tsx ~/Work/git/michi/src/cli.ts phase:run java-calculator-webapp phase-a
452
- ```
453
-
454
- **期待される結果:**
455
-
456
- - PR前自動テストが実行される
457
- - バリデーションが成功する
458
-
459
- #### 3.10 Phase B: リリース準備テスト(任意)
460
-
461
- **AIコマンド:** なし(このフェーズにはAIコマンドは不要)
462
-
463
- **前提条件:**
464
-
465
- - Phase 0.3 (test-type-selection) でテストタイプが選択済みであること
466
- - アプリケーションの実装が完了していること
467
-
468
- **CLIコマンド - Pattern A (NPM Package):**
469
-
470
- ```bash
471
- cd /tmp/michi-manual-test-cursor
472
- michi phase:run java-calculator-webapp phase-b
473
- ```
474
-
475
- **CLIコマンド - Pattern B (Development):**
476
-
477
- ```bash
478
- cd /tmp/michi-manual-test-cursor
479
- npx tsx ~/Work/git/michi/src/cli.ts phase:run java-calculator-webapp phase-b
480
- ```
481
-
482
- **期待される結果:**
483
-
484
- - `test-type-selection.json`から選択されたテストタイプを読み込む
485
- - Phase Bに該当するテスト(performance, security, integration, e2e)の実行ファイルを生成
486
- - `.kiro/specs/<feature>/test-execution/` 配下にテスト実行ファイルが作成される
487
-
488
- **生成されるファイル例:**
489
-
490
- | テストタイプ | 生成ファイル |
491
- | ------------ | ------------------------------------------------------------------------------------- |
492
- | performance | `test-execution/performance/locustfile.py`, `load-test-plan.md` |
493
- | security | `test-execution/security/zap-config.yaml`, `run-zap-scan.sh`, `security-test-plan.md` |
494
- | integration | `test-execution/integration/integration-checklist.md` |
495
- | e2e | `test-execution/e2e/e2e-checklist.md` |
496
-
497
- **注意:** 生成されるファイルはテンプレートとガイドです。実際のテストツール(Locust, k6, OWASP ZAP等)の選定と設定は、プロジェクトの要件に応じて行ってください。
498
-
499
- #### 3.11 Phase 4: リリース準備(任意)
500
-
501
- **注意:** 手動検証では実際のリリース準備は行わず、フローの確認のみ
502
-
503
- #### 3.12 Phase 5: リリース(任意)
504
-
505
- **注意:** 手動検証では実際のリリースは行わず、フローの確認のみ
506
-
507
- ### Step 4: 成功確認
508
-
509
- すべてのコマンドが正常に完了し、以下のファイル構造が作成されていることを確認:
510
-
511
- ```
512
- /tmp/michi-manual-test-cursor/
513
- ├── .cursor/
514
- │ ├── .cursorrules
515
- │ └── commands/
516
- │ ├── kiro-spec-init.md (cc-sdd)
517
- │ ├── kiro-spec-requirements.md (cc-sdd)
518
- │ ├── kiro-spec-design.md (cc-sdd)
519
- │ ├── kiro-spec-tasks.md (cc-sdd)
520
- │ ├── ... (cc-sdd提供の他のコマンド)
521
- │ ├── michi-confluence-sync.md (Michi)
522
- │ └── michi-project-switch.md (Michi)
523
- └── .kiro/
524
- └── specs/
525
- └── java-calculator-webapp/
526
- ├── spec.json
527
- ├── requirements.md (Step 3.2 AIで作成)
528
- ├── design.md (Step 3.3 AIで作成)
529
- ├── tasks.md (Step 3.4 AIで作成)
530
- ├── test-type-selection.json (Step 3.6 CLIで作成)
531
- ├── test-specs/ (Step 3.7 CLIで作成)
532
- │ └── *.md
533
- └── test-execution/ (Step 3.10 Phase Bで作成、任意)
534
- ├── performance/
535
- ├── security/
536
- ├── integration/
537
- └── e2e/
538
- ```
539
-
540
- **重要な注意事項:**
541
-
542
- Phase 0.1 (requirements)、Phase 0.2 (design)、Phase 0.5-0.6 (tasks) のCLIコマンド実行により、以下が作成されます:
543
-
544
- - Confluenceページ(requirements、design用)
545
- - JIRAチケット(tasks用)
546
-
547
- これらはConfluence/JIRA上に作成されるため、ローカルファイルシステムには追加ファイルは生成されません。
548
-
549
- ---
550
-
551
-
552
- ## その他のツール
553
-
554
- Claude Code、Claude Agent SDK、Cline、Gemini、Codexでの手動検証フローについては、以下のドキュメントを参照してください:
555
-
556
- - [その他のツールでの検証フロー](./manual-verification-other-tools.md)
557
-
558
- ## Part 2: 自動テストワークフロー
559
-
560
- 手動検証が完了した後、または手動検証の代わりに、自動テストワークフローを実行できます。
561
-
562
- ### 2.1 開発環境での自動検証
563
-
564
- 開発環境でMichiの機能を自動でテストします。
565
-
566
- ```bash
567
- cd ~/Work/git/michi
568
-
569
- # ビルド
570
- npm run build
571
-
572
- # 自動検証スクリプトを実行
573
- npm run pre-publish
574
- ```
575
-
576
- #### pre-publish-check.sh の実行内容
577
-
578
- 1. TypeScriptビルド確認
579
- 2. テスト実行(回帰確認)
580
- 3. テスト用featureの初期化
581
- 4. 新フェーズの動作確認(0.3-0.4, 1, A, B)
582
- 5. バリデーションの確認
583
- 6. 既存フェーズの動作確認(回帰テスト)
584
- 7. CLIヘルプ表示確認
585
-
586
- ### 2.2 NPMパッケージとしての自動検証
587
-
588
- 実際のNPMパッケージとしてインストールした状態での動作を自動でテストします。
589
-
590
- ```bash
591
- cd ~/Work/git/michi
592
-
593
- # ビルド
594
- npm run build
595
-
596
- # パッケージテストスクリプトを実行
597
- npm run test:package
598
- ```
599
-
600
- #### test-npm-package.sh の実行内容
601
-
602
- 1. パッケージのビルド
603
- 2. npm pack でパッケージを作成
604
- 3. テストディレクトリの作成(`/tmp/michi-test-*`)
605
- 4. パッケージのインストール
606
- 5. `.kiro` ディレクトリ構造の準備
607
- 6. CLIコマンドの動作確認(phase:run)
608
- 7. バリデーションの確認(validate:phase)
609
- 8. CLIヘルプの確認
610
- 9. 自動クリーンアップ
611
-
612
- ### 2.3 カスタムテストディレクトリの指定
613
-
614
- デフォルトでは `/tmp/michi-test-*` が使用されますが、カスタムディレクトリを指定することもできます:
615
-
616
- ```bash
617
- # カスタムディレクトリでテスト
618
- bash scripts/test-npm-package.sh /tmp/my-custom-test-dir
619
- ```
620
-
621
- ---
622
-
623
-
624
- ## トラブルシューティング
625
-
626
- 手動検証フローでの問題が発生した場合は、以下のドキュメントを参照してください:
627
-
628
- - [トラブルシューティングガイド](./manual-verification-troubleshooting.md)
629
-
630
- ## まとめ
631
-
632
- ### 検証が必要な項目
633
-
634
- 1. ✅ **Cursor IDE** - 完全に動作確認済み
635
- 2. ✅ **Claude Code** - 完全に動作確認済み
636
- 3. ⚠️ **Claude Agent SDK** - 暫定対応、詳細な検証が必要
637
- 4. ❓ **Cline** - cc-sdd対応が不明、検証が必要
638
- 5. 🚧 **Gemini** - 開発中、対応待ち
639
- 6. 🚧 **Codex** - 開発中、対応待ち
640
-
641
- ### 推奨される検証順序
642
-
643
- 1. **自動テスト(必須)**
644
-
645
- ```bash
646
- npm run pre-publish
647
- npm run test:package
648
- ```
649
-
650
- 2. **Cursor IDEでの手動検証(推奨)**
651
- - 最も安定した環境での動作確認
652
-
653
- 3. **Claude Codeでの手動検証(推奨)**
654
- - もう1つの主要ツールでの動作確認
655
-
656
- 4. **その他のツール(任意)**
657
- - 時間とリソースがあれば、Claude Agent SDK、Clineでも検証
658
-
659
- ### チェックリスト
660
-
661
- publish前に以下をすべて確認してください:
662
-
663
- - [ ] `npm run pre-publish` が成功
664
- - [ ] `npm run test:package` が成功
665
- - [ ] Cursor IDEでの手動検証が成功(推奨)
666
- - [ ] Claude Codeでの手動検証が成功(推奨)
667
- - [ ] package.jsonのバージョンが更新されている
668
- - [ ] CHANGELOG.mdが更新されている
669
- - [ ] すべてのコミットがプッシュされている
670
- - [ ] GitHubでCIが成功している
671
-
672
- ---
673
-
674
- ---
675
-
676
- ## Part 3: Phase Bテストの対話的作成フロー
677
-
678
- このセクションでは、AIとの対話を通じて手動回帰テスト、負荷テスト、セキュリティテストを作成する方法を説明します。
679
-
680
- ### 3.1 対話フロー概要
681
-
682
- ```
683
- [開始] ユーザーがテスト作成を依頼
684
-
685
- [ヒアリング] AIが必須項目を確認
686
- - テスト対象(エンドポイント、機能)
687
- - テストタイプ(手動回帰/負荷/セキュリティ)
688
- - 成功基準(応答時間、エラー率など)
689
-
690
- [テンプレート選択] AIが適切なテンプレートを参照
691
-
692
- [生成] AIがテストを作成
693
-
694
- [レビュー] ユーザーがレビュー
695
-
696
- [修正] 必要に応じて修正
697
-
698
- [完了] テスト成果物の確定
699
- ```
700
-
701
- ### 3.2 手動回帰テストの作成
702
-
703
- #### 初期ヒアリング
704
-
705
- AIに手動回帰テストの作成を依頼する際、以下の情報を提供してください:
706
-
707
- | 項目 | 説明 | 例 |
708
- | ------------------------ | ---------------------- | --------------------------- |
709
- | テスト対象エンドポイント | APIのURL | `/api/calculator/evaluate` |
710
- | HTTPメソッド | GET, POST, PUT, DELETE | `POST` |
711
- | リクエストボディ形式 | JSON, XML, Form | `JSON` |
712
- | 期待するHTTPステータス | 成功/エラー時 | `200 OK`, `400 Bad Request` |
713
- | 期待するレスポンス形式 | レスポンスの構造 | `{"result": number}` |
714
-
715
- #### サンプルプロンプト
716
-
717
- ```
718
- Calculator APIの手動回帰テストを作成してください。
719
-
720
- テスト対象:
721
- - エンドポイント: POST /api/calculator/evaluate
722
- - リクエストボディ: {"expression": "計算式"}
723
- - 期待レスポンス: {"result": 計算結果} または {"error": "エラーメッセージ"}
724
-
725
- テストケースの種類:
726
- - 正常系: 基本的な四則演算、優先順位、小数点計算
727
- - 異常系: ゼロ除算、構文エラー、空の式
728
- - セキュリティ: SQLインジェクション風入力、長大入力
729
- ```
730
-
731
- #### 生成されるファイル
732
-
733
- - `docs/testing/manual-regression-guide.md`
734
- - または `tests/manual/regression-tests.md`
735
-
736
- ### 3.3 負荷テストの作成
737
-
738
- #### 初期ヒアリング
739
-
740
- AIに負荷テストの作成を依頼する際、以下の情報を提供してください:
741
-
742
- | 項目 | 説明 | 例 |
743
- | ---------------- | ----------------------- | ----------------------- |
744
- | テスト対象URL | APIのベースURL | `http://localhost:8080` |
745
- | 同時ユーザー数 | 最大同時接続数 | `100` |
746
- | Spawn rate | ユーザー増加率 | `10/秒` |
747
- | テスト時間 | 実行時間 | `60秒` |
748
- | 目標スループット | 1秒あたりのリクエスト数 | `100 req/s` |
749
- | 目標応答時間 | 平均応答時間 | `< 100ms` |
750
-
751
- #### サンプルプロンプト
752
-
753
- ```
754
- Calculator APIの負荷テストをLocustで作成してください。
755
-
756
- テスト対象:
757
- - URL: http://localhost:8080
758
- - エンドポイント: POST /api/calculator/evaluate
759
-
760
- テスト要件:
761
- - 同時ユーザー数: 100
762
- - Spawn rate: 10ユーザー/秒
763
- - テスト時間: 60秒
764
-
765
- 成功基準:
766
- - 平均応答時間: < 100ms
767
- - 95パーセンタイル: < 200ms
768
- - エラー率: < 1%
769
- - スループット: > 100 req/s
770
-
771
- シナリオ:
772
- - 基本的な計算(重み5)
773
- - 複雑な計算(重み3)
774
- - 小数点計算(重み2)
775
- ```
776
-
777
- #### 生成されるファイル
778
-
779
- - `tests/load/locustfile.py`
780
- - `tests/load/requirements.txt`
781
- - `tests/load/README.md`
782
-
783
- ### 3.4 セキュリティテストの作成
784
-
785
- #### 初期ヒアリング
786
-
787
- AIにセキュリティテストの作成を依頼する際、以下の情報を提供してください:
788
-
789
- | 項目 | 説明 | 例 |
790
- | -------------- | ------------------------ | -------------------------- |
791
- | テスト対象URL | APIのベースURL | `http://localhost:8080` |
792
- | スキャンタイプ | Baseline/Quick/Full | `Quick` |
793
- | 認証の有無 | 認証が必要か | `なし` |
794
- | 検出対象 | 重点的に検出したい脆弱性 | `SQLインジェクション, XSS` |
795
-
796
- #### サンプルプロンプト
797
-
798
- ```
799
- Calculator APIのセキュリティテストをOWASP ZAPで作成してください。
800
-
801
- テスト対象:
802
- - URL: http://localhost:8080
803
- - エンドポイント: /api/calculator/evaluate
804
- - 認証: なし
805
-
806
- スキャン要件:
807
- - スキャンタイプ: Quick(API向け)
808
- - 実行環境: Docker
809
-
810
- 検出対象:
811
- - SQLインジェクション
812
- - XSS(クロスサイトスクリプティング)
813
- - コマンドインジェクション
814
- - 情報漏洩
815
-
816
- レポート形式:
817
- - HTML(ブラウザ閲覧用)
818
- - JSON(CI/CD連携用)
819
- ```
820
-
821
- #### 生成されるファイル
822
-
823
- - `tests/security/zap-config.yaml`
824
- - `tests/security/run-zap-scan.sh`
825
- - `tests/security/README.md`
826
-
827
- ### 3.5 テスト修正の依頼方法
828
-
829
- 生成されたテストを修正する場合、以下のようにAIに依頼します:
830
-
831
- #### 修正依頼の例
832
-
833
- ```
834
- # テストケースの追加
835
- 負荷テストに以下のシナリオを追加してください:
836
- - ランダムな数式を生成するテスト(重み1)
837
- - エラーハンドリングのテスト(重み1)
838
-
839
- # パラメータの変更
840
- 同時ユーザー数を100から500に変更してください。
841
-
842
- # 成功基準の変更
843
- 95パーセンタイルの目標を200msから150msに変更してください。
844
-
845
- # ツールの変更
846
- 負荷テストをLocustからk6に変更してください。
847
- ```
848
-
849
- ### 3.6 対話的作成のベストプラクティス
850
-
851
- 1. **段階的に作成**: まず基本的なテストを生成し、レビュー後に追加・修正
852
- 2. **具体的な数値を提供**: 「高負荷」ではなく「同時100ユーザー」のように具体的に
853
- 3. **成功基準を明確に**: 何をもって成功とするか事前に定義
854
- 4. **既存テストを参照**: 既存のテストファイルがあれば、それを元に拡張
855
- 5. **テンプレートを活用**: AIにテンプレートを参照させることで一貫性を確保
856
-
857
- ### 3.7 使用ツール一覧
858
-
859
- | テストタイプ | 推奨ツール | 代替ツール |
860
- | ------------------ | --------------- | --------------------- |
861
- | 手動回帰テスト | curl + Markdown | Postman, Insomnia |
862
- | 負荷テスト | Locust | k6, JMeter, Artillery |
863
- | セキュリティテスト | OWASP ZAP | Burp Suite, Nikto |
864
-
865
- ---
866
-
867
- ## 参考リンク
868
-
869
- - [Pre-Publish Checklist](./pre-publish-checklist.md) - 詳細なチェックリスト
870
- - [Michi User Guide](../../user-guide/README.md) - ユーザーガイド
871
- - [cc-sdd Documentation](https://github.com/example/cc-sdd) - cc-sddフレームワークのドキュメント