@sk8metal/michi-cli 0.10.1 → 0.12.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 (139) hide show
  1. package/README.md +71 -848
  2. package/dist/scripts/constants/environments.d.ts +1 -1
  3. package/dist/scripts/constants/environments.d.ts.map +1 -1
  4. package/dist/scripts/constants/environments.js +0 -20
  5. package/dist/scripts/constants/environments.js.map +1 -1
  6. package/dist/scripts/phase-runner.js +1 -1
  7. package/dist/scripts/phase-runner.js.map +1 -1
  8. package/dist/scripts/utils/multi-repo-validator.d.ts +18 -0
  9. package/dist/scripts/utils/multi-repo-validator.d.ts.map +1 -1
  10. package/dist/scripts/utils/multi-repo-validator.js +42 -0
  11. package/dist/scripts/utils/multi-repo-validator.js.map +1 -1
  12. package/dist/scripts/utils/tasks-format-validator.js +3 -3
  13. package/dist/scripts/utils/tasks-format-validator.js.map +1 -1
  14. package/dist/scripts/utils/template-finder.d.ts +2 -2
  15. package/dist/scripts/utils/template-finder.d.ts.map +1 -1
  16. package/dist/scripts/utils/template-finder.js +3 -8
  17. package/dist/scripts/utils/template-finder.js.map +1 -1
  18. package/dist/src/cli.d.ts.map +1 -1
  19. package/dist/src/cli.js +0 -8
  20. package/dist/src/cli.js.map +1 -1
  21. package/dist/src/commands/init.d.ts +0 -4
  22. package/dist/src/commands/init.d.ts.map +1 -1
  23. package/dist/src/commands/init.js +6 -30
  24. package/dist/src/commands/init.js.map +1 -1
  25. package/dist/src/commands/setup-existing.d.ts +2 -6
  26. package/dist/src/commands/setup-existing.d.ts.map +1 -1
  27. package/dist/src/commands/setup-existing.js +8 -142
  28. package/dist/src/commands/setup-existing.js.map +1 -1
  29. package/docs/README.md +20 -83
  30. package/docs/getting-started/configuration.md +350 -0
  31. package/docs/getting-started/installation.md +59 -0
  32. package/docs/getting-started/quick-start.md +76 -0
  33. package/docs/guides/atlassian-integration.md +116 -0
  34. package/docs/guides/claude-code.md +155 -0
  35. package/docs/guides/multi-repo.md +117 -0
  36. package/docs/guides/workflow.md +382 -0
  37. package/docs/reference/ai-commands.md +92 -0
  38. package/docs/reference/cli.md +752 -0
  39. package/docs/reference/environment-variables.md +192 -0
  40. package/docs/troubleshooting.md +498 -0
  41. package/package.json +1 -3
  42. package/scripts/__tests__/create-project.test.ts +12 -12
  43. package/scripts/__tests__/setup-existing-project.test.ts +22 -22
  44. package/scripts/constants/__tests__/environments.test.ts +7 -50
  45. package/scripts/constants/environments.ts +1 -27
  46. package/scripts/phase-runner.ts +1 -1
  47. package/scripts/template/__tests__/renderer.test.ts +21 -21
  48. package/scripts/utils/__tests__/multi-repo-validator.test.ts +159 -1
  49. package/scripts/utils/multi-repo-validator.ts +50 -0
  50. package/scripts/utils/tasks-format-validator.ts +3 -3
  51. package/scripts/utils/template-finder.ts +5 -11
  52. package/templates/claude/agents/e2e-first-planner/AGENT.md +1 -1
  53. package/templates/claude/agents/pr-resolver/AGENT.md +15 -3
  54. package/templates/claude/commands/michi/e2e-plan.md +1 -1
  55. package/templates/claude/commands/michi/spec-design.md +2 -2
  56. package/templates/claude/commands/michi/spec-tasks.md +156 -0
  57. package/templates/claude/commands/michi/test-planning.md +1 -1
  58. package/templates/claude/commands/michi/validate-design.md +3 -3
  59. package/templates/claude/commands/michi-multi-repo/impl-all.md +30 -1
  60. package/templates/claude/commands/michi-multi-repo/propagate-specs.md +14 -1
  61. package/templates/claude/commands/michi-multi-repo/spec-review.md +16 -2
  62. package/templates/claude-agent/agents/repo-spec-executor.md +1 -1
  63. package/templates/claude-agent/commands/michi/spec-tasks.md +117 -0
  64. package/templates/claude-agent/rules/code-size-monitor.md +26 -0
  65. package/templates/claude-agent/rules/code-size-rules.md +32 -0
  66. package/templates/michi/cc-sdd-overrides/settings/rules/design-review-michi.md +1 -1
  67. package/docs/context.md +0 -59
  68. package/docs/michi-development/contributing/development.md +0 -341
  69. package/docs/michi-development/contributing/release.md +0 -365
  70. package/docs/michi-development/design/config-unification.md +0 -733
  71. package/docs/michi-development/design/design-config-current-state.md +0 -330
  72. package/docs/michi-development/design/design-config-implementation.md +0 -628
  73. package/docs/michi-development/design/design-config-migration.md +0 -952
  74. package/docs/michi-development/design/design-config-security.md +0 -771
  75. package/docs/michi-development/design/design-config-solution.md +0 -583
  76. package/docs/michi-development/design/design-config-testing.md +0 -892
  77. package/docs/michi-development/testing/manual-verification-flow.md +0 -871
  78. package/docs/michi-development/testing/manual-verification-other-tools.md +0 -1279
  79. package/docs/michi-development/testing/manual-verification-troubleshooting.md +0 -122
  80. package/docs/michi-development/testing/pre-publish-checklist.md +0 -560
  81. package/docs/michi-development/testing-strategy.md +0 -87
  82. package/docs/plan.md +0 -275
  83. package/docs/user-guide/getting-started/github-token-setup.md +0 -510
  84. package/docs/user-guide/getting-started/new-repository-setup.md +0 -704
  85. package/docs/user-guide/getting-started/quick-start.md +0 -212
  86. package/docs/user-guide/getting-started/setup.md +0 -819
  87. package/docs/user-guide/guides/agent-skills-integration.md +0 -222
  88. package/docs/user-guide/guides/customization.md +0 -537
  89. package/docs/user-guide/guides/internationalization.md +0 -540
  90. package/docs/user-guide/guides/migration-guide.md +0 -138
  91. package/docs/user-guide/guides/multi-project.md +0 -368
  92. package/docs/user-guide/guides/multi-repo-guide.md +0 -1590
  93. package/docs/user-guide/guides/phase-automation.md +0 -419
  94. package/docs/user-guide/guides/workflow.md +0 -574
  95. package/docs/user-guide/hands-on/README.md +0 -142
  96. package/docs/user-guide/hands-on/claude-agent-setup.md +0 -597
  97. package/docs/user-guide/hands-on/claude-setup.md +0 -452
  98. package/docs/user-guide/hands-on/cursor-setup.md +0 -353
  99. package/docs/user-guide/hands-on/troubleshooting.md +0 -964
  100. package/docs/user-guide/hands-on/verification-checklist.md +0 -439
  101. package/docs/user-guide/hands-on/workflow-walkthrough.md +0 -1078
  102. package/docs/user-guide/reference/config.md +0 -589
  103. package/docs/user-guide/reference/multi-repo-api.md +0 -771
  104. package/docs/user-guide/reference/quick-reference.md +0 -297
  105. package/docs/user-guide/reference/security-test-payloads.md +0 -50
  106. package/docs/user-guide/reference/tasks-template.md +0 -550
  107. package/docs/user-guide/release/ci-setup-java.md +0 -114
  108. package/docs/user-guide/release/ci-setup-nodejs.md +0 -94
  109. package/docs/user-guide/release/ci-setup-php.md +0 -102
  110. package/docs/user-guide/release/ci-setup-troubleshooting.md +0 -94
  111. package/docs/user-guide/release/ci-setup.md +0 -188
  112. package/docs/user-guide/release/release-flow.md +0 -476
  113. package/docs/user-guide/templates/test-specs/README.md +0 -173
  114. package/docs/user-guide/templates/test-specs/e2e-test-spec-template.md +0 -553
  115. package/docs/user-guide/templates/test-specs/integration-test-spec-template.md +0 -435
  116. package/docs/user-guide/templates/test-specs/performance-test-spec-template.md +0 -454
  117. package/docs/user-guide/templates/test-specs/security-test-spec-template.md +0 -625
  118. package/docs/user-guide/templates/test-specs/unit-test-spec-template.md +0 -328
  119. package/docs/user-guide/testing/integration-tests.md +0 -312
  120. package/docs/user-guide/testing/tdd-cycle.md +0 -349
  121. package/docs/user-guide/testing/test-execution-flow.md +0 -396
  122. package/docs/user-guide/testing/test-failure-handling.md +0 -521
  123. package/docs/user-guide/testing/test-planning-flow.md +0 -185
  124. package/docs/user-guide/testing-strategy.md +0 -185
  125. package/docs/verification-guide.md +0 -518
  126. package/templates/cline/rules/atlassian-integration.md +0 -36
  127. package/templates/cline/rules/michi-core.md +0 -56
  128. package/templates/codex/AGENTS.override.md +0 -277
  129. package/templates/codex/prompts/confluence-sync.md +0 -177
  130. package/templates/codex/rules/README.md +0 -210
  131. package/templates/cursor/commands/kiro/kiro-spec-impl.md +0 -244
  132. package/templates/cursor/commands/kiro/kiro-spec-tasks.md +0 -354
  133. package/templates/cursor/commands/michi/confluence-sync.md +0 -76
  134. package/templates/cursor/commands/michi/project-switch.md +0 -69
  135. package/templates/cursor/rules/atlassian-mcp.mdc +0 -188
  136. package/templates/cursor/rules/github-ssot.mdc +0 -151
  137. package/templates/cursor/rules/multi-project.mdc +0 -81
  138. package/templates/gemini/commands/README.md +0 -41
  139. package/templates/gemini/rules/GEMINI.md +0 -80
