@k2works/claude-code-booster 0.8.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/lib/assets/.claude/README.md +54 -136
  2. package/lib/assets/.claude/assets/.gitkeep +0 -0
  3. package/lib/assets/.claude/commands/git-commit.md +47 -0
  4. package/lib/assets/.claude/commands/ops.md +16 -16
  5. package/lib/assets/.claude/scripts/.gitkeep +0 -0
  6. package/lib/assets/README.md +77 -3
  7. package/lib/assets/apps/.gitkeep +0 -0
  8. package/package.json +1 -1
  9. package/lib/assets/.claude/agents/roles/analyzer.md +0 -267
  10. package/lib/assets/.claude/agents/roles/architect.md +0 -233
  11. package/lib/assets/.claude/agents/roles/backend.md +0 -303
  12. package/lib/assets/.claude/agents/roles/frontend.md +0 -294
  13. package/lib/assets/.claude/agents/roles/mobile.md +0 -309
  14. package/lib/assets/.claude/agents/roles/performance.md +0 -254
  15. package/lib/assets/.claude/agents/roles/qa.md +0 -266
  16. package/lib/assets/.claude/agents/roles/reviewer.md +0 -252
  17. package/lib/assets/.claude/agents/roles/security.md +0 -392
  18. package/lib/assets/.claude/assets/confirm.mp3 +0 -0
  19. package/lib/assets/.claude/assets/perfect.mp3 +0 -0
  20. package/lib/assets/.claude/assets/silent.wav +0 -0
  21. package/lib/assets/.claude/commands/analyze-dependencies.md +0 -158
  22. package/lib/assets/.claude/commands/analyze-performance.md +0 -116
  23. package/lib/assets/.claude/commands/check-fact.md +0 -104
  24. package/lib/assets/.claude/commands/check-github-ci.md +0 -53
  25. package/lib/assets/.claude/commands/check-prompt.md +0 -461
  26. package/lib/assets/.claude/commands/commit-message.md +0 -348
  27. package/lib/assets/.claude/commands/context7.md +0 -50
  28. package/lib/assets/.claude/commands/design-patterns.md +0 -186
  29. package/lib/assets/.claude/commands/explain-code.md +0 -75
  30. package/lib/assets/.claude/commands/fix-error.md +0 -258
  31. package/lib/assets/.claude/commands/multi-role.md +0 -291
  32. package/lib/assets/.claude/commands/next.md +0 -136
  33. package/lib/assets/.claude/commands/pr-auto-update.md +0 -460
  34. package/lib/assets/.claude/commands/pr-create.md +0 -249
  35. package/lib/assets/.claude/commands/pr-feedback.md +0 -143
  36. package/lib/assets/.claude/commands/pr-issue.md +0 -78
  37. package/lib/assets/.claude/commands/pr-list.md +0 -66
  38. package/lib/assets/.claude/commands/pr-review.md +0 -142
  39. package/lib/assets/.claude/commands/refactor.md +0 -147
  40. package/lib/assets/.claude/commands/role-debate.md +0 -571
  41. package/lib/assets/.claude/commands/role-help.md +0 -276
  42. package/lib/assets/.claude/commands/role.md +0 -360
  43. package/lib/assets/.claude/commands/screenshot.md +0 -103
  44. package/lib/assets/.claude/commands/search-gemini.md +0 -66
  45. package/lib/assets/.claude/commands/semantic-commit.md +0 -1129
  46. package/lib/assets/.claude/commands/sequential-thinking.md +0 -90
  47. package/lib/assets/.claude/commands/show-plan.md +0 -59
  48. package/lib/assets/.claude/commands/smart-review.md +0 -174
  49. package/lib/assets/.claude/commands/spec.md +0 -559
  50. package/lib/assets/.claude/commands/style-ai-writing.md +0 -186
  51. package/lib/assets/.claude/commands/task.md +0 -223
  52. package/lib/assets/.claude/commands/tech-debt.md +0 -87
  53. package/lib/assets/.claude/commands/ultrathink.md +0 -65
  54. package/lib/assets/.claude/commands/update-dart-doc.md +0 -202
  55. package/lib/assets/.claude/commands/update-doc-string.md +0 -306
  56. package/lib/assets/.claude/commands/update-flutter-deps.md +0 -105
  57. package/lib/assets/.claude/commands/update-node-deps.md +0 -105
  58. package/lib/assets/.claude/commands/update-rust-deps.md +0 -107
  59. package/lib/assets/.claude/scripts/auto-comment.sh +0 -16
  60. package/lib/assets/.claude/scripts/check-ai-commit.sh +0 -20
  61. package/lib/assets/.claude/scripts/check-continue.sh +0 -97
  62. package/lib/assets/.claude/scripts/check-locales.sh +0 -1080
  63. package/lib/assets/.claude/scripts/check-project-plan.sh +0 -25
  64. package/lib/assets/.claude/scripts/debug-hook.sh +0 -7
  65. package/lib/assets/.claude/scripts/deny-check.sh +0 -69
  66. package/lib/assets/.claude/scripts/install.sh +0 -174
  67. package/lib/assets/.claude/scripts/ja-space-exclusions.json +0 -18
  68. package/lib/assets/.claude/scripts/ja-space-format.sh +0 -45
  69. package/lib/assets/.claude/scripts/preserve-file-permissions.sh +0 -83
  70. package/lib/assets/.claude/scripts/statusline.sh +0 -153
  71. /package/lib/assets/{app → .claude/agents/roles}/.gitkeep +0 -0
