@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.
- package/LICENSE +21 -21
- package/README.md +42 -42
- package/bin/claude-code-booster +79 -79
- package/lib/assets/.claude/README.md +162 -162
- package/lib/assets/.claude/SKILLS_TEMPLATE.md +100 -100
- package/lib/assets/.claude/scripts/generate-inception-deck.mjs +911 -911
- package/lib/assets/.claude/settings.json +11 -11
- package/lib/assets/.claude/skills/ai-agent-guidelines/SKILL.md +119 -119
- package/lib/assets/.claude/skills/analyzing-architecture/SKILL.md +87 -87
- package/lib/assets/.claude/skills/analyzing-business/SKILL.md +117 -117
- package/lib/assets/.claude/skills/analyzing-data-model/SKILL.md +80 -80
- package/lib/assets/.claude/skills/analyzing-domain-model/SKILL.md +88 -88
- package/lib/assets/.claude/skills/analyzing-inception-deck/SKILL.md +137 -137
- package/lib/assets/.claude/skills/analyzing-non-functional/SKILL.md +91 -91
- package/lib/assets/.claude/skills/analyzing-operation/SKILL.md +91 -91
- package/lib/assets/.claude/skills/analyzing-requirements/SKILL.md +89 -87
- package/lib/assets/.claude/skills/analyzing-tech-stack/SKILL.md +102 -102
- package/lib/assets/.claude/skills/analyzing-test-strategy/SKILL.md +87 -87
- package/lib/assets/.claude/skills/analyzing-ui-design/SKILL.md +86 -86
- package/lib/assets/.claude/skills/analyzing-usecases/SKILL.md +87 -87
- package/lib/assets/.claude/skills/creating-adr/SKILL.md +115 -115
- package/lib/assets/.claude/skills/developing-backend/SKILL.md +106 -106
- package/lib/assets/.claude/skills/developing-frontend/SKILL.md +96 -96
- package/lib/assets/.claude/skills/developing-release/SKILL.md +154 -154
- package/lib/assets/.claude/skills/generating-slides/SKILL.md +136 -136
- package/lib/assets/.claude/skills/git-commit/SKILL.md +106 -106
- package/lib/assets/.claude/skills/killing-processes/SKILL.md +98 -98
- package/lib/assets/.claude/skills/managing-docs/SKILL.md +200 -200
- package/lib/assets/.claude/skills/managing-operations/DEPLOY.md +77 -77
- package/lib/assets/.claude/skills/managing-operations/SETUP_CSHARP.md +80 -80
- package/lib/assets/.claude/skills/managing-operations/SETUP_FRONTEND.md +84 -84
- package/lib/assets/.claude/skills/managing-operations/SETUP_JAVA.md +75 -75
- package/lib/assets/.claude/skills/managing-operations/SKILL.md +156 -156
- package/lib/assets/.claude/skills/orchestrating-analysis/SKILL.md +134 -134
- package/lib/assets/.claude/skills/orchestrating-development/SKILL.md +243 -243
- package/lib/assets/.claude/skills/orchestrating-project/SKILL.md +193 -193
- package/lib/assets/.claude/skills/planning-releases/SKILL.md +222 -222
- package/lib/assets/.claude/skills/tracking-progress/SKILL.md +164 -164
- package/lib/assets/.devcontainer/devcontainer.json +34 -34
- package/lib/assets/.env.example +17 -17
- package/lib/assets/.gitattributes +4 -4
- package/lib/assets/.github/workflows/docker-publish.yml +77 -77
- package/lib/assets/.github/workflows/mkdocs.yml +39 -39
- package/lib/assets/AGENTS.md +94 -94
- package/lib/assets/CLAUDE.md +162 -162
- package/lib/assets/README.md +285 -269
- package/lib/assets/docker-compose.yml +33 -33
- package/lib/assets/docs/assets/css/extra.css +29 -29
- package/lib/assets/docs/assets/js/extra.js +44 -44
- package/lib/assets/docs/index.md +14 -14
- 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
- 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
- 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
- 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
- package/lib/assets/docs/reference/UI/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +448 -448
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/lib/assets/docs/reference//351/226/213/347/231/272/343/202/254/343/202/244/343/203/211.md +235 -235
- 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
- package/lib/assets/docs/template/ADR.md +30 -30
- package/lib/assets/docs/template/README.md +50 -50
- 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
- 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
- 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
- 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
- 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
- package/lib/assets/docs/template//350/246/201/344/273/266/345/256/232/347/276/251.md +669 -669
- package/lib/assets/docs/template//350/250/255/350/250/210.md +163 -163
- package/lib/assets/gulpfile.js +23 -23
- package/lib/assets/mkdocs.yml +65 -65
- package/lib/assets/ops/docker/mkdoc/Dockerfile +19 -19
- package/lib/assets/ops/scripts/journal.js +180 -180
- package/lib/assets/ops/scripts/mkdocs.js +82 -82
- package/lib/assets/ops/scripts/release.js +431 -431
- package/lib/assets/ops/scripts/ssh.js +190 -190
- package/lib/assets/ops/scripts/vault.js +299 -299
- package/lib/assets/package-lock.json +1653 -1653
- package/lib/assets/package.json +40 -40
- package/lib/gulpfile.js +37 -37
- package/package.json +41 -41
|
@@ -1,87 +1,87 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: analyzing-usecases
|
|
3
|
-
description: ユースケースとユーザーストーリーの作成を支援。ビジネスユースケースの抽出からシステムユースケースの定義まで。ユースケース分析やストーリー作成時に使用。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# ユースケース・ユーザーストーリー作成支援
|
|
7
|
-
|
|
8
|
-
要件定義からユースケースを抽出し、トレーサビリティを維持します。
|
|
9
|
-
|
|
10
|
-
## Instructions
|
|
11
|
-
|
|
12
|
-
### 1. 参照ドキュメント
|
|
13
|
-
|
|
14
|
-
- @docs/reference/ユースケース作成ガイド.md - ユースケース作成の進め方
|
|
15
|
-
|
|
16
|
-
### 2. テンプレート
|
|
17
|
-
|
|
18
|
-
- @docs/template/完全形式のユースケース.md - ユースケーステンプレート(**編集禁止**)
|
|
19
|
-
|
|
20
|
-
### 3. 入力
|
|
21
|
-
|
|
22
|
-
- @docs/requirements/requirements_definition.md - 要件定義
|
|
23
|
-
|
|
24
|
-
### 4. 成果物
|
|
25
|
-
|
|
26
|
-
- @docs/requirements/business_usecase.md - ビジネスユースケース
|
|
27
|
-
- @docs/requirements/system_usecase.md - システムユースケース
|
|
28
|
-
- @docs/requirements/user_story.md - ユーザーストーリー
|
|
29
|
-
|
|
30
|
-
### 5. 作業内容
|
|
31
|
-
|
|
32
|
-
#### ビジネスユースケース作成
|
|
33
|
-
|
|
34
|
-
- 要件定義からビジネスユースケースを抽出
|
|
35
|
-
- アクターとユースケースの関係を定義
|
|
36
|
-
|
|
37
|
-
#### システムユースケース作成
|
|
38
|
-
|
|
39
|
-
- ビジネスユースケースを詳細化
|
|
40
|
-
- システム境界を明確化
|
|
41
|
-
|
|
42
|
-
#### ユーザーストーリー作成
|
|
43
|
-
|
|
44
|
-
- システムユースケースからユーザーストーリーを導出
|
|
45
|
-
- 受け入れ基準の定義
|
|
46
|
-
|
|
47
|
-
#### トレーサビリティ維持
|
|
48
|
-
|
|
49
|
-
- ユースケースとユーザーストーリー間のトレーサビリティを確保
|
|
50
|
-
|
|
51
|
-
### 6. 注意事項
|
|
52
|
-
|
|
53
|
-
- **前提条件**: @docs/requirements/requirements_definition.md が存在すること
|
|
54
|
-
- **制限事項**:
|
|
55
|
-
- テンプレート @docs/template/完全形式のユースケース.md は絶対に編集しないこと
|
|
56
|
-
- user_story.md にはユーザーストーリーのみ記述する
|
|
57
|
-
- リリース計画とイテレーション計画は別途作成する
|
|
58
|
-
- **推奨事項**: ユースケースとユーザーストーリーでトレーサビリティを維持する
|
|
59
|
-
|
|
60
|
-
### 7. 記述ルール
|
|
61
|
-
|
|
62
|
-
タスク項目などは一行開けて記述する。
|
|
63
|
-
|
|
64
|
-
OK:
|
|
65
|
-
|
|
66
|
-
```markdown
|
|
67
|
-
**受入条件**:
|
|
68
|
-
|
|
69
|
-
- [ ] ビジネスユースケースが作成されている
|
|
70
|
-
- [ ] ユーザーストーリーが作成されている
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
NG:
|
|
74
|
-
|
|
75
|
-
```markdown
|
|
76
|
-
**受入条件**:
|
|
77
|
-
- [ ] ビジネスユースケースが作成されている
|
|
78
|
-
- [ ] ユーザーストーリーが作成されている
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
## Examples
|
|
82
|
-
|
|
83
|
-
### 要件定義に基づくユースケース作成
|
|
84
|
-
|
|
85
|
-
1. @docs/requirements/requirements_definition.md を読み込む
|
|
86
|
-
2. @docs/reference/ユースケース作成ガイド.md に基づいてユースケースを作成
|
|
87
|
-
3. ビジネスユースケース → システムユースケース → ユーザーストーリーの順に作成
|
|
1
|
+
---
|
|
2
|
+
name: analyzing-usecases
|
|
3
|
+
description: ユースケースとユーザーストーリーの作成を支援。ビジネスユースケースの抽出からシステムユースケースの定義まで。ユースケース分析やストーリー作成時に使用。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# ユースケース・ユーザーストーリー作成支援
|
|
7
|
+
|
|
8
|
+
要件定義からユースケースを抽出し、トレーサビリティを維持します。
|
|
9
|
+
|
|
10
|
+
## Instructions
|
|
11
|
+
|
|
12
|
+
### 1. 参照ドキュメント
|
|
13
|
+
|
|
14
|
+
- @docs/reference/ユースケース作成ガイド.md - ユースケース作成の進め方
|
|
15
|
+
|
|
16
|
+
### 2. テンプレート
|
|
17
|
+
|
|
18
|
+
- @docs/template/完全形式のユースケース.md - ユースケーステンプレート(**編集禁止**)
|
|
19
|
+
|
|
20
|
+
### 3. 入力
|
|
21
|
+
|
|
22
|
+
- @docs/requirements/requirements_definition.md - 要件定義
|
|
23
|
+
|
|
24
|
+
### 4. 成果物
|
|
25
|
+
|
|
26
|
+
- @docs/requirements/business_usecase.md - ビジネスユースケース
|
|
27
|
+
- @docs/requirements/system_usecase.md - システムユースケース
|
|
28
|
+
- @docs/requirements/user_story.md - ユーザーストーリー
|
|
29
|
+
|
|
30
|
+
### 5. 作業内容
|
|
31
|
+
|
|
32
|
+
#### ビジネスユースケース作成
|
|
33
|
+
|
|
34
|
+
- 要件定義からビジネスユースケースを抽出
|
|
35
|
+
- アクターとユースケースの関係を定義
|
|
36
|
+
|
|
37
|
+
#### システムユースケース作成
|
|
38
|
+
|
|
39
|
+
- ビジネスユースケースを詳細化
|
|
40
|
+
- システム境界を明確化
|
|
41
|
+
|
|
42
|
+
#### ユーザーストーリー作成
|
|
43
|
+
|
|
44
|
+
- システムユースケースからユーザーストーリーを導出
|
|
45
|
+
- 受け入れ基準の定義
|
|
46
|
+
|
|
47
|
+
#### トレーサビリティ維持
|
|
48
|
+
|
|
49
|
+
- ユースケースとユーザーストーリー間のトレーサビリティを確保
|
|
50
|
+
|
|
51
|
+
### 6. 注意事項
|
|
52
|
+
|
|
53
|
+
- **前提条件**: @docs/requirements/requirements_definition.md が存在すること
|
|
54
|
+
- **制限事項**:
|
|
55
|
+
- テンプレート @docs/template/完全形式のユースケース.md は絶対に編集しないこと
|
|
56
|
+
- user_story.md にはユーザーストーリーのみ記述する
|
|
57
|
+
- リリース計画とイテレーション計画は別途作成する
|
|
58
|
+
- **推奨事項**: ユースケースとユーザーストーリーでトレーサビリティを維持する
|
|
59
|
+
|
|
60
|
+
### 7. 記述ルール
|
|
61
|
+
|
|
62
|
+
タスク項目などは一行開けて記述する。
|
|
63
|
+
|
|
64
|
+
OK:
|
|
65
|
+
|
|
66
|
+
```markdown
|
|
67
|
+
**受入条件**:
|
|
68
|
+
|
|
69
|
+
- [ ] ビジネスユースケースが作成されている
|
|
70
|
+
- [ ] ユーザーストーリーが作成されている
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
NG:
|
|
74
|
+
|
|
75
|
+
```markdown
|
|
76
|
+
**受入条件**:
|
|
77
|
+
- [ ] ビジネスユースケースが作成されている
|
|
78
|
+
- [ ] ユーザーストーリーが作成されている
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Examples
|
|
82
|
+
|
|
83
|
+
### 要件定義に基づくユースケース作成
|
|
84
|
+
|
|
85
|
+
1. @docs/requirements/requirements_definition.md を読み込む
|
|
86
|
+
2. @docs/reference/ユースケース作成ガイド.md に基づいてユースケースを作成
|
|
87
|
+
3. ビジネスユースケース → システムユースケース → ユーザーストーリーの順に作成
|
|
@@ -1,115 +1,115 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: creating-adr
|
|
3
|
-
description: Architecture Decision Record の作成を支援。技術的意思決定の記録フォーマットとベストプラクティス。アーキテクチャ上の意思決定を記録する際に使用。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# ADR (Architecture Decision Record) 作成支援
|
|
7
|
-
|
|
8
|
-
アーキテクチャ決定記録(ADR)の作成・管理を支援します。
|
|
9
|
-
|
|
10
|
-
## Instructions
|
|
11
|
-
|
|
12
|
-
### 1. ADR ファイル構造
|
|
13
|
-
|
|
14
|
-
ADR は `docs/adr/` ディレクトリに以下の命名規則で保存:
|
|
15
|
-
|
|
16
|
-
```
|
|
17
|
-
docs/adr/
|
|
18
|
-
├── 001-backend-architecture-pattern.md
|
|
19
|
-
├── 002-backend-framework.md
|
|
20
|
-
├── 003-frontend-framework.md
|
|
21
|
-
└── 004-database.md
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
### 2. ADR テンプレート
|
|
25
|
-
|
|
26
|
-
```markdown
|
|
27
|
-
# ADR-NNN: タイトル
|
|
28
|
-
|
|
29
|
-
簡潔な説明(1行で決定内容を要約)。
|
|
30
|
-
|
|
31
|
-
日付: YYYY-MM-DD
|
|
32
|
-
|
|
33
|
-
## ステータス
|
|
34
|
-
|
|
35
|
-
提案中 | 承認済み | 廃止 | 置換(ADR-XXX で置換)
|
|
36
|
-
|
|
37
|
-
## コンテキスト
|
|
38
|
-
|
|
39
|
-
この決定が必要になった背景・状況を説明。
|
|
40
|
-
|
|
41
|
-
- 現在の課題や制約
|
|
42
|
-
- 関連するシステムやサービス
|
|
43
|
-
- ビジネス要件
|
|
44
|
-
|
|
45
|
-
## 決定
|
|
46
|
-
|
|
47
|
-
**何を決定したか** を明確に記述。
|
|
48
|
-
|
|
49
|
-
### 変更箇所
|
|
50
|
-
|
|
51
|
-
具体的な実装変更がある場合は記載。
|
|
52
|
-
|
|
53
|
-
### 代替案
|
|
54
|
-
|
|
55
|
-
検討した代替案とその却下理由。
|
|
56
|
-
|
|
57
|
-
## 影響
|
|
58
|
-
|
|
59
|
-
### ポジティブ
|
|
60
|
-
|
|
61
|
-
- 良い影響
|
|
62
|
-
|
|
63
|
-
### ネガティブ
|
|
64
|
-
|
|
65
|
-
- 悪い影響や注意点
|
|
66
|
-
|
|
67
|
-
## コンプライアンス
|
|
68
|
-
|
|
69
|
-
決定が正しく実装されていることを確認する方法。
|
|
70
|
-
|
|
71
|
-
## 備考
|
|
72
|
-
|
|
73
|
-
- 著者: 担当者名
|
|
74
|
-
- 関連コミット: コミットハッシュ
|
|
75
|
-
- 関連 ADR: ADR-XXX
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
### 3. ステータスの種類
|
|
79
|
-
|
|
80
|
-
| ステータス | 説明 |
|
|
81
|
-
|-----------|------|
|
|
82
|
-
| 提案中 | レビュー待ちの ADR |
|
|
83
|
-
| 承認済み | 採用された決定 |
|
|
84
|
-
| 廃止 | 無効になった決定 |
|
|
85
|
-
| 置換 | 別の ADR で置き換えられた |
|
|
86
|
-
|
|
87
|
-
### 4. 注意事項
|
|
88
|
-
|
|
89
|
-
- **採番規則**: ADR 番号は 001 から連番で管理。既存の最大番号 + 1 で採番
|
|
90
|
-
- **ファイル名**: `NNN-kebab-case-title.md` 形式(例: `006-cache-strategy.md`)
|
|
91
|
-
- **配置場所**: 必ず `docs/adr/` ディレクトリに配置
|
|
92
|
-
- **ドキュメント更新**: 新規 ADR 作成時は `docs/index.md` と `mkdocs.yml` も更新が必要
|
|
93
|
-
- **コミット禁止**: ユーザーの指示があるまでコミットしない
|
|
94
|
-
|
|
95
|
-
### 5. ベストプラクティス
|
|
96
|
-
|
|
97
|
-
1. **簡潔な要約**: タイトル直下に 1 行で決定内容を要約する
|
|
98
|
-
2. **コンテキストの明確化**: なぜこの決定が必要なのか背景を説明
|
|
99
|
-
3. **代替案の記録**: 検討した選択肢と却下理由を残す
|
|
100
|
-
4. **影響の両面記載**: ポジティブ・ネガティブ両方の影響を記載
|
|
101
|
-
5. **コンプライアンス項目**: 決定が守られていることを確認する方法を記載
|
|
102
|
-
|
|
103
|
-
## Examples
|
|
104
|
-
|
|
105
|
-
### 新しい ADR の作成
|
|
106
|
-
|
|
107
|
-
1. `docs/adr/` ディレクトリ内の既存 ADR の最大番号を確認
|
|
108
|
-
2. 次の連番でテンプレートに基づいて ADR を作成
|
|
109
|
-
3. `docs/index.md` と `mkdocs.yml` を更新
|
|
110
|
-
|
|
111
|
-
### 既存設計からの ADR 抽出
|
|
112
|
-
|
|
113
|
-
1. アーキテクチャ設計ドキュメントを読み込む
|
|
114
|
-
2. 主要な技術的意思決定を識別
|
|
115
|
-
3. 各決定を ADR として記録
|
|
1
|
+
---
|
|
2
|
+
name: creating-adr
|
|
3
|
+
description: Architecture Decision Record の作成を支援。技術的意思決定の記録フォーマットとベストプラクティス。アーキテクチャ上の意思決定を記録する際に使用。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# ADR (Architecture Decision Record) 作成支援
|
|
7
|
+
|
|
8
|
+
アーキテクチャ決定記録(ADR)の作成・管理を支援します。
|
|
9
|
+
|
|
10
|
+
## Instructions
|
|
11
|
+
|
|
12
|
+
### 1. ADR ファイル構造
|
|
13
|
+
|
|
14
|
+
ADR は `docs/adr/` ディレクトリに以下の命名規則で保存:
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
docs/adr/
|
|
18
|
+
├── 001-backend-architecture-pattern.md
|
|
19
|
+
├── 002-backend-framework.md
|
|
20
|
+
├── 003-frontend-framework.md
|
|
21
|
+
└── 004-database.md
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### 2. ADR テンプレート
|
|
25
|
+
|
|
26
|
+
```markdown
|
|
27
|
+
# ADR-NNN: タイトル
|
|
28
|
+
|
|
29
|
+
簡潔な説明(1行で決定内容を要約)。
|
|
30
|
+
|
|
31
|
+
日付: YYYY-MM-DD
|
|
32
|
+
|
|
33
|
+
## ステータス
|
|
34
|
+
|
|
35
|
+
提案中 | 承認済み | 廃止 | 置換(ADR-XXX で置換)
|
|
36
|
+
|
|
37
|
+
## コンテキスト
|
|
38
|
+
|
|
39
|
+
この決定が必要になった背景・状況を説明。
|
|
40
|
+
|
|
41
|
+
- 現在の課題や制約
|
|
42
|
+
- 関連するシステムやサービス
|
|
43
|
+
- ビジネス要件
|
|
44
|
+
|
|
45
|
+
## 決定
|
|
46
|
+
|
|
47
|
+
**何を決定したか** を明確に記述。
|
|
48
|
+
|
|
49
|
+
### 変更箇所
|
|
50
|
+
|
|
51
|
+
具体的な実装変更がある場合は記載。
|
|
52
|
+
|
|
53
|
+
### 代替案
|
|
54
|
+
|
|
55
|
+
検討した代替案とその却下理由。
|
|
56
|
+
|
|
57
|
+
## 影響
|
|
58
|
+
|
|
59
|
+
### ポジティブ
|
|
60
|
+
|
|
61
|
+
- 良い影響
|
|
62
|
+
|
|
63
|
+
### ネガティブ
|
|
64
|
+
|
|
65
|
+
- 悪い影響や注意点
|
|
66
|
+
|
|
67
|
+
## コンプライアンス
|
|
68
|
+
|
|
69
|
+
決定が正しく実装されていることを確認する方法。
|
|
70
|
+
|
|
71
|
+
## 備考
|
|
72
|
+
|
|
73
|
+
- 著者: 担当者名
|
|
74
|
+
- 関連コミット: コミットハッシュ
|
|
75
|
+
- 関連 ADR: ADR-XXX
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### 3. ステータスの種類
|
|
79
|
+
|
|
80
|
+
| ステータス | 説明 |
|
|
81
|
+
|-----------|------|
|
|
82
|
+
| 提案中 | レビュー待ちの ADR |
|
|
83
|
+
| 承認済み | 採用された決定 |
|
|
84
|
+
| 廃止 | 無効になった決定 |
|
|
85
|
+
| 置換 | 別の ADR で置き換えられた |
|
|
86
|
+
|
|
87
|
+
### 4. 注意事項
|
|
88
|
+
|
|
89
|
+
- **採番規則**: ADR 番号は 001 から連番で管理。既存の最大番号 + 1 で採番
|
|
90
|
+
- **ファイル名**: `NNN-kebab-case-title.md` 形式(例: `006-cache-strategy.md`)
|
|
91
|
+
- **配置場所**: 必ず `docs/adr/` ディレクトリに配置
|
|
92
|
+
- **ドキュメント更新**: 新規 ADR 作成時は `docs/index.md` と `mkdocs.yml` も更新が必要
|
|
93
|
+
- **コミット禁止**: ユーザーの指示があるまでコミットしない
|
|
94
|
+
|
|
95
|
+
### 5. ベストプラクティス
|
|
96
|
+
|
|
97
|
+
1. **簡潔な要約**: タイトル直下に 1 行で決定内容を要約する
|
|
98
|
+
2. **コンテキストの明確化**: なぜこの決定が必要なのか背景を説明
|
|
99
|
+
3. **代替案の記録**: 検討した選択肢と却下理由を残す
|
|
100
|
+
4. **影響の両面記載**: ポジティブ・ネガティブ両方の影響を記載
|
|
101
|
+
5. **コンプライアンス項目**: 決定が守られていることを確認する方法を記載
|
|
102
|
+
|
|
103
|
+
## Examples
|
|
104
|
+
|
|
105
|
+
### 新しい ADR の作成
|
|
106
|
+
|
|
107
|
+
1. `docs/adr/` ディレクトリ内の既存 ADR の最大番号を確認
|
|
108
|
+
2. 次の連番でテンプレートに基づいて ADR を作成
|
|
109
|
+
3. `docs/index.md` と `mkdocs.yml` を更新
|
|
110
|
+
|
|
111
|
+
### 既存設計からの ADR 抽出
|
|
112
|
+
|
|
113
|
+
1. アーキテクチャ設計ドキュメントを読み込む
|
|
114
|
+
2. 主要な技術的意思決定を識別
|
|
115
|
+
3. 各決定を ADR として記録
|
|
@@ -1,106 +1,106 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: developing-backend
|
|
3
|
-
description: バックエンド開発の TDD ワークフロー。Red-Green-Refactor サイクル、インサイドアウトアプローチ、品質チェックリスト。Java/Spring Boot のバックエンド実装時に使用。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# バックエンド開発ガイド
|
|
7
|
-
|
|
8
|
-
TDD サイクルに従ったバックエンド開発を支援します。
|
|
9
|
-
|
|
10
|
-
## Instructions
|
|
11
|
-
|
|
12
|
-
### 1. 参照ドキュメント
|
|
13
|
-
|
|
14
|
-
- @docs/reference/コーディングとテストガイド.md - ワークフロー
|
|
15
|
-
- @docs/design/architecture_backend.md - バックエンドアーキテクチャ
|
|
16
|
-
- @docs/design/data-model.md - データモデル
|
|
17
|
-
- @docs/design/domain-model.md - ドメインモデル
|
|
18
|
-
- @docs/design/tech_stack.md - 技術スタック
|
|
19
|
-
- @docs/design/test_strategy.md - テスト戦略
|
|
20
|
-
|
|
21
|
-
### 2. TDD サイクルの実践
|
|
22
|
-
|
|
23
|
-
Red-Green-Refactor サイクルを厳密に実行:
|
|
24
|
-
|
|
25
|
-
1. **Red フェーズ**: 失敗するテストを最初に書く
|
|
26
|
-
2. **Green フェーズ**: テストを通す最小限のコードを実装
|
|
27
|
-
3. **Refactor フェーズ**: 重複を除去し設計を改善
|
|
28
|
-
|
|
29
|
-
### 3. アプローチ戦略の選択
|
|
30
|
-
|
|
31
|
-
- **インサイドアウト**: データ層から開始し上位層へ展開(推奨)
|
|
32
|
-
- **アウトサイドイン**: API から開始しドメインロジックを段階的に実装
|
|
33
|
-
|
|
34
|
-
### 4. テストコマンド
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
# 全テスト実行
|
|
38
|
-
cd apps/backend && ./gradlew test
|
|
39
|
-
|
|
40
|
-
# 特定テストクラス実行
|
|
41
|
-
cd apps/backend && ./gradlew test --tests "UserServiceTest"
|
|
42
|
-
|
|
43
|
-
# テストカバレッジ確認
|
|
44
|
-
cd apps/backend && ./gradlew jacocoTestReport
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
### 5. API ドキュメント
|
|
48
|
-
|
|
49
|
-
バックエンドには Swagger UI が組み込まれています。
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
# バックエンドを起動
|
|
53
|
-
cd apps/backend && ./gradlew bootRun
|
|
54
|
-
|
|
55
|
-
# Swagger UI: http://localhost:8080/swagger-ui.html
|
|
56
|
-
# OpenAPI JSON: http://localhost:8080/v3/api-docs
|
|
57
|
-
# OpenAPI YAML: http://localhost:8080/api-docs.yaml
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### 6. 品質チェックリスト
|
|
61
|
-
|
|
62
|
-
- [ ] すべてのテストがパス
|
|
63
|
-
- [ ] ESLint/コンパイラの警告がゼロ
|
|
64
|
-
- [ ] テストカバレッジが目標を満たしている
|
|
65
|
-
- [ ] 単一の論理的作業単位を表現
|
|
66
|
-
- [ ] コミットメッセージが変更内容を明確に説明
|
|
67
|
-
|
|
68
|
-
### 7. コンテキスト管理
|
|
69
|
-
|
|
70
|
-
長時間の開発セッションでは Context limit reached エラーを回避するため、タスクの区切りごとに `/compact` を実施してコンテキストを圧縮する。
|
|
71
|
-
|
|
72
|
-
**`/compact` を実施するタイミング**:
|
|
73
|
-
|
|
74
|
-
- TDD サイクル(Red-Green-Refactor)を数回繰り返した後
|
|
75
|
-
- ユーザーストーリー 1 件の実装が完了したとき
|
|
76
|
-
- コミット完了後、次のタスクに着手する前
|
|
77
|
-
- テストスイートの実行と結果確認が完了したとき
|
|
78
|
-
|
|
79
|
-
**運用ルール**:
|
|
80
|
-
|
|
81
|
-
1. `/compact` 実施前に、現在の作業状態と次のタスクをメモとして出力する
|
|
82
|
-
2. `/compact` 実施後、次のタスクの作業を継続する
|
|
83
|
-
3. 大規模なユーザーストーリーでは、サブタスクごとに `/compact` を検討する
|
|
84
|
-
|
|
85
|
-
### 8. 注意事項
|
|
86
|
-
|
|
87
|
-
- **前提条件**: Java/Gradle のテスト環境が設定済みであること
|
|
88
|
-
- **制限事項**: TDD の三原則を厳密に守る(テストなしでプロダクションコードを書かない)
|
|
89
|
-
- **推奨事項**: コミット前に必ず品質チェックリストを実行
|
|
90
|
-
- 作業完了後に対象のイテレーション @docs/development/iteration_plan-N.md の進捗を更新する
|
|
91
|
-
|
|
92
|
-
## Examples
|
|
93
|
-
|
|
94
|
-
### 新機能の TDD 実装
|
|
95
|
-
|
|
96
|
-
1. 失敗するテストを書く(Red)
|
|
97
|
-
2. テストを通す最小限のコードを実装(Green)
|
|
98
|
-
3. 重複を排除し設計を改善(Refactor)
|
|
99
|
-
4. 品質チェックリストを実行してコミット
|
|
100
|
-
|
|
101
|
-
### ベストプラクティス
|
|
102
|
-
|
|
103
|
-
1. **TODO 駆動開発**: タスクを細かい TODO に分割してから実装開始
|
|
104
|
-
2. **小さなサイクル**: Red-Green-Refactor を 10-15 分で完了させる
|
|
105
|
-
3. **継続的コミット**: 各サイクル完了時に動作する状態でコミット
|
|
106
|
-
4. **Rule of Three**: 同じコードが 3 回現れたらリファクタリング
|
|
1
|
+
---
|
|
2
|
+
name: developing-backend
|
|
3
|
+
description: バックエンド開発の TDD ワークフロー。Red-Green-Refactor サイクル、インサイドアウトアプローチ、品質チェックリスト。Java/Spring Boot のバックエンド実装時に使用。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# バックエンド開発ガイド
|
|
7
|
+
|
|
8
|
+
TDD サイクルに従ったバックエンド開発を支援します。
|
|
9
|
+
|
|
10
|
+
## Instructions
|
|
11
|
+
|
|
12
|
+
### 1. 参照ドキュメント
|
|
13
|
+
|
|
14
|
+
- @docs/reference/コーディングとテストガイド.md - ワークフロー
|
|
15
|
+
- @docs/design/architecture_backend.md - バックエンドアーキテクチャ
|
|
16
|
+
- @docs/design/data-model.md - データモデル
|
|
17
|
+
- @docs/design/domain-model.md - ドメインモデル
|
|
18
|
+
- @docs/design/tech_stack.md - 技術スタック
|
|
19
|
+
- @docs/design/test_strategy.md - テスト戦略
|
|
20
|
+
|
|
21
|
+
### 2. TDD サイクルの実践
|
|
22
|
+
|
|
23
|
+
Red-Green-Refactor サイクルを厳密に実行:
|
|
24
|
+
|
|
25
|
+
1. **Red フェーズ**: 失敗するテストを最初に書く
|
|
26
|
+
2. **Green フェーズ**: テストを通す最小限のコードを実装
|
|
27
|
+
3. **Refactor フェーズ**: 重複を除去し設計を改善
|
|
28
|
+
|
|
29
|
+
### 3. アプローチ戦略の選択
|
|
30
|
+
|
|
31
|
+
- **インサイドアウト**: データ層から開始し上位層へ展開(推奨)
|
|
32
|
+
- **アウトサイドイン**: API から開始しドメインロジックを段階的に実装
|
|
33
|
+
|
|
34
|
+
### 4. テストコマンド
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
# 全テスト実行
|
|
38
|
+
cd apps/backend && ./gradlew test
|
|
39
|
+
|
|
40
|
+
# 特定テストクラス実行
|
|
41
|
+
cd apps/backend && ./gradlew test --tests "UserServiceTest"
|
|
42
|
+
|
|
43
|
+
# テストカバレッジ確認
|
|
44
|
+
cd apps/backend && ./gradlew jacocoTestReport
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### 5. API ドキュメント
|
|
48
|
+
|
|
49
|
+
バックエンドには Swagger UI が組み込まれています。
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# バックエンドを起動
|
|
53
|
+
cd apps/backend && ./gradlew bootRun
|
|
54
|
+
|
|
55
|
+
# Swagger UI: http://localhost:8080/swagger-ui.html
|
|
56
|
+
# OpenAPI JSON: http://localhost:8080/v3/api-docs
|
|
57
|
+
# OpenAPI YAML: http://localhost:8080/api-docs.yaml
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### 6. 品質チェックリスト
|
|
61
|
+
|
|
62
|
+
- [ ] すべてのテストがパス
|
|
63
|
+
- [ ] ESLint/コンパイラの警告がゼロ
|
|
64
|
+
- [ ] テストカバレッジが目標を満たしている
|
|
65
|
+
- [ ] 単一の論理的作業単位を表現
|
|
66
|
+
- [ ] コミットメッセージが変更内容を明確に説明
|
|
67
|
+
|
|
68
|
+
### 7. コンテキスト管理
|
|
69
|
+
|
|
70
|
+
長時間の開発セッションでは Context limit reached エラーを回避するため、タスクの区切りごとに `/compact` を実施してコンテキストを圧縮する。
|
|
71
|
+
|
|
72
|
+
**`/compact` を実施するタイミング**:
|
|
73
|
+
|
|
74
|
+
- TDD サイクル(Red-Green-Refactor)を数回繰り返した後
|
|
75
|
+
- ユーザーストーリー 1 件の実装が完了したとき
|
|
76
|
+
- コミット完了後、次のタスクに着手する前
|
|
77
|
+
- テストスイートの実行と結果確認が完了したとき
|
|
78
|
+
|
|
79
|
+
**運用ルール**:
|
|
80
|
+
|
|
81
|
+
1. `/compact` 実施前に、現在の作業状態と次のタスクをメモとして出力する
|
|
82
|
+
2. `/compact` 実施後、次のタスクの作業を継続する
|
|
83
|
+
3. 大規模なユーザーストーリーでは、サブタスクごとに `/compact` を検討する
|
|
84
|
+
|
|
85
|
+
### 8. 注意事項
|
|
86
|
+
|
|
87
|
+
- **前提条件**: Java/Gradle のテスト環境が設定済みであること
|
|
88
|
+
- **制限事項**: TDD の三原則を厳密に守る(テストなしでプロダクションコードを書かない)
|
|
89
|
+
- **推奨事項**: コミット前に必ず品質チェックリストを実行
|
|
90
|
+
- 作業完了後に対象のイテレーション @docs/development/iteration_plan-N.md の進捗を更新する
|
|
91
|
+
|
|
92
|
+
## Examples
|
|
93
|
+
|
|
94
|
+
### 新機能の TDD 実装
|
|
95
|
+
|
|
96
|
+
1. 失敗するテストを書く(Red)
|
|
97
|
+
2. テストを通す最小限のコードを実装(Green)
|
|
98
|
+
3. 重複を排除し設計を改善(Refactor)
|
|
99
|
+
4. 品質チェックリストを実行してコミット
|
|
100
|
+
|
|
101
|
+
### ベストプラクティス
|
|
102
|
+
|
|
103
|
+
1. **TODO 駆動開発**: タスクを細かい TODO に分割してから実装開始
|
|
104
|
+
2. **小さなサイクル**: Red-Green-Refactor を 10-15 分で完了させる
|
|
105
|
+
3. **継続的コミット**: 各サイクル完了時に動作する状態でコミット
|
|
106
|
+
4. **Rule of Three**: 同じコードが 3 回現れたらリファクタリング
|