@@ -1,476 +0,0 @@
1
- # リリースフロー
2
-
3
- このドキュメントでは、michiを使用したプロジェクトでのリリースフローについて説明します。
4
-
5
- ## リリースフロー全体図
6
-
7
- ```text
8
- [開発完了]
9
-
10
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
11
- Phase A: PR前の確認(自動)
12
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
13
- ├─ 単体テスト実行(CI/CD)
14
- ├─ Lint実行(CI/CD)
15
- ├─ ビルド実行(CI/CD)
16
- └─ ✅ すべて成功 → PR作成可能
17
-
18
- [PR作成・レビュー・マージ]
19
-
20
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
21
- Phase B: リリース準備(手動)
22
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
23
- ├─ 統合テスト実行(手動)
24
- ├─ E2Eテスト実行(手動)
25
- ├─ パフォーマンステスト実行(手動、必要に応じて)
26
- ├─ セキュリティテスト実行(手動、必要に応じて)
27
- └─ ✅ すべて成功
28
-
29
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
30
- リリース準備ドキュメント作成
31
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
32
- ├─ Confluenceリリース手順書作成
33
- └─ リリースJIRA起票
34
-
35
- [タグ作成(手動)]
36
-
37
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
38
- CI/CD実行(自動)
39
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
40
- ├─ 単体テスト実行(CI/CD)
41
- ├─ Lint実行(CI/CD)
42
- ├─ ビルド実行(CI/CD)
43
- └─ ✅ すべて成功 → CI/CD完了
44
-
45
- [GitHub Release作成(手動)]
46
- ├─ リリースノート作成(手動)
47
- ├─ ビルド成果物生成(ローカル、手動)
48
- └─ GitHub Releaseに添付
49
-
50
- [リリース完了]
51
-
52
- [リリースJIRAをクローズ]
53
-
54
- ※ パッケージpublish/deployはmichiの対象外
55
- ```
56
-
57
- ## Phase A: PR前の自動テスト
58
-
59
- 詳細は [テスト実行フロー - Phase A](../testing/test-execution-flow.md#phase-a-pr作成前の自動テスト) を参照してください。
60
-
61
- ### 実行内容
62
-
63
- - 単体テスト
64
- - Lint
65
- - ビルド
66
-
67
- ### 実行方法
68
-
69
- CI/CDが自動実行します(GitHub Actions / Screwdriver)。
70
-
71
- ## Phase B: リリース準備の手動テスト
72
-
73
- 詳細は [テスト実行フロー - Phase B](../testing/test-execution-flow.md#phase-b-リリース準備時の手動テスト) を参照してください。
74
-
75
- ### 実行内容
76
-
77
- - 統合テスト(推奨)
78
- - E2Eテスト(推奨)
79
- - パフォーマンステスト(任意)
80
- - セキュリティテスト(任意)
81
-
82
- ### 実行方法
83
-
84
- 手動で実行します。
85
-
86
- ## Confluenceリリース手順書作成
87
-
88
- Phase B完了後、Confluenceにリリース手順書を作成します。
89
-
90
- ### リリース手順書の構成
91
-
92
- ```markdown
93
- # [プロジェクト名] リリース手順書 v1.0.0
94
-
95
- ## 1. リリース概要
96
-
97
- - **リリースバージョン**: v1.0.0
98
- - **リリース予定日**: YYYY-MM-DD
99
- - **リリース担当者**: [名前]
100
- - **承認者**: [名前]
101
-
102
- ## 2. リリース内容
103
-
104
- ### 新機能
105
- - [機能名]: 説明
106
-
107
- ### バグ修正
108
- - [バグ名]: 説明
109
-
110
- ### 変更点
111
- - [変更内容]: 説明
112
-
113
- ## 3. 影響範囲
114
-
115
- - **影響を受けるシステム**: [システム名]
116
- - **影響を受けるユーザー**: [ユーザー種別]
117
- - **ダウンタイム**: あり/なし
118
-
119
- ## 4. リリース手順
120
-
121
- ### 4.1 事前準備
122
-
123
- - [ ] Phase Bテスト完了確認
124
- - [ ] リリースJIRA起票
125
- - [ ] 関係者への通知
126
-
127
- ### 4.2 リリース作業
128
-
129
- 1. タグ作成
130
-
131
- ```bash
132
- git tag -a v1.0.0 -m "Release version 1.0.0"
133
- git push origin v1.0.0
134
- ```
135
-
136
- 2. CI/CD実行確認
137
- - GitHub ActionsまたはScrewdriverのステータス確認
138
-
139
- 3. GitHub Release作成
140
-
141
- ```bash
142
- gh release create v1.0.0 --title "Release v1.0.0" --notes-file release-notes.md
143
- ```
144
-
145
- ### 4.3 リリース後確認
146
-
147
- - [ ] アプリケーションが正常に起動
148
- - [ ] 主要機能の動作確認
149
- - [ ] エラーログの確認
150
-
151
- ## 5. ロールバック手順
152
-
153
- 問題が発生した場合の手順:
154
-
155
- 1. GitHub Releaseを削除
156
- 2. タグを削除
157
-
158
- ```bash
159
- git tag -d v1.0.0
160
- git push origin :refs/tags/v1.0.0
161
- ```
162
-
163
- 3. 前バージョンに戻す
164
-
165
- ## 6. 連絡先
166
-
167
- - **リリース担当者**: [メールアドレス]
168
- - **緊急連絡先**: [電話番号]
169
- ```
170
-
171
- ## リリースJIRA起票
172
-
173
- Confluenceリリース手順書作成後、JIRAでリリースチケットを起票します。
174
-
175
- ### JIRAチケットの構成
176
-
177
- | 項目 | 内容 |
178
- |------|------|
179
- | **プロジェクト** | [プロジェクト名] |
180
- | **課題タイプ** | タスクまたはリリース |
181
- | **要約** | Release v1.0.0 |
182
- | **説明** | 下記参照 |
183
- | **優先度** | 高 |
184
- | **担当者** | [リリース担当者] |
185
- | **期限** | [リリース予定日] |
186
-
187
- ### JIRAチケット説明文のテンプレート
188
-
189
- ```markdown
190
- ## リリース情報
191
-
192
- - **バージョン**: v1.0.0
193
- - **リリース予定日**: YYYY-MM-DD
194
- - **Confluence手順書**: [リンク]
195
- - **GitHub PR**: [リンク]
196
-
197
- ## リリース内容
198
-
199
- ### 新機能
200
- - [機能名]: 説明
201
-
202
- ### バグ修正
203
- - [バグ名]: 説明
204
-
205
- ## Phase B完了確認
206
-
207
- - [x] 統合テスト
208
- - [x] E2Eテスト
209
- - [x] パフォーマンステスト(該当する場合)
210
- - [x] セキュリティテスト(該当する場合)
211
-
212
- ## リリース作業チェックリスト
213
-
214
- - [ ] タグ作成
215
- - [ ] CI/CD成功確認
216
- - [ ] GitHub Release作成
217
- - [ ] 動作確認
218
- - [ ] 関係者への完了報告
219
-
220
- ## 関連チケット
221
-
222
- - [開発チケット一覧]
223
- ```
224
-
225
- ### JIRAチケット起票コマンド例
226
-
227
- ```bash
228
- # JIRA CLIを使用する場合
229
- jira create \
230
- --project=PROJ \
231
- --type=Task \
232
- --summary="Release v1.0.0" \
233
- --description="$(cat release-description.md)" \
234
- --priority=High \
235
- --assignee=username
236
- ```
237
-
238
- ## タグ作成
239
-
240
- Phase Bのすべてのテストが成功し、リリース準備ドキュメントを作成したら、リリースタグを作成します。
241
-
242
- ### タグ命名規則
243
-
244
- セマンティックバージョニングに従います:
245
-
246
- ```text
247
- v<major>.<minor>.<patch>
248
- ```
249
-
250
- 例:
251
- - `v1.0.0` - 初回リリース
252
- - `v1.1.0` - 機能追加
253
- - `v1.1.1` - バグ修正
254
-
255
- ### タグ作成コマンド
256
-
257
- ```bash
258
- # タグ作成
259
- git tag -a v1.0.0 -m "Release version 1.0.0"
260
-
261
- # リモートにプッシュ
262
- git push origin v1.0.0
263
- ```
264
-
265
- ## タグ作成後のCI/CD
266
-
267
- タグがプッシュされると、CI/CDが自動的に実行されます:
268
-
269
- 1. 単体テスト
270
- 2. Lint
271
- 3. ビルド
272
-
273
- すべて成功すると、CI/CD完了です。
274
-
275
- ## GitHub Release作成
276
-
277
- CI/CD完了後、手動でGitHub Releaseを作成します。
278
-
279
- ### GitHub Release作成手順
280
-
281
- #### 方法1: GitHub CLI(推奨)
282
-
283
- ```bash
284
- # リリースノートを作成
285
- cat > release-notes.md <<EOF
286
- ## 新機能
287
-
288
- - ユーザー認証機能を追加
289
- - ダッシュボード画面を実装
290
-
291
- ## バグ修正
292
-
293
- - ログイン時のエラーハンドリングを改善
294
-
295
- ## 変更点
296
-
297
- - データベーススキーマを更新
298
- EOF
299
-
300
- # GitHub Releaseを作成
301
- gh release create v1.0.0 \
302
- --title "Release v1.0.0" \
303
- --notes-file release-notes.md
304
- ```
305
-
306
- #### 方法2: GitHub Web UI
307
-
308
- 1. GitHubリポジトリページを開く
309
- 2. 「Releases」→「Draft a new release」をクリック
310
- 3. タグを選択: `v1.0.0`
311
- 4. リリースタイトルを入力: `Release v1.0.0`
312
- 5. リリースノートを記述
313
- 6. 「Publish release」をクリック
314
-
315
- ### リリースノートの書き方
316
-
317
- ```markdown
318
- ## 新機能
319
-
320
- - [機能名]: 説明
321
-
322
- ## バグ修正
323
-
324
- - [バグ名]: 説明
325
-
326
- ## 変更点
327
-
328
- - [変更内容]: 説明
329
-
330
- ## 既知の問題
331
-
332
- - [問題]: 説明(該当する場合)
333
- ```
334
-
335
- ## ビルド成果物の添付(任意)
336
-
337
- 必要に応じて、ビルド成果物をGitHub Releaseに添付します。
338
-
339
- ### ビルド成果物の生成例
340
-
341
- ```bash
342
- # Node.js
343
- npm run build
344
- tar -czf dist.tar.gz dist/
345
-
346
- # Java (Gradle)
347
- ./gradlew build
348
- cp build/libs/app-1.0.0.jar ./
349
-
350
- # PHP
351
- composer install --no-dev
352
- tar -czf vendor.tar.gz vendor/
353
- ```
354
-
355
- ### GitHub Releaseへの添付
356
-
357
- ```bash
358
- # GitHub CLIで添付
359
- gh release upload v1.0.0 dist.tar.gz
360
-
361
- # または、Web UIでアップロード
362
- ```
363
-
364
- ## リリース完了後の作業
365
-
366
- ### リリースJIRAをクローズ
367
-
368
- ```bash
369
- # JIRA CLIを使用する場合
370
- jira close PROJ-123 \
371
- --comment="Release v1.0.0 completed successfully"
372
- ```
373
-
374
- または、JIRA Web UIで:
375
- 1. リリースチケットを開く
376
- 2. ステータスを「完了」に変更
377
- 3. 完了コメントを追加
378
-
379
- ### 関係者への報告
380
-
381
- リリース完了を関係者に報告します:
382
-
383
- - プロジェクトマネージャー
384
- - QAチーム
385
- - カスタマーサポート
386
- - エンドユーザー(必要に応じて)
387
-
388
- ## パッケージpublish/deployについて
389
-
390
- **michiの対象外**: リリースフローはGitHub Release作成まで。
391
-
392
- その後の以下の操作は、利用者が別途実装してください:
393
-
394
- - npm publish(Node.js)
395
- - Docker push(Dockerイメージ)
396
- - RPMパッケージ作成(Linux)
397
- - デプロイ処理
398
-
399
- ## リリースチェックリスト
400
-
401
- ### Phase A完了確認
402
-
403
- - [ ] すべての単体テストが成功
404
- - [ ] Lintエラーがない
405
- - [ ] ビルドが成功
406
- - [ ] PRがマージ済み
407
-
408
- ### Phase B完了確認
409
-
410
- - [ ] 統合テストが成功(該当する場合)
411
- - [ ] E2Eテストが成功(該当する場合)
412
- - [ ] パフォーマンステストが成功(該当する場合)
413
- - [ ] セキュリティテストが成功(該当する場合)
414
-
415
- ### リリース準備ドキュメント作成
416
-
417
- - [ ] Confluenceリリース手順書を作成
418
- - [ ] リリースJIRAを起票
419
- - [ ] 関係者にリリース予定を通知
420
-
421
- ### タグ作成前確認
422
-
423
- - [ ] Phase Bのすべてのテストが成功
424
- - [ ] Confluenceリリース手順書が承認済み
425
- - [ ] リリースJIRAが起票済み
426
- - [ ] 重大なバグが残っていない
427
- - [ ] リリースノートを準備済み
428
-
429
- ### GitHub Release作成前確認
430
-
431
- - [ ] タグ作成後のCI/CDが成功
432
- - [ ] リリースノートが完成
433
- - [ ] ビルド成果物を準備済み(該当する場合)
434
-
435
- ### リリース完了後
436
-
437
- - [ ] GitHub Releaseを作成
438
- - [ ] リリースJIRAをクローズ
439
- - [ ] 関係者にリリース完了を報告
440
-
441
- ## トラブルシューティング
442
-
443
- ### タグ作成後のCI/CDが失敗した場合
444
-
445
- 1. **タグを削除**
446
-
447
- ```bash
448
- # ローカルのタグを削除
449
- git tag -d v1.0.0
450
-
451
- # リモートのタグを削除
452
- git push origin :refs/tags/v1.0.0
453
- ```
454
-
455
- 2. **問題を修正**
456
-
457
- ```bash
458
- # バグ修正のPRを作成
459
- # Phase A → マージ → Phase B
460
-
461
- # Phase B完了後、タグを再作成
462
- git tag -a v1.0.0 -m "Release version 1.0.0"
463
- git push origin v1.0.0
464
- ```
465
-
466
- ### GitHub Release作成後に問題が見つかった場合
467
-
468
- 1. **GitHub Releaseを削除**(Web UIまたはCLI)
469
- 2. **タグを削除**(上記手順)
470
- 3. **問題を修正**
471
- 4. **Phase A → Phase B → Confluenceドキュメント更新 → タグ作成 → GitHub Release作成**
472
-
473
- ## 次のステップ
474
-
475
- - [CI/CD設定](./ci-setup.md): GitHub Actions/Screwdriverの設定方法
476
- - [テスト実行フロー](../testing/test-execution-flow.md): Phase A/Bの詳細
@@ -1,173 +0,0 @@
1
- # Test Specification Templates
2
-
3
- This directory contains test specification templates for different types of tests.
4
-
5
- ## Available Templates
6
-
7
- | Template | Purpose | When to Use |
8
- |----------|---------|-------------|
9
- | [Unit Test](./unit-test-spec-template.md) | Unit test specifications | Testing individual functions/classes in isolation |
10
- | [Integration Test](./integration-test-spec-template.md) | Integration test specifications | Testing interactions between components/modules |
11
- | [E2E Test](./e2e-test-spec-template.md) | End-to-end test specifications | Testing complete user workflows |
12
- | [Performance Test](./performance-test-spec-template.md) | Performance test specifications | Testing response time, throughput, resource usage |
13
- | [Security Test](./security-test-spec-template.md) | Security test specifications | Testing vulnerabilities, authentication, authorization |
14
-
15
- ## How to Use
16
-
17
- ### Step 1: Choose the Right Template
18
-
19
- Select the template based on the type of testing you need:
20
-
21
- - **Unit Test**: For testing pure functions, business logic, utilities
22
- - **Integration Test**: For testing API integrations, database operations, external services
23
- - **E2E Test**: For testing user flows like login, checkout, data submission
24
- - **Performance Test**: For testing API response times, load capacity, memory usage
25
- - **Security Test**: For testing authentication flows, input validation, access control
26
-
27
- ### Step 2: Copy the Template
28
-
29
- ```bash
30
- # Example: Creating a unit test specification for authentication module
31
- cp docs/user-guide/templates/test-specs/unit-test-spec-template.md \
32
- docs/testing/specs/auth-unit-test-spec.md
33
- ```
34
-
35
- ### Step 3: Fill in the Template
36
-
37
- Replace all placeholder text (`{{...}}`) with your project-specific information:
38
-
39
- - `{{TEST_NAME}}`: Descriptive name for your test
40
- - `{{AUTHOR}}`: Your name or team name
41
- - `{{DATE}}`: Creation date
42
- - `{{TOOL_NAME}}`: Testing tool/framework (e.g., Vitest, PHPUnit, JUnit)
43
- - `{{FEATURE_NAME}}`: Feature being tested
44
-
45
- ### Step 4: Define Test Cases
46
-
47
- For each test case, specify:
48
-
49
- 1. **ID**: Unique identifier (e.g., `UT-001`, `IT-001`)
50
- 2. **Test Name**: Clear, descriptive name
51
- 3. **Description**: What is being tested
52
- 4. **Preconditions**: Required setup
53
- 5. **Test Steps**: Detailed steps to execute
54
- 6. **Expected Results**: Expected behavior
55
- 7. **Actual Results**: (Fill during execution)
56
- 8. **Status**: Pass/Fail/Blocked
57
-
58
- ## Test Specification Workflow
59
-
60
- ```text
61
- Phase 0.3: テストタイプの選択
62
- ↓ 必要なテストタイプを決定
63
-
64
- Phase 0.4: テスト仕様書の作成
65
- ↓ テンプレートを使用して仕様書を作成
66
- ↓ レビューと承認
67
-
68
- Phase 0.5-0.6: タスク分割とJIRA同期
69
- ↓ tasks.mdにテストタスクを含める
70
-
71
- Phase 1: 環境構築・基盤整備
72
- ↓ テスト環境のセットアップ
73
-
74
- Phase 2: TDD実装
75
- ↓ テストコードと実装コードを同時作成
76
-
77
- Phase A: PR前の自動テスト実行
78
- ├─ 単体テスト実行
79
- ├─ Lint実行
80
- └─ ビルド実行
81
-
82
- Phase 3: 追加の品質保証
83
-
84
- Phase B: リリース準備時の手動テスト実行
85
- ├─ 統合テスト実行(推奨)
86
- ├─ E2Eテスト実行(推奨)
87
- ├─ パフォーマンステスト実行(任意)
88
- └─ セキュリティテスト実行(任意)
89
- ```
90
-
91
- ## Best Practices
92
-
93
- ### 1. Write Specifications Before Implementation
94
-
95
- Test specifications should be created **before** writing test code. This ensures:
96
- - Clear understanding of requirements
97
- - Comprehensive test coverage
98
- - Reviewable test plans
99
-
100
- ### 2. Be Specific and Measurable
101
-
102
- - ❌ Bad: "System should be fast"
103
- - ✅ Good: "API response time should be < 200ms for 95% of requests"
104
-
105
- ### 3. Include Edge Cases
106
-
107
- Don't just test happy paths:
108
- - Boundary conditions
109
- - Invalid inputs
110
- - Error scenarios
111
- - Concurrent access
112
-
113
- ### 4. Keep Specifications Updated
114
-
115
- When requirements change:
116
- 1. Update the test specification first
117
- 2. Review the changes
118
- 3. Update the test implementation
119
-
120
- ### 5. Use Clear Identifiers
121
-
122
- Test IDs should follow a consistent pattern:
123
- - Unit Tests: `UT-001`, `UT-002`
124
- - Integration Tests: `IT-001`, `IT-002`
125
- - E2E Tests: `E2E-001`, `E2E-002`
126
- - Performance Tests: `PT-001`, `PT-002`
127
- - Security Tests: `ST-001`, `ST-002`
128
-
129
- ## Example Directory Structure
130
-
131
- ```text
132
- docs/testing/specs/
133
- ├── auth/
134
- │ ├── auth-unit-test-spec.md
135
- │ ├── auth-integration-test-spec.md
136
- │ └── auth-security-test-spec.md
137
- ├── payment/
138
- │ ├── payment-unit-test-spec.md
139
- │ ├── payment-integration-test-spec.md
140
- │ ├── payment-e2e-test-spec.md
141
- │ └── payment-security-test-spec.md
142
- └── reporting/
143
- ├── reporting-unit-test-spec.md
144
- └── reporting-performance-test-spec.md
145
- ```
146
-
147
- ## Test Tool References
148
-
149
- ### Node.js / TypeScript
150
- - **Unit/Integration/E2E**: [Vitest](https://vitest.dev/)
151
- - **E2E**: [Playwright](https://playwright.dev/)
152
- - **Performance**: [Apache Bench](https://httpd.apache.org/docs/2.4/programs/ab.html), [k6](https://k6.io/)
153
-
154
- ### Java
155
- - **Unit**: [JUnit 5](https://junit.org/junit5/)
156
- - **Integration**: [Spring Boot Test](https://spring.io/guides/gs/testing-web/)
157
- - **Performance**: [JMeter](https://jmeter.apache.org/)
158
-
159
- ### PHP
160
- - **Unit/Integration**: [PHPUnit](https://phpunit.de/)
161
- - **E2E**: [Behat](https://behat.org/)
162
- - **Performance**: [Apache Bench](https://httpd.apache.org/docs/2.4/programs/ab.html)
163
-
164
- ## Related Documentation
165
-
166
- - [Test Planning Flow](../../testing/test-planning-flow.md)
167
- - [TDD Cycle](../../testing/tdd-cycle.md)
168
- - [Test Execution Flow](../../testing/test-execution-flow.md)
169
- - [Test Failure Handling](../../testing/test-failure-handling.md)
170
-
171
- ## Questions?
172
-
173
- If you have questions about which template to use or how to fill it out, consult the [Testing Strategy](../../testing-strategy.md) document.