@k2works/claude-code-booster 4.4.1 → 4.5.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 +2 -2
- package/lib/assets/.claude/agents/xp-architect.md +250 -250
- package/lib/assets/.claude/agents/xp-executive.md +207 -207
- package/lib/assets/.claude/agents/xp-interaction-designer.md +239 -239
- package/lib/assets/.claude/agents/xp-product-manager.md +245 -245
- package/lib/assets/.claude/agents/xp-programmer.md +268 -268
- package/lib/assets/.claude/agents/xp-project-manager.md +229 -229
- package/lib/assets/.claude/agents/xp-technical-writer.md +224 -224
- package/lib/assets/.claude/agents/xp-tester.md +265 -265
- package/lib/assets/.claude/agents/xp-user-representative.md +204 -204
- package/lib/assets/.claude/skills/analyzing-business-case/SKILL.md +148 -148
- package/lib/assets/.claude/skills/analyzing-business-strategy/SKILL.md +277 -277
- package/lib/assets/.claude/skills/analyzing-review/SKILL.md +174 -174
- package/lib/assets/.claude/skills/creating-iteration-report/SKILL.md +210 -210
- package/lib/assets/.claude/skills/creating-release-report/SKILL.md +161 -161
- package/lib/assets/.claude/skills/developing-review/SKILL.md +175 -175
- package/lib/assets/.claude/skills/developing-uiux-review/SKILL.md +207 -207
- package/lib/assets/.claude/skills/generating-bmc/SKILL.md +123 -123
- package/lib/assets/.claude/skills/operating-qt/SKILL.md +147 -147
- package/lib/assets/.claude/skills/operating-review/SKILL.md +171 -171
- package/lib/assets/.claude/skills/operating-script/SKILL.md +145 -145
- package/lib/assets/.claude/skills/orchestrating-development/SKILL.md +168 -168
- package/lib/assets/.claude/skills/practicing-getting-start-tdd/SKILL.md +266 -266
- package/lib/assets/.claude/skills/validating-iteration-plan/SKILL.md +54 -54
- package/lib/assets/.devcontainer/devcontainer.json +1 -1
- package/lib/assets/.gitattributes +0 -2
- package/lib/assets/CLAUDE.md +193 -193
- package/lib/assets/Dockerfile +1 -6
- package/lib/assets/README.md +0 -16
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/01-immutability-and-data-transformation.md +1 -1
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/15-gossiping-bus-drivers.md +1 -1
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/20-pattern-interactions.md +1 -1
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/21-best-practices.md +6 -6
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/22-oo-to-fp-migration.md +3 -3
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/index.md +22 -22
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/01-immutability-and-data-transformation.md +1 -1
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/index.md +22 -22
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/01-immutability-and-data-transformation.md +1 -1
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/15-gossiping-bus-drivers.md +1 -1
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/17-video-rental-system.md +1 -1
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/19-wator-simulation.md +1 -1
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/21-best-practices.md +2 -2
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/22-oo-to-fp-migration.md +5 -5
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/index.md +22 -22
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/15-gossiping-bus-drivers.md +1 -1
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/20-pattern-interactions.md +1 -1
- package/lib/assets/docs/article/functional-desgin-ppp/rust/01-immutability-and-data-transformation.md +1 -1
- package/lib/assets/docs/article/functional-desgin-ppp/rust/index.md +22 -22
- package/lib/assets/docs/article/functional-desgin-ppp/scala/01-immutability-and-data-transformation.md +1 -1
- package/lib/assets/docs/article/functional-desgin-ppp/scala/15-gossiping-bus-drivers.md +1 -1
- package/lib/assets/docs/article/functional-desgin-ppp/scala/21-best-practices.md +3 -3
- package/lib/assets/docs/article/functional-desgin-ppp/scala/22-oo-to-fp-migration.md +3 -3
- package/lib/assets/docs/article/functional-desgin-ppp/scala/index.md +22 -22
- package/lib/assets/docs/article/getting-start-tdd/integration/04-type-system-comparison.md +2 -2
- package/lib/assets/docs/article/getting-start-tdd/integration/06-learning-roadmap.md +8 -8
- package/lib/assets/docs/article/getting-start-tdd/ruby/11-immutable-data-and-pipeline.md +2 -2
- package/lib/assets/docs/article/grokkingfp/all/part-2-ch03-immutable-data.md +3 -3
- package/lib/assets/docs/article/grokkingfp/all/part-3-ch06-option.md +4 -4
- package/lib/assets/docs/article/grokkingfp/all/writing-plan.md +8 -8
- package/lib/assets/docs/article/grokkingfp/elixir/part-1.md +1 -1
- package/lib/assets/docs/article/grokkingfp/elixir/part-5.md +1 -1
- package/lib/assets/docs/article/grokkingfp/elixir/part-6.md +1 -1
- package/lib/assets/docs/article/grokkingfp/fsharp/part-6.md +1 -1
- package/lib/assets/docs/article/grokkingfp/haskell/part-4.md +1 -1
- package/lib/assets/docs/article/grokkingfp/haskell/part-6.md +1 -1
- package/lib/assets/docs/article/grokkingfp/java/part-1.md +1 -1
- package/lib/assets/docs/article/grokkingfp/java/part-2.md +4 -4
- package/lib/assets/docs/article/grokkingfp/java/part-6.md +2 -2
- package/lib/assets/docs/article/grokkingfp/python/part-1.md +3 -3
- package/lib/assets/docs/article/grokkingfp/ruby/part-1.md +1 -1
- package/lib/assets/docs/article/grokkingfp/ruby/part-6.md +1 -1
- package/lib/assets/docs/article/grokkingfp/rust/part-4.md +1 -1
- package/lib/assets/docs/article/grokkingfp/scala/part-1.md +1 -1
- package/lib/assets/docs/article/grokkingfp/scala/part-3.md +1 -1
- package/lib/assets/docs/article/grokkingfp/scala/part-6.md +1 -1
- package/lib/assets/docs/article/grokkingfp/typescript/part-1.md +1 -1
- package/lib/assets/docs/article/grokkingfp/typescript/part-4.md +1 -1
- package/lib/assets/docs/article/grokkingfp/typescript/part-6.md +1 -1
- package/lib/assets/docs/article/index.md +39 -39
- package/lib/assets/docs/design/index.md +44 -44
- package/lib/assets/docs/index.md +33 -33
- package/lib/assets/docs/operation/index.md +16 -16
- 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 +546 -546
- package/lib/assets/docs/reference/SonarQube/343/203/255/343/203/274/343/202/253/343/203/253/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 +1 -1
- package/lib/assets/docs/reference/UI/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +1 -1
- package/lib/assets/docs/reference/Vim/346/223/215/344/275/234/343/203/236/343/203/213/343/203/245/343/202/242/343/203/253.md +13 -0
- package/lib/assets/docs/reference/images/BMC.drawio.svg +3 -3
- package/lib/assets/docs/reference//347/265/214/345/226/266/346/210/246/347/225/245/345/210/206/346/236/220/343/202/254/343/202/244/343/203/211.md +566 -566
- package/lib/assets/docs/requirements/index.md +17 -17
- package/lib/assets/docs/strategy/index.md +17 -17
- 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 +327 -327
- package/lib/assets/docs/template//343/203/252/343/203/252/343/203/274/343/202/271/345/256/214/344/272/206/345/240/261/345/221/212/346/233/270.md +275 -275
- package/lib/assets/docs/template//344/272/213/344/276/213/345/210/206/346/236/220.md +513 -513
- package/lib/assets/ops/docker/sonarqube-local/docker-compose.yml +57 -57
- package/lib/assets/ops/nix/shells/.tmux.conf +2 -2
- package/lib/assets/ops/nix/shells/.vimrc +15 -2
- package/lib/assets/ops/nix/shells/shell.nix +1 -0
- package/package.json +1 -1
- package/lib/assets/.envrc +0 -1
|
@@ -1,123 +1,123 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: generating-bmc
|
|
3
|
-
description: ビジネスモデルキャンバス(BMC)の SVG 図を生成。テンプレート SVG を基に、ビジネスアーキテクチャ分析書のビジネスモデルキャンバスデータを反映した SVG ファイルを出力する。「BMC を生成したい」「ビジネスモデルキャンバスの図を作りたい」「BMC の SVG を更新したい」「ビジネスモデルキャンバスを可視化したい」といった場面で発動する。ビジネスアーキテクチャ分析が完了した後、またはビジネスモデルキャンバスの内容が更新された場合にも積極的に使用すること。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# ビジネスモデルキャンバス SVG 生成
|
|
7
|
-
|
|
8
|
-
ビジネスアーキテクチャ分析書(`business_architecture.md`)のビジネスモデルキャンバスセクションから、テンプレート SVG の構造を参考にした BMC の SVG 図を生成する。
|
|
9
|
-
|
|
10
|
-
## 参照ドキュメントと成果物
|
|
11
|
-
|
|
12
|
-
| 種類 | パス | 備考 |
|
|
13
|
-
|------|------|------|
|
|
14
|
-
| テンプレート | `docs/reference/images/BMC.drawio.svg` | BMC レイアウトのリファレンス(英語版、drawio 形式) |
|
|
15
|
-
| 入力(実プロジェクト) | `docs/strategy/business_architecture.md` | `analyzing-business-architecture` の成果物 |
|
|
16
|
-
| 入力(企業事例分析) | `docs/strategy/business_strategy.md` | `analyzing-business-strategy` の成果物 |
|
|
17
|
-
| 成果物 | `docs/strategy/BMC.svg` | 生成された BMC の SVG 図 |
|
|
18
|
-
|
|
19
|
-
### 入力ソースの選択
|
|
20
|
-
|
|
21
|
-
本スキルは 2 つの入力ソースに対応する。どちらも `### ビジネスモデルキャンバス` セクション内に PlantUML mindmap 形式で 9 ブロックのデータを持つ前提で動作する。
|
|
22
|
-
|
|
23
|
-
| 入力元スキル | 入力パス | 利用場面 |
|
|
24
|
-
|------------|---------|---------|
|
|
25
|
-
| `analyzing-business-architecture` | `docs/strategy/business_architecture.md` | 実プロジェクトのビジネスアーキテクチャ分析 |
|
|
26
|
-
| `analyzing-business-strategy` | `docs/strategy/business_strategy.md` | 企業事例(ケーススタディ)の戦略分析 |
|
|
27
|
-
|
|
28
|
-
両方のファイルが存在する場合は、`business_architecture.md` を優先する(実プロジェクトを事例分析より優先)。片方のみ存在する場合はそのファイルを使用する。どちらも存在しない場合は、先に `analyzing-business-architecture` または `analyzing-business-strategy` を実行するよう案内する。
|
|
29
|
-
|
|
30
|
-
## BMC の 9 ブロック
|
|
31
|
-
|
|
32
|
-
ビジネスモデルキャンバスは以下の 9 ブロックで構成される。入力ドキュメントのビジネスモデル系セクション内の mindmap データからこれらを抽出する。
|
|
33
|
-
|
|
34
|
-
### セクション見出しの認識
|
|
35
|
-
|
|
36
|
-
入力ドキュメントによって見出し表現が揺れるため、以下のいずれかのパターンにマッチするセクションを BMC セクションとして扱う:
|
|
37
|
-
|
|
38
|
-
- `### ビジネスモデルキャンバス`(推奨・canonical)
|
|
39
|
-
- `### ビジネスモデル`
|
|
40
|
-
- `### ビジネスモデル(BMC)`
|
|
41
|
-
- `### ビジネスモデル (BMC)`
|
|
42
|
-
- `#### ビジネスモデル` / `#### ビジネスモデルキャンバス`(見出しレベルが深い場合)
|
|
43
|
-
|
|
44
|
-
該当セクション内の最初の `@startmindmap` ブロックを BMC データとして解析する。ルートノード名(`* ビジネスモデル` や `* A 社ビジネスモデル` など)は事例名プレフィックスを含んでも構わない。9 ブロックの特定は「顧客 / 価値 / インフラ / 資金」の 4 分類配下のノード名で行う。
|
|
45
|
-
|
|
46
|
-
| # | ブロック | 英語名 | 配置 |
|
|
47
|
-
| :--- | :--- | :--- | :--- |
|
|
48
|
-
| 1 | 主要パートナー | Key Partners | 左端列 |
|
|
49
|
-
| 2 | 主要活動 | Key Activities | 左中列・上段 |
|
|
50
|
-
| 3 | 主要リソース | Key Resources | 左中列・下段 |
|
|
51
|
-
| 4 | 価値提案 | Value Propositions | 中央列 |
|
|
52
|
-
| 5 | 顧客関係 | Customer Relationships | 右中列・上段 |
|
|
53
|
-
| 6 | チャネル | Channels | 右中列・下段 |
|
|
54
|
-
| 7 | 顧客セグメント | Customer Segments | 右端列 |
|
|
55
|
-
| 8 | コスト構造 | Cost Structure | 下段・左半分 |
|
|
56
|
-
| 9 | 収益源 | Revenue Streams | 下段・右半分 |
|
|
57
|
-
|
|
58
|
-
## SVG レイアウト仕様
|
|
59
|
-
|
|
60
|
-
### 全体構造
|
|
61
|
-
|
|
62
|
-
- **サイズ**: 2253 x 1601 px(テンプレート準拠)
|
|
63
|
-
- **上段**: 5 列構成(y=100 〜 y=1000)
|
|
64
|
-
- 列 2(主要活動 / 主要リソース)と列 4(顧客関係 / チャネル)は上下 2 分割
|
|
65
|
-
- **下段**: 2 列構成(y=1000 〜 y=1580)
|
|
66
|
-
- 左: コスト構造、右: 収益源
|
|
67
|
-
|
|
68
|
-
### スタイル
|
|
69
|
-
|
|
70
|
-
- **フォント**: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif
|
|
71
|
-
- **背景色**: `#FAFAFA`
|
|
72
|
-
- **付箋カード**: `fill: #FFF9C4; stroke: #E0D654`(黄色系)
|
|
73
|
-
- **ヘッダー**: 18px bold + アイコン絵文字
|
|
74
|
-
- **項目テキスト**: 12-13px
|
|
75
|
-
- **サブテキスト(補足)**: 10-11px、`fill: #888` または `#666`
|
|
76
|
-
|
|
77
|
-
### 各ブロックのアイコン
|
|
78
|
-
|
|
79
|
-
| ブロック | アイコン |
|
|
80
|
-
| :--- | :--- |
|
|
81
|
-
| 主要パートナー | 🤝 |
|
|
82
|
-
| 主要活動 | ⚙ |
|
|
83
|
-
| 主要リソース | 🏭 |
|
|
84
|
-
| 価値提案 | 🎁 |
|
|
85
|
-
| 顧客関係 | ❤ |
|
|
86
|
-
| チャネル | 🚚 |
|
|
87
|
-
| 顧客セグメント | 👥 |
|
|
88
|
-
| コスト構造 | 💰 |
|
|
89
|
-
| 収益源 | 💵 |
|
|
90
|
-
|
|
91
|
-
## 生成の進め方
|
|
92
|
-
|
|
93
|
-
### 新規生成
|
|
94
|
-
|
|
95
|
-
1. 入力ソースを選択する(`business_architecture.md` または `business_strategy.md`)。両方ある場合は `business_architecture.md` を優先
|
|
96
|
-
2. 選択した入力ファイルの `### ビジネスモデルキャンバス` セクションを読む
|
|
97
|
-
3. mindmap データから 9 ブロックの項目を抽出する
|
|
98
|
-
4. テンプレート SVG(`docs/reference/images/BMC.drawio.svg`)のレイアウト構造を参考にする
|
|
99
|
-
5. 本スキルの SVG レイアウト仕様に従い、抽出したデータで SVG を生成する
|
|
100
|
-
6. `docs/strategy/BMC.svg` に出力する
|
|
101
|
-
7. `operating-docs --update` を実行して docs/index.md、mkdocs.yml、各ディレクトリの index.md を更新する
|
|
102
|
-
|
|
103
|
-
### 更新時の再生成
|
|
104
|
-
|
|
105
|
-
1. 入力ソース(`business_architecture.md` または `business_strategy.md`)のビジネスモデルキャンバスの変更内容を確認する
|
|
106
|
-
2. 既存の `docs/strategy/BMC.svg` を読み、変更が必要な箇所を特定する
|
|
107
|
-
3. SVG を更新する(全体再生成でも差分編集でもよい)
|
|
108
|
-
4. 必要に応じて `operating-docs --update` を実行する
|
|
109
|
-
|
|
110
|
-
### SVG 生成時の注意事項
|
|
111
|
-
|
|
112
|
-
- テンプレートの drawio SVG は複雑なエンコーディングを含むため、そのまま編集するのではなくレイアウト構造のみを参考にする
|
|
113
|
-
- SVG は手書きの clean な XML として生成する(drawio メタデータは不要)
|
|
114
|
-
- 日本語テキストが正しく表示されるよう、UTF-8 エンコーディングと日本語フォントファミリーを指定する
|
|
115
|
-
- 各ブロック内の項目は付箋カード風の矩形(`<rect>` + `<text>`)で表現する
|
|
116
|
-
- 項目数が多い場合は付箋カードのサイズやレイアウトを調整して収まるようにする
|
|
117
|
-
- フッターに "Based on the Business Model Canvas by Strategyzer.com (CC BY-SA 3.0)" のクレジットを含める
|
|
118
|
-
|
|
119
|
-
## 関連スキル
|
|
120
|
-
|
|
121
|
-
- `analyzing-business-architecture` : ビジネスアーキテクチャ分析(実プロジェクト向けの入力データを作成)
|
|
122
|
-
- `analyzing-business-strategy` : 企業事例分析(事例ベースの戦略ドキュメントから BMC セクションを提供)
|
|
123
|
-
- `operating-docs` : ドキュメント管理・インデックス更新
|
|
1
|
+
---
|
|
2
|
+
name: generating-bmc
|
|
3
|
+
description: ビジネスモデルキャンバス(BMC)の SVG 図を生成。テンプレート SVG を基に、ビジネスアーキテクチャ分析書のビジネスモデルキャンバスデータを反映した SVG ファイルを出力する。「BMC を生成したい」「ビジネスモデルキャンバスの図を作りたい」「BMC の SVG を更新したい」「ビジネスモデルキャンバスを可視化したい」といった場面で発動する。ビジネスアーキテクチャ分析が完了した後、またはビジネスモデルキャンバスの内容が更新された場合にも積極的に使用すること。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# ビジネスモデルキャンバス SVG 生成
|
|
7
|
+
|
|
8
|
+
ビジネスアーキテクチャ分析書(`business_architecture.md`)のビジネスモデルキャンバスセクションから、テンプレート SVG の構造を参考にした BMC の SVG 図を生成する。
|
|
9
|
+
|
|
10
|
+
## 参照ドキュメントと成果物
|
|
11
|
+
|
|
12
|
+
| 種類 | パス | 備考 |
|
|
13
|
+
|------|------|------|
|
|
14
|
+
| テンプレート | `docs/reference/images/BMC.drawio.svg` | BMC レイアウトのリファレンス(英語版、drawio 形式) |
|
|
15
|
+
| 入力(実プロジェクト) | `docs/strategy/business_architecture.md` | `analyzing-business-architecture` の成果物 |
|
|
16
|
+
| 入力(企業事例分析) | `docs/strategy/business_strategy.md` | `analyzing-business-strategy` の成果物 |
|
|
17
|
+
| 成果物 | `docs/strategy/BMC.svg` | 生成された BMC の SVG 図 |
|
|
18
|
+
|
|
19
|
+
### 入力ソースの選択
|
|
20
|
+
|
|
21
|
+
本スキルは 2 つの入力ソースに対応する。どちらも `### ビジネスモデルキャンバス` セクション内に PlantUML mindmap 形式で 9 ブロックのデータを持つ前提で動作する。
|
|
22
|
+
|
|
23
|
+
| 入力元スキル | 入力パス | 利用場面 |
|
|
24
|
+
|------------|---------|---------|
|
|
25
|
+
| `analyzing-business-architecture` | `docs/strategy/business_architecture.md` | 実プロジェクトのビジネスアーキテクチャ分析 |
|
|
26
|
+
| `analyzing-business-strategy` | `docs/strategy/business_strategy.md` | 企業事例(ケーススタディ)の戦略分析 |
|
|
27
|
+
|
|
28
|
+
両方のファイルが存在する場合は、`business_architecture.md` を優先する(実プロジェクトを事例分析より優先)。片方のみ存在する場合はそのファイルを使用する。どちらも存在しない場合は、先に `analyzing-business-architecture` または `analyzing-business-strategy` を実行するよう案内する。
|
|
29
|
+
|
|
30
|
+
## BMC の 9 ブロック
|
|
31
|
+
|
|
32
|
+
ビジネスモデルキャンバスは以下の 9 ブロックで構成される。入力ドキュメントのビジネスモデル系セクション内の mindmap データからこれらを抽出する。
|
|
33
|
+
|
|
34
|
+
### セクション見出しの認識
|
|
35
|
+
|
|
36
|
+
入力ドキュメントによって見出し表現が揺れるため、以下のいずれかのパターンにマッチするセクションを BMC セクションとして扱う:
|
|
37
|
+
|
|
38
|
+
- `### ビジネスモデルキャンバス`(推奨・canonical)
|
|
39
|
+
- `### ビジネスモデル`
|
|
40
|
+
- `### ビジネスモデル(BMC)`
|
|
41
|
+
- `### ビジネスモデル (BMC)`
|
|
42
|
+
- `#### ビジネスモデル` / `#### ビジネスモデルキャンバス`(見出しレベルが深い場合)
|
|
43
|
+
|
|
44
|
+
該当セクション内の最初の `@startmindmap` ブロックを BMC データとして解析する。ルートノード名(`* ビジネスモデル` や `* A 社ビジネスモデル` など)は事例名プレフィックスを含んでも構わない。9 ブロックの特定は「顧客 / 価値 / インフラ / 資金」の 4 分類配下のノード名で行う。
|
|
45
|
+
|
|
46
|
+
| # | ブロック | 英語名 | 配置 |
|
|
47
|
+
| :--- | :--- | :--- | :--- |
|
|
48
|
+
| 1 | 主要パートナー | Key Partners | 左端列 |
|
|
49
|
+
| 2 | 主要活動 | Key Activities | 左中列・上段 |
|
|
50
|
+
| 3 | 主要リソース | Key Resources | 左中列・下段 |
|
|
51
|
+
| 4 | 価値提案 | Value Propositions | 中央列 |
|
|
52
|
+
| 5 | 顧客関係 | Customer Relationships | 右中列・上段 |
|
|
53
|
+
| 6 | チャネル | Channels | 右中列・下段 |
|
|
54
|
+
| 7 | 顧客セグメント | Customer Segments | 右端列 |
|
|
55
|
+
| 8 | コスト構造 | Cost Structure | 下段・左半分 |
|
|
56
|
+
| 9 | 収益源 | Revenue Streams | 下段・右半分 |
|
|
57
|
+
|
|
58
|
+
## SVG レイアウト仕様
|
|
59
|
+
|
|
60
|
+
### 全体構造
|
|
61
|
+
|
|
62
|
+
- **サイズ**: 2253 x 1601 px(テンプレート準拠)
|
|
63
|
+
- **上段**: 5 列構成(y=100 〜 y=1000)
|
|
64
|
+
- 列 2(主要活動 / 主要リソース)と列 4(顧客関係 / チャネル)は上下 2 分割
|
|
65
|
+
- **下段**: 2 列構成(y=1000 〜 y=1580)
|
|
66
|
+
- 左: コスト構造、右: 収益源
|
|
67
|
+
|
|
68
|
+
### スタイル
|
|
69
|
+
|
|
70
|
+
- **フォント**: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif
|
|
71
|
+
- **背景色**: `#FAFAFA`
|
|
72
|
+
- **付箋カード**: `fill: #FFF9C4; stroke: #E0D654`(黄色系)
|
|
73
|
+
- **ヘッダー**: 18px bold + アイコン絵文字
|
|
74
|
+
- **項目テキスト**: 12-13px
|
|
75
|
+
- **サブテキスト(補足)**: 10-11px、`fill: #888` または `#666`
|
|
76
|
+
|
|
77
|
+
### 各ブロックのアイコン
|
|
78
|
+
|
|
79
|
+
| ブロック | アイコン |
|
|
80
|
+
| :--- | :--- |
|
|
81
|
+
| 主要パートナー | 🤝 |
|
|
82
|
+
| 主要活動 | ⚙ |
|
|
83
|
+
| 主要リソース | 🏭 |
|
|
84
|
+
| 価値提案 | 🎁 |
|
|
85
|
+
| 顧客関係 | ❤ |
|
|
86
|
+
| チャネル | 🚚 |
|
|
87
|
+
| 顧客セグメント | 👥 |
|
|
88
|
+
| コスト構造 | 💰 |
|
|
89
|
+
| 収益源 | 💵 |
|
|
90
|
+
|
|
91
|
+
## 生成の進め方
|
|
92
|
+
|
|
93
|
+
### 新規生成
|
|
94
|
+
|
|
95
|
+
1. 入力ソースを選択する(`business_architecture.md` または `business_strategy.md`)。両方ある場合は `business_architecture.md` を優先
|
|
96
|
+
2. 選択した入力ファイルの `### ビジネスモデルキャンバス` セクションを読む
|
|
97
|
+
3. mindmap データから 9 ブロックの項目を抽出する
|
|
98
|
+
4. テンプレート SVG(`docs/reference/images/BMC.drawio.svg`)のレイアウト構造を参考にする
|
|
99
|
+
5. 本スキルの SVG レイアウト仕様に従い、抽出したデータで SVG を生成する
|
|
100
|
+
6. `docs/strategy/BMC.svg` に出力する
|
|
101
|
+
7. `operating-docs --update` を実行して docs/index.md、mkdocs.yml、各ディレクトリの index.md を更新する
|
|
102
|
+
|
|
103
|
+
### 更新時の再生成
|
|
104
|
+
|
|
105
|
+
1. 入力ソース(`business_architecture.md` または `business_strategy.md`)のビジネスモデルキャンバスの変更内容を確認する
|
|
106
|
+
2. 既存の `docs/strategy/BMC.svg` を読み、変更が必要な箇所を特定する
|
|
107
|
+
3. SVG を更新する(全体再生成でも差分編集でもよい)
|
|
108
|
+
4. 必要に応じて `operating-docs --update` を実行する
|
|
109
|
+
|
|
110
|
+
### SVG 生成時の注意事項
|
|
111
|
+
|
|
112
|
+
- テンプレートの drawio SVG は複雑なエンコーディングを含むため、そのまま編集するのではなくレイアウト構造のみを参考にする
|
|
113
|
+
- SVG は手書きの clean な XML として生成する(drawio メタデータは不要)
|
|
114
|
+
- 日本語テキストが正しく表示されるよう、UTF-8 エンコーディングと日本語フォントファミリーを指定する
|
|
115
|
+
- 各ブロック内の項目は付箋カード風の矩形(`<rect>` + `<text>`)で表現する
|
|
116
|
+
- 項目数が多い場合は付箋カードのサイズやレイアウトを調整して収まるようにする
|
|
117
|
+
- フッターに "Based on the Business Model Canvas by Strategyzer.com (CC BY-SA 3.0)" のクレジットを含める
|
|
118
|
+
|
|
119
|
+
## 関連スキル
|
|
120
|
+
|
|
121
|
+
- `analyzing-business-architecture` : ビジネスアーキテクチャ分析(実プロジェクト向けの入力データを作成)
|
|
122
|
+
- `analyzing-business-strategy` : 企業事例分析(事例ベースの戦略ドキュメントから BMC セクションを提供)
|
|
123
|
+
- `operating-docs` : ドキュメント管理・インデックス更新
|
|
@@ -1,147 +1,147 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: operating-qt
|
|
3
|
-
description: SonarQube によるコード品質管理を支援。ローカル SonarQube のセットアップ、スキャン実行、Quality Gate 確認、イシュー分析、メトリクス確認を行う。「SonarQube をセットアップしたい」「コード品質を分析したい」「Quality Gate を確認したい」「静的解析を実行したい」「SonarQube のイシューを確認したい」「コードの重複を調べたい」「カバレッジを SonarQube で見たい」といった場面で発動する。CI/CD パイプラインの品質ゲートチェックにも使用する。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# コード品質管理(SonarQube)
|
|
7
|
-
|
|
8
|
-
SonarQube を使った静的コード解析環境の構築と運用を支援する。SonarQube は Bug・Vulnerability・Code Smell・重複コード・カバレッジを一元的に可視化し、Quality Gate で品質基準を自動判定する。コード品質を継続的に計測することで、技術的負債の蓄積を早期に検知できる。
|
|
9
|
-
|
|
10
|
-
## Instructions
|
|
11
|
-
|
|
12
|
-
### 1. 参照ドキュメント
|
|
13
|
-
|
|
14
|
-
@docs/reference/SonarQubeローカル環境セットアップ手順書.md にセットアップの詳細手順がある。環境構築時はこのドキュメントを参照する。
|
|
15
|
-
|
|
16
|
-
### 2. 前提条件
|
|
17
|
-
|
|
18
|
-
- Docker Desktop がインストール済みであること
|
|
19
|
-
- RAM 4GB 以上を Docker Desktop に割り当て(推奨 6GB)
|
|
20
|
-
- Windows の場合、WSL2 で `vm.max_map_count=524288` が設定済み
|
|
21
|
-
|
|
22
|
-
### 3. コンポーネント構成
|
|
23
|
-
|
|
24
|
-
| コンポーネント | コンテナ名 | ポート | イメージ |
|
|
25
|
-
|--------------|-----------|-------|---------|
|
|
26
|
-
| SonarQube | sonarqube | 9000 | `sonarqube:community` |
|
|
27
|
-
| PostgreSQL | sonarqube-db | 内部 | `postgres:16-alpine` |
|
|
28
|
-
|
|
29
|
-
Docker Compose ファイルは `ops/docker/sonarqube-local/docker-compose.yml` に配置する。
|
|
30
|
-
|
|
31
|
-
### 4. Gulp タスク
|
|
32
|
-
|
|
33
|
-
既存の `ops/scripts/sonar_local.js` で以下のタスクが利用可能。
|
|
34
|
-
|
|
35
|
-
**セットアップ:**
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
npx gulp sonar-local:setup # 初回セットアップ(Docker Compose 配置→起動→ヘルスチェック)
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
**コンテナ操作:**
|
|
42
|
-
|
|
43
|
-
```bash
|
|
44
|
-
npx gulp sonar-local:start # 起動
|
|
45
|
-
npx gulp sonar-local:stop # 停止
|
|
46
|
-
npx gulp sonar-local:restart # 再起動
|
|
47
|
-
npx gulp sonar-local:status # 状態確認
|
|
48
|
-
npx gulp sonar-local:logs # ログ表示
|
|
49
|
-
npx gulp sonar-local:open # ダッシュボードをブラウザで開く
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
**スキャン・分析:**
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
npx gulp sonar-local:scan # 全プロジェクトのスキャン実行
|
|
56
|
-
npx gulp sonar-local:gate # Quality Gate ステータス確認
|
|
57
|
-
npx gulp sonar-local:issues # メトリクス・イシュー・重複コード詳細
|
|
58
|
-
npx gulp sonar-local:check # スキャン → Quality Gate の一連フロー
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
**管理:**
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
npx gulp sonar-local:clean # 環境完全削除(データ含む)
|
|
65
|
-
npx gulp sonar-local:help # ヘルプ表示
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### 5. プロジェクト設定
|
|
69
|
-
|
|
70
|
-
プロジェクトルートに `sonarqube.config.json` を配置して複数プロジェクトのスキャンを設定する。
|
|
71
|
-
|
|
72
|
-
```json
|
|
73
|
-
{
|
|
74
|
-
"projects": [
|
|
75
|
-
{
|
|
76
|
-
"name": "backend",
|
|
77
|
-
"label": "Backend",
|
|
78
|
-
"projectKey": "fleur-memoire-backend",
|
|
79
|
-
"scanType": "sonar-scanner",
|
|
80
|
-
"srcDir": "apps/backend"
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
"name": "frontend",
|
|
84
|
-
"label": "Frontend",
|
|
85
|
-
"projectKey": "fleur-memoire-frontend",
|
|
86
|
-
"scanType": "sonar-scanner",
|
|
87
|
-
"srcDir": "apps/frontend"
|
|
88
|
-
}
|
|
89
|
-
]
|
|
90
|
-
}
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
`scanType` は `sonar-scanner`(Node.js)、`sbt`、`maven`、`gradle` に対応。
|
|
94
|
-
|
|
95
|
-
### 6. 環境変数
|
|
96
|
-
|
|
97
|
-
`.env` に以下を設定する。
|
|
98
|
-
|
|
99
|
-
| 変数 | 説明 | デフォルト |
|
|
100
|
-
|------|------|----------|
|
|
101
|
-
| `LOCAL_SONAR_PORT` | SonarQube ポート | 9000 |
|
|
102
|
-
| `LOCAL_SONAR_DB_PASSWORD` | DB パスワード | sonarqube_password |
|
|
103
|
-
| `SONAR_HOST_URL` | SonarQube URL | http://localhost:9000 |
|
|
104
|
-
| `SONAR_TOKEN` | 分析トークン(スキャン時必須) | — |
|
|
105
|
-
| `SONAR_PROJECT_KEY` | Quality Gate / Issues 対象キー | — |
|
|
106
|
-
|
|
107
|
-
### 7. 初回セットアップフロー
|
|
108
|
-
|
|
109
|
-
1. `npx gulp sonar-local:setup` でコンテナを構築・起動
|
|
110
|
-
2. ブラウザで `http://localhost:9000` にアクセス(初期認証: admin / admin)
|
|
111
|
-
3. admin パスワードを変更
|
|
112
|
-
4. 分析トークンを生成(My Account → Security → Generate Tokens)
|
|
113
|
-
5. `.env` に `SONAR_TOKEN=<生成したトークン>` を追加
|
|
114
|
-
6. `sonarqube.config.json` を作成(複数プロジェクト対応時)
|
|
115
|
-
7. `npx gulp sonar-local:scan` でスキャン実行
|
|
116
|
-
|
|
117
|
-
### 8. 品質基準
|
|
118
|
-
|
|
119
|
-
テスト戦略(@docs/design/test_strategy.md)で定義されたカバレッジ目標と SonarQube の Quality Gate を連携する。
|
|
120
|
-
|
|
121
|
-
| メトリクス | 目標 |
|
|
122
|
-
|-----------|------|
|
|
123
|
-
| カバレッジ | ドメイン層 90%、全体 80% |
|
|
124
|
-
| 重複率 | 3% 未満 |
|
|
125
|
-
| Bug | 0 件 |
|
|
126
|
-
| Vulnerability | 0 件 |
|
|
127
|
-
| Code Smell | 可能な限り 0 件 |
|
|
128
|
-
|
|
129
|
-
### 9. CI/CD 連携
|
|
130
|
-
|
|
131
|
-
GitHub Actions で SonarQube スキャンを実行する場合は `operating-cicd` スキルを参照する。ローカルの SonarQube はあくまで開発中の品質確認用で、CI/CD では SonarCloud や別途ホスティングされた SonarQube を使用する。
|
|
132
|
-
|
|
133
|
-
### 10. トラブルシューティング
|
|
134
|
-
|
|
135
|
-
| 症状 | 原因 | 対処 |
|
|
136
|
-
|------|------|------|
|
|
137
|
-
| コンテナ起動後すぐ停止 | `vm.max_map_count` 不足 | WSL2 / Docker VM で `524288` に設定 |
|
|
138
|
-
| ヘルスチェックがタイムアウト | メモリ不足 | Docker Desktop の RAM 割り当てを増やす |
|
|
139
|
-
| スキャン時 401 エラー | トークン未設定 or 無効 | `.env` の `SONAR_TOKEN` を確認 |
|
|
140
|
-
| `DOCKER_HOST` 接続エラー | 環境変数の干渉 | `cleanDockerEnv()` を使用(`shared.js`) |
|
|
141
|
-
|
|
142
|
-
### 関連スキル
|
|
143
|
-
|
|
144
|
-
- `operating-script` — 運用スクリプト作成ガイドに準拠したスクリプト作成
|
|
145
|
-
- `operating-cicd` — CI/CD パイプラインでの品質ゲート連携
|
|
146
|
-
- `operating-setup` — 環境構築の段階的実行
|
|
147
|
-
- `orchestrating-operation` — 運用フェーズ全体のワークフロー
|
|
1
|
+
---
|
|
2
|
+
name: operating-qt
|
|
3
|
+
description: SonarQube によるコード品質管理を支援。ローカル SonarQube のセットアップ、スキャン実行、Quality Gate 確認、イシュー分析、メトリクス確認を行う。「SonarQube をセットアップしたい」「コード品質を分析したい」「Quality Gate を確認したい」「静的解析を実行したい」「SonarQube のイシューを確認したい」「コードの重複を調べたい」「カバレッジを SonarQube で見たい」といった場面で発動する。CI/CD パイプラインの品質ゲートチェックにも使用する。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# コード品質管理(SonarQube)
|
|
7
|
+
|
|
8
|
+
SonarQube を使った静的コード解析環境の構築と運用を支援する。SonarQube は Bug・Vulnerability・Code Smell・重複コード・カバレッジを一元的に可視化し、Quality Gate で品質基準を自動判定する。コード品質を継続的に計測することで、技術的負債の蓄積を早期に検知できる。
|
|
9
|
+
|
|
10
|
+
## Instructions
|
|
11
|
+
|
|
12
|
+
### 1. 参照ドキュメント
|
|
13
|
+
|
|
14
|
+
@docs/reference/SonarQubeローカル環境セットアップ手順書.md にセットアップの詳細手順がある。環境構築時はこのドキュメントを参照する。
|
|
15
|
+
|
|
16
|
+
### 2. 前提条件
|
|
17
|
+
|
|
18
|
+
- Docker Desktop がインストール済みであること
|
|
19
|
+
- RAM 4GB 以上を Docker Desktop に割り当て(推奨 6GB)
|
|
20
|
+
- Windows の場合、WSL2 で `vm.max_map_count=524288` が設定済み
|
|
21
|
+
|
|
22
|
+
### 3. コンポーネント構成
|
|
23
|
+
|
|
24
|
+
| コンポーネント | コンテナ名 | ポート | イメージ |
|
|
25
|
+
|--------------|-----------|-------|---------|
|
|
26
|
+
| SonarQube | sonarqube | 9000 | `sonarqube:community` |
|
|
27
|
+
| PostgreSQL | sonarqube-db | 内部 | `postgres:16-alpine` |
|
|
28
|
+
|
|
29
|
+
Docker Compose ファイルは `ops/docker/sonarqube-local/docker-compose.yml` に配置する。
|
|
30
|
+
|
|
31
|
+
### 4. Gulp タスク
|
|
32
|
+
|
|
33
|
+
既存の `ops/scripts/sonar_local.js` で以下のタスクが利用可能。
|
|
34
|
+
|
|
35
|
+
**セットアップ:**
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
npx gulp sonar-local:setup # 初回セットアップ(Docker Compose 配置→起動→ヘルスチェック)
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**コンテナ操作:**
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
npx gulp sonar-local:start # 起動
|
|
45
|
+
npx gulp sonar-local:stop # 停止
|
|
46
|
+
npx gulp sonar-local:restart # 再起動
|
|
47
|
+
npx gulp sonar-local:status # 状態確認
|
|
48
|
+
npx gulp sonar-local:logs # ログ表示
|
|
49
|
+
npx gulp sonar-local:open # ダッシュボードをブラウザで開く
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**スキャン・分析:**
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
npx gulp sonar-local:scan # 全プロジェクトのスキャン実行
|
|
56
|
+
npx gulp sonar-local:gate # Quality Gate ステータス確認
|
|
57
|
+
npx gulp sonar-local:issues # メトリクス・イシュー・重複コード詳細
|
|
58
|
+
npx gulp sonar-local:check # スキャン → Quality Gate の一連フロー
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**管理:**
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
npx gulp sonar-local:clean # 環境完全削除(データ含む)
|
|
65
|
+
npx gulp sonar-local:help # ヘルプ表示
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### 5. プロジェクト設定
|
|
69
|
+
|
|
70
|
+
プロジェクトルートに `sonarqube.config.json` を配置して複数プロジェクトのスキャンを設定する。
|
|
71
|
+
|
|
72
|
+
```json
|
|
73
|
+
{
|
|
74
|
+
"projects": [
|
|
75
|
+
{
|
|
76
|
+
"name": "backend",
|
|
77
|
+
"label": "Backend",
|
|
78
|
+
"projectKey": "fleur-memoire-backend",
|
|
79
|
+
"scanType": "sonar-scanner",
|
|
80
|
+
"srcDir": "apps/backend"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"name": "frontend",
|
|
84
|
+
"label": "Frontend",
|
|
85
|
+
"projectKey": "fleur-memoire-frontend",
|
|
86
|
+
"scanType": "sonar-scanner",
|
|
87
|
+
"srcDir": "apps/frontend"
|
|
88
|
+
}
|
|
89
|
+
]
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
`scanType` は `sonar-scanner`(Node.js)、`sbt`、`maven`、`gradle` に対応。
|
|
94
|
+
|
|
95
|
+
### 6. 環境変数
|
|
96
|
+
|
|
97
|
+
`.env` に以下を設定する。
|
|
98
|
+
|
|
99
|
+
| 変数 | 説明 | デフォルト |
|
|
100
|
+
|------|------|----------|
|
|
101
|
+
| `LOCAL_SONAR_PORT` | SonarQube ポート | 9000 |
|
|
102
|
+
| `LOCAL_SONAR_DB_PASSWORD` | DB パスワード | sonarqube_password |
|
|
103
|
+
| `SONAR_HOST_URL` | SonarQube URL | http://localhost:9000 |
|
|
104
|
+
| `SONAR_TOKEN` | 分析トークン(スキャン時必須) | — |
|
|
105
|
+
| `SONAR_PROJECT_KEY` | Quality Gate / Issues 対象キー | — |
|
|
106
|
+
|
|
107
|
+
### 7. 初回セットアップフロー
|
|
108
|
+
|
|
109
|
+
1. `npx gulp sonar-local:setup` でコンテナを構築・起動
|
|
110
|
+
2. ブラウザで `http://localhost:9000` にアクセス(初期認証: admin / admin)
|
|
111
|
+
3. admin パスワードを変更
|
|
112
|
+
4. 分析トークンを生成(My Account → Security → Generate Tokens)
|
|
113
|
+
5. `.env` に `SONAR_TOKEN=<生成したトークン>` を追加
|
|
114
|
+
6. `sonarqube.config.json` を作成(複数プロジェクト対応時)
|
|
115
|
+
7. `npx gulp sonar-local:scan` でスキャン実行
|
|
116
|
+
|
|
117
|
+
### 8. 品質基準
|
|
118
|
+
|
|
119
|
+
テスト戦略(@docs/design/test_strategy.md)で定義されたカバレッジ目標と SonarQube の Quality Gate を連携する。
|
|
120
|
+
|
|
121
|
+
| メトリクス | 目標 |
|
|
122
|
+
|-----------|------|
|
|
123
|
+
| カバレッジ | ドメイン層 90%、全体 80% |
|
|
124
|
+
| 重複率 | 3% 未満 |
|
|
125
|
+
| Bug | 0 件 |
|
|
126
|
+
| Vulnerability | 0 件 |
|
|
127
|
+
| Code Smell | 可能な限り 0 件 |
|
|
128
|
+
|
|
129
|
+
### 9. CI/CD 連携
|
|
130
|
+
|
|
131
|
+
GitHub Actions で SonarQube スキャンを実行する場合は `operating-cicd` スキルを参照する。ローカルの SonarQube はあくまで開発中の品質確認用で、CI/CD では SonarCloud や別途ホスティングされた SonarQube を使用する。
|
|
132
|
+
|
|
133
|
+
### 10. トラブルシューティング
|
|
134
|
+
|
|
135
|
+
| 症状 | 原因 | 対処 |
|
|
136
|
+
|------|------|------|
|
|
137
|
+
| コンテナ起動後すぐ停止 | `vm.max_map_count` 不足 | WSL2 / Docker VM で `524288` に設定 |
|
|
138
|
+
| ヘルスチェックがタイムアウト | メモリ不足 | Docker Desktop の RAM 割り当てを増やす |
|
|
139
|
+
| スキャン時 401 エラー | トークン未設定 or 無効 | `.env` の `SONAR_TOKEN` を確認 |
|
|
140
|
+
| `DOCKER_HOST` 接続エラー | 環境変数の干渉 | `cleanDockerEnv()` を使用(`shared.js`) |
|
|
141
|
+
|
|
142
|
+
### 関連スキル
|
|
143
|
+
|
|
144
|
+
- `operating-script` — 運用スクリプト作成ガイドに準拠したスクリプト作成
|
|
145
|
+
- `operating-cicd` — CI/CD パイプラインでの品質ゲート連携
|
|
146
|
+
- `operating-setup` — 環境構築の段階的実行
|
|
147
|
+
- `orchestrating-operation` — 運用フェーズ全体のワークフロー
|