@unlaxer/dge-toolkit 2.3.0 → 2.3.2

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/install.sh CHANGED
@@ -42,6 +42,12 @@ else
42
42
  mkdir -p "${DGE_DIR}/flows"
43
43
  cp "${SRC}/flows/"*.yaml "${DGE_DIR}/flows/" 2>/dev/null || true
44
44
  fi
45
+ if [ -d "${SRC}/bin" ]; then
46
+ mkdir -p "${DGE_DIR}/bin"
47
+ cp "${SRC}/bin/"* "${DGE_DIR}/bin/" 2>/dev/null || true
48
+ chmod +x "${DGE_DIR}/bin/"* 2>/dev/null || true
49
+ echo " dge/bin/ created"
50
+ fi
45
51
  # Version tracking for updates
46
52
  SRC_VERSION="$(cat "${SRC}/version.txt" 2>/dev/null || echo "1.0.0")"
47
53
  echo "${SRC_VERSION}" > "${DGE_DIR}/version.txt"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unlaxer/dge-toolkit",
3
- "version": "2.3.0",
3
+ "version": "2.3.2",
4
4
  "description": "DGE (Dialogue-driven Gap Extraction) — 会話劇で設計の穴を発見するメソッドkit",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1,228 +1,67 @@
1
1
  <!-- DGE-toolkit (MIT License) -->
2
2
 
3
- # Skill: DGE Session 実行
3
+ # Skill: DGE Session
4
4
 
5
5
  ## Trigger
6
- - 「DGE して」「会話劇で見直して」「gap を探して」「壁打ちして」「ブレストして」
7
- - 「実装できるまで回して」(→ 自動反復モード)
6
+ 「DGE して」「壁打ち」「gap を探して」「ブレスト」「アイデア出して」「実装できるまで回して」
8
7
 
9
- ## 共通 MUST ルール(全 flow で必ず守る。3 個のみ)
10
- 1. **会話劇は保存(無条件)。** ユーザーに聞かず保存する。
11
- 2. **一覧(Gap/アイデア)を出力する。**
12
- 3. **一覧の後に番号付き選択肢を提示する。省略しない。** Gap の修正や実装に直接進まない。「どの Gap から修正しますか?」とは聞かない。
13
-
14
- 追加の MUST は flow YAML に定義されている。flow YAML がなければ上記 3 個のみ。
8
+ ## MUST3 個。これだけ守れ)
9
+ 1. **会話劇は無条件で保存。** ユーザーに聞かない。
10
+ 2. **一覧(Gap / アイデア)を出力。**
11
+ 3. **一覧の後に番号付き選択肢を提示。省略するな。** 「どの Gap から修正?」とは聞くな。
15
12
 
16
13
  ## 手順
17
14
 
