@k2works/claude-code-booster 1.10.0 → 1.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 (93) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +42 -42
  3. package/bin/claude-code-booster +79 -79
  4. package/lib/assets/.claude/README.md +162 -162
  5. package/lib/assets/.claude/SKILLS_TEMPLATE.md +100 -100
  6. package/lib/assets/.claude/scripts/generate-inception-deck.mjs +911 -911
  7. package/lib/assets/.claude/settings.json +11 -11
  8. package/lib/assets/.claude/skills/ai-agent-guidelines/SKILL.md +119 -119
  9. package/lib/assets/.claude/skills/analyzing-architecture/SKILL.md +87 -87
  10. package/lib/assets/.claude/skills/analyzing-business/SKILL.md +117 -117
  11. package/lib/assets/.claude/skills/analyzing-data-model/SKILL.md +80 -80
  12. package/lib/assets/.claude/skills/analyzing-domain-model/SKILL.md +88 -88
  13. package/lib/assets/.claude/skills/analyzing-inception-deck/SKILL.md +137 -137
  14. package/lib/assets/.claude/skills/analyzing-non-functional/SKILL.md +91 -91
  15. package/lib/assets/.claude/skills/analyzing-operation/SKILL.md +91 -91
  16. package/lib/assets/.claude/skills/analyzing-requirements/SKILL.md +89 -87
  17. package/lib/assets/.claude/skills/analyzing-tech-stack/SKILL.md +102 -102
  18. package/lib/assets/.claude/skills/analyzing-test-strategy/SKILL.md +87 -87
  19. package/lib/assets/.claude/skills/analyzing-ui-design/SKILL.md +86 -86
  20. package/lib/assets/.claude/skills/analyzing-usecases/SKILL.md +87 -87
  21. package/lib/assets/.claude/skills/creating-adr/SKILL.md +115 -115
  22. package/lib/assets/.claude/skills/developing-backend/SKILL.md +106 -106
  23. package/lib/assets/.claude/skills/developing-frontend/SKILL.md +96 -96
  24. package/lib/assets/.claude/skills/developing-release/SKILL.md +154 -154
  25. package/lib/assets/.claude/skills/generating-slides/SKILL.md +136 -136
  26. package/lib/assets/.claude/skills/git-commit/SKILL.md +106 -106
  27. package/lib/assets/.claude/skills/killing-processes/SKILL.md +98 -98
  28. package/lib/assets/.claude/skills/managing-docs/SKILL.md +200 -200
  29. package/lib/assets/.claude/skills/managing-operations/DEPLOY.md +77 -77
  30. package/lib/assets/.claude/skills/managing-operations/SETUP_CSHARP.md +80 -80
  31. package/lib/assets/.claude/skills/managing-operations/SETUP_FRONTEND.md +84 -84
  32. package/lib/assets/.claude/skills/managing-operations/SETUP_JAVA.md +75 -75
  33. package/lib/assets/.claude/skills/managing-operations/SKILL.md +156 -156
  34. package/lib/assets/.claude/skills/orchestrating-analysis/SKILL.md +134 -134
  35. package/lib/assets/.claude/skills/orchestrating-development/SKILL.md +243 -243
  36. package/lib/assets/.claude/skills/orchestrating-project/SKILL.md +193 -193
  37. package/lib/assets/.claude/skills/planning-releases/SKILL.md +222 -222
  38. package/lib/assets/.claude/skills/tracking-progress/SKILL.md +164 -164
  39. package/lib/assets/.devcontainer/devcontainer.json +34 -34
  40. package/lib/assets/.env.example +17 -17
  41. package/lib/assets/.gitattributes +4 -4
  42. package/lib/assets/.github/workflows/docker-publish.yml +77 -77
  43. package/lib/assets/.github/workflows/mkdocs.yml +39 -39
  44. package/lib/assets/AGENTS.md +94 -94
  45. package/lib/assets/CLAUDE.md +162 -162
  46. package/lib/assets/README.md +285 -269
  47. package/lib/assets/docker-compose.yml +33 -33
  48. package/lib/assets/docs/assets/css/extra.css +29 -29
  49. package/lib/assets/docs/assets/js/extra.js +44 -44
  50. package/lib/assets/docs/index.md +14 -14
  51. package/lib/assets/docs/reference/CodexCLIMCP/343/202/242/343/203/227/343/203/252/343/202/261/343/203/274/343/202/267/343/203/247/343/203/263/351/226/213/347/231/272/343/203/225/343/203/255/343/203/274.md +532 -532
  52. package/lib/assets/docs/reference/CodexCLIMCP/343/202/265/343/203/274/343/203/220/343/203/274/350/250/255/345/256/232/346/211/213/351/240/206.md +341 -341
  53. package/lib/assets/docs/reference/Java/343/202/242/343/203/227/343/203/252/343/202/261/343/203/274/343/202/267/343/203/247/343/203/263/347/222/260/345/242/203/346/247/213/347/257/211/343/202/254/343/202/244/343/203/211.md +578 -578
  54. package/lib/assets/docs/reference/TypeScript/343/202/242/343/203/227/343/203/252/343/202/261/343/203/274/343/202/267/343/203/247/343/203/263/347/222/260/345/242/203/346/247/213/347/257/211/343/202/254/343/202/244/343/203/211.md +465 -465
  55. package/lib/assets/docs/reference/UI/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +448 -448
  56. package/lib/assets/docs/reference//343/202/210/343/201/204/343/202/275/343/203/225/343/203/210/343/202/246/343/202/247/343/202/242/343/201/250/343/201/257.md +242 -242
  57. package/lib/assets/docs/reference//343/202/242/343/203/274/343/202/255/343/203/206/343/202/257/343/203/201/343/203/243/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +2216 -2216
  58. package/lib/assets/docs/reference//343/202/244/343/203/263/343/203/225/343/203/251/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +1878 -1878
  59. package/lib/assets/docs/reference//343/202/250/343/202/257/343/202/271/343/203/210/343/203/252/343/203/274/343/203/240/343/203/227/343/203/255/343/202/260/343/203/251/343/203/237/343/203/263/343/202/260.md +554 -554
  60. package/lib/assets/docs/reference//343/202/263/343/203/274/343/203/207/343/202/243/343/203/263/343/202/260/343/201/250/343/203/206/343/202/271/343/203/210/343/202/254/343/202/244/343/203/211.md +705 -705
  61. package/lib/assets/docs/reference//343/203/206/343/202/271/343/203/210/346/210/246/347/225/245/343/202/254/343/202/244/343/203/211.md +1313 -1313
  62. package/lib/assets/docs/reference//343/203/207/343/203/274/343/202/277/343/203/242/343/203/207/343/203/253/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +311 -311
  63. package/lib/assets/docs/reference//343/203/211/343/203/241/343/202/244/343/203/263/343/203/242/343/203/207/343/203/253/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +599 -599
  64. package/lib/assets/docs/reference//343/203/223/343/202/270/343/203/215/343/202/271/343/202/242/343/203/274/343/202/255/343/203/206/343/202/257/343/203/201/343/203/243/345/210/206/346/236/220/343/202/254/343/202/244/343/203/211.md +528 -528
  65. package/lib/assets/docs/reference//343/203/246/343/203/274/343/202/271/343/202/261/343/203/274/343/202/271/344/275/234/346/210/220/343/202/254/343/202/244/343/203/211.md +682 -682
  66. package/lib/assets/docs/reference//343/203/252/343/203/252/343/203/274/343/202/271/343/202/254/343/202/244/343/203/211.md +442 -442
  67. package/lib/assets/docs/reference//343/203/252/343/203/252/343/203/274/343/202/271/343/203/273/343/202/244/343/203/206/343/203/254/343/203/274/343/202/267/343/203/247/343/203/263/350/250/210/347/224/273/343/202/254/343/202/244/343/203/211.md +558 -558
  68. package/lib/assets/docs/reference//347/222/260/345/242/203/345/244/211/346/225/260/347/256/241/347/220/206/343/202/254/343/202/244/343/203/211.md +663 -663
  69. package/lib/assets/docs/reference//350/246/201/344/273/266/345/256/232/347/276/251/343/202/254/343/202/244/343/203/211.md +1248 -1248
  70. package/lib/assets/docs/reference//351/201/213/347/224/250/350/246/201/344/273/266/345/256/232/347/276/251/343/202/254/343/202/244/343/203/211.md +392 -392
  71. package/lib/assets/docs/reference//351/226/213/347/231/272/343/202/254/343/202/244/343/203/211.md +235 -235
  72. package/lib/assets/docs/reference//351/235/236/346/251/237/350/203/275/350/246/201/344/273/266/345/256/232/347/276/251/343/202/254/343/202/244/343/203/211.md +1236 -1236
  73. package/lib/assets/docs/template/ADR.md +30 -30
  74. package/lib/assets/docs/template/README.md +50 -50
  75. package/lib/assets/docs/template//343/201/276/343/201/232/343/201/223/343/202/214/343/202/222/350/252/255/343/202/202/343/201/206/343/203/252/343/202/271/343/203/210.md +12 -12
  76. package/lib/assets/docs/template//343/202/244/343/203/206/343/203/254/343/203/274/343/202/267/343/203/247/343/203/263/345/256/214/344/272/206/345/240/261/345/221/212/346/233/270.md +58 -58
  77. package/lib/assets/docs/template//343/202/244/343/203/263/343/202/273/343/203/227/343/202/267/343/203/247/343/203/263/343/203/207/343/203/203/343/202/255.md +13 -13
  78. package/lib/assets/docs/template//343/203/223/343/202/270/343/203/215/343/202/271/343/202/242/343/203/274/343/202/255/343/203/206/343/202/257/343/203/201/343/203/243.md +379 -379
  79. package/lib/assets/docs/template//345/256/214/345/205/250/345/275/242/345/274/217/343/201/256/343/203/246/343/203/274/343/202/271/343/202/261/343/203/274/343/202/271.md +68 -68
  80. package/lib/assets/docs/template//350/246/201/344/273/266/345/256/232/347/276/251.md +669 -669
  81. package/lib/assets/docs/template//350/250/255/350/250/210.md +163 -163
  82. package/lib/assets/gulpfile.js +23 -23
  83. package/lib/assets/mkdocs.yml +65 -65
  84. package/lib/assets/ops/docker/mkdoc/Dockerfile +19 -19
  85. package/lib/assets/ops/scripts/journal.js +180 -180
  86. package/lib/assets/ops/scripts/mkdocs.js +82 -82
  87. package/lib/assets/ops/scripts/release.js +431 -431
  88. package/lib/assets/ops/scripts/ssh.js +190 -190
  89. package/lib/assets/ops/scripts/vault.js +299 -299
  90. package/lib/assets/package-lock.json +1653 -1653
  91. package/lib/assets/package.json +40 -40
  92. package/lib/gulpfile.js +37 -37
  93. package/package.json +41 -41