@@ -1,348 +0,0 @@
1
- ## Commit Message
2
-
3
- ステージングされた変更(git diff --staged)から適切なコミットメッセージを生成します。git コマンドの実行は行わず、メッセージの生成とクリップボードへのコピーのみを行います。
4
-
5
- ### 使い方
6
-
7
- ```bash
8
- /commit-message [オプション]
9
- ```
10
-
11
- ### オプション
12
-
13
- - `--format <形式>` : メッセージ形式を指定(conventional, gitmoji, angular)
14
- - `--lang <言語>` : メッセージ言語を強制指定(en, ja)
15
- - `--breaking` : Breaking Change の検出と記載
16
-
17
- ### 基本例
18
-
19
- ```bash
20
- # ステージングされた変更からメッセージ生成(言語自動判定)
21
- # メイン候補が自動的にクリップボードにコピーされます
22
- /commit-message
23
-
24
- # 言語を強制的に指定
25
- /commit-message --lang ja
26
- /commit-message --lang en
27
-
28
- # Breaking Change を検出
29
- /commit-message --breaking
30
- ```
31
-
32
- ### 前提条件
33
-
34
- **重要**: このコマンドはステージングされた変更のみを分析します。事前に `git add` で変更をステージングしておく必要があります。
35
-
36
- ```bash
37
- # ステージングされていない場合は警告が表示されます
38
- $ /commit-message
39
- ステージングされた変更がありません。先に git add を実行してください。
40
- ```
41
-
42
- ### 自動クリップボード機能
43
-
44
- 生成されたメイン候補は `git commit -m "メッセージ"` の完全な形式で自動的にクリップボードにコピーされます。ターミナルでそのまま貼り付けて実行できます。
45
-
46
- **実装時の注意**:
47
-
48
- - コミットコマンドを `pbcopy` に渡す際は、メッセージ出力とは別プロセスで実行すること
49
- - `echo` の代わりに `printf` を使用して末尾の改行を避けること
50
-
51
- ### プロジェクト規約の自動検出
52
-
53
- **重要**: プロジェクト独自の規約が存在する場合は、それを優先します。
54
-
55
- #### 1. CommitLint 設定の確認
56
-
57
- 以下のファイルから設定を自動検出:
58
-
59
- - `commitlint.config.js`
60
- - `commitlint.config.mjs`
61
- - `commitlint.config.cjs`
62
- - `commitlint.config.ts`
63
- - `.commitlintrc.js`
64
- - `.commitlintrc.json`
65
- - `.commitlintrc.yml`
66
- - `.commitlintrc.yaml`
67
- - `package.json` の `commitlint` セクション
68
-
69
- ```bash
70
- # 設定ファイルの検索
71
- find . -name "commitlint.config.*" -o -name ".commitlintrc.*" | head -1
72
- ```
73
-
74
- #### 2. カスタムタイプの検出
75
-
76
- プロジェクト独自のタイプ例:
77
-
78
- ```javascript
79
- // commitlint.config.mjs
80
- export default {
81
- extends: ['@commitlint/config-conventional'],
82
- rules: {
83
- 'type-enum': [
84
- 2,
85
- 'always',
86
- [
87
- 'feat', 'fix', 'docs', 'style', 'refactor', 'test', 'chore',
88
- 'wip', // 作業中
89
- 'hotfix', // 緊急修正
90
- 'release', // リリース
91
- 'deps', // 依存関係更新
92
- 'config' // 設定変更
93
- ]
94
- ]
95
- }
96
- }
97
- ```
98
-
99
- #### 3. 言語設定の検出
100
-
101
- ```javascript
102
- // プロジェクトが日本語メッセージを使用する場合
103
- export default {
104
- rules: {
105
- 'subject-case': [0], // 日本語対応のため無効化
106
- 'subject-max-length': [2, 'always', 72] // 日本語は文字数制限を調整
107
- }
108
- }
109
- ```
110
-
111
- #### 4. 既存コミット履歴の分析
112
-
113
- ```bash
114
- # 最近のコミットから使用パターンを学習
115
- git log --oneline -50 --pretty=format:"%s"
116
-
117
- # 使用タイプ統計
118
- git log --oneline -100 --pretty=format:"%s" | \
119
- grep -oE '^[a-z]+(\([^)]+\))?' | \
120
- sort | uniq -c | sort -nr
121
- ```
122
-
123
- ### 言語の自動判定
124
-
125
- 以下の条件で自動的に日本語/英語を切り替えます:
126
-
127
- 1. **CommitLint 設定**から言語設定を確認
128
- 2. **git log 分析**による自動判定
129
- 3. **プロジェクトファイル**の言語設定
130
- 4. **変更ファイル内**のコメント・文字列分析
131
-
132
- デフォルトは英語。日本語プロジェクトと判定された場合は日本語で生成。
133
-
134
- ### メッセージ形式
135
-
136
- #### Conventional Commits (デフォルト)
137
-
138
- ```
139
- <type>: <description>
140
- ```
141
-
142
- **重要**: 必ず 1 行のコミットメッセージを生成します。複数行のメッセージは生成しません。
143
-
144
- **注意**: プロジェクト独自の規約がある場合は、それを優先します。
145
-
146
- ### 標準タイプ
147
-
148
- **必須タイプ**:
149
-
150
- - `feat`: 新機能(ユーザーに見える機能追加)
151
- - `fix`: バグ修正
152
-
153
- **任意タイプ**:
154
-
155
- - `build`: ビルドシステムや外部依存関係の変更
156
- - `chore`: その他の変更(リリースに影響しない)
157
- - `ci`: CI 設定ファイルやスクリプトの変更
158
- - `docs`: ドキュメントのみの変更
159
- - `style`: コードの意味に影響しない変更(空白、フォーマット、セミコロンなど)
160
- - `refactor`: バグ修正や機能追加を伴わないコード変更
161
- - `perf`: パフォーマンス改善
162
- - `test`: テストの追加や修正
163
-
164
- ### 出力例(英語プロジェクト)
165
-
166
- ```bash
167
- $ /commit-message
168
-
169
- 📝 コミットメッセージ提案
170
- ━━━━━━━━━━━━━━━━━━━━━━━━━
171
-
172
- ✨ メイン候補:
173
- feat: implement JWT-based authentication system
174
-
175
- 📋 代替案:
176
- 1. feat: add user authentication with JWT tokens
177
- 2. fix: resolve token validation error in auth middleware
178
- 3. refactor: extract auth logic into separate module
179
-
180
- ✅ `git commit -m "feat: implement JWT-based authentication system"` をクリップボードにコピーしました
181
- ```
182
-
183
- **実装例(修正版)**:
184
-
185
- ```bash
186
- # コミットコマンドを先にクリップボードにコピー(改行なし)
187
- printf 'git commit -m "%s"' "$COMMIT_MESSAGE" | pbcopy
188
-
189
- # その後でメッセージを表示
190
- cat << EOF
191
- 📝 コミットメッセージ提案
192
- ━━━━━━━━━━━━━━━━━━━━━━━━━
193
-
194
- ✨ メイン候補:
195
- $COMMIT_MESSAGE
196
-
197
- 📋 代替案:
198
- 1. ...
199
- 2. ...
200
- 3. ...
201
-
202
- ✅ \`git commit -m "$COMMIT_MESSAGE"\` をクリップボードにコピーしました
203
- EOF
204
- ```
205
-
206
- ### 出力例(日本語プロジェクト)
207
-
208
- ```bash
209
- $ /commit-message
210
-
211
- 📝 コミットメッセージ提案
212
- ━━━━━━━━━━━━━━━━━━━━━━━━━
213
-
214
- ✨ メイン候補:
215
- feat: JWT 認証システムを実装
216
-
217
- 📋 代替案:
218
- 1. feat: JWT トークンによるユーザー認証を追加
219
- 2. fix: 認証ミドルウェアのトークン検証エラーを解決
220
- 3. docs: 認証ロジックを別モジュールに分離
221
-
222
- ✅ `git commit -m "feat: JWT 認証システムを実装"` をクリップボードにコピーしました
223
- ```
224
-
225
- ### 動作概要
226
-
227
- 1. **分析**: `git diff --staged` の内容を分析
228
- 2. **生成**: 適切なコミットメッセージを生成
229
- 3. **コピー**: メイン候補を自動的にクリップボードへコピー
230
-
231
- **注意**: このコマンドは git add や git commit を実行しません。コミットメッセージの生成とクリップボードへのコピーのみを行います。
232
-
233
- ### スマート機能
234
-
235
- #### 1. 変更内容の自動分類(ステージングされたファイルのみ)
236
-
237
- - 新ファイル追加 → `feat`
238
- - エラー修正パターン → `fix`
239
- - テストファイルのみ → `test`
240
- - 設定ファイル変更 → `chore`
241
- - README/docs 更新 → `docs`
242
-
243
- #### 2. プロジェクト規約の自動検出
244
-
245
- - `.gitmessage` ファイル
246
- - `CONTRIBUTING.md` 内の規約
247
- - 過去のコミット履歴パターン
248
-
249
- #### 3. 言語判定の詳細(ステージングされた変更のみ)
250
-
251
- ```bash
252
- # 判定基準(優先順位)
253
- 1. git diff --staged の内容から言語を判定
254
- 2. ステージングされたファイルのコメント分析
255
- 3. git log --oneline -20 の言語分析
256
- 4. プロジェクトのメイン言語設定
257
- ```
258
-
259
- #### 4. ステージング分析の詳細
260
-
261
- 分析に使用する情報(読み取りのみ):
262
-
263
- - `git diff --staged --name-only` - 変更ファイル一覧
264
- - `git diff --staged` - 実際の変更内容
265
- - `git status --porcelain` - ファイル状態
266
-
267
- ### Breaking Change 検出時
268
-
269
- API の破壊的変更がある場合:
270
-
271
- **英語**:
272
-
273
- ```bash
274
- feat!: change user API response format
275
-
276
- BREAKING CHANGE: user response now includes additional metadata
277
- ```
278
-
279
- または
280
-
281
- ```bash
282
- feat(api)!: change authentication flow
283
- ```
284
-
285
- **日本語**:
286
-
287
- ```bash
288
- feat!: ユーザー API レスポンス形式を変更
289
-
290
- BREAKING CHANGE: レスポンスに追加のメタデータが含まれるようになりました
291
- ```
292
-
293
- または
294
-
295
- ```bash
296
- feat(api)!: 認証フローを変更
297
- ```
298
-
299
- ### ベストプラクティス
300
-
301
- 1. **プロジェクトに合わせる**: 既存のコミット言語に従う
302
- 2. **簡潔性**: 50 文字以内で明確に
303
- 3. **一貫性**: 混在させない(英語なら英語で統一)
304
- 4. **OSS**: オープンソースなら英語推奨
305
- 5. **1 行厳守**: 必ず 1 行のコミットメッセージにする(詳細な説明が必要な場合は PR で補足)
306
-
307
- ### よくあるパターン
308
-
309
- **英語**:
310
-
311
- ```
312
- feat: add user registration endpoint
313
- fix: resolve memory leak in cache manager
314
- docs: update API documentation
315
- ```
316
-
317
- **日本語**:
318
-
319
- ```
320
- feat: ユーザー登録エンドポイントを追加
321
- fix: キャッシュマネージャーのメモリリークを解決
322
- docs: API ドキュメントを更新
323
- ```
324
-
325
- ### Claude との連携
326
-
327
- ```bash
328
- # ステージングされた変更と組み合わせて使用
329
- git add -p # インタラクティブにステージング
330
- /commit-message
331
- 「最適なコミットメッセージを生成して」
332
-
333
- # 特定のファイルだけステージングして分析
334
- git add src/auth/*.js
335
- /commit-message --lang en
336
- 「認証関連の変更に適したメッセージを生成して」
337
-
338
- # Breaking Change の検出と対応
339
- git add -A
340
- /commit-message --breaking
341
- 「破壊的変更がある場合は適切にマークして」
342
- ```
343
-
344
- ### 注意事項
345
-
346
- - **前提条件**: 変更は事前に `git add` でステージングされている必要があります
347
- - **制限事項**: ステージングされていない変更は分析対象外です
348
- - **推奨事項**: プロジェクトの既存コミット規約を事前に確認してください
@@ -1,50 +0,0 @@
1
- ## Context7
2
-
3
- 技術ドキュメントを MCP の Context7 で検索します。
4
-
5
- ### 使い方
6
-
7
- ```bash
8
- # Claude に依頼する形式
9
- 「context7 で [検索キーワード] について検索して」
10
- ```
11
-
12
- ### 基本例
13
-
14
- ```bash
15
- # React hooks の調査
16
- 「context7 で React hooks について検索して」
17
-
18
- # エラー解決方法の検索
19
- 「context7 で TypeScript の型エラーについて調べて」
20
- ```
21
-
22
- ### Claude との連携
23
-
24
- ```bash
25
- # 技術調査の依頼
26
- 「context7 で Rust の所有権システムについて調べて、初心者向けに解説して」
27
-
28
- # エラー解決の依頼
29
- 「context7 で Python の ImportError の一般的な原因と解決方法を検索して」
30
-
31
- # ベストプラクティスの確認
32
- 「context7 で React のパフォーマンス最適化のベストプラクティスを探して」
33
- ```
34
-
35
- ### 詳細例
36
-
37
- ```bash
38
- # 複数の観点から調査
39
- 「context7 で GraphQL について以下の観点で調べて:
40
- 1. 基本的な概念と REST API との違い
41
- 2. 実装方法とベストプラクティス
42
- 3. よくある問題と解決方法」
43
-
44
- # 特定のバージョンや環境での調査
45
- 「context7 で Next.js 14 の新機能について検索して、App Router の使い方を中心に説明して」
46
- ```
47
-
48
- ### 注意事項
49
-
50
- Context7 で情報が見つからない場合は、Claude が自動的に Web 検索など他の方法を提案します。
@@ -1,186 +0,0 @@
1
- ## Design Patterns
2
-
3
- コードベースに適用可能なデザインパターンを提案し、SOLID 原則の遵守状況を評価します。
4
-
5
- ### 使い方
6
-
7
- ```bash
8
- /design-patterns [分析対象] [オプション]
9
- ```
10
-
11
- ### オプション
12
-
13
- - `--suggest` : 適用可能なパターンを提案(デフォルト)
14
- - `--analyze` : 既存パターンの使用状況を分析
15
- - `--refactor` : リファクタリング案を生成
16
- - `--solid` : SOLID 原則の遵守状況をチェック
17
- - `--anti-patterns` : アンチパターンを検出
18
-
19
- ### 基本例
20
-
21
- ```bash
22
- # プロジェクト全体のパターン分析
23
- /design-patterns
24
-
25
- # 特定ファイルへのパターン提案
26
- /design-patterns src/services/user.js --suggest
27
-
28
- # SOLID 原則チェック
29
- /design-patterns --solid
30
-
31
- # アンチパターン検出
32
- /design-patterns --anti-patterns
33
- ```
34
-
35
- ### 分析カテゴリ
36
-
37
- #### 1. 生成に関するパターン
38
-
39
- - **Factory Pattern**: オブジェクト生成の抽象化
40
- - **Builder Pattern**: 複雑なオブジェクトの段階的構築
41
- - **Singleton Pattern**: インスタンスの一意性保証
42
- - **Prototype Pattern**: オブジェクトのクローン生成
43
-
44
- #### 2. 構造に関するパターン
45
-
46
- - **Adapter Pattern**: インターフェースの変換
47
- - **Decorator Pattern**: 機能の動的追加
48
- - **Facade Pattern**: 複雑なサブシステムの簡略化
49
- - **Proxy Pattern**: オブジェクトへのアクセス制御
50
-
51
- #### 3. 振る舞いに関するパターン
52
-
53
- - **Observer Pattern**: イベント通知の実装
54
- - **Strategy Pattern**: アルゴリズムの切り替え
55
- - **Command Pattern**: 操作のカプセル化
56
- - **Iterator Pattern**: コレクションの走査
57
-
58
- ### SOLID 原則チェック項目
59
-
60
- ```
61
- S - Single Responsibility Principle (単一責任の原則)
62
- O - Open/Closed Principle (開放閉鎖の原則)
63
- L - Liskov Substitution Principle (リスコフの置換原則)
64
- I - Interface Segregation Principle (インターフェース分離の原則)
65
- D - Dependency Inversion Principle (依存性逆転の原則)
66
- ```
67
-
68
- ### 出力例
69
-
70
- ```
71
- デザインパターン分析レポート
72
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
73
-
74
- 現在使用中のパターン
75
- ├─ Observer Pattern: EventEmitter (12 箇所)
76
- ├─ Factory Pattern: UserFactory (3 箇所)
77
- ├─ Singleton Pattern: DatabaseConnection (1 箇所)
78
- └─ Strategy Pattern: PaymentProcessor (5 箇所)
79
-
80
- 推奨パターン
81
- ├─ [HIGH] Repository Pattern
82
- │ └─ 対象: src/models/*.js
83
- │ └─ 理由: データアクセスロジックの分離
84
- │ └─ 例:
85
- │ class UserRepository {
86
- │ async findById(id) { ... }
87
- │ async save(user) { ... }
88
- │ }
89
-
90
- ├─ [MED] Command Pattern
91
- │ └─ 対象: src/api/handlers/*.js
92
- │ └─ 理由: リクエスト処理の統一化
93
-
94
- └─ [LOW] Decorator Pattern
95
- └─ 対象: src/middleware/*.js
96
- └─ 理由: 機能の組み合わせ改善
97
-
98
- SOLID 原則違反
99
- ├─ [S] UserService: 認証と権限管理の両方を担当
100
- ├─ [O] PaymentGateway: 新決済手段追加時に修正必要
101
- ├─ [D] EmailService: 具象クラスに直接依存
102
- └─ [I] IDataStore: 使用されないメソッドを含む
103
-
104
- リファクタリング提案
105
- 1. UserService を認証と権限管理に分割
106
- 2. PaymentStrategy インターフェースの導入
107
- 3. EmailService インターフェースの定義
108
- 4. IDataStore を用途別に分離
109
- ```
110
-
111
- ### 高度な使用例
112
-
113
- ```bash
114
- # パターン適用の影響分析
115
- /design-patterns --impact-analysis Repository
116
-
117
- # 特定パターンの実装例生成
118
- /design-patterns --generate Factory --for src/models/Product.js
119
-
120
- # パターンの組み合わせ提案
121
- /design-patterns --combine --context "API with caching"
122
-
123
- # アーキテクチャパターンの評価
124
- /design-patterns --architecture MVC
125
- ```
126
-
127
- ### パターン適用例
128
-
129
- #### Before (問題のあるコード)
130
-
131
- ```javascript
132
- class OrderService {
133
- processOrder(order, paymentType) {
134
- if (paymentType === "credit") {
135
- // クレジットカード処理
136
- } else if (paymentType === "paypal") {
137
- // PayPal 処理
138
- }
139
- // 他の決済方法...
140
- }
141
- }
142
- ```
143
-
144
- #### After (Strategy Pattern 適用)
145
-
146
- ```javascript
147
- // 戦略インターフェース
148
- class PaymentStrategy {
149
- process(amount) {
150
- throw new Error("Must implement process method");
151
- }
152
- }
153
-
154
- // 具象戦略
155
- class CreditCardPayment extends PaymentStrategy {
156
- process(amount) {
157
- /* 実装 */
158
- }
159
- }
160
-
161
- // コンテキスト
162
- class OrderService {
163
- constructor(paymentStrategy) {
164
- this.paymentStrategy = paymentStrategy;
165
- }
166
-
167
- processOrder(order) {
168
- this.paymentStrategy.process(order.total);
169
- }
170
- }
171
- ```
172
-
173
- ### アンチパターン検出
174
-
175
- - **God Object**: 過度に多くの責務を持つクラス
176
- - **Spaghetti Code**: 制御フローが複雑に絡み合ったコード
177
- - **Copy-Paste Programming**: 重複コードの過度な使用
178
- - **Magic Numbers**: ハードコードされた定数
179
- - **Callback Hell**: 深くネストしたコールバック
180
-
181
- ### ベストプラクティス
182
-
183
- 1. **段階的適用**: 一度に多くのパターンを適用しない
184
- 2. **必要性の検証**: パターンは問題解決の手段であり目的ではない
185
- 3. **チーム合意**: パターン適用前にチームで議論
186
- 4. **ドキュメント化**: 適用したパターンの意図を記録
@@ -1,75 +0,0 @@
1
- ## Code Explain
2
-
3
- コードの動作を詳しく解説します。
4
-
5
- ### 使い方
6
-
7
- ```bash
8
- # ファイル内容を表示して Claude に依頼
9
- cat <file>
10
- 「このコードの動作を解説して」
11
- ```
12
-
13
- ### 基本例
14
-
15
- ```bash
16
- # Rust の所有権を理解
17
- cat main.rs
18
- 「Rust の所有権とライフタイムの観点から解説して」
19
-
20
- # アルゴリズムの解説
21
- grep -A 50 "quicksort" sort.rs
22
- 「このソートアルゴリズムの仕組みと計算量を解説して」
23
-
24
- # デザインパターンの説明
25
- cat factory.rs
26
- 「使用されているデザインパターンとその利点を説明して」
27
- ```
28
-
29
- ### Claude との連携
30
-
31
- ```bash
32
- # 初心者向け解説
33
- cat complex_function.py
34
- 「このコードを初心者にもわかりやすく 1 行ずつ解説して」
35
-
36
- # パフォーマンス分析
37
- cat algorithm.rs
38
- 「このコードのパフォーマンス上の問題点と改善案を提示して」
39
-
40
- # 図解付き説明
41
- cat state_machine.js
42
- 「このコードの処理の流れを ASCII アートの図解付きで説明して」
43
-
44
- # セキュリティレビュー
45
- cat auth_handler.go
46
- 「このコードのセキュリティ上の懸念点を指摘して」
47
- ```
48
-
49
- ### 詳細例
50
-
51
- ```bash
52
- # 複雑なロジックの解説
53
- cat recursive_parser.rs
54
- 「この再帰パーサーの動作を以下の観点で解説して:
55
- 1. 全体的な処理フロー
56
- 2. 各関数の役割と責任
57
- 3. エッジケースの処理
58
- 4. 改善可能な点」
59
-
60
- # 非同期処理の解説
61
- cat async_handler.ts
62
- 「この非同期処理について以下を解説して:
63
- 1. Promise チェーンの流れ
64
- 2. エラーハンドリングの仕組み
65
- 3. 並行処理の有無
66
- 4. デッドロックの可能性」
67
-
68
- # アーキテクチャの説明
69
- ls -la src/ && cat src/main.rs src/lib.rs
70
- 「このプロジェクトのアーキテクチャとモジュール構成を解説して」
71
- ```
72
-
73
- ### 注意事項
74
-
75
- コード解説では、単に動作を説明するだけでなく、なぜそのような実装になっているか、どのような利点があるか、潜在的な問題点は何かといった深い洞察も提供します。