18
- ### Step 0: flow 自動判定
19
-
20
- ユーザーの入力から flow を判定する:
21
-
22
- ```
23
- "DGE して" のみ / 短い指示 → ⚡ quick
24
- テンプレート名言及 / "詳しく" / "本格的に" / "Spec" → 🔍 design-review
25
- "ブレスト" / "アイデア" / "brainstorm" → 💡 brainstorm
26
- キャラ名のみ言及 → quick + キャラ変更
27
- 設計ドキュメント添付・参照あり → design-review
28
- ```
29
-
30
- 判定した flow を 1 行表示: `Flow: ⚡ クイック`
31
- `dge/flows/{flow}.yaml` があれば読み込む。なければ下記のデフォルト動作。
32
-
33
- ### Step 1: Kit 読み込み(全 flow 共通)
34
- 1. `dge/method.md` を読む(なければ install 案内)
35
- 2. `dge/characters/index.md` を読む(名前 + アイコン + 推奨組み合わせのみ。各キャラの prompt は個別ファイルから Step 4 で選択後に読む — lazy loading)
36
- 3. `dge/custom/characters/*.md` があれば **ファイル名と冒頭の name/icon のみ** 読む(Prompt Core は選択後)
37
- 4. `dge/patterns.md` を読む
38
- 5. `dge/flows/{判定した flow}.yaml` を読む。**YAML の must_rules, workflow, post_actions, auto_merge を実際に参照して動作を決定する。** YAML がなければ下記のデフォルト動作。
39
- 6. `dge/version.txt` があれば 1 行表示
40
- 7. **dge-tool 検出**: Bash で `dge-tool version` を実行。
41
- - 成功 → `🔧 Tool mode (dge-tool vX.X.X)` と表示
42
- - 失敗 → Skill mode(従来通り)
43
-
44
- ### Step 2: テーマ確認(全 flow 共通)
45
- 明確なら次へ。不明確なら掘り下げる。
46
-
47
- ### Step 3: テンプレート選択(design-review のみ)
48
- `dge/templates/` から選択。quick / brainstorm ではスキップ。
49
-
50
- ### Step 3.5: パターン選択(design-review のみ)
51
- プリセットを推奨。quick / brainstorm ではスキップ(自動選択)。
52
-
53
- ### Step 4: キャラクター提案
54
- - **quick**: 推奨セットを 1 行表示。確認は求めない。
55
- `キャラ: 今泉 + 千石 + 僕(変更したい場合は指示してください)`
56
- - **design-review / brainstorm**: 推奨セットを提示し確認を待つ。
57
-
58
- built-in + カスタムキャラの名前・アイコン一覧を表示(Step 1 で読み込み済み)。
59
-
60
- **キャラ確定後、選択された 3-5 名の個別ファイル(`dge/characters/{name}.md`)を読み込む(lazy loading)。** 19 キャラ全員の prompt を読む必要はない。選択されたキャラの prompt_core と personality のみ。
61
-
62
- ### Step 5: 会話劇生成(全 flow 共通)
63
- - flow の extract.marker を使う(デフォルト: `→ Gap 発見:`、brainstorm: `→ アイデア:`)
64
- - 先輩(ナレーション)で背景設定 → キャラ対話 → マーカー挿入
65
- - **auto_merge が true(デフォルト)の場合**: 会話劇生成と同時に、バックグラウンドで isolated subagent を起動して素の LLM レビューを開始する。subagent は `isolation: "worktree"` で DGE の context を持たない。会話劇が終わる頃には素のレビューも完了している。
66
- - auto_merge を OFF にしたい場合: 「マージなしで DGE して」と指示するか、flow YAML で `auto_merge: false` を設定
67
-
68
- ### Step 6: 構造化(flow による)
69
- - quick / design-review: Gap に Category + Severity を付与
70
- - brainstorm: アイデアに分類を付与(severity なし)
71
-
72
- ### Step 7: 保存(全 flow 共通、MUST)
73
-
74
- **Tool mode**: Bash で実行:
75
- ```
76
- echo "<session 全文>" | dge-tool save <output_dir>/<theme>.md
77
- ```
78
- → "SAVED: ..." が返れば成功。失敗したら Write ツールでフォールバック。
79
-
80
- **Skill mode**: Write ツールでファイル保存。
81
-
82
- flow の output_dir に保存(デフォルト: `dge/sessions/`)。
83
- プロジェクトファイルがあれば更新。
84
-
85
- ### Step 8: サマリー + 選択肢(全 flow 共通、MUST)
86
-
87
- ```
88
- ## DGE 結果サマリー
89
-
90
- **Flow**: [flow 名]
91
- **テーマ**: [テーマ]
92
-
93
- ### DGE の発見
94
- **Gap 数**: N 件(Critical: X / High: X / Medium: X)
95
-
96
- | # | Gap | Severity |
97
- |---|-----|----------|
98
- (主要なものを表示)
99
-
100
- ### 素の LLM の発見(auto_merge ON の場合)
101
- **Gap 数**: N 件(isolated subagent による独立レビュー)
102
-
103
- ### マージ結果(auto_merge ON の場合)
104
- | # | Gap | Source | Severity |
105
- |---|-----|--------|----------|
106
- | 1 | ... | DGE のみ | High |
107
- | 2 | ... | 両方 | Critical |
108
- | 3 | ... | 素のみ | Medium |
109
-
110
- DGE のみ: N 件(深い洞察) / 素のみ: N 件(網羅的) / 両方: N 件(確実に重要)
111
-
112
- **全文**: `[ファイルパス]`
113
- ```
114
-
115
- auto_merge OFF の場合はマージ結果を省略し、DGE の発見のみ表示。
116
-
117
- **auto_merge フォールバック**: subagent が失敗・タイムアウト(120 秒)した場合、「素の LLM レビューの取得に失敗しました」と 1 行表示し、DGE の結果のみでサマリーを出す。session は中断しない。
118
-
119
- 選択肢は flow YAML の post_actions から表示。デフォルト:
120
- ```
121
- 1. DGE を回す
122
- 2. 実装できるまで回す
123
- 3. 実装する
124
- 4. 後で
125
- ```
126
- auto_merge OFF の場合のみ追加: `5. 素の LLM でも回してマージ`
127
-
128
- **ユーザーの応答を待つ。**
129
-
130
- ### Step 9: ユーザーの判断に従う
131
-
132
- flow YAML の post_actions の id に応じて分岐:
133
-
134
- | id | アクション |
135
- |----|-----------|
136
- | dge_again | Step 9B(前回コンテキスト + TreeView) |
137
- | auto_iterate | Step 9A(自動反復) |
138
- | implement | Step 10(累積 Spec 化) |
139
- | merge_plain | Step 9C(subagent で素の LLM マージ) |
140
- | switch_full | flow を design-review に切替えて Step 3 から |
141
- | switch_review | flow を design-review に切替え |
142
- | review_ok | output_dir の該当ファイルを completed/ に移動 |
143
- | later | 終了 |
144
-
145
- ### Step 9A: 自動反復モード
146
- パターン自動ローテーション → 生成 → 保存 → 収束判定。
147
- 上限 5 回。+3 追加可能(hard limit 8)。収束で Step 10 へ。
148
- 自動反復中: 画面はサマリーのみ、ファイル保存は MUST。
149
-
150
- ### Step 9B: 前回コンテキスト + プロジェクトナビゲーション
151
- プロジェクトファイルがあれば TreeView 表示。なければ前回サマリー + 3 択。
152
-
153
- ### Step 9C: 素の LLM マージ(isolated subagent)
154
-
155
- **重要: DGE の結果を知らない独立した agent で素のレビューを行う。** これにより DGE の Gap を「補完する」バイアスを排除する。
156
-
157
- 1. **isolated subagent を起動**: Agent ツールで `isolation: "worktree"` を指定。
158
- DGE session の context を一切持たない別プロセスが実行する。
159
-
160
- subagent へのプロンプト:
161
- ```
162
- 以下の設計ドキュメントをレビューしてください。
163
- 問題点、考慮漏れ、矛盾を全て挙げてください。
164
- 各問題に Category と Severity (Critical / High / Medium / Low) をつけてください。
165
- テーブル形式で出力: | # | Gap | Category | Severity |
166
-
167
- [テーマの設計ドキュメント / コンテキスト]
168
- ```
169
-
170
- **subagent には DGE の Gap 一覧や会話劇を渡さない。** 完全に独立したレビュー。
15
+ ### Step 0: flow 判定
16
+ `dge/flows/` の YAML を読んで flow を決定。
17
+ - 「DGE して」のみ → ⚡ quick
18
+ - テンプレ/パターン/「詳しく」/「Spec」→ 🔍 design-review
19
+ - 「ブレスト」/「アイデア」→ 💡 brainstorm
20
+ - YAML がなければ quick 相当で動く。
171
21
 
