@k2works/claude-code-booster 1.13.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/claude-code-booster +5 -7
- package/lib/assets/.claude/README.md +73 -19
- package/lib/assets/.claude/agents/xp-architect.md +250 -0
- package/lib/assets/.claude/agents/xp-executive.md +207 -0
- package/lib/assets/.claude/agents/xp-interaction-designer.md +239 -0
- package/lib/assets/.claude/agents/xp-product-manager.md +245 -0
- package/lib/assets/.claude/agents/xp-programmer.md +268 -0
- package/lib/assets/.claude/agents/xp-project-manager.md +229 -0
- package/lib/assets/.claude/agents/xp-technical-writer.md +224 -0
- package/lib/assets/.claude/agents/xp-tester.md +265 -0
- package/lib/assets/.claude/agents/xp-user-representative.md +204 -0
- package/lib/assets/.claude/skills/ai-agent-guidelines/SKILL.md +49 -57
- package/lib/assets/.claude/skills/analyzing-architecture/SKILL.md +54 -58
- package/lib/assets/.claude/skills/analyzing-business/SKILL.md +52 -74
- package/lib/assets/.claude/skills/analyzing-data-model/SKILL.md +50 -53
- package/lib/assets/.claude/skills/analyzing-domain-model/SKILL.md +56 -56
- package/lib/assets/.claude/skills/analyzing-inception-deck/SKILL.md +56 -109
- package/lib/assets/.claude/skills/analyzing-non-functional/SKILL.md +61 -57
- package/lib/assets/.claude/skills/analyzing-operation/SKILL.md +61 -57
- package/lib/assets/.claude/skills/analyzing-requirements/SKILL.md +57 -55
- package/lib/assets/.claude/skills/analyzing-tech-stack/SKILL.md +66 -67
- package/lib/assets/.claude/skills/analyzing-test-strategy/SKILL.md +58 -56
- package/lib/assets/.claude/skills/analyzing-ui-design/SKILL.md +51 -57
- package/lib/assets/.claude/skills/analyzing-usecases/SKILL.md +45 -60
- package/lib/assets/.claude/skills/creating-adr/SKILL.md +38 -40
- package/lib/assets/.claude/skills/developing-backend/SKILL.md +49 -55
- package/lib/assets/.claude/skills/developing-frontend/SKILL.md +47 -50
- package/lib/assets/.claude/skills/developing-release/SKILL.md +60 -95
- package/lib/assets/.claude/skills/generating-slides/SKILL.md +58 -100
- package/lib/assets/.claude/skills/git-commit/SKILL.md +27 -52
- package/lib/assets/.claude/skills/killing-processes/SKILL.md +16 -70
- package/lib/assets/.claude/skills/operating-backup/SKILL.md +59 -0
- package/lib/assets/.claude/skills/operating-cicd/SKILL.md +54 -0
- package/lib/assets/.claude/skills/operating-deploy/SKILL.md +67 -0
- package/lib/assets/.claude/skills/{managing-docs → operating-docs}/SKILL.md +1 -1
- package/lib/assets/.claude/skills/operating-provision/SKILL.md +77 -0
- package/lib/assets/.claude/skills/operating-setup/SKILL.md +63 -0
- package/lib/assets/.claude/skills/orchestrating-analysis/SKILL.md +65 -95
- package/lib/assets/.claude/skills/orchestrating-development/SKILL.md +60 -155
- package/lib/assets/.claude/skills/orchestrating-operation/SKILL.md +158 -0
- package/lib/assets/.claude/skills/orchestrating-project/SKILL.md +60 -119
- package/lib/assets/.claude/skills/planning-releases/SKILL.md +63 -168
- package/lib/assets/.claude/skills/syncing-github-project/SKILL.md +62 -266
- package/lib/assets/.claude/skills/tracking-progress/SKILL.md +49 -122
- package/lib/assets/CLAUDE.md +7 -2
- package/lib/assets/README.md +3 -34
- package/lib/assets/docs/development/index.md +14 -8
- package/lib/assets/docs/reference//351/201/213/347/224/250/343/202/271/343/202/257/343/203/252/343/203/227/343/203/210/344/275/234/346/210/220/343/202/254/343/202/244/343/203/211.md +421 -0
- package/lib/assets/docs/reference//351/226/213/347/231/272/343/202/254/343/202/244/343/203/211.md +69 -5
- package/lib/assets/docs/template/AWS/343/202/271/343/203/206/343/203/274/343/202/270/343/203/263/343/202/260/347/222/260/345/242/203/343/202/273/343/203/203/343/203/210/343/202/242/343/203/203/343/203/227/346/211/213/351/240/206/346/233/270.md +1366 -0
- package/lib/assets/docs/template/AWS/343/203/227/343/203/255/343/203/200/343/202/257/343/202/267/343/203/247/343/203/263/347/222/260/345/242/203/343/202/273/343/203/203/343/203/210/343/202/242/343/203/203/343/203/227/346/211/213/351/240/206/346/233/270.md +634 -0
- package/lib/assets/docs/template//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/347/222/260/345/242/203/343/202/273/343/203/203/343/203/210/343/202/242/343/203/203/343/203/227/346/211/213/351/240/206/346/233/270.md +547 -0
- 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/350/250/210/347/224/273.md +123 -1
- package/lib/assets/docs/template//350/250/255/350/250/210.md +12 -2
- package/lib/assets/docs/template//351/226/213/347/231/272/347/222/260/345/242/203/343/202/273/343/203/203/343/203/210/343/202/242/343/203/203/343/203/227/346/211/213/351/240/206/346/233/270.md +688 -0
- package/package.json +1 -1
- package/lib/assets/.claude/SKILLS_TEMPLATE.md +0 -100
- package/lib/assets/.claude/agents/roles/.gitkeep +0 -0
- package/lib/assets/.claude/skills/managing-operations/DEPLOY.md +0 -77
- package/lib/assets/.claude/skills/managing-operations/SETUP_CSHARP.md +0 -80
- package/lib/assets/.claude/skills/managing-operations/SETUP_FRONTEND.md +0 -84
- package/lib/assets/.claude/skills/managing-operations/SETUP_JAVA.md +0 -75
- package/lib/assets/.claude/skills/managing-operations/SKILL.md +0 -156
|
@@ -0,0 +1,547 @@
|
|
|
1
|
+
# アプリケーション開発環境セットアップ手順書
|
|
2
|
+
|
|
3
|
+
## 概要
|
|
4
|
+
|
|
5
|
+
本ドキュメントは、{プロジェクト名}のアプリケーション開発環境をセットアップする手順を説明します。
|
|
6
|
+
|
|
7
|
+
テスト駆動開発(TDD)のゴールは **動作するきれいなコード** です。それを実現するためには [ソフトウェア開発の三種の神器](https://t-wada.hatenablog.jp/entry/clean-code-that-works) が必要です。
|
|
8
|
+
|
|
9
|
+
> 今日のソフトウェア開発の世界において絶対になければならない 3 つの技術的な柱があります。
|
|
10
|
+
> 三本柱と言ったり、三種の神器と言ったりしていますが、それらは
|
|
11
|
+
>
|
|
12
|
+
> - バージョン管理
|
|
13
|
+
> - テスティング
|
|
14
|
+
> - 自動化
|
|
15
|
+
>
|
|
16
|
+
> の 3 つです。
|
|
17
|
+
>
|
|
18
|
+
> — https://t-wada.hatenablog.jp/entry/clean-code-that-works
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 1. 前提条件
|
|
23
|
+
|
|
24
|
+
以下のツールがインストールされていることを確認してください。
|
|
25
|
+
|
|
26
|
+
| ツール | バージョン | 確認コマンド |
|
|
27
|
+
|--------|-----------|-------------|
|
|
28
|
+
| {言語ランタイム} | {バージョン} | `{確認コマンド}` |
|
|
29
|
+
| {ビルドツール} | {バージョン} | `{確認コマンド}` |
|
|
30
|
+
| Docker | 最新 | `docker -v` |
|
|
31
|
+
| Docker Compose | v2.x | `docker compose version` |
|
|
32
|
+
| Git | 最新 | `git -v` |
|
|
33
|
+
| Node.js | v22.x LTS | `node -v` |
|
|
34
|
+
| npm | v10.x | `npm -v` |
|
|
35
|
+
|
|
36
|
+
### {言語ランタイム}のインストール
|
|
37
|
+
|
|
38
|
+
{言語ランタイム}をインストールします。バージョン管理ツールを使用すると複数バージョンの管理が容易です。
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
# バージョン管理ツールでインストール
|
|
42
|
+
{インストールコマンド}
|
|
43
|
+
|
|
44
|
+
# バージョン確認
|
|
45
|
+
{確認コマンド}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
公式サイトから直接ダウンロードする場合:
|
|
49
|
+
|
|
50
|
+
- {公式サイト URL}
|
|
51
|
+
|
|
52
|
+
### Docker のインストール
|
|
53
|
+
|
|
54
|
+
Docker Desktop をインストールします。
|
|
55
|
+
|
|
56
|
+
- **Windows**: https://docs.docker.com/desktop/install/windows-install/
|
|
57
|
+
- **macOS**: https://docs.docker.com/desktop/install/mac-install/
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
# バージョン確認
|
|
61
|
+
docker -v
|
|
62
|
+
|
|
63
|
+
docker compose version
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Node.js のインストール
|
|
67
|
+
|
|
68
|
+
コミット前の品質チェック(husky + lint-staged)に Node.js が必要です。
|
|
69
|
+
|
|
70
|
+
- https://nodejs.org/
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
# バージョン確認
|
|
74
|
+
node -v
|
|
75
|
+
|
|
76
|
+
npm -v
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## 2. プロジェクトの取得
|
|
82
|
+
|
|
83
|
+
### リポジトリのクローン
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
git clone {リポジトリ URL}
|
|
87
|
+
cd {プロジェクトディレクトリ}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Node.js 依存パッケージのインストール
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
npm install
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
> **Note**: husky(Git Hooks)が `prepare` スクリプトで自動的にセットアップされます。
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## 3. サブシステム一覧
|
|
101
|
+
|
|
102
|
+
{プロジェクト名}は以下のサブシステムで構成されています。
|
|
103
|
+
|
|
104
|
+
| システム | ディレクトリ | 説明 | ポート (DB / App) |
|
|
105
|
+
|---------|-------------|------|-------------------|
|
|
106
|
+
| {システム名} | `{ディレクトリ}` | {説明} | {DB ポート} / {App ポート} |
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## 4. 技術スタック
|
|
111
|
+
|
|
112
|
+
### バックエンド
|
|
113
|
+
|
|
114
|
+
| カテゴリ | 技術 | バージョン |
|
|
115
|
+
|---------|------|-----------|
|
|
116
|
+
| 言語 | {言語} | {バージョン} |
|
|
117
|
+
| フレームワーク | {フレームワーク} | {バージョン} |
|
|
118
|
+
| ビルドツール | {ビルドツール} | {バージョン} |
|
|
119
|
+
| ORM | {ORM} | {バージョン} |
|
|
120
|
+
| データベース | {データベース} | {バージョン} |
|
|
121
|
+
| マイグレーション | {マイグレーションツール} | - |
|
|
122
|
+
| テスト | {テストフレームワーク} | {バージョン} |
|
|
123
|
+
| 品質管理 | {品質管理ツール} | - |
|
|
124
|
+
|
|
125
|
+
### フロントエンド
|
|
126
|
+
|
|
127
|
+
| カテゴリ | 技術 | バージョン |
|
|
128
|
+
|---------|------|-----------|
|
|
129
|
+
| 言語 | {言語} | {バージョン} |
|
|
130
|
+
| フレームワーク | {フレームワーク} | {バージョン} |
|
|
131
|
+
| CSS | {CSS フレームワーク} | {バージョン} |
|
|
132
|
+
|
|
133
|
+
### インフラストラクチャ
|
|
134
|
+
|
|
135
|
+
| カテゴリ | 技術 |
|
|
136
|
+
|---------|------|
|
|
137
|
+
| コンテナ | Docker / Docker Compose |
|
|
138
|
+
| CI/CD | {CI/CD ツール} |
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## 5. プロファイル構成
|
|
143
|
+
|
|
144
|
+
開発効率を高めるため、複数のプロファイルを使い分けます。
|
|
145
|
+
|
|
146
|
+
| プロファイル | データベース | Docker | 用途 |
|
|
147
|
+
|-------------|------------|--------|------|
|
|
148
|
+
| default | {開発用 DB}(インメモリ等) | 不要 | 日常開発・即座起動 |
|
|
149
|
+
| product | {本番用 DB} | 必要 | 本番互換テスト |
|
|
150
|
+
|
|
151
|
+
### default プロファイル(推奨:日常開発)
|
|
152
|
+
|
|
153
|
+
Docker なしで即座に起動できます。
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
cd {バックエンドディレクトリ}
|
|
157
|
+
{起動コマンド}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### product プロファイル(本番互換)
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
# データベースコンテナを起動
|
|
164
|
+
cd {サブシステムディレクトリ}
|
|
165
|
+
docker compose up -d {DB サービス名}
|
|
166
|
+
|
|
167
|
+
# product プロファイルで起動
|
|
168
|
+
cd {バックエンドディレクトリ}
|
|
169
|
+
{product 起動コマンド}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## 6. 開発サーバーの起動
|
|
175
|
+
|
|
176
|
+
### タスクランナー経由(推奨)
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
# 開発サーバー起動(default プロファイル)
|
|
180
|
+
{タスクランナーコマンド}
|
|
181
|
+
|
|
182
|
+
# TDD モード(テスト自動再実行)
|
|
183
|
+
{TDD コマンド}
|
|
184
|
+
|
|
185
|
+
# タスク一覧を表示
|
|
186
|
+
{ヘルプコマンド}
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### ビルドツール直接実行
|
|
190
|
+
|
|
191
|
+
```bash
|
|
192
|
+
cd {バックエンドディレクトリ}
|
|
193
|
+
|
|
194
|
+
# default プロファイルで起動
|
|
195
|
+
{起動コマンド}
|
|
196
|
+
|
|
197
|
+
# TDD モード(テストを常に再実行)
|
|
198
|
+
{TDD コマンド}
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### アクセス確認
|
|
202
|
+
|
|
203
|
+
| サービス | URL | 説明 |
|
|
204
|
+
|---------|-----|------|
|
|
205
|
+
| アプリケーション | http://localhost:{ポート} | メインアプリケーション |
|
|
206
|
+
| API ドキュメント | http://localhost:{ポート}/{パス} | API ドキュメント |
|
|
207
|
+
| DB 管理ツール | http://localhost:{ポート}/{パス} | データベース管理(default プロファイル) |
|
|
208
|
+
| ヘルスチェック | http://localhost:{ポート}/{パス} | ヘルスチェック |
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## 7. Docker Compose のセットアップ
|
|
213
|
+
|
|
214
|
+
### データベースコンテナの起動
|
|
215
|
+
|
|
216
|
+
```bash
|
|
217
|
+
cd {サブシステムディレクトリ}
|
|
218
|
+
|
|
219
|
+
# データベースを起動
|
|
220
|
+
docker compose up -d {DB サービス名}
|
|
221
|
+
|
|
222
|
+
# コンテナの状態確認
|
|
223
|
+
docker compose ps
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
### Docker Compose の便利なコマンド
|
|
227
|
+
|
|
228
|
+
```bash
|
|
229
|
+
# データベースを起動
|
|
230
|
+
docker compose up -d {DB サービス名}
|
|
231
|
+
|
|
232
|
+
# コンテナの停止と削除
|
|
233
|
+
docker compose down
|
|
234
|
+
|
|
235
|
+
# ログを確認
|
|
236
|
+
docker compose logs -f {DB サービス名}
|
|
237
|
+
|
|
238
|
+
# データベースに接続
|
|
239
|
+
docker compose exec {DB サービス名} {DB クライアントコマンド}
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## 8. テストの実行
|
|
245
|
+
|
|
246
|
+
### 全テスト実行
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
cd {バックエンドディレクトリ}
|
|
250
|
+
|
|
251
|
+
# テスト実行(カバレッジレポート付き)
|
|
252
|
+
{テスト実行コマンド}
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### テストの種類
|
|
256
|
+
|
|
257
|
+
| テスト種別 | ツール | 説明 |
|
|
258
|
+
|-----------|--------|------|
|
|
259
|
+
| 単体テスト | {テストフレームワーク} | ドメインロジックのテスト |
|
|
260
|
+
| 統合テスト | {統合テストツール} | データベースを使用したテスト |
|
|
261
|
+
| アーキテクチャテスト | {アーキテクチャテストツール} | レイヤー依存関係検証 |
|
|
262
|
+
|
|
263
|
+
### テストカバレッジ
|
|
264
|
+
|
|
265
|
+
```bash
|
|
266
|
+
# テストを実行してカバレッジレポートを生成
|
|
267
|
+
{カバレッジコマンド}
|
|
268
|
+
|
|
269
|
+
# レポートの表示
|
|
270
|
+
# {レポートパス}
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## 9. コード品質管理
|
|
276
|
+
|
|
277
|
+
### 静的コード解析ツール
|
|
278
|
+
|
|
279
|
+
| ツール | 目的 | コマンド |
|
|
280
|
+
|--------|------|---------|
|
|
281
|
+
| {リンター} | コーディング規約の検証 | `{コマンド}` |
|
|
282
|
+
| {バグ検出ツール} | バグパターン検出 | `{コマンド}` |
|
|
283
|
+
| {カバレッジツール} | テストカバレッジ | `{コマンド}` |
|
|
284
|
+
|
|
285
|
+
### 品質チェックの実行
|
|
286
|
+
|
|
287
|
+
```bash
|
|
288
|
+
cd {バックエンドディレクトリ}
|
|
289
|
+
|
|
290
|
+
# 品質チェックのみ
|
|
291
|
+
{品質チェックコマンド}
|
|
292
|
+
|
|
293
|
+
# すべてのテストと品質チェック
|
|
294
|
+
{フルチェックコマンド}
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
### コード複雑度の基準
|
|
298
|
+
|
|
299
|
+
| 指標 | 閾値 | 説明 |
|
|
300
|
+
|------|------|------|
|
|
301
|
+
| 循環的複雑度 | 10 | 分岐・ループの複雑さ |
|
|
302
|
+
| ファイルサイズ | 500 行 | 1 ファイルの最大行数 |
|
|
303
|
+
| メソッドサイズ | 150 行 | 1 メソッドの最大行数 |
|
|
304
|
+
| パラメータ数 | 7 | メソッドの最大パラメータ数 |
|
|
305
|
+
|
|
306
|
+
### レポートの確認
|
|
307
|
+
|
|
308
|
+
品質チェック後、以下のディレクトリにレポートが生成されます。
|
|
309
|
+
|
|
310
|
+
| ツール | レポートパス |
|
|
311
|
+
|--------|-------------|
|
|
312
|
+
| {リンター} | `{レポートパス}` |
|
|
313
|
+
| {バグ検出ツール} | `{レポートパス}` |
|
|
314
|
+
| {カバレッジツール} | `{レポートパス}` |
|
|
315
|
+
| テスト結果 | `{レポートパス}` |
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
## 10. ディレクトリ構造
|
|
320
|
+
|
|
321
|
+
```
|
|
322
|
+
{プロジェクト名}/
|
|
323
|
+
├── .husky/ # Git Hooks (Husky)
|
|
324
|
+
│ └── pre-commit # コミット前品質チェック
|
|
325
|
+
├── apps/
|
|
326
|
+
│ └── {サブシステム}/
|
|
327
|
+
│ ├── backend/
|
|
328
|
+
│ │ ├── {ビルド設定ファイル}
|
|
329
|
+
│ │ ├── Dockerfile
|
|
330
|
+
│ │ ├── config/ # 品質管理ツール設定
|
|
331
|
+
│ │ └── src/
|
|
332
|
+
│ │ ├── main/
|
|
333
|
+
│ │ │ ├── {ソースディレクトリ}/
|
|
334
|
+
│ │ │ │ ├── domain/ # ドメイン層
|
|
335
|
+
│ │ │ │ ├── application/ # アプリケーション層
|
|
336
|
+
│ │ │ │ └── infrastructure/ # インフラストラクチャ層
|
|
337
|
+
│ │ │ └── resources/
|
|
338
|
+
│ │ │ ├── {設定ファイル}
|
|
339
|
+
│ │ │ └── db/migration/ # マイグレーション
|
|
340
|
+
│ │ └── test/
|
|
341
|
+
│ └── docker-compose.yml
|
|
342
|
+
├── docs/ # ドキュメント
|
|
343
|
+
├── ops/ # 運用スクリプト
|
|
344
|
+
└── package.json # Node.js 依存関係(husky, lint-staged)
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
---
|
|
348
|
+
|
|
349
|
+
## 11. 命名規則
|
|
350
|
+
|
|
351
|
+
プロジェクトの命名規則を定義します。
|
|
352
|
+
|
|
353
|
+
| 要素 | 規則 | 例 |
|
|
354
|
+
|------|------|-----|
|
|
355
|
+
| テーブル名 | {規則} | `{例}` |
|
|
356
|
+
| カラム名 | {規則} | `{例}` |
|
|
357
|
+
| クラス名 | {規則} | `{例}` |
|
|
358
|
+
| フィールド名 | {規則} | `{例}` |
|
|
359
|
+
|
|
360
|
+
---
|
|
361
|
+
|
|
362
|
+
## 12. Git 規約
|
|
363
|
+
|
|
364
|
+
### コミットメッセージ
|
|
365
|
+
|
|
366
|
+
[Conventional Commits](https://www.conventionalcommits.org/ja/) に従います。
|
|
367
|
+
|
|
368
|
+
| タイプ | 説明 |
|
|
369
|
+
|--------|------|
|
|
370
|
+
| `feat` | 新機能 |
|
|
371
|
+
| `fix` | バグ修正 |
|
|
372
|
+
| `docs` | ドキュメントのみの変更 |
|
|
373
|
+
| `style` | コードの意味に影響しない変更 |
|
|
374
|
+
| `refactor` | バグ修正でも機能追加でもないコード変更 |
|
|
375
|
+
| `perf` | パフォーマンス改善 |
|
|
376
|
+
| `test` | テストの追加・修正 |
|
|
377
|
+
| `chore` | ビルドプロセス・補助ツールの変更 |
|
|
378
|
+
|
|
379
|
+
### スコープ
|
|
380
|
+
|
|
381
|
+
サブシステムを示すスコープを使用します。
|
|
382
|
+
|
|
383
|
+
```
|
|
384
|
+
feat({スコープ}): {変更内容}
|
|
385
|
+
fix({スコープ}): {変更内容}
|
|
386
|
+
docs: {変更内容}
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
### Git Hooks(Husky + lint-staged)
|
|
390
|
+
|
|
391
|
+
コミット時に自動で品質チェックが実行されます。
|
|
392
|
+
|
|
393
|
+
#### セットアップ
|
|
394
|
+
|
|
395
|
+
`npm install` 実行時に Husky は自動的にセットアップされます(`prepare` スクリプト)。
|
|
396
|
+
|
|
397
|
+
```bash
|
|
398
|
+
# 手動でセットアップする場合
|
|
399
|
+
npx husky init
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
#### pre-commit フック
|
|
403
|
+
|
|
404
|
+
ソースファイルに変更がある場合、以下のチェックが自動実行されます。
|
|
405
|
+
|
|
406
|
+
| ツール | 目的 |
|
|
407
|
+
|--------|------|
|
|
408
|
+
| {リンター} | コーディング規約の検証 |
|
|
409
|
+
| {バグ検出ツール} | バグパターン検出 |
|
|
410
|
+
|
|
411
|
+
いずれかのチェックが失敗すると、コミットがブロックされます。
|
|
412
|
+
|
|
413
|
+
#### フックをスキップする場合
|
|
414
|
+
|
|
415
|
+
緊急時にフックをスキップしてコミットする場合(非推奨):
|
|
416
|
+
|
|
417
|
+
```bash
|
|
418
|
+
git commit --no-verify -m "メッセージ"
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
> **Warning**: フックのスキップは緊急時のみ使用してください。品質チェックを通過しないコードはチームに影響を与える可能性があります。
|
|
422
|
+
|
|
423
|
+
---
|
|
424
|
+
|
|
425
|
+
## 13. セットアップの確認
|
|
426
|
+
|
|
427
|
+
すべてのセットアップが完了したら、以下のコマンドで動作確認を行います。
|
|
428
|
+
|
|
429
|
+
```bash
|
|
430
|
+
# 1. Node.js 依存パッケージのインストール
|
|
431
|
+
npm install
|
|
432
|
+
|
|
433
|
+
# 2. ビルド確認
|
|
434
|
+
cd {バックエンドディレクトリ}
|
|
435
|
+
{ビルドコマンド}
|
|
436
|
+
|
|
437
|
+
# 3. テスト実行
|
|
438
|
+
{テスト実行コマンド}
|
|
439
|
+
|
|
440
|
+
# 4. 品質チェック
|
|
441
|
+
{品質チェックコマンド}
|
|
442
|
+
|
|
443
|
+
# 5. 開発サーバー起動(default プロファイル)
|
|
444
|
+
{起動コマンド}
|
|
445
|
+
```
|
|
446
|
+
|
|
447
|
+
### アクセス確認
|
|
448
|
+
|
|
449
|
+
| サービス | URL | 説明 |
|
|
450
|
+
|---------|-----|------|
|
|
451
|
+
| アプリケーション | http://localhost:{ポート} | メインアプリケーション |
|
|
452
|
+
| API ドキュメント | http://localhost:{ポート}/{パス} | API ドキュメント |
|
|
453
|
+
| DB 管理ツール | http://localhost:{ポート}/{パス} | データベース管理ツール |
|
|
454
|
+
| ヘルスチェック | http://localhost:{ポート}/{パス} | ヘルスチェック |
|
|
455
|
+
|
|
456
|
+
---
|
|
457
|
+
|
|
458
|
+
## 14. CI/CD
|
|
459
|
+
|
|
460
|
+
CI/CD による継続的インテグレーション・デプロイを設定しています。
|
|
461
|
+
|
|
462
|
+
### ワークフロー一覧
|
|
463
|
+
|
|
464
|
+
| ワークフロー | ファイル | トリガー | 説明 |
|
|
465
|
+
|-------------|----------|----------|------|
|
|
466
|
+
| Backend CI | `{ワークフローファイル}` | `{トリガーパス}` 変更時 | 品質チェック・テスト・ビルド |
|
|
467
|
+
| Docker Publish | `{ワークフローファイル}` | タグ push / 手動実行 | イメージを Registry に公開 |
|
|
468
|
+
| Docs Deploy | `{ワークフローファイル}` | main ブランチ push | ドキュメントをデプロイ |
|
|
469
|
+
|
|
470
|
+
### Backend CI
|
|
471
|
+
|
|
472
|
+
バックエンドの変更時に自動実行されます。
|
|
473
|
+
|
|
474
|
+
```
|
|
475
|
+
実行内容:
|
|
476
|
+
|
|
477
|
+
1. 環境セットアップ
|
|
478
|
+
2. キャッシュ復元
|
|
479
|
+
3. 品質チェック(リンター、バグ検出)
|
|
480
|
+
4. テスト実行(単体・統合・アーキテクチャ)
|
|
481
|
+
5. カバレッジレポート生成
|
|
482
|
+
6. ビルド(成果物生成)
|
|
483
|
+
7. レポートアップロード
|
|
484
|
+
```
|
|
485
|
+
|
|
486
|
+
### Docker Image Publish
|
|
487
|
+
|
|
488
|
+
タグ push 時または手動実行時に、Docker イメージをビルドして Registry に公開します。
|
|
489
|
+
|
|
490
|
+
```bash
|
|
491
|
+
# 手動実行
|
|
492
|
+
{手動実行コマンド}
|
|
493
|
+
|
|
494
|
+
# タグによる自動実行
|
|
495
|
+
git tag v1.0.0
|
|
496
|
+
git push origin v1.0.0
|
|
497
|
+
|
|
498
|
+
# イメージの取得
|
|
499
|
+
docker pull {レジストリ}/{イメージ名}:latest
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
---
|
|
503
|
+
|
|
504
|
+
## トラブルシューティング
|
|
505
|
+
|
|
506
|
+
### {問題タイトル 1}
|
|
507
|
+
|
|
508
|
+
**問題**: {問題の説明}
|
|
509
|
+
|
|
510
|
+
```
|
|
511
|
+
{エラーメッセージ}
|
|
512
|
+
```
|
|
513
|
+
|
|
514
|
+
**解決策**: {解決策の説明}
|
|
515
|
+
|
|
516
|
+
```bash
|
|
517
|
+
{解決コマンド}
|
|
518
|
+
```
|
|
519
|
+
|
|
520
|
+
### {問題タイトル 2}
|
|
521
|
+
|
|
522
|
+
**問題**: {問題の説明}
|
|
523
|
+
|
|
524
|
+
**解決策**: {解決策の説明}
|
|
525
|
+
|
|
526
|
+
```bash
|
|
527
|
+
{解決コマンド}
|
|
528
|
+
```
|
|
529
|
+
|
|
530
|
+
### pre-commit フックが失敗する場合
|
|
531
|
+
|
|
532
|
+
```bash
|
|
533
|
+
cd {バックエンドディレクトリ}
|
|
534
|
+
|
|
535
|
+
# 品質チェックを手動実行してエラーを確認
|
|
536
|
+
{品質チェックコマンド}
|
|
537
|
+
|
|
538
|
+
# エラーを修正してから再度コミット
|
|
539
|
+
```
|
|
540
|
+
|
|
541
|
+
---
|
|
542
|
+
|
|
543
|
+
## 関連ドキュメント
|
|
544
|
+
|
|
545
|
+
- {関連ドキュメント 1}
|
|
546
|
+
- {関連ドキュメント 2}
|
|
547
|
+
- {関連ドキュメント 3}
|
|
@@ -135,7 +135,129 @@ gantt
|
|
|
135
135
|
|
|
136
136
|
---
|
|
137
137
|
|
|
138
|
-
##
|
|
138
|
+
## 設計
|
|
139
|
+
|
|
140
|
+
### ドメインモデル
|
|
141
|
+
|
|
142
|
+
```plantuml
|
|
143
|
+
@startuml
|
|
144
|
+
class 認証ユーザー
|
|
145
|
+
class ユーザー一覧
|
|
146
|
+
class ユーザー
|
|
147
|
+
class ユーザーID
|
|
148
|
+
class パスワード
|
|
149
|
+
class 役割
|
|
150
|
+
class 名前
|
|
151
|
+
|
|
152
|
+
認証ユーザー *- ユーザー
|
|
153
|
+
ユーザー一覧 *-- ユーザー
|
|
154
|
+
ユーザー *-- ユーザーID
|
|
155
|
+
ユーザー *-- パスワード
|
|
156
|
+
ユーザー *-- 役割
|
|
157
|
+
ユーザー *-- 名前
|
|
158
|
+
|
|
159
|
+
@enduml
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### データモデル
|
|
163
|
+
|
|
164
|
+
```plantuml
|
|
165
|
+
@startuml
|
|
166
|
+
' hide the spot
|
|
167
|
+
hide circle
|
|
168
|
+
' avoid problems with angled crows feet
|
|
169
|
+
skinparam linetype ortho
|
|
170
|
+
entity "ユーザー" as usr {
|
|
171
|
+
*ユーザーID : text
|
|
172
|
+
--
|
|
173
|
+
姓 : text
|
|
174
|
+
名 : text
|
|
175
|
+
パスワード : text
|
|
176
|
+
役割 : text
|
|
177
|
+
}
|
|
178
|
+
@enduml
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### ユーザーインターフェース
|
|
182
|
+
|
|
183
|
+
#### ビュー
|
|
184
|
+
|
|
185
|
+
```plantuml
|
|
186
|
+
@startsalt
|
|
187
|
+
{+
|
|
188
|
+
ログイン画面
|
|
189
|
+
{+
|
|
190
|
+
{
|
|
191
|
+
[ ログイン ]
|
|
192
|
+
---------------------
|
|
193
|
+
ユーザーID | "MyName "
|
|
194
|
+
パスワード | "**** "
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
----------------
|
|
198
|
+
ホーム画面
|
|
199
|
+
{+
|
|
200
|
+
{
|
|
201
|
+
ホーム
|
|
202
|
+
ログアウト
|
|
203
|
+
} |
|
|
204
|
+
{
|
|
205
|
+
{
|
|
206
|
+
<b>お知らせ
|
|
207
|
+
}
|
|
208
|
+
---------------------
|
|
209
|
+
{
|
|
210
|
+
2020/01/01 お知らせ内容
|
|
211
|
+
2020/01/02 お知らせ内容
|
|
212
|
+
2020/01/03 お知らせ内容
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
@endsalt
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
#### モデル
|
|
221
|
+
|
|
222
|
+
```plantuml
|
|
223
|
+
@startuml
|
|
224
|
+
class ログイン {
|
|
225
|
+
ユーザーID
|
|
226
|
+
パスワード
|
|
227
|
+
ログイン()
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
class ホーム {
|
|
231
|
+
お知らせ
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
class ナビゲーション {
|
|
235
|
+
ホーム()
|
|
236
|
+
ログアウト()
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
ナビゲーション -* ホーム
|
|
240
|
+
@endum
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
#### インタラクション
|
|
244
|
+
|
|
245
|
+
```plantuml
|
|
246
|
+
@startuml
|
|
247
|
+
|
|
248
|
+
title 画面遷移図
|
|
249
|
+
|
|
250
|
+
[*] --> ログイン
|
|
251
|
+
|
|
252
|
+
state ログイン : ユーザーID・パスワードを入力
|
|
253
|
+
ログイン --> ホーム : ログイン成功
|
|
254
|
+
ログイン --> ログイン : ログイン失敗
|
|
255
|
+
|
|
256
|
+
state ホーム : お知らせを表示
|
|
257
|
+
ホーム --> [*] : ログアウト
|
|
258
|
+
|
|
259
|
+
@enduml
|
|
260
|
+
```
|
|
139
261
|
|
|
140
262
|
### ディレクトリ構成
|
|
141
263
|
|
|
@@ -158,7 +158,17 @@ entity "ユーザー" as usr {
|
|
|
158
158
|
|
|
159
159
|
```plantuml
|
|
160
160
|
@startuml
|
|
161
|
-
|
|
162
|
-
|
|
161
|
+
|
|
162
|
+
title 画面遷移図
|
|
163
|
+
|
|
164
|
+
[*] --> ログイン
|
|
165
|
+
|
|
166
|
+
state ログイン : ユーザーID・パスワードを入力
|
|
167
|
+
ログイン --> ホーム : ログイン成功
|
|
168
|
+
ログイン --> ログイン : ログイン失敗
|
|
169
|
+
|
|
170
|
+
state ホーム : お知らせを表示
|
|
171
|
+
ホーム --> [*] : ログアウト
|
|
172
|
+
|
|
163
173
|
@enduml
|
|
164
174
|
```
|