@k2works/claude-code-booster 0.1.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 -0
- package/README.md +28 -0
- package/bin/claude-code-booster +28 -0
- package/lib/assets/.claude/.mcp.json +45 -0
- package/lib/assets/.claude/README.md +169 -0
- package/lib/assets/.claude/agents/roles/analyzer.md +267 -0
- package/lib/assets/.claude/agents/roles/architect.md +233 -0
- package/lib/assets/.claude/agents/roles/backend.md +303 -0
- package/lib/assets/.claude/agents/roles/frontend.md +294 -0
- package/lib/assets/.claude/agents/roles/mobile.md +309 -0
- package/lib/assets/.claude/agents/roles/performance.md +254 -0
- package/lib/assets/.claude/agents/roles/qa.md +266 -0
- package/lib/assets/.claude/agents/roles/reviewer.md +252 -0
- package/lib/assets/.claude/agents/roles/security.md +392 -0
- package/lib/assets/.claude/assets/confirm.mp3 +0 -0
- package/lib/assets/.claude/assets/perfect.mp3 +0 -0
- package/lib/assets/.claude/assets/silent.wav +0 -0
- package/lib/assets/.claude/commands/analyze-dependencies.md +158 -0
- package/lib/assets/.claude/commands/analyze-performance.md +116 -0
- package/lib/assets/.claude/commands/check-fact.md +104 -0
- package/lib/assets/.claude/commands/check-github-ci.md +53 -0
- package/lib/assets/.claude/commands/check-prompt.md +461 -0
- package/lib/assets/.claude/commands/commit-message.md +348 -0
- package/lib/assets/.claude/commands/context7.md +50 -0
- package/lib/assets/.claude/commands/design-patterns.md +186 -0
- package/lib/assets/.claude/commands/explain-code.md +75 -0
- package/lib/assets/.claude/commands/fix-error.md +258 -0
- package/lib/assets/.claude/commands/multi-role.md +291 -0
- package/lib/assets/.claude/commands/plan.md +134 -0
- package/lib/assets/.claude/commands/pr-auto-update.md +460 -0
- package/lib/assets/.claude/commands/pr-create.md +249 -0
- package/lib/assets/.claude/commands/pr-feedback.md +143 -0
- package/lib/assets/.claude/commands/pr-issue.md +78 -0
- package/lib/assets/.claude/commands/pr-list.md +66 -0
- package/lib/assets/.claude/commands/pr-review.md +142 -0
- package/lib/assets/.claude/commands/refactor.md +147 -0
- package/lib/assets/.claude/commands/role-debate.md +571 -0
- package/lib/assets/.claude/commands/role-help.md +276 -0
- package/lib/assets/.claude/commands/role.md +360 -0
- package/lib/assets/.claude/commands/screenshot.md +103 -0
- package/lib/assets/.claude/commands/search-gemini.md +66 -0
- package/lib/assets/.claude/commands/semantic-commit.md +1129 -0
- package/lib/assets/.claude/commands/sequential-thinking.md +90 -0
- package/lib/assets/.claude/commands/show-plan.md +59 -0
- package/lib/assets/.claude/commands/smart-review.md +174 -0
- package/lib/assets/.claude/commands/spec.md +559 -0
- package/lib/assets/.claude/commands/style-ai-writing.md +186 -0
- package/lib/assets/.claude/commands/task.md +223 -0
- package/lib/assets/.claude/commands/tech-debt.md +87 -0
- package/lib/assets/.claude/commands/ultrathink.md +65 -0
- package/lib/assets/.claude/commands/update-dart-doc.md +202 -0
- package/lib/assets/.claude/commands/update-doc-string.md +306 -0
- package/lib/assets/.claude/commands/update-flutter-deps.md +105 -0
- package/lib/assets/.claude/commands/update-node-deps.md +105 -0
- package/lib/assets/.claude/commands/update-rust-deps.md +107 -0
- package/lib/assets/.claude/scripts/auto-comment.sh +16 -0
- package/lib/assets/.claude/scripts/check-ai-commit.sh +20 -0
- package/lib/assets/.claude/scripts/check-continue.sh +97 -0
- package/lib/assets/.claude/scripts/check-locales.sh +1080 -0
- package/lib/assets/.claude/scripts/check-project-plan.sh +25 -0
- package/lib/assets/.claude/scripts/debug-hook.sh +7 -0
- package/lib/assets/.claude/scripts/deny-check.sh +69 -0
- package/lib/assets/.claude/scripts/install.sh +174 -0
- package/lib/assets/.claude/scripts/ja-space-exclusions.json +18 -0
- package/lib/assets/.claude/scripts/ja-space-format.sh +45 -0
- package/lib/assets/.claude/scripts/preserve-file-permissions.sh +83 -0
- package/lib/assets/.claude/scripts/statusline.sh +153 -0
- package/lib/assets/.claude/settings.json +164 -0
- package/lib/assets/.claude/settings.local.json +14 -0
- package/lib/assets/.github/workflows/mkdocs.yml +32 -0
- package/lib/assets/CLAUDE.md +319 -0
- package/lib/assets/Dockerfile +77 -0
- package/lib/assets/README.md +51 -0
- package/lib/assets/app/.gitkeep +0 -0
- package/lib/assets/docker-compose.yml +22 -0
- package/lib/assets/docs/Dockerfile +19 -0
- package/lib/assets/docs/adr/.gitkeep +0 -0
- package/lib/assets/docs/assets/css/extra.css +30 -0
- package/lib/assets/docs/assets/js/extra.js +45 -0
- package/lib/assets/docs/design/.gitkeep +0 -0
- package/lib/assets/docs/development/.gitkeep +0 -0
- package/lib/assets/docs/index.md +13 -0
- package/lib/assets/docs/operation/.gitkeep +0 -0
- package/lib/assets/docs/reference/.gitkeep +0 -0
- 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 +220 -0
- package/lib/assets/docs/reference//343/202/242/343/202/270/343/203/243/343/202/244/343/203/253/343/201/252/350/246/213/347/251/215/343/201/250/350/250/210/347/224/273/343/201/245/343/201/217/343/202/212.md +789 -0
- 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 -0
- 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 +1249 -0
- package/lib/assets/docs/reference//351/226/213/347/231/272/343/202/254/343/202/244/343/203/211.md +556 -0
- package/lib/assets/docs/requirements/.gitkeep +0 -0
- package/lib/assets/docs/template/.gitkeep +0 -0
- package/lib/assets/docs/template/ADR.md +30 -0
- package/lib/assets/docs/template/README.md +50 -0
- 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 -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/345/256/214/344/272/206/345/240/261/345/221/212/346/233/270.md +59 -0
- 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 -0
- package/lib/assets/docs/template//350/246/201/344/273/266/345/256/232/347/276/251.md +646 -0
- package/lib/assets/docs/template//350/250/255/350/250/210.md +164 -0
- package/lib/assets/gulpfile.js +18 -0
- package/lib/assets/mkdocs.yml +59 -0
- package/lib/assets/package-lock.json +3960 -0
- package/lib/assets/package.json +31 -0
- package/lib/assets/scripts/journal.js +170 -0
- package/lib/assets/scripts/mkdocs.js +59 -0
- package/lib/gulpfile.js +37 -0
- package/main.js +0 -0
- package/package.json +39 -0
|
File without changes
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/* Custom styles for diagrams */
|
|
2
|
+
|
|
3
|
+
/* Mermaid diagrams */
|
|
4
|
+
.mermaid {
|
|
5
|
+
text-align: center;
|
|
6
|
+
margin: 20px 0;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/* PlantUML diagrams */
|
|
10
|
+
.plantuml {
|
|
11
|
+
text-align: center;
|
|
12
|
+
margin: 20px 0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/* General diagram container */
|
|
16
|
+
.diagram-container {
|
|
17
|
+
background-color: #f8f8f8;
|
|
18
|
+
border-radius: 5px;
|
|
19
|
+
padding: 15px;
|
|
20
|
+
margin: 20px 0;
|
|
21
|
+
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/* Responsive diagrams */
|
|
25
|
+
@media only screen and (max-width: 600px) {
|
|
26
|
+
.mermaid, .plantuml {
|
|
27
|
+
max-width: 100%;
|
|
28
|
+
overflow-x: auto;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// Initialize Mermaid with custom configuration
|
|
2
|
+
document.addEventListener('DOMContentLoaded', function() {
|
|
3
|
+
if (typeof mermaid !== 'undefined') {
|
|
4
|
+
mermaid.initialize({
|
|
5
|
+
startOnLoad: true,
|
|
6
|
+
theme: 'default',
|
|
7
|
+
securityLevel: 'loose',
|
|
8
|
+
flowchart: {
|
|
9
|
+
useMaxWidth: true,
|
|
10
|
+
htmlLabels: true,
|
|
11
|
+
curve: 'basis'
|
|
12
|
+
},
|
|
13
|
+
sequence: {
|
|
14
|
+
diagramMarginX: 50,
|
|
15
|
+
diagramMarginY: 10,
|
|
16
|
+
actorMargin: 50,
|
|
17
|
+
width: 150,
|
|
18
|
+
height: 65,
|
|
19
|
+
boxMargin: 10,
|
|
20
|
+
boxTextMargin: 5,
|
|
21
|
+
noteMargin: 10,
|
|
22
|
+
messageMargin: 35
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
// Force render any mermaid diagrams
|
|
27
|
+
setTimeout(function() {
|
|
28
|
+
mermaid.init(undefined, document.querySelectorAll('.mermaid'));
|
|
29
|
+
}, 1000);
|
|
30
|
+
} else {
|
|
31
|
+
console.error('Mermaid library not loaded');
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
// Add PlantUML image error handling
|
|
36
|
+
document.addEventListener('DOMContentLoaded', function() {
|
|
37
|
+
const plantumlImages = document.querySelectorAll('.plantuml img');
|
|
38
|
+
|
|
39
|
+
plantumlImages.forEach(function(img) {
|
|
40
|
+
img.onerror = function() {
|
|
41
|
+
const container = img.parentElement;
|
|
42
|
+
container.innerHTML = '<div class="diagram-error">Error loading PlantUML diagram. Please check your syntax or server connection.</div>';
|
|
43
|
+
};
|
|
44
|
+
});
|
|
45
|
+
});
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# まずこれを読もうリスト
|
|
2
|
+
|
|
3
|
+
- [コンテキスト図](./requirements/コンテキスト図.md) - 情勢をつかむ。
|
|
4
|
+
- [インセプションデッキ](./requirements/インセプションデッキ.md) - プロジェクトの最初の週に作成された。ここにあるものの大部分は変更されたが、このドキュメントは我々がなぜこのシステムを構築しているかを示している。
|
|
5
|
+
- [要件定義](./requirements/要件定義.md) - システムの全体的な要件をまとめる。プロジェクトの基盤となる重要なドキュメント。
|
|
6
|
+
- [ユーザーストーリー](./requirements/ユーザーストーリー.md) - ユーザーの視点からシステムの要件をまとめる。ユーザーが何を求めているかを理解するために重要。
|
|
7
|
+
- [ユースケース](./requirements/ユースケース.md) - システムの機能を表す。システムが何をするかを理解するのに必要。
|
|
8
|
+
- [アーキテクチャドキュメント](./design/アーキテクチャ.md) - システムのアーキテクチャを示す。システムの全体像を把握するために重要。
|
|
9
|
+
- [設計キュメント](./design) - システムの設計に関する詳細をまとめる。具体的な実装方法や技術選定を記録する。
|
|
10
|
+
- [開発ドキュメント](./development) - 開発の具体的な手順やガイドラインをまとめる。
|
|
11
|
+
- [運用ドキュメント](./operation) - システムの運用に関する情報を提供する。運用チームがシステムを管理するために必要。
|
|
12
|
+
- [アーキテクチャ決定ログ](./adr) - システムのアーキテクチャに関する重要な決定を記録する。将来の参照や説明に役立つ。
|
|
13
|
+
- [日誌](./journal) - 開発の進捗や問題点を記録する。開発の履歴を追うために重要。
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: よいソフトウェアとは
|
|
3
|
+
description:
|
|
4
|
+
published: true
|
|
5
|
+
date: 2025-06-27T09:48:46.154Z
|
|
6
|
+
tags:
|
|
7
|
+
editor: markdown
|
|
8
|
+
dateCreated: 2025-06-27T09:35:43.840Z
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# よいソフトウェアとは
|
|
12
|
+
|
|
13
|
+
## ソフトウェアの目的
|
|
14
|
+
|
|
15
|
+
- 問題解決:
|
|
16
|
+
- 単なる「動くプログラム」ではなく問題を解決するもの
|
|
17
|
+
- 本質的な目的:
|
|
18
|
+
- ユーザーの問題解決: 課題や不便を解消
|
|
19
|
+
- ビジネス価値の創出: 組織やビジネスに利益をもたらす
|
|
20
|
+
- 効率化と自動化: 時間や労力を節約
|
|
21
|
+
- イノベーションの実現: 新しい体験や可能性を提供
|
|
22
|
+
|
|
23
|
+
## ソフトウェアの価値
|
|
24
|
+
|
|
25
|
+
- 機能性: ユーザーの問題をちゃんと解決できるか
|
|
26
|
+
- 使いやすさ: 優れた機能でも使いにくければ意味がない
|
|
27
|
+
- 信頼性: 安定して動作するか
|
|
28
|
+
- 保守性: 長期間にわたって改善・維持できるか
|
|
29
|
+
|
|
30
|
+
## よいソフトウェアの必要十分条件
|
|
31
|
+
|
|
32
|
+
変更を楽に安全にできて役に立つソフトウェアであることが必要十分条件である。
|
|
33
|
+
変更を楽に安全にできて役に立つソフトウェアであればよいソフトウェアである。
|
|
34
|
+
|
|
35
|
+
変更を楽に安全にできなくても役に立つソフトウェアはあるのではないか?
|
|
36
|
+
|
|
37
|
+
## よいソフトウェアの内部要因と外部要因
|
|
38
|
+
|
|
39
|
+
### 内部要因
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
```plantuml
|
|
43
|
+
@startuml
|
|
44
|
+
title 内部要因
|
|
45
|
+
|
|
46
|
+
folder "ビジネス" {
|
|
47
|
+
folder "チーム" {
|
|
48
|
+
folder "技術" {
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
@enduml
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
内部要因:自分でコントロールできる部分
|
|
56
|
+
|
|
57
|
+
### 外部要因
|
|
58
|
+
|
|
59
|
+
外部要因:自分でコントロールできない部分
|
|
60
|
+
|
|
61
|
+
## だめなソフトウェア
|
|
62
|
+
|
|
63
|
+
### へろへろスクラム
|
|
64
|
+
|
|
65
|
+
へろへろスクラムが続くと、チームは疲弊し、顧客満足度は低下し、技術的負債が蓄積する。スクラムの名を借りた単なる「現代的な搾取システム」になりかねない。結局、アジャイルの見かけだけで本質を理解していないマネージャーの自己満足だけが残る。
|
|
66
|
+
|
|
67
|
+
### 動作するきれいなゴミ
|
|
68
|
+
|
|
69
|
+
技術的には完璧なソフトウェアのように見えるが、誰も使わないただのゴミ
|
|
70
|
+
|
|
71
|
+
## よいソフトウェア
|
|
72
|
+
|
|
73
|
+
本当に良いソフトウェアを作るには、以下のバランスが必要:
|
|
74
|
+
|
|
75
|
+
1. 技術的な卓越性 - コードの品質、保守性、拡張性
|
|
76
|
+
1. ビジネス価値 - 市場ニーズ、収益創出、競争優位性
|
|
77
|
+
1. ユーザー中心設計 - 使いやすさ、問題解決力4. 健全なチーム文化 - 心理的安全性、自己組織化、継続的改善
|
|
78
|
+
|
|
79
|
+
## よいソフトウェアを作るための規律
|
|
80
|
+
|
|
81
|
+
### 規律とは
|
|
82
|
+
|
|
83
|
+
> ”規律とは「本質的な部分」と「任意の部分」で構成される一連のルールである。”
|
|
84
|
+
> Clean Craftsmanship 規律、基準、倫理 (アスキードワンゴ)
|
|
85
|
+
|
|
86
|
+
本質的な部分・・・よいソフトウェアを作るパワーを与える
|
|
87
|
+
任意の部分・・・よいソフトウェアを作るために従うプラクティス
|
|
88
|
+
|
|
89
|
+
### ソフトウエア開発の3P(プリンシパル・パターン・プラクティス)
|
|
90
|
+
|
|
91
|
+
- SOLID原則: 単一責任、開放閉鎖、リスコフの置換、インターフェース分離、依存性逆転
|
|
92
|
+
- デザインパターン: 再利用可能な設計ソリューション
|
|
93
|
+
- アーキテクチャパターン:ソフトウェアアーキテクチャで発生する問題の解決策
|
|
94
|
+
- ドメイン駆動設計: ビジネスドメインに焦点を当てた設計
|
|
95
|
+
- テスト駆動開発: テストを先に書いてから実装
|
|
96
|
+
- 継続的デリバリー: 小さな変更を頻繁にリリース
|
|
97
|
+
|
|
98
|
+
### サークルオブライフ
|
|
99
|
+
|
|
100
|
+
```plantuml
|
|
101
|
+
@startuml
|
|
102
|
+
title 内部要因
|
|
103
|
+
|
|
104
|
+
folder "ビジネス" {
|
|
105
|
+
object チーム全体
|
|
106
|
+
object 受入テスト
|
|
107
|
+
object 小さなリリース
|
|
108
|
+
object 計画ゲーム
|
|
109
|
+
folder "チーム" {
|
|
110
|
+
object 継続的インテグレーション
|
|
111
|
+
object 共同所有
|
|
112
|
+
object 持続可能なペース
|
|
113
|
+
object メタファー
|
|
114
|
+
folder "技術" {
|
|
115
|
+
object テスト駆動開発
|
|
116
|
+
object リファクタリング
|
|
117
|
+
object シンプルな設計
|
|
118
|
+
object ペアリング
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
@enduml
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
#### ビジネスプラクティス
|
|
126
|
+
|
|
127
|
+
```plantuml
|
|
128
|
+
@startuml
|
|
129
|
+
title 内部要因
|
|
130
|
+
|
|
131
|
+
folder "ビジネス" {
|
|
132
|
+
object チーム全体
|
|
133
|
+
object 受入テスト
|
|
134
|
+
object 小さなリリース
|
|
135
|
+
object 計画ゲーム
|
|
136
|
+
folder "チーム" {
|
|
137
|
+
folder "技術" {
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
@enduml
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
#### チームプラクティス
|
|
145
|
+
|
|
146
|
+
```plantuml
|
|
147
|
+
@startuml
|
|
148
|
+
title 内部要因
|
|
149
|
+
|
|
150
|
+
folder "ビジネス" {
|
|
151
|
+
folder "チーム" {
|
|
152
|
+
object 継続的インテグレーション
|
|
153
|
+
object 共同所有
|
|
154
|
+
object 持続可能なペース
|
|
155
|
+
object メタファー
|
|
156
|
+
folder "技術" {
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
@enduml
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
#### テクニカルプラクティス
|
|
165
|
+
|
|
166
|
+
```plantuml
|
|
167
|
+
@startuml
|
|
168
|
+
title 内部要因
|
|
169
|
+
|
|
170
|
+
folder "ビジネス" {
|
|
171
|
+
folder "チーム" {
|
|
172
|
+
folder "技術" {
|
|
173
|
+
object テスト駆動開発
|
|
174
|
+
object リファクタリング
|
|
175
|
+
object シンプルな設計
|
|
176
|
+
object ペアリング
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
@enduml
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### 拡張サークルオブライフ
|
|
184
|
+
|
|
185
|
+
```plantuml
|
|
186
|
+
@startuml
|
|
187
|
+
title 内部要因
|
|
188
|
+
|
|
189
|
+
folder "ビジネス" {
|
|
190
|
+
object チーム全体
|
|
191
|
+
object 受入テスト
|
|
192
|
+
object 小さなリリース
|
|
193
|
+
object 計画ゲーム
|
|
194
|
+
folder "チーム" {
|
|
195
|
+
object 継続的インテグレーション
|
|
196
|
+
object 共同所有
|
|
197
|
+
object 持続可能なペース
|
|
198
|
+
object ドメイン駆動設計
|
|
199
|
+
object 戦略的設計
|
|
200
|
+
object 戦術的設計
|
|
201
|
+
object ユビキタス言語
|
|
202
|
+
folder "技術" {
|
|
203
|
+
object テスト駆動開発
|
|
204
|
+
object リファクタリング
|
|
205
|
+
object シンプルな設計
|
|
206
|
+
object ペアリング
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
@enduml
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
## 結論
|
|
215
|
+
|
|
216
|
+
短期的には変更を楽に安全にできなくても役に立つソフトウェアを作ることはできる。
|
|
217
|
+
しかし、時間の経過・外部環境の変化とともに変更を楽に安全にできないため役に立つソフトウェアでなくなる。
|
|
218
|
+
変更を楽に安全にできて役に立つソフトウェアであることが必要十分条件である。
|
|
219
|
+
上記の条件を満たし外部環境の変化に適応し続けるソフトウェアこそよいソフトウェアである。
|
|
220
|
+
よって、良いソフトウェアとは変更を楽に安全にできて役に立つソフトウェアである。
|