172
- 2. **素の Gap 一覧を受け取る**
22
+ ### Step 1: 読み込み
23
+ - `dge/characters/index.md`(名前 + 推奨のみ)
24
+ - `dge/patterns.md`
25
+ - `dge/method.md`
26
+ - flow YAML の must_rules, auto_merge を確認
27
+ - `node dge/bin/dge-tool.js version` または `npx dge-tool version` で tool mode 検出(失敗しても続行)
173
28
 
174
- 3. **DGE Gap と素の Gap をマージ**:
175
- - Gap タイトルの意味的類似度で重複を判定
176
- - 同じ問題 → 「両方」ラベル(信頼度が高い)
177
- - DGE のみ → 「DGE のみ」ラベル(深い洞察の可能性)
178
- - 素のみ → 「素のみ」ラベル(網羅的チェック)
29
+ ### Step 2: テーマ確認
30
+ 明確なら次へ。曖昧なら掘り下げ。
179
31
 
180
- 4. **比較表を表示**:
181
- ```
182
- ## マージ結果: DGE + 素の LLM(isolated)
32
+ ### Step 3: テンプレート + パターン(design-review のみ)
33
+ quick / brainstorm ではスキップ。
183
34
 
184
- ### 数値比較
185
- | 指標 | DGE | 素の LLM |
186
- |------|-----|---------|
187
- | Gap 総数 | N | N |
188
- | Critical | N | N |
189
- | High | N | N |
190
- | カテゴリ数 | N/11 | N/11 |
35
+ ### Step 4: キャラ選択
36
+ 推奨セットを提示。quick は表示のみ。design-review / brainstorm は確認待ち。
37
+ **確定後、選択キャラの個別ファイル(`dge/characters/{name}.md`)を読む。**
191
38
 
192
- ### Gap 一覧(統合)
193
- | # | Gap | Source | Severity |
194
- |---|-----|--------|----------|
195
- | 1 | [gap] | DGE のみ | High |
196
- | 2 | [gap] | 両方 | Critical |
197
- | 3 | [gap] | 素のみ | Medium |
39
+ ### Step 5: 会話劇生成
40
+ 先輩ナレーション キャラ対話 → `→ Gap 発見:` or `→ アイデア:` マーカー。
41
+ auto_merge true なら、同時に isolated subagent(Agent ツール, isolation: worktree)で素の LLM レビューをバックグラウンド起動。
198
42
 
199
- DGE のみ: N 件(深い洞察)
200
- 素のみ: N 件(網羅的チェック)
201
- 両方: N 件(確実に重要)
43
+ ### Step 6: 構造化
44
+ Gap Category + Severity。brainstorm はアイデア分類。
202
45
 
203
- どうしますか?
204
- 1. 実装する マージ済み Gap から Spec
205
- 2. 後で
206
- ```
46
+ ### Step 7: 保存
47
+ flow output_dir に保存。dge-tool save があれば使う(なければ Write ツール)。
207
48
 
