@k2works/claude-code-booster 1.9.0 → 1.10.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 (94) 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 -1024
  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 +87 -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 -106
  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/syncing-github-project/SKILL.md +181 -69
  39. package/lib/assets/.claude/skills/tracking-progress/SKILL.md +164 -164
  40. package/lib/assets/.devcontainer/devcontainer.json +34 -34
  41. package/lib/assets/.env.example +17 -17
  42. package/lib/assets/.gitattributes +4 -4
  43. package/lib/assets/.github/workflows/docker-publish.yml +77 -77
  44. package/lib/assets/.github/workflows/mkdocs.yml +39 -39
  45. package/lib/assets/AGENTS.md +94 -94
  46. package/lib/assets/CLAUDE.md +162 -162
  47. package/lib/assets/README.md +269 -269
  48. package/lib/assets/docker-compose.yml +33 -33
  49. package/lib/assets/docs/assets/css/extra.css +29 -29
  50. package/lib/assets/docs/assets/js/extra.js +44 -44
  51. package/lib/assets/docs/index.md +14 -14
  52. 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
  53. 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
  54. 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
  55. 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
  56. package/lib/assets/docs/reference/UI/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +448 -448
  57. 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
  58. 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
  59. 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
  60. 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
  61. 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
  62. 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
  63. 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
  64. 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
  65. 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
  66. 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
  67. 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
  68. 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
  69. 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
  70. 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
  71. 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
  72. package/lib/assets/docs/reference//351/226/213/347/231/272/343/202/254/343/202/244/343/203/211.md +235 -235
  73. 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
  74. package/lib/assets/docs/template/ADR.md +30 -30
  75. package/lib/assets/docs/template/README.md +50 -50
  76. 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
  77. 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
  78. 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
  79. 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
  80. 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
  81. package/lib/assets/docs/template//350/246/201/344/273/266/345/256/232/347/276/251.md +669 -669
  82. package/lib/assets/docs/template//350/250/255/350/250/210.md +163 -163
  83. package/lib/assets/gulpfile.js +23 -23
  84. package/lib/assets/mkdocs.yml +65 -65
  85. package/lib/assets/ops/docker/mkdoc/Dockerfile +19 -19
  86. package/lib/assets/ops/scripts/journal.js +180 -180
  87. package/lib/assets/ops/scripts/mkdocs.js +82 -82
  88. package/lib/assets/ops/scripts/release.js +431 -431
  89. package/lib/assets/ops/scripts/ssh.js +190 -190
  90. package/lib/assets/ops/scripts/vault.js +299 -299
  91. package/lib/assets/package-lock.json +1653 -1653
  92. package/lib/assets/package.json +40 -40
  93. package/lib/gulpfile.js +37 -37
  94. 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)