@@ -1,442 +1,442 @@
1
- # リリースガイド
2
-
3
- 本ドキュメントでは、アプリケーションのリリースワークフローについて説明します。
4
-
5
- ## 概要
6
-
7
- リリースは品質ゲート → バージョンバンプ → CHANGELOG 生成 → git commit + tag を一貫して実行するワークフローです。デプロイは既存のデプロイタスクと連携します。
8
-
9
- ### リリースフロー全体像
10
-
11
- ```plantuml
12
- @startuml
13
- title リリースワークフロー
14
-
15
- start
16
-
17
- :ドライラン;
18
- note right
19
- CHANGELOG プレビュー
20
- バージョン計算
21
- end note
22
-
23
- :内容を確認;
24
-
25
- if (リリースしてよいか?) then (はい)
26
- else (いいえ)
27
- stop
28
- endif
29
-
30
- :リリース種別を選択\npatch / minor / major;
31
-
32
- partition "品質ゲート(preflight)" {
33
- :working tree クリーンチェック;
34
- :静的解析(lint);
35
- :ユニットテスト;
36
- :ビルド確認;
37
- :E2E テスト;
38
- }
39
-
40
- if (全チェック通過?) then (はい)
41
- else (いいえ)
42
- :エラーを修正;
43
- stop
44
- endif
45
-
46
- partition "リリース実行" {
47
- :バージョンバンプ\n(対象パッケージを同期);
48
- :CHANGELOG.md 生成;
49
- :git commit + git tag;
50
- :サマリー表示;
51
- }
52
-
53
- :git push && git push --tags;
54
-
55
- if (本番デプロイも行う?) then (はい)
56
- :デプロイ実行;
57
- else (いいえ)
58
- endif
59
-
60
- stop
61
-
62
- @enduml
63
- ```
64
-
65
- ### 品質ゲート詳細
66
-
67
- ```plantuml
68
- @startuml
69
- title 品質ゲート
70
-
71
- start
72
-
73
- :working tree クリーンチェック;
74
- note right: git status --porcelain
75
- if (working tree クリーン?) then (はい)
76
- else (いいえ)
77
- #pink:Error: Working tree is not clean;
78
- stop
79
- endif
80
-
81
- :静的解析;
82
- if (lint パス?) then (はい)
83
- else (いいえ)
84
- #pink:lint エラー;
85
- stop
86
- endif
87
-
88
- :ユニットテスト;
89
- if (テスト全パス?) then (はい)
90
- else (いいえ)
91
- #pink:テスト失敗;
92
- stop
93
- endif
94
-
95
- :ビルド確認;
96
- if (ビルド成功?) then (はい)
97
- else (いいえ)
98
- #pink:ビルドエラー;
99
- stop
100
- endif
101
-
102
- :E2E テスト;
103
- if (E2E テスト全パス?) then (はい)
104
- else (いいえ)
105
- #pink:E2E テスト失敗;
106
- stop
107
- endif
108
-
109
- #palegreen:品質ゲート通過;
110
- stop
111
-
112
- @enduml
113
- ```
114
-
115
- ### リリースタスク実行詳細
116
-
117
- ```plantuml
118
- @startuml
119
- title リリース実行フロー
120
-
121
- start
122
-
123
- partition "[1/4] バージョン更新" {
124
- :対象パッケージのバージョンを\nセマンティックバージョニングに従って更新;
125
- note right
126
- モノレポの場合は
127
- 全パッケージを同期
128
- end note
129
- }
130
-
131
- partition "[2/4] CHANGELOG 生成" {
132
- :直近タグを取得\ngit describe --tags;
133
- :コミット一覧を取得\ngit log <tag>..HEAD;
134
- :Conventional Commits で分類\nfeat / fix / docs / ...;
135
- :CHANGELOG.md の先頭にエントリを追加;
136
- }
137
-
138
- partition "[3/4] git commit + tag" {
139
- :変更ファイルをステージング;
140
- :git commit -m "release: vX.X.X";
141
- :git tag -a vX.X.X;
142
- }
143
-
144
- partition "[4/4] サマリー表示" {
145
- :Version: old -> new\nTag: vX.X.X\nNext steps: push & deploy;
146
- }
147
-
148
- stop
149
-
150
- @enduml
151
- ```
152
-
153
- ## 前提条件
154
-
155
- - プロジェクトのビルドツール・パッケージマネージャーがセットアップ済みであること
156
- - 依存関係がインストール済みであること
157
- - Git の working tree がクリーンであること(未コミットの変更がないこと)
158
- - テスト・ビルドがすべてパスすること
159
-
160
- ## バージョニング規則
161
-
162
- [Semantic Versioning](https://semver.org/) に従います。
163
-
164
- | 種類 | 変更例 | バージョン変化 |
165
- | :--- | :--- | :--- |
166
- | `patch` | バグ修正、軽微な改善 | `0.1.0` → `0.1.1` |
167
- | `minor` | 新機能追加(後方互換あり) | `0.1.0` → `0.2.0` |
168
- | `major` | 破壊的変更 | `0.1.0` → `1.0.0` |
169
-
170
- ### モノレポでのバージョン管理
171
-
172
- モノレポ構成の場合、全パッケージのバージョンを同期管理します。
173
-
174
- | ファイル | 説明 |
175
- | :--- | :--- |
176
- | `package.json` | ルートパッケージ |
177
- | `apps/*/package.json` | 各アプリケーションパッケージ |
178
- | `packages/*/package.json` | 共有ライブラリパッケージ |
179
-
180
- シングルリポジトリの場合は、ルートの `package.json` のみを管理対象とします。
181
-
182
- ---
183
-
184
- ## リリースタスク一覧
185
-
186
- ### リリースタスク
187
-
188
- | タスク | 説明 | 備考 |
189
- | :--- | :--- | :--- |
190
- | `release:dry-run` | CHANGELOG プレビュー + バージョン計算 | 実際の変更は行わない |
191
- | `release:patch` | パッチリリース | preflight → バージョンバンプ → CHANGELOG → commit + tag |
192
- | `release:minor` | マイナーリリース | 同上 |
193
- | `release:major` | メジャーリリース | 同上 |
194
-
195
- ### リリース + デプロイタスク
196
-
197
- | タスク | 説明 | 備考 |
198
- | :--- | :--- | :--- |
199
- | `release:deploy:patch` | パッチリリース + デプロイ | `release:patch` → デプロイ |
200
- | `release:deploy:minor` | マイナーリリース + デプロイ | `release:minor` → デプロイ |
201
- | `release:deploy:major` | メジャーリリース + デプロイ | `release:major` → デプロイ |
202
-
203
- ### 品質ゲートタスク
204
-
205
- | タスク | 説明 | 備考 |
206
- | :--- | :--- | :--- |
207
- | `release:preflight` | 品質ゲート(全チェック) | 以下 5 つを直列実行 |
208
- | `release:preflight:clean` | working tree クリーンチェック | `git status --porcelain` |
209
- | `release:preflight:lint` | 静的解析 | lint ツールを実行 |
210
- | `release:preflight:test` | ユニットテスト | テストランナーを実行 |
211
- | `release:preflight:build` | ビルド確認 | ビルドコマンドを実行 |
212
- | `release:preflight:e2e` | E2E テスト | E2E テストランナーを実行 |
213
-
214
- ---
215
-
216
- ## 手順
217
-
218
- ### 1. ドライラン(プレビュー)
219
-
220
- リリース前に、バージョン計算と CHANGELOG プレビューを確認します。
221
-
222
- ```bash
223
- npm run release:dry-run
224
- ```
225
-
226
- 出力例:
227
-
228
- ```
229
- === Release Dry Run ===
230
-
231
- Current version: 0.1.0
232
-
233
- Version preview:
234
- patch: 0.1.0 -> 0.1.1
235
- minor: 0.1.0 -> 0.2.0
236
- major: 0.1.0 -> 1.0.0
237
-
238
- CHANGELOG preview:
239
- ---
240
- ## [0.1.1] - 2026-02-09
241
-
242
- ### Features
243
-
244
- - 新機能の説明 (abc1234)
245
-
246
- ### Bug Fixes
247
-
248
- - バグ修正の説明 (def5678)
249
- ---
250
- ```
251
-
252
- ### 2. リリース実行
253
-
254
- 適切なバージョン種別を選択してリリースを実行します。
255
-
256
- ```bash
257
- # パッチリリース(バグ修正)
258
- npm run release:patch
259
-
260
- # マイナーリリース(新機能)
261
- npm run release:minor
262
-
263
- # メジャーリリース(破壊的変更)
264
- npm run release:major
265
- ```
266
-
267
- リリースタスクは以下のステップを自動実行します。
268
-
269
- | ステップ | 内容 |
270
- | :--- | :--- |
271
- | preflight | working tree クリーンチェック → lint → test → build → e2e |
272
- | [1/4] | 対象パッケージのバージョンを同期更新 |
273
- | [2/4] | 直近タグから HEAD までのコミットを Conventional Commits で分類し CHANGELOG.md を生成 |
274
- | [3/4] | 変更ファイルをステージング → `release: vX.X.X` でコミット → `vX.X.X` タグ作成 |
275
- | [4/4] | リリースサマリーを表示 |
276
-
277
- ### 3. リモートへプッシュ
278
-
279
- リリースコミットとタグをリモートリポジトリにプッシュします。
280
-
281
- ```bash
282
- git push && git push --tags
283
- ```
284
-
285
- ### 4. 本番デプロイ(必要に応じて)
286
-
287
- リリースと同時にデプロイする場合:
288
-
289
- ```bash
290
- npm run release:deploy:patch
291
- ```
292
-
293
- デプロイのみを別途実行する場合:
294
-
295
- ```bash
296
- npm run deploy:prd
297
- ```
298
-
299
- > **注意**: 本番デプロイは実行前に確認プロンプトを表示することを推奨します。
300
-
301
- ---
302
-
303
- ## CHANGELOG 生成ルール
304
-
305
- CHANGELOG は [Conventional Commits](https://www.conventionalcommits.org/) の規約に基づいて自動生成されます。
306
-
307
- ### コミットメッセージの分類
308
-
309
- | prefix | カテゴリ |
310
- | :--- | :--- |
311
- | `feat` | Features |
312
- | `fix` | Bug Fixes |
313
- | `docs` | Documentation |
314
- | `refactor` | Refactoring |
315
- | `test` | Tests |
316
- | `chore` | Chores |
317
- | `perf` | Performance |
318
- | `ci` | CI |
319
- | `style` | Styles |
320
- | `build` | Build |
321
- | その他 | Other |
322
-
323
- ### 生成ルール
324
-
325
- - 直近の git tag から HEAD までのコミットを対象とする
326
- - タグが存在しない場合は全コミット履歴を対象とする
327
- - `CHANGELOG.md` の先頭に新しいエントリを追加する(ファイルがなければ新規作成)
328
-
329
- ### CHANGELOG エントリの形式
330
-
331
- ```markdown
332
- ## [0.2.0] - 2026-02-09
333
-
334
- ### Features
335
-
336
- - 新機能の説明 (abc1234)
337
-
338
- ### Bug Fixes
339
-
340
- - バグ修正の説明 (def5678)
341
- ```
342
-
343
- ---
344
-
345
- ## トラブルシューティング
346
-
347
- ### working tree がクリーンでない
348
-
349
- ```
350
- Error: Working tree is not clean. Commit or stash your changes first.
351
- ```
352
-
353
- 未コミットの変更がある場合、リリースは実行できません。先に変更をコミットまたはスタッシュしてください。
354
-
355
- ```bash
356
- # 変更をコミット
357
- git add <files> && git commit -m "fix: 修正内容"
358
-
359
- # または一時退避
360
- git stash
361
- npm run release:patch
362
- git stash pop
363
- ```
364
-
365
- ### テストが失敗する
366
-
367
- 品質ゲート(preflight)でテストが失敗した場合、リリースは中断されます。テストを修正してからリリースを再実行してください。
368
-
369
- ```bash
370
- # テストを個別に実行して問題を確認
371
- npm run test
372
- npm run test:e2e
373
- ```
374
-
375
- ### リリースを元に戻したい
376
-
377
- リリースコミットとタグをリモートにプッシュする前であれば、ローカルで取り消せます。
378
-
379
- ```bash
380
- # コミットとタグを取り消し
381
- git tag -d vX.X.X
382
- git reset --hard HEAD~1
383
- ```
384
-
385
- > **重要**: リモートにプッシュ済みの場合は force push が必要になります。チームメンバーに影響がないことを確認してから実行してください。
386
-
387
- ### 品質ゲートを個別に実行したい
388
-
389
- 品質ゲートのみを実行してリリース可能な状態か確認できます。
390
-
391
- ```bash
392
- npm run release:preflight
393
- ```
394
-
395
- 個別のチェックも実行可能です。
396
-
397
- ```bash
398
- npm run release:preflight:clean # working tree チェック
399
- npm run release:preflight:lint # lint
400
- npm run release:preflight:test # ユニットテスト
401
- npm run release:preflight:build # ビルド
402
- npm run release:preflight:e2e # E2E テスト
403
- ```
404
-
405
- ---
406
-
407
- ## プロジェクトへの導入
408
-
409
- ### 必要な npm scripts
410
-
411
- `package.json` に以下のスクリプトを定義します。
412
-
413
- ```json
414
- {
415
- "scripts": {
416
- "release:dry-run": "リリースドライラン実行コマンド",
417
- "release:patch": "リリース実行コマンド patch",
418
- "release:minor": "リリース実行コマンド minor",
419
- "release:major": "リリース実行コマンド major",
420
- "release:preflight": "品質ゲート実行コマンド",
421
- "release:deploy:patch": "リリース + デプロイコマンド patch",
422
- "release:deploy:minor": "リリース + デプロイコマンド minor",
423
- "release:deploy:major": "リリース + デプロイコマンド major"
424
- }
425
- }
426
- ```
427
-
428
- ### 実装方法の選択肢
429
-
430
- | 方法 | 説明 | 適用場面 |
431
- | :--- | :--- | :--- |
432
- | カスタムスクリプト | シェルスクリプトや Node.js スクリプトで実装 | 細かい制御が必要な場合 |
433
- | タスクランナー | Gulp、Make 等で実装 | 既存のタスクランナーがある場合 |
434
- | 専用ツール | standard-version、semantic-release 等を利用 | 設定ベースで素早く導入したい場合 |
435
-
436
- ---
437
-
438
- ## 関連ドキュメント
439
-
440
- - [リリース・イテレーション計画ガイド](リリース・イテレーション計画ガイド.md)
441
- - [コーディングとテストガイド](コーディングとテストガイド.md)
442
- - [開発ガイド](開発ガイド.md)
1
+ # リリースガイド
2
+
3
+ 本ドキュメントでは、アプリケーションのリリースワークフローについて説明します。
4
+
5
+ ## 概要
6
+
7
+ リリースは品質ゲート → バージョンバンプ → CHANGELOG 生成 → git commit + tag を一貫して実行するワークフローです。デプロイは既存のデプロイタスクと連携します。
8
+
9
+ ### リリースフロー全体像
10
+
11
+ ```plantuml
12
+ @startuml
13
+ title リリースワークフロー
14
+
15
+ start
16
+
17
+ :ドライラン;
18
+ note right
19
+ CHANGELOG プレビュー
20
+ バージョン計算
21
+ end note
22
+
23
+ :内容を確認;
24
+
25
+ if (リリースしてよいか?) then (はい)
26
+ else (いいえ)
27
+ stop
28
+ endif
29
+
30
+ :リリース種別を選択\npatch / minor / major;
31
+
32
+ partition "品質ゲート(preflight)" {
33
+ :working tree クリーンチェック;
34
+ :静的解析(lint);
35
+ :ユニットテスト;
36
+ :ビルド確認;
37
+ :E2E テスト;
38
+ }
39
+
40
+ if (全チェック通過?) then (はい)
41
+ else (いいえ)
42
+ :エラーを修正;
43
+ stop
44
+ endif
45
+
46
+ partition "リリース実行" {
47
+ :バージョンバンプ\n(対象パッケージを同期);
48
+ :CHANGELOG.md 生成;
49
+ :git commit + git tag;
50
+ :サマリー表示;
51
+ }
52
+
53
+ :git push && git push --tags;
54
+
55
+ if (本番デプロイも行う?) then (はい)
56
+ :デプロイ実行;
57
+ else (いいえ)
58
+ endif
59
+
60
+ stop
61
+
62
+ @enduml
63
+ ```
64
+
65
+ ### 品質ゲート詳細
66
+
67
+ ```plantuml
68
+ @startuml
69
+ title 品質ゲート
70
+
71
+ start
72
+
73
+ :working tree クリーンチェック;
74
+ note right: git status --porcelain
75
+ if (working tree クリーン?) then (はい)
76
+ else (いいえ)
77
+ #pink:Error: Working tree is not clean;
78
+ stop
79
+ endif
80
+
81
+ :静的解析;
82
+ if (lint パス?) then (はい)
83
+ else (いいえ)
84
+ #pink:lint エラー;
85
+ stop
86
+ endif
87
+
88
+ :ユニットテスト;
89
+ if (テスト全パス?) then (はい)
90
+ else (いいえ)
91
+ #pink:テスト失敗;
92
+ stop
93
+ endif
94
+
95
+ :ビルド確認;
96
+ if (ビルド成功?) then (はい)
97
+ else (いいえ)
98
+ #pink:ビルドエラー;
99
+ stop
100
+ endif
101
+
102
+ :E2E テスト;
103
+ if (E2E テスト全パス?) then (はい)
104
+ else (いいえ)
105
+ #pink:E2E テスト失敗;
106
+ stop
107
+ endif
108
+
109
+ #palegreen:品質ゲート通過;
110
+ stop
111
+
112
+ @enduml
113
+ ```
114
+
115
+ ### リリースタスク実行詳細
116
+
117
+ ```plantuml
118
+ @startuml
119
+ title リリース実行フロー
120
+
121
+ start
122
+
123
+ partition "[1/4] バージョン更新" {
124
+ :対象パッケージのバージョンを\nセマンティックバージョニングに従って更新;
125
+ note right
126
+ モノレポの場合は
127
+ 全パッケージを同期
128
+ end note
129
+ }
130
+
131
+ partition "[2/4] CHANGELOG 生成" {
132
+ :直近タグを取得\ngit describe --tags;
133
+ :コミット一覧を取得\ngit log <tag>..HEAD;
134
+ :Conventional Commits で分類\nfeat / fix / docs / ...;
135
+ :CHANGELOG.md の先頭にエントリを追加;
136
+ }
137
+
138
+ partition "[3/4] git commit + tag" {
139
+ :変更ファイルをステージング;
140
+ :git commit -m "release: vX.X.X";
141
+ :git tag -a vX.X.X;
142
+ }
143
+
144
+ partition "[4/4] サマリー表示" {
145
+ :Version: old -> new\nTag: vX.X.X\nNext steps: push & deploy;
146
+ }
147
+
148
+ stop
149
+
150
+ @enduml
151
+ ```
152
+
153
+ ## 前提条件
154
+
155
+ - プロジェクトのビルドツール・パッケージマネージャーがセットアップ済みであること
156
+ - 依存関係がインストール済みであること
157
+ - Git の working tree がクリーンであること(未コミットの変更がないこと)
158
+ - テスト・ビルドがすべてパスすること
159
+
160
+ ## バージョニング規則
161
+
162
+ [Semantic Versioning](https://semver.org/) に従います。
163
+
164
+ | 種類 | 変更例 | バージョン変化 |
165
+ | :--- | :--- | :--- |
166
+ | `patch` | バグ修正、軽微な改善 | `0.1.0` → `0.1.1` |
167
+ | `minor` | 新機能追加(後方互換あり) | `0.1.0` → `0.2.0` |
168
+ | `major` | 破壊的変更 | `0.1.0` → `1.0.0` |
169
+
170
+ ### モノレポでのバージョン管理
171
+
172
+ モノレポ構成の場合、全パッケージのバージョンを同期管理します。
173
+
174
+ | ファイル | 説明 |
175
+ | :--- | :--- |
176
+ | `package.json` | ルートパッケージ |
177
+ | `apps/*/package.json` | 各アプリケーションパッケージ |
178
+ | `packages/*/package.json` | 共有ライブラリパッケージ |
179
+
180
+ シングルリポジトリの場合は、ルートの `package.json` のみを管理対象とします。
181
+
182
+ ---
183
+
184
+ ## リリースタスク一覧
185
+
186
+ ### リリースタスク
187
+
188
+ | タスク | 説明 | 備考 |
189
+ | :--- | :--- | :--- |
190
+ | `release:dry-run` | CHANGELOG プレビュー + バージョン計算 | 実際の変更は行わない |
191
+ | `release:patch` | パッチリリース | preflight → バージョンバンプ → CHANGELOG → commit + tag |
192
+ | `release:minor` | マイナーリリース | 同上 |
193
+ | `release:major` | メジャーリリース | 同上 |
194
+
195
+ ### リリース + デプロイタスク
196
+
197
+ | タスク | 説明 | 備考 |
198
+ | :--- | :--- | :--- |
199
+ | `release:deploy:patch` | パッチリリース + デプロイ | `release:patch` → デプロイ |
200
+ | `release:deploy:minor` | マイナーリリース + デプロイ | `release:minor` → デプロイ |
201
+ | `release:deploy:major` | メジャーリリース + デプロイ | `release:major` → デプロイ |
202
+
203
+ ### 品質ゲートタスク
204
+
205
+ | タスク | 説明 | 備考 |
206
+ | :--- | :--- | :--- |
207
+ | `release:preflight` | 品質ゲート(全チェック) | 以下 5 つを直列実行 |
208
+ | `release:preflight:clean` | working tree クリーンチェック | `git status --porcelain` |
209
+ | `release:preflight:lint` | 静的解析 | lint ツールを実行 |
210
+ | `release:preflight:test` | ユニットテスト | テストランナーを実行 |
211
+ | `release:preflight:build` | ビルド確認 | ビルドコマンドを実行 |
212
+ | `release:preflight:e2e` | E2E テスト | E2E テストランナーを実行 |
213
+
214
+ ---
215
+
216
+ ## 手順
217
+
218
+ ### 1. ドライラン(プレビュー)
219
+
220
+ リリース前に、バージョン計算と CHANGELOG プレビューを確認します。
221
+
222
+ ```bash
223
+ npm run release:dry-run
224
+ ```
225
+
226
+ 出力例:
227
+
228
+ ```
229
+ === Release Dry Run ===
230
+
231
+ Current version: 0.1.0
232
+
233
+ Version preview:
234
+ patch: 0.1.0 -> 0.1.1
235
+ minor: 0.1.0 -> 0.2.0
236
+ major: 0.1.0 -> 1.0.0
237
+
238
+ CHANGELOG preview:
239
+ ---
240
+ ## [0.1.1] - 2026-02-09
241
+
242
+ ### Features
243
+
244
+ - 新機能の説明 (abc1234)
245
+
246
+ ### Bug Fixes
247
+
248
+ - バグ修正の説明 (def5678)
249
+ ---
250
+ ```
251
+
252
+ ### 2. リリース実行
253
+
254
+ 適切なバージョン種別を選択してリリースを実行します。
255
+
256
+ ```bash
257
+ # パッチリリース(バグ修正)
258
+ npm run release:patch
259
+
260
+ # マイナーリリース(新機能)
261
+ npm run release:minor
262
+
263
+ # メジャーリリース(破壊的変更)
264
+ npm run release:major
265
+ ```
266
+
267
+ リリースタスクは以下のステップを自動実行します。
268
+
269
+ | ステップ | 内容 |
270
+ | :--- | :--- |
271
+ | preflight | working tree クリーンチェック → lint → test → build → e2e |
272
+ | [1/4] | 対象パッケージのバージョンを同期更新 |
273
+ | [2/4] | 直近タグから HEAD までのコミットを Conventional Commits で分類し CHANGELOG.md を生成 |
274
+ | [3/4] | 変更ファイルをステージング → `release: vX.X.X` でコミット → `vX.X.X` タグ作成 |
275
+ | [4/4] | リリースサマリーを表示 |
276
+
277
+ ### 3. リモートへプッシュ
278
+
279
+ リリースコミットとタグをリモートリポジトリにプッシュします。
280
+
281
+ ```bash
282
+ git push && git push --tags
283
+ ```
284
+
285
+ ### 4. 本番デプロイ(必要に応じて)
286
+
287
+ リリースと同時にデプロイする場合:
288
+
289
+ ```bash
290
+ npm run release:deploy:patch
291
+ ```
292
+
293
+ デプロイのみを別途実行する場合:
294
+
295
+ ```bash
296
+ npm run deploy:prd
297
+ ```
298
+
299
+ > **注意**: 本番デプロイは実行前に確認プロンプトを表示することを推奨します。
300
+
301
+ ---
302
+
303
+ ## CHANGELOG 生成ルール
304
+
305
+ CHANGELOG は [Conventional Commits](https://www.conventionalcommits.org/) の規約に基づいて自動生成されます。
306
+
307
+ ### コミットメッセージの分類
308
+
309
+ | prefix | カテゴリ |
310
+ | :--- | :--- |
311
+ | `feat` | Features |
312
+ | `fix` | Bug Fixes |
313
+ | `docs` | Documentation |
314
+ | `refactor` | Refactoring |
315
+ | `test` | Tests |
316
+ | `chore` | Chores |
317
+ | `perf` | Performance |
318
+ | `ci` | CI |
319
+ | `style` | Styles |
320
+ | `build` | Build |
321
+ | その他 | Other |
322
+
323
+ ### 生成ルール
324
+
325
+ - 直近の git tag から HEAD までのコミットを対象とする
326
+ - タグが存在しない場合は全コミット履歴を対象とする
327
+ - `CHANGELOG.md` の先頭に新しいエントリを追加する(ファイルがなければ新規作成)
328
+
329
+ ### CHANGELOG エントリの形式
330
+
331
+ ```markdown
332
+ ## [0.2.0] - 2026-02-09
333
+
334
+ ### Features
335
+
336
+ - 新機能の説明 (abc1234)
337
+
338
+ ### Bug Fixes
339
+
340
+ - バグ修正の説明 (def5678)
341
+ ```
342
+
343
+ ---
344
+
345
+ ## トラブルシューティング
346
+
347
+ ### working tree がクリーンでない
348
+
349
+ ```
350
+ Error: Working tree is not clean. Commit or stash your changes first.
351
+ ```
352
+
353
+ 未コミットの変更がある場合、リリースは実行できません。先に変更をコミットまたはスタッシュしてください。
354
+
355
+ ```bash
356
+ # 変更をコミット
357
+ git add <files> && git commit -m "fix: 修正内容"
358
+
359
+ # または一時退避
360
+ git stash
361
+ npm run release:patch
362
+ git stash pop
363
+ ```
364
+
365
+ ### テストが失敗する
366
+
367
+ 品質ゲート(preflight)でテストが失敗した場合、リリースは中断されます。テストを修正してからリリースを再実行してください。
368
+
369
+ ```bash
370
+ # テストを個別に実行して問題を確認
371
+ npm run test
372
+ npm run test:e2e
373
+ ```
374
+
375
+ ### リリースを元に戻したい
376
+
377
+ リリースコミットとタグをリモートにプッシュする前であれば、ローカルで取り消せます。
378
+
379
+ ```bash
380
+ # コミットとタグを取り消し
381
+ git tag -d vX.X.X
382
+ git reset --hard HEAD~1
383
+ ```
384
+
385
+ > **重要**: リモートにプッシュ済みの場合は force push が必要になります。チームメンバーに影響がないことを確認してから実行してください。
386
+
387
+ ### 品質ゲートを個別に実行したい
388
+
389
+ 品質ゲートのみを実行してリリース可能な状態か確認できます。
390
+
391
+ ```bash
392
+ npm run release:preflight
393
+ ```
394
+
395
+ 個別のチェックも実行可能です。
396
+
397
+ ```bash
398
+ npm run release:preflight:clean # working tree チェック
399
+ npm run release:preflight:lint # lint
400
+ npm run release:preflight:test # ユニットテスト
401
+ npm run release:preflight:build # ビルド
402
+ npm run release:preflight:e2e # E2E テスト
403
+ ```
404
+
405
+ ---
406
+
407
+ ## プロジェクトへの導入
408
+
409
+ ### 必要な npm scripts
410
+
411
+ `package.json` に以下のスクリプトを定義します。
412
+
413
+ ```json
414
+ {
415
+ "scripts": {
416
+ "release:dry-run": "リリースドライラン実行コマンド",
417
+ "release:patch": "リリース実行コマンド patch",
418
+ "release:minor": "リリース実行コマンド minor",
419
+ "release:major": "リリース実行コマンド major",
420
+ "release:preflight": "品質ゲート実行コマンド",
421
+ "release:deploy:patch": "リリース + デプロイコマンド patch",
422
+ "release:deploy:minor": "リリース + デプロイコマンド minor",
423
+ "release:deploy:major": "リリース + デプロイコマンド major"
424
+ }
425
+ }
426
+ ```
427
+
428
+ ### 実装方法の選択肢
429
+
430
+ | 方法 | 説明 | 適用場面 |
431
+ | :--- | :--- | :--- |
432
+ | カスタムスクリプト | シェルスクリプトや Node.js スクリプトで実装 | 細かい制御が必要な場合 |
433
+ | タスクランナー | Gulp、Make 等で実装 | 既存のタスクランナーがある場合 |
434
+ | 専用ツール | standard-version、semantic-release 等を利用 | 設定ベースで素早く導入したい場合 |
435
+
436
+ ---
437
+
438
+ ## 関連ドキュメント
439
+
440
+ - [リリース・イテレーション計画ガイド](リリース・イテレーション計画ガイド.md)
441
+ - [コーディングとテストガイド](コーディングとテストガイド.md)
442
+ - [開発ガイド](開発ガイド.md)