208
- 5. **素の LLM の生出力を保存**: `dge/sessions/{theme}-plain-raw.md`(再現性の担保)
209
- 6. **マージ結果をファイルに保存**: `dge/sessions/{theme}-merged.md`
49
+ ### Step 8: サマリー + 選択肢
50
+ Gap/アイデア一覧を表示。auto-merge 結果があれば DGE のみ / 素のみ / 両方 でマージ表示。
51
+ subagent 失敗時は DGE のみ表示(「素の LLM 取得失敗」と 1 行)。
52
+ **選択肢は flow YAML の post_actions から。** dge-tool prompt があれば使う。
210
53
 
211
- ### Step 10: 累積 Spec 化(design-review のみ)
212
- 同テーマの全 session Gap を統合 → Critical/High を Spec 化 → `dge/specs/` に保存。
213
- Spec レビュー: OKreviewed に更新 / 修正 / 後で。
54
+ ### Step 9: 分岐
55
+ 選択に従う:
56
+ - **DGE を回す**前回サマリー + TreeView(プロジェクトあれば)表示して Step 2
57
+ - **自動反復** → パターンローテーション、上限 5 回、C/H Gap 0 で収束 → Step 10
58
+ - **実装する** → Step 10
59
+ - **マージ** → auto_merge OFF 時のみ。isolated subagent 起動
60
+ - **後で** → 終了
214
61
 
215
- ## Severity 判断基準
216
-
217
- | Severity | 基準 |
218
- |----------|------|
219
- | Critical | 機能が実装不能 / データ損失リスク |
220
- | High | 主要ユースケースに影響 / セキュリティリスク |
221
- | Medium | 品質・UX に影響するが回避策あり |
222
- | Low | 改善レベル / nice-to-have |
62
+ ### Step 10: Spec 化(design-review のみ)
63
+ 同テーマ全 session の C/H Gap を統合 → UC/TECH/ADR/DQ/ACT を `dge/specs/` に生成。
223
64
 
224
65
  ## 注意
225
- - 1 Scene 3-5 キャラ発言、1 Session 3-5 Scene
226
- - 会話劇人間レビュー の往復が本質
227
- - DGE Spec と既存 docs が矛盾する場合、既存 docs が Source of Truth
228
- - flow YAML がなくても動く(backward compatible)。その場合は quick 相当
66
+ - 1 Scene 3-5 発言、1 Session 3-5 Scene
67
+ - DGE Spec と既存 docs が矛盾 既存 docs が正
package/update.sh CHANGED
@@ -134,6 +134,20 @@ cp "${SRC}/characters/"*.md "${DGE_DIR}/characters/"
134
134
  cp "${SRC}/templates/"*.md "${DGE_DIR}/templates/"
135
135
  echo "${SRC_VERSION}" > "${DGE_DIR}/version.txt"
136
136
 
137
+ # Update new files (flows, docs, bin)
138
+ for f in INTERNALS.md CUSTOMIZING.md dialogue-techniques.md patterns.md integration-guide.md; do
139
+ [ -f "${SRC}/${f}" ] && cp "${SRC}/${f}" "${DGE_DIR}/${f}"
140
+ done
141
+ if [ -d "${SRC}/flows" ]; then
142
+ mkdir -p "${DGE_DIR}/flows"
143
+ cp "${SRC}/flows/"*.yaml "${DGE_DIR}/flows/" 2>/dev/null || true
144
+ fi
145
+ if [ -d "${SRC}/bin" ]; then
146
+ mkdir -p "${DGE_DIR}/bin"
147
+ cp "${SRC}/bin/"* "${DGE_DIR}/bin/" 2>/dev/null || true
148
+ chmod +x "${DGE_DIR}/bin/"* 2>/dev/null || true
149
+ fi
150
+
137
151
  # Update skills
138
152
  mkdir -p "${SKILLS_DIR}"
139
153
  for f in "${SRC}/skills/"*.md; do
package/version.txt CHANGED
@@ -1 +1 @@
1
- 2.3.0
1
+ 2.3.2