@k2works/claude-code-booster 0.2.1 → 0.4.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/lib/assets/.claude/README.md +2 -0
- package/lib/assets/.claude/commands/dev.md +105 -0
- package/lib/assets/.claude/commands/ops.md +508 -0
- package/lib/assets/.claude/commands/plan.md +7 -2
- 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 +570 -0
- 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 -0
- 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 +704 -0
- package/lib/assets/docs/reference//351/226/213/347/231/272/343/202/254/343/202/244/343/203/211.md +39 -205
- 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 +5 -0
- package/lib/assets/scripts/journal.js +17 -7
- package/package.json +1 -1
package/lib/assets/docs/reference//351/226/213/347/231/272/343/202/254/343/202/244/343/203/211.md
CHANGED
|
@@ -115,6 +115,40 @@ ucc --> sm : "状態"
|
|
|
115
115
|
|
|
116
116
|
要件定義の詳細は[要件定義ガイド](要件定義ガイド.md)を参照
|
|
117
117
|
|
|
118
|
+
### 機能要件
|
|
119
|
+
|
|
120
|
+
#### アーキテクチャ設計
|
|
121
|
+
|
|
122
|
+
アーキテクチャ設計の詳細は [アーキテクチャ設計ガイド](アーキテクチャ設計ガイド.md) を参照
|
|
123
|
+
|
|
124
|
+
#### データモデル設計
|
|
125
|
+
|
|
126
|
+
データモデル設計の詳細は [データモデル設計ガイド](データモデル設計ガイド.md) を参照
|
|
127
|
+
|
|
128
|
+
#### ドメインモデル設計
|
|
129
|
+
|
|
130
|
+
ドメインモデル設計の詳細は [ドメインモデル設計ガイド](ドメインモデル設計ガイド.md) を参照
|
|
131
|
+
|
|
132
|
+
#### UI設計
|
|
133
|
+
|
|
134
|
+
UI設計の詳細は [UI設計ガイド](UI設計ガイド.md) を参照
|
|
135
|
+
|
|
136
|
+
### 非機能要件
|
|
137
|
+
|
|
138
|
+
非機能要件の詳細は [非機能要件ガイド](非機能要件定義ガイド.md) を参照
|
|
139
|
+
|
|
140
|
+
#### テスト戦略
|
|
141
|
+
|
|
142
|
+
テスト戦略の詳細は [テスト戦略ガイド](テスト戦略ガイド.md) を参照
|
|
143
|
+
|
|
144
|
+
#### 非機能要件定義
|
|
145
|
+
|
|
146
|
+
非機能要件定義は [非機能要件定義ガイド](非機能要件定義ガイド.md) を参照
|
|
147
|
+
|
|
148
|
+
#### 運用要件定義
|
|
149
|
+
|
|
150
|
+
運用要件定義は [運用要件定義ガイド](運用要件定義ガイド.md) を参照
|
|
151
|
+
|
|
118
152
|
### ユースケース・ユーザーストーリー
|
|
119
153
|
|
|
120
154
|
ユースケース・ユーザーストーリーの詳細は[ユースケース作成ガイド](ユースケース作成ガイド.md)を参照
|
|
@@ -151,49 +185,15 @@ state イテレーション {
|
|
|
151
185
|
計画づくりの詳細は [リリース・イテレーション計画ガイド](リリース・イテレーション計画ガイド.md) を参照。
|
|
152
186
|
|
|
153
187
|
|
|
154
|
-
### 機能要件
|
|
155
|
-
|
|
156
|
-
#### アーキテクチャ設計
|
|
157
|
-
|
|
158
|
-
アーキテクチャ設計の詳細は [アーキテクチャ設計ガイド](アーキテクチャ設計ガイド.md) を参照
|
|
159
|
-
|
|
160
|
-
#### データモデル設計
|
|
161
|
-
|
|
162
|
-
データモデル設計の詳細は [データモデル設計ガイド](データモデル設計ガイド.md) を参照
|
|
163
|
-
|
|
164
|
-
#### ドメインモデル設計
|
|
165
|
-
|
|
166
|
-
ドメインモデル設計の詳細は [ドメインモデル設計ガイド](ドメインモデル設計ガイド.md) を参照
|
|
167
|
-
|
|
168
|
-
#### UI設計
|
|
169
|
-
|
|
170
|
-
UI設計の詳細は [UI設計ガイド](UI設計ガイド.md) を参照
|
|
171
|
-
|
|
172
|
-
### 非機能要件
|
|
173
|
-
|
|
174
|
-
非機能要件の詳細は [非機能要件ガイド](非機能要件定義ガイド.md) を参照
|
|
175
|
-
|
|
176
|
-
#### テスト戦略
|
|
177
|
-
|
|
178
|
-
テスト戦略の詳細は [テスト戦略ガイド](テスト戦略ガイド.md) を参照
|
|
179
|
-
|
|
180
|
-
#### 非機能要件定義
|
|
181
|
-
|
|
182
|
-
非機能要件定義は [非機能要件定義ガイド](非機能要件定義ガイド.md) を参照
|
|
183
|
-
|
|
184
|
-
#### 運用要件定義
|
|
185
|
-
|
|
186
|
-
運用要件定義は [運用要件定義ガイド](運用要件定義ガイド.md) を参照
|
|
187
|
-
|
|
188
188
|
## 開発
|
|
189
189
|
|
|
190
190
|
```plantuml
|
|
191
191
|
@startuml
|
|
192
192
|
|
|
193
193
|
[*] --> イテレーション計画
|
|
194
|
-
イテレーション計画 -->
|
|
195
|
-
|
|
196
|
-
|
|
194
|
+
イテレーション計画 --> ユースケース作成
|
|
195
|
+
ユースケース作成 --> ユーザーストーリー作成
|
|
196
|
+
ユーザーストーリー作成 --> コーディングとテスト
|
|
197
197
|
アーキテクチャ設計 --> コーディングとテスト
|
|
198
198
|
コーディングとテスト --> アーキテクチャ設計
|
|
199
199
|
データモデル設計 --> コーディングとテスト
|
|
@@ -202,7 +202,7 @@ UI設計の詳細は [UI設計ガイド](UI設計ガイド.md) を参照
|
|
|
202
202
|
コーディングとテスト --> ドメインモデル設計
|
|
203
203
|
コーディングとテスト --> ユーザーインターフェース設計
|
|
204
204
|
ユーザーインターフェース設計 --> コーディングとテスト
|
|
205
|
-
コーディングとテスト -->
|
|
205
|
+
コーディングとテスト --> ユーザーストーリー作成
|
|
206
206
|
コーディングとテスト --> イテレーションレビュー
|
|
207
207
|
イテレーションレビュー --> イテレーション計画
|
|
208
208
|
イテレーションレビュー --> [*]
|
|
@@ -210,173 +210,7 @@ UI設計の詳細は [UI設計ガイド](UI設計ガイド.md) を参照
|
|
|
210
210
|
@enduml
|
|
211
211
|
```
|
|
212
212
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
1. インサイドアウトアプローチ
|
|
216
|
-
- データモデルから実装を開始
|
|
217
|
-
- ドメイン駆動設計に適合
|
|
218
|
-
- テストファーストな開発
|
|
219
|
-
|
|
220
|
-
2. アウトサイドインアプローチ
|
|
221
|
-
- UIから実装を開始
|
|
222
|
-
- プロトタイプ駆動開発に適合
|
|
223
|
-
- モックを活用した開発
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
```plantuml
|
|
227
|
-
@startuml
|
|
228
|
-
start
|
|
229
|
-
:ユーザーストーリー;
|
|
230
|
-
if (CRUD実装済み?) then (はい)
|
|
231
|
-
:ドメインモデル;
|
|
232
|
-
:アウトサイドイン;
|
|
233
|
-
else (いいえ)
|
|
234
|
-
:貧血ドメインモデル;
|
|
235
|
-
:インサイドサイドアウト;
|
|
236
|
-
endif
|
|
237
|
-
if (API実装済み?) then (はい)
|
|
238
|
-
:インサイドサイドアウト;
|
|
239
|
-
else (いいえ)
|
|
240
|
-
:アウトサイドイン;
|
|
241
|
-
endif
|
|
242
|
-
stop
|
|
243
|
-
@enduml
|
|
244
|
-
```
|
|
245
|
-
#### インサイドアウト
|
|
246
|
-
|
|
247
|
-
```plantuml
|
|
248
|
-
@startuml
|
|
249
|
-
start
|
|
250
|
-
:データベース;
|
|
251
|
-
:インフラストラクチャ層;
|
|
252
|
-
:ドメイン層;
|
|
253
|
-
:サービス層;
|
|
254
|
-
:プレゼンテーション層;
|
|
255
|
-
stop
|
|
256
|
-
@enduml
|
|
257
|
-
```
|
|
258
|
-
|
|
259
|
-
```plantuml
|
|
260
|
-
@startuml
|
|
261
|
-
[*] --> コーディングとテスト
|
|
262
|
-
コーディングとテスト --> TODO : TODOリストを作成
|
|
263
|
-
TODO --> Red : 最小限の実装
|
|
264
|
-
Red --> Green : テストを書く
|
|
265
|
-
Green --> Refactor : リファクタリング
|
|
266
|
-
Refactor --> Red : 次の実装
|
|
267
|
-
Red : 動作の確認
|
|
268
|
-
Green : テストが成功
|
|
269
|
-
Refactor : コードの重複を除去してリファクタリング
|
|
270
|
-
Refactor --> TODO : リファクタリングが完了したらTODOリストに戻る
|
|
271
|
-
TODO --> コーディングとテスト : TODOリストが空になるまで繰り返す
|
|
272
|
-
コーディングとテスト --> イテレーションレビュー
|
|
273
|
-
@enduml
|
|
274
|
-
```
|
|
275
|
-
|
|
276
|
-
#### アウトサイドイン
|
|
277
|
-
|
|
278
|
-
```plantuml
|
|
279
|
-
@startuml
|
|
280
|
-
start
|
|
281
|
-
:プレゼンテーション層;
|
|
282
|
-
:サービス層;
|
|
283
|
-
:ドメイン層;
|
|
284
|
-
:インフラストラクチャ層;
|
|
285
|
-
:データベース;
|
|
286
|
-
stop
|
|
287
|
-
@enduml
|
|
288
|
-
```
|
|
289
|
-
|
|
290
|
-
```plantuml
|
|
291
|
-
@startuml
|
|
292
|
-
[*] --> コーディングとテスト
|
|
293
|
-
コーディングとテスト --> TODO : TODOリストを作成
|
|
294
|
-
TODO --> Red : テストを書く
|
|
295
|
-
Red --> Green : 最小限の実装
|
|
296
|
-
Green --> Refactor : リファクタリング
|
|
297
|
-
Refactor --> Red : 次のテストを書く
|
|
298
|
-
Red : テストに失敗
|
|
299
|
-
Green : テストに通る最小限の実装
|
|
300
|
-
Refactor : コードの重複を除去してリファクタリング
|
|
301
|
-
Refactor --> TODO : リファクタリングが完了したらTODOリストに戻る
|
|
302
|
-
TODO --> コーディングとテスト : TODOリストが空になるまで繰り返す
|
|
303
|
-
コーディングとテスト --> イテレーションレビュー
|
|
304
|
-
@enduml
|
|
305
|
-
```
|
|
306
|
-
|
|
307
|
-
### コーディングとテスト
|
|
308
|
-
|
|
309
|
-
```plantuml
|
|
310
|
-
@startuml "イテレーション開発プロセス"
|
|
311
|
-
|
|
312
|
-
start
|
|
313
|
-
|
|
314
|
-
partition "イテレーション開始" {
|
|
315
|
-
}
|
|
316
|
-
|
|
317
|
-
repeat :TODO確認;
|
|
318
|
-
partition "TDD実装サイクル" {
|
|
319
|
-
repeat
|
|
320
|
-
:TODO選択;
|
|
321
|
-
|
|
322
|
-
repeat
|
|
323
|
-
:失敗テスト作成 (Red);
|
|
324
|
-
:最小実装 (Green);
|
|
325
|
-
:リファクタリング (Refactor);
|
|
326
|
-
:品質チェック;
|
|
327
|
-
if (品質OK?) then (yes)
|
|
328
|
-
:コミット;
|
|
329
|
-
else (no)
|
|
330
|
-
:修正;
|
|
331
|
-
endif
|
|
332
|
-
repeat while (TODO完了?)
|
|
333
|
-
partition "コードレビュー" {
|
|
334
|
-
}
|
|
335
|
-
repeat while (全TODO完了?)
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
if (イテレーション完了?) then (yes)
|
|
339
|
-
partition "受け入れ" {
|
|
340
|
-
partition "ユーザーレビュー" {
|
|
341
|
-
}
|
|
342
|
-
if (受け入れOK?) then (yes)
|
|
343
|
-
partition "ふりかえり" {
|
|
344
|
-
}
|
|
345
|
-
else (no)
|
|
346
|
-
partition "修正対応" {
|
|
347
|
-
}
|
|
348
|
-
endif
|
|
349
|
-
}
|
|
350
|
-
else (no)
|
|
351
|
-
partition "設計リファクタリング" {
|
|
352
|
-
partition "アーキテクチャリファクタリング" {
|
|
353
|
-
}
|
|
354
|
-
partition "データモデルリファクタリング" {
|
|
355
|
-
}
|
|
356
|
-
partition "ドメインモデルリファクタリング" {
|
|
357
|
-
}
|
|
358
|
-
partition "UIリファクタリング" {
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
|
-
endif
|
|
362
|
-
repeat while (次のTODO?)
|
|
363
|
-
|
|
364
|
-
stop
|
|
365
|
-
|
|
366
|
-
@enduml
|
|
367
|
-
```
|
|
368
|
-
- 必ずイテレーション単位で開発を行う
|
|
369
|
-
- 勝手に次のイテレーションに進まない
|
|
370
|
-
- コミットは必ずTODO単位で実施する
|
|
371
|
-
- コミットの前に必ず品質確認を実施する
|
|
372
|
-
- コミットメッセージはAngularのコミットメッセージの書き方を参考にする
|
|
373
|
-
- feat: 新機能の追加
|
|
374
|
-
- fix: バグ修正
|
|
375
|
-
- docs: ドキュメントの変更
|
|
376
|
-
- style: フォーマットやセミコロンの追加など、コードの動作に影響しない変更
|
|
377
|
-
- refactor: リファクタリング(バグ修正や機能追加ではない)
|
|
378
|
-
- test: テストコードの追加や修正
|
|
379
|
-
- chore: ビルドプロセスや補助ツールの変更
|
|
213
|
+
開発の詳細は [コーディングとテストガイド](コーディングとテストガイド.md) を参照
|
|
380
214
|
|
|
381
215
|
## 運用
|
|
382
216
|
|
|
@@ -21,6 +21,7 @@ dateCreated: 2025-09-09T03:26:59.844Z
|
|
|
21
21
|
**利害関係者と利益**:<そのユースケースに関する利害関係者と主な利益>
|
|
22
22
|
|
|
23
23
|
**事前条件**:<すでにそうなっていると想定している状態>
|
|
24
|
+
|
|
24
25
|
- xxxxx
|
|
25
26
|
- xxxxx
|
|
26
27
|
- xxxxx
|
|
@@ -32,20 +33,24 @@ dateCreated: 2025-09-09T03:26:59.844Z
|
|
|
32
33
|
**トリガー**:<何がユースケースを開発するか。時間イベントの場合もある>
|
|
33
34
|
|
|
34
35
|
**主成功シナリオ**:
|
|
36
|
+
|
|
35
37
|
<トリガーから目的の達成、事後処理までのシナリオのステップをここに記述する>
|
|
36
38
|
<ステップ番号><アクション記述>
|
|
37
39
|
|
|
38
40
|
**拡張**:
|
|
41
|
+
|
|
39
42
|
<拡張を1つずつここに記述する。それぞれで主成功シナリオのステップを参照する>
|
|
40
43
|
- <変更されたステップ><条件>:<アクションまたはサブユースケース>
|
|
41
44
|
- <変更されたステップ><条件>:<アクションまたはサブユースケース>
|
|
42
45
|
|
|
43
46
|
**技術およびデータのバリエーションリスト**:
|
|
47
|
+
|
|
44
48
|
<結果としてシナリオの分岐が起きるバリエーションをここに記述する>
|
|
45
49
|
<ステップ番号またはバリエーション番号><バリエーションのリスト>
|
|
46
50
|
<ステップ番号またはバリエーション番号><バリエーションのリスト>
|
|
47
51
|
|
|
48
52
|
**関連情報**:
|
|
53
|
+
|
|
49
54
|
<プロジェクトで必要な関連情報を何でも記述する>
|
|
50
55
|
|
|
51
56
|
---
|
|
@@ -4,6 +4,9 @@ import fs from 'fs';
|
|
|
4
4
|
import path from 'path';
|
|
5
5
|
import { execSync } from 'child_process';
|
|
6
6
|
|
|
7
|
+
// Increase buffer to safely handle large diffs/logs
|
|
8
|
+
const MAX_BUFFER = 256 * 1024 * 1024; // 256 MB
|
|
9
|
+
|
|
7
10
|
// Function to register the journal:generate task
|
|
8
11
|
export default function(gulp) {
|
|
9
12
|
// Helper function to generate journal for a specific date
|
|
@@ -16,7 +19,7 @@ export default function(gulp) {
|
|
|
16
19
|
const journalFile = path.join(journalDir, `${formattedDate}.md`);
|
|
17
20
|
|
|
18
21
|
// Get commits for this date
|
|
19
|
-
const commits = execSync(`git log --since="${dateStr} 00:00:00" --until="${dateStr} 23:59:59" --format="%h %s%n%b"`, { maxBuffer:
|
|
22
|
+
const commits = execSync(`git log --since="${dateStr} 00:00:00" --until="${dateStr} 23:59:59" --format="%h %s%n%b"`, { maxBuffer: MAX_BUFFER }).toString();
|
|
20
23
|
|
|
21
24
|
// Skip if no commits
|
|
22
25
|
if (!commits.trim()) {
|
|
@@ -25,23 +28,30 @@ export default function(gulp) {
|
|
|
25
28
|
}
|
|
26
29
|
|
|
27
30
|
// Get detailed changes for each commit on this date
|
|
28
|
-
const commitHashesOutput = execSync(`git log --since="${dateStr} 00:00:00" --until="${dateStr} 23:59:59" --format="%h"`, { maxBuffer:
|
|
31
|
+
const commitHashesOutput = execSync(`git log --since="${dateStr} 00:00:00" --until="${dateStr} 23:59:59" --format="%h"`, { maxBuffer: MAX_BUFFER }).toString();
|
|
29
32
|
const commitHashes = commitHashesOutput.split('\n').map(line => line.trim()).filter(Boolean);
|
|
30
33
|
|
|
31
34
|
const detailedCommits = [];
|
|
32
35
|
|
|
33
36
|
commitHashes.forEach(hash => {
|
|
34
37
|
// Get commit details
|
|
35
|
-
const commitMessage = execSync(`git show -s --format="%s%n%b" ${hash}`, { maxBuffer:
|
|
38
|
+
const commitMessage = execSync(`git show -s --format="%s%n%b" ${hash}`, { maxBuffer: MAX_BUFFER }).toString().trim();
|
|
36
39
|
|
|
37
40
|
// Get files changed
|
|
38
|
-
const filesChangedOutput = execSync(`git show --name-status ${hash}`, { maxBuffer:
|
|
41
|
+
const filesChangedOutput = execSync(`git show --name-status ${hash}`, { maxBuffer: MAX_BUFFER }).toString();
|
|
39
42
|
const filesChanged = filesChangedOutput.split('\n')
|
|
40
43
|
.map(line => line.trim())
|
|
41
44
|
.filter(line => /^[AMDRT]\s/.test(line));
|
|
42
45
|
|
|
43
|
-
// Get code changes (diff)
|
|
44
|
-
|
|
46
|
+
// Get code changes (diff) with robust handling for large diffs
|
|
47
|
+
let diff = '';
|
|
48
|
+
try {
|
|
49
|
+
diff = execSync(`git show ${hash} --color=never`, { maxBuffer: MAX_BUFFER }).toString();
|
|
50
|
+
} catch (e) {
|
|
51
|
+
// Fallback to a summary if diff is too large or any error occurs
|
|
52
|
+
const summary = execSync(`git show --stat --oneline ${hash} --color=never`, { maxBuffer: MAX_BUFFER }).toString();
|
|
53
|
+
diff = `[Diff too large or failed to load. Showing summary instead.]\n\n${summary}`;
|
|
54
|
+
}
|
|
45
55
|
|
|
46
56
|
detailedCommits.push({
|
|
47
57
|
hash,
|
|
@@ -144,7 +154,7 @@ export default function(gulp) {
|
|
|
144
154
|
}
|
|
145
155
|
|
|
146
156
|
// Get all commit dates
|
|
147
|
-
const datesOutput = execSync('git log --format=%ad --date=short').toString();
|
|
157
|
+
const datesOutput = execSync('git log --format=%ad --date=short', { maxBuffer: MAX_BUFFER }).toString();
|
|
148
158
|
const dates = [...new Set(datesOutput.split('\n').map(line => line.trim()).filter(Boolean))];
|
|
149
159
|
|
|
150
160
|
dates.forEach(dateStr => {
|