@unlaxer/dde-toolkit 0.1.2 → 0.1.4
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/flows/quick.yaml +29 -24
- package/method.md +41 -29
- package/package.json +1 -1
- package/skills/dde-session.md +160 -66
- package/version.txt +1 -1
package/flows/quick.yaml
CHANGED
|
@@ -5,39 +5,45 @@ trigger_keywords: ["DDE して", "DDE", "ドキュメントレビュー", "用
|
|
|
5
5
|
|
|
6
6
|
defaults:
|
|
7
7
|
exclude_dirs: ["dde", "dge", "node_modules", ".git", ".claude"]
|
|
8
|
-
|
|
8
|
+
article_intent: educational # educational / reference / deep-dive
|
|
9
9
|
|
|
10
10
|
workflow:
|
|
11
11
|
steps:
|
|
12
|
+
- id: resume_check
|
|
13
|
+
display_name: "前回セッションの確認"
|
|
14
|
+
note: "dde/sessions/ の最新ファイルを読んで未完了の作業を検出。新規なら skip"
|
|
15
|
+
- id: scan_glossary
|
|
16
|
+
display_name: "既存 glossary をスキャン"
|
|
17
|
+
note: "docs/glossary/ の既存記事一覧を収集。相互リンク候補 + 抽出除外リストに使う"
|
|
12
18
|
- id: select_docs
|
|
13
19
|
display_name: "対象ドキュメント群を選択"
|
|
14
20
|
mode: confirm
|
|
15
|
-
note: "md 一覧(多い場合はフォルダ一覧)を出してユーザーが除外指定"
|
|
16
21
|
- id: reader_context
|
|
17
22
|
display_name: "読者コンテキスト設定"
|
|
18
23
|
mode: confirm
|
|
19
24
|
note: "誰が読むか(記事のトーンに使用。抽出フィルターには使わない)"
|
|
20
|
-
- id:
|
|
21
|
-
display_name: "
|
|
25
|
+
- id: lang
|
|
26
|
+
display_name: "言語設定"
|
|
22
27
|
mode: confirm
|
|
23
|
-
note: "
|
|
28
|
+
note: "en / ja / both。both の場合は <slug>.md + <slug>.ja.md を生成"
|
|
29
|
+
- id: article_intent
|
|
30
|
+
display_name: "記事のインテント設定"
|
|
31
|
+
mode: confirm
|
|
32
|
+
note: "educational / reference / deep-dive、または自由記述"
|
|
24
33
|
- id: extract
|
|
25
34
|
display_name: "用語抽出(LLM)— 全レベル対象"
|
|
26
35
|
actor: llm
|
|
27
|
-
note: "レベルで絞らず、誰かが分からない可能性がある用語を全て抽出"
|
|
28
36
|
- id: confirm_terms
|
|
29
37
|
display_name: "用語一覧を確認"
|
|
30
38
|
mode: confirm
|
|
31
39
|
- id: articleize
|
|
32
|
-
display_name: "記事生成(LLM)—
|
|
40
|
+
display_name: "記事生成(LLM)— educational narrative"
|
|
33
41
|
actor: llm
|
|
34
|
-
note: "1用語1ファイル。expert / beginner / grandma の3セクションを1ファイルに"
|
|
35
42
|
- id: save
|
|
36
43
|
display_name: "単語帳保存"
|
|
37
44
|
- id: link
|
|
38
45
|
display_name: "dde-link 実行(CLI)"
|
|
39
46
|
actor: cli
|
|
40
|
-
note: "対象ドキュメント群と同じファイルセットに適用"
|
|
41
47
|
|
|
42
48
|
must_rules:
|
|
43
49
|
- id: save
|
|
@@ -46,6 +52,10 @@ must_rules:
|
|
|
46
52
|
text: "抽出した用語を一覧テーブルで出力してからユーザーに確認"
|
|
47
53
|
- id: choices
|
|
48
54
|
text: "記事生成後に番号付き選択肢を提示(省略しない)"
|
|
55
|
+
- id: crosslink_existing_only
|
|
56
|
+
text: "「さらに学ぶために」は docs/glossary/ に実在するファイル + 同一バッチ生成記事のみリンク可。存在しないファイルへのリンク禁止"
|
|
57
|
+
- id: scan_glossary_first
|
|
58
|
+
text: "セッション開始時に docs/glossary/ をスキャンして既存記事リストを作る(抽出除外 + 相互リンク候補に使用)"
|
|
49
59
|
|
|
50
60
|
extract:
|
|
51
61
|
actor: llm
|
|
@@ -56,22 +66,17 @@ extract:
|
|
|
56
66
|
articleize:
|
|
57
67
|
actor: llm
|
|
58
68
|
per: term
|
|
59
|
-
format:
|
|
69
|
+
format: educational_narrative
|
|
60
70
|
output_dir: docs/glossary/
|
|
61
|
-
filename_rule: "<slug>.md
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
-
|
|
70
|
-
display_name: "ひとことで(技術ゼロ向け)"
|
|
71
|
-
length:
|
|
72
|
-
short: "〜200字。サマリー + 各セクション1-2文"
|
|
73
|
-
medium: "〜500字。サマリー + 各セクション3-5文。デフォルト"
|
|
74
|
-
long: "〜1000字。サマリー + 各セクション充実 + コード例 + 関連用語"
|
|
71
|
+
filename_rule: "en → <slug>.md / ja → <slug>.ja.md / both → 両方生成"
|
|
72
|
+
multilang:
|
|
73
|
+
en: "<slug>.md"
|
|
74
|
+
ja: "<slug>.ja.md"
|
|
75
|
+
both: "両ファイル生成。dictionary.yaml に en/ja キーで用語マッピングを追加"
|
|
76
|
+
intents:
|
|
77
|
+
educational: "読んだ人が背景・動機・仕組みごと理解できる記事。例え話・図・なぜ?を含む。分量は目的に従って自然に決める"
|
|
78
|
+
reference: "定義・使い方・例を簡潔に。調べたい人向けのクイックリファレンス"
|
|
79
|
+
deep-dive: "実装詳細・コード例・エッジケース・トレードオフまで網羅"
|
|
75
80
|
|
|
76
81
|
output_dir: dde/sessions/
|
|
77
82
|
|
package/method.md
CHANGED
|
@@ -5,20 +5,21 @@
|
|
|
5
5
|
- **必要なもの**: LLM(Claude, GPT-4, Gemini 等)へのアクセス
|
|
6
6
|
- **推奨**: Claude Code(skills/ で自動発動)
|
|
7
7
|
- **入力**: レビュー対象のドキュメント群
|
|
8
|
-
- **出力**:
|
|
8
|
+
- **出力**: educational narrative 形式の用語集記事 + クリッカブルリンク
|
|
9
9
|
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
## 最低限これだけ読め(3分版)
|
|
13
13
|
|
|
14
|
-
**DDE とは**:
|
|
14
|
+
**DDE とは**: ドキュメントを読む人全員に対して用語を抜き出して、背景ごと理解できる記事にして、リンクにする。
|
|
15
15
|
|
|
16
16
|
**フロー**:
|
|
17
|
-
1. **Select** —
|
|
17
|
+
1. **Select** — 対象ドキュメント群を選ぶ
|
|
18
18
|
2. **Context** — 誰が読むかを把握する(記事トーンの調整に使う)
|
|
19
|
-
3. **
|
|
20
|
-
4. **
|
|
21
|
-
5. **
|
|
19
|
+
3. **Intent** — 記事の目的を決める(「教育用」「リファレンス」など)
|
|
20
|
+
4. **Extract** — 全用語を一括抽出(レベルで絞らない)
|
|
21
|
+
5. **Articleize** — educational narrative 形式で記事を生成
|
|
22
|
+
6. **Link** — dde-link でリンクを埋め込む
|
|
22
23
|
|
|
23
24
|
---
|
|
24
25
|
|
|
@@ -26,37 +27,49 @@
|
|
|
26
27
|
|
|
27
28
|
同じドキュメントをエンジニアも業務担当者も読む。
|
|
28
29
|
「このレベルの人には不要」を抽出段階で判断するより、
|
|
29
|
-
|
|
30
|
+
**誰が読んでも背景ごと理解できる記事を1つ書く**方がシンプルで漏れがない。
|
|
30
31
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
文字数より**インテント**で指定する:
|
|
33
|
+
- `educational` — 読んだ人が背景・動機・仕組みごと理解できる。分量は自然に決まる
|
|
34
|
+
- `reference` — 定義と使い方を簡潔に
|
|
35
|
+
- `deep-dive` — 実装・エッジケースまで網羅
|
|
36
|
+
- 自由記述 — 「新入社員が業務背景ごと理解できるように」など
|
|
36
37
|
|
|
37
38
|
---
|
|
38
39
|
|
|
39
|
-
## 記事フォーマット(
|
|
40
|
+
## 記事フォーマット(educational)
|
|
40
41
|
|
|
41
42
|
```markdown
|
|
42
|
-
#
|
|
43
|
+
# <用語>
|
|
43
44
|
|
|
44
|
-
|
|
45
|
+
## 一言で言うと?
|
|
46
|
+
<専門知識なしで分かる1-2文>
|
|
45
47
|
|
|
46
|
-
|
|
47
|
-
JSON Web Token(RFC 7519)は...
|
|
48
|
+
---
|
|
48
49
|
|
|
49
|
-
##
|
|
50
|
-
|
|
50
|
+
## <身近な例え>
|
|
51
|
+
<日常のアナロジー。対応表「○○ = △△」を使う>
|
|
51
52
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## なぜ必要なの?
|
|
56
|
+
<「自前でやったら?」との対比。ASCIIダイアグラム・比較表>
|
|
57
|
+
|
|
58
|
+
---
|
|
55
59
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
+
## <このプロジェクト文脈での説明>
|
|
61
|
+
<抽象論ではなく、このプロジェクト固有の実装・設計を参照>
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## 具体的な例
|
|
66
|
+
<ステップバイステップのフロー>
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## さらに学ぶために
|
|
71
|
+
- [関連用語](path.md) — この文脈での関連理由
|
|
72
|
+
```
|
|
60
73
|
|
|
61
74
|
---
|
|
62
75
|
|
|
@@ -65,8 +78,7 @@ JWTはログイン状態を安全に...
|
|
|
65
78
|
```
|
|
66
79
|
1. docs/glossary/ の .md ファイル名から用語を自動推定
|
|
67
80
|
2. dictionary.yaml があれば上書き(日本語用語・別名対応)
|
|
68
|
-
3. 最長一致、段落ごとに 1 回 → [用語](
|
|
69
|
-
(リンク先は常に単一ファイル。レベル指定なし)
|
|
81
|
+
3. 最長一致、段落ごとに 1 回 → [用語](相対パス) に置換
|
|
70
82
|
スキップ: コードブロック / インラインコード / 見出し / 既存リンク
|
|
71
83
|
```
|
|
72
84
|
|
|
@@ -76,4 +88,4 @@ JWTはログイン状態を安全に...
|
|
|
76
88
|
|
|
77
89
|
- 241 の用語集記事(120 EN + 121 JA)
|
|
78
90
|
- README に 334 のクリッカブルリンク
|
|
79
|
-
-
|
|
91
|
+
- educational narrative 形式(背景・動機・具体例・相互リンク)
|
package/package.json
CHANGED
package/skills/dde-session.md
CHANGED
|
@@ -16,29 +16,29 @@
|
|
|
16
16
|
テーマなしで「DDE」「DDE って何」と呼ばれたとき:
|
|
17
17
|
|
|
18
18
|
```
|
|
19
|
-
DDE toolkit v0.1.
|
|
19
|
+
DDE toolkit v0.1.3 — Document Deficit Extraction
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
用語を全部抜き出して、誰でも理解できる記事にして、リンクにする。
|
|
22
22
|
|
|
23
23
|
📖 フロー:
|
|
24
|
-
1.
|
|
25
|
-
2.
|
|
26
|
-
3.
|
|
27
|
-
4.
|
|
28
|
-
5.
|
|
29
|
-
6. dde-link
|
|
30
|
-
|
|
31
|
-
📄 記事フォーマット(
|
|
32
|
-
#
|
|
33
|
-
|
|
34
|
-
##
|
|
35
|
-
##
|
|
36
|
-
##
|
|
24
|
+
1. ドキュメント群を選択
|
|
25
|
+
2. 読者コンテキストを把握
|
|
26
|
+
3. 記事のインテントを設定(「教育用」「リファレンス」など)
|
|
27
|
+
4. 全用語を一括抽出 → 一覧確認
|
|
28
|
+
5. educational narrative 形式で記事を生成 → docs/glossary/
|
|
29
|
+
6. dde-link でリンクを埋め込む
|
|
30
|
+
|
|
31
|
+
📄 記事フォーマット(educational narrative):
|
|
32
|
+
# <用語>
|
|
33
|
+
## 一言で言うと?
|
|
34
|
+
## <身近な例え>
|
|
35
|
+
## なぜ必要なの?(動機・背景)
|
|
36
|
+
## <このプロジェクト文脈での説明>
|
|
37
|
+
## 具体的な例
|
|
38
|
+
## さらに学ぶために(相互リンク)
|
|
37
39
|
|
|
38
40
|
🔗 dde-link(LLM 不要):
|
|
39
|
-
npx dde-link README.md
|
|
40
|
-
npx dde-link README.md --check # リンク漏れチェック(CI 用)
|
|
41
|
-
npx dde-link README.md --dry-run # プレビュー
|
|
41
|
+
npx dde-link README.md
|
|
42
42
|
|
|
43
43
|
詳しくは: dde/method.md
|
|
44
44
|
```
|
|
@@ -47,67 +47,120 @@ DDE toolkit v0.1.2 — Document Deficit Extraction
|
|
|
47
47
|
|
|
48
48
|
## 手順
|
|
49
49
|
|
|
50
|
-
### Step 0:
|
|
50
|
+
### Step 0: 前回セッション確認 + 既存 glossary スキャン
|
|
51
|
+
|
|
52
|
+
**0-A: flow 読み込み**
|
|
51
53
|
`dde/flows/` の YAML、なければ `kit/flows/` の YAML を読む。
|
|
52
|
-
|
|
54
|
+
|
|
55
|
+
**0-B: 前回セッション確認**
|
|
56
|
+
`dde/sessions/` の最新ファイルを読む。未完了の作業(未生成の用語リスト等)があれば:
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
前回セッションが見つかりました(dde/sessions/2024-01-15_session.md)。
|
|
60
|
+
未生成の用語: OAuth 2.0, リフレッシュトークン
|
|
61
|
+
|
|
62
|
+
前回の続きから再開しますか?
|
|
63
|
+
1. はい(前回の続きから)
|
|
64
|
+
2. いいえ(最初から)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
新規セッションの場合は skip。
|
|
68
|
+
|
|
69
|
+
**0-C: 既存 glossary スキャン(MUST)**
|
|
70
|
+
`docs/glossary/` の `.md` ファイル一覧を収集する。これを 2 つの目的に使う:
|
|
71
|
+
|
|
72
|
+
1. **抽出除外リスト** — 既存記事がある用語は抽出対象から除外(Step 6)
|
|
73
|
+
2. **相互リンク候補リスト** — 「さらに学ぶために」で使えるリンク一覧(Step 7)
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
既存 glossary: 12 記事
|
|
77
|
+
jwt.md, oauth2.md, session-management.md, ...
|
|
78
|
+
→ これらの用語は抽出対象から除外
|
|
79
|
+
→ 「さらに学ぶために」のリンク候補として使用
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
ファイルが存在しない場合は空リストで OK(新規プロジェクト)。
|
|
83
|
+
|
|
84
|
+
**CRITICAL RULE — 相互リンク**:
|
|
85
|
+
「さらに学ぶために」に書くリンクは、**記事生成時点で `docs/glossary/` に実在するファイルのみ**。
|
|
86
|
+
存在しないファイルへのリンクは絶対に書かない。同一バッチで新規生成する記事同士は相互リンク可。
|
|
53
87
|
|
|
54
88
|
### Step 1: 対象ドキュメント群の選択(MUST: ユーザーに確認)
|
|
55
89
|
|
|
56
90
|
プロジェクト内の `.md` ファイルを列挙する。
|
|
57
91
|
- **50 ファイル未満**: ファイル一覧を表示
|
|
58
92
|
- **50 ファイル以上**: フォルダ一覧を表示
|
|
93
|
+
- デフォルト除外: `dde/`, `dge/`, `node_modules/`, `.git/`, `.claude/`
|
|
59
94
|
|
|
60
95
|
```
|
|
61
96
|
対象ドキュメントを選択してください。
|
|
62
|
-
(dde/, dge/, node_modules/ は除外済み)
|
|
63
97
|
|
|
64
98
|
✅ docs/ (12 ファイル)
|
|
65
99
|
✅ README.md
|
|
66
100
|
✅ CONTRIBUTING.md
|
|
67
101
|
|
|
68
102
|
除外したいファイル・フォルダがあれば指定してください。
|
|
69
|
-
なければそのまま進みます。
|
|
70
103
|
```
|
|
71
104
|
|
|
72
105
|
確定したファイルセットが「抽出元 = リンク適用先」になる。
|
|
73
106
|
|
|
74
107
|
### Step 2: 読者コンテキストの設定(MUST: ユーザーに確認)
|
|
75
108
|
|
|
76
|
-
|
|
77
|
-
記事の各セクションのトーン・深さを調整するためだけに使う。
|
|
109
|
+
**抽出フィルターには使わない。記事のトーン・文脈に使う。**
|
|
78
110
|
|
|
79
111
|
```
|
|
80
|
-
|
|
112
|
+
このドキュメントを読む人は?(複数可)
|
|
81
113
|
|
|
82
114
|
[ ] プログラマー・エンジニア
|
|
83
115
|
[ ] 業務ドメインの担当者(非エンジニア)
|
|
84
116
|
[ ] 初学者・新人
|
|
85
117
|
[ ] その他: ___
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Step 3: 言語設定(MUST: ユーザーに確認)
|
|
121
|
+
|
|
122
|
+
対象ドキュメントの言語を検出し、記事の生成言語を確認する。
|
|
86
123
|
|
|
87
|
-
→ 各読者が「詳細」「かんたん説明」「ひとことで」のどのセクションを
|
|
88
|
-
主に使うかを想定して記事の厚みを調整します。
|
|
89
124
|
```
|
|
125
|
+
ドキュメントの言語を検出しました: 日本語
|
|
90
126
|
|
|
91
|
-
|
|
127
|
+
記事を生成する言語を選んでください:
|
|
128
|
+
1. ja のみ — <slug>.ja.md を生成
|
|
129
|
+
2. en のみ — <slug>.md を生成
|
|
130
|
+
3. both — <slug>.md + <slug>.ja.md の両方を生成
|
|
131
|
+
(dictionary.yaml に en/ja の用語マッピングを追加)
|
|
92
132
|
|
|
133
|
+
デフォルト: ドキュメントが日本語 → ja、英語 → en
|
|
93
134
|
```
|
|
94
|
-
記事の分量を選んでください:
|
|
95
|
-
1. short — 〜200字(各セクション1-2文)
|
|
96
|
-
2. medium — 〜500字(各セクション3-5文)← デフォルト
|
|
97
|
-
3. long — 〜1000字(各セクション充実 + コード例 + 関連用語)
|
|
98
|
-
4. カスタム — 文字数を直接指定
|
|
99
135
|
|
|
100
|
-
|
|
136
|
+
**both の場合:**
|
|
137
|
+
- 英語記事を先に生成し、日本語記事は [English version](<slug>.md) リンクを冒頭に追加
|
|
138
|
+
- `dictionary.yaml` に `ja:` キーで日本語用語を登録
|
|
139
|
+
- dde-link は `.ja.md` ファイルに対して日本語用語でマッチング
|
|
140
|
+
|
|
141
|
+
### Step 5: 記事のインテント設定(MUST: ユーザーに確認)
|
|
142
|
+
|
|
143
|
+
**文字数ではなく「読んだ人にどうなってほしいか」で指定する。**
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
記事のインテントを選んでください:
|
|
147
|
+
1. educational — 背景・動機・仕組みごと理解できる記事
|
|
148
|
+
例え話・図・なぜ?を含む。分量は目的に従って自然に決まる
|
|
149
|
+
2. reference — 定義と使い方を簡潔に。調べたい人向け
|
|
150
|
+
3. deep-dive — 実装詳細・コード例・エッジケースまで網羅
|
|
151
|
+
4. 自由記述 — 例: 「新入社員が読んで業務背景ごと理解できるように」
|
|
152
|
+
|
|
153
|
+
デフォルト: educational
|
|
101
154
|
```
|
|
102
155
|
|
|
103
|
-
### Step
|
|
156
|
+
### Step 6: 用語抽出(LLM)
|
|
104
157
|
|
|
105
158
|
**レベルで絞らず、誰かが分からない可能性がある用語を全て抽出する。**
|
|
106
159
|
|
|
107
|
-
|
|
160
|
+
対象ドキュメント群を読んで用語を一括抽出する。
|
|
108
161
|
|
|
109
162
|
**抽出ルール:**
|
|
110
|
-
- `docs/glossary/`
|
|
163
|
+
- `docs/glossary/` に既存記事があるものは除外(Step 0-C で収集したリストを使う)
|
|
111
164
|
- 固有名詞(プロダクト名・企業名)は除外
|
|
112
165
|
- コードブロック内の識別子は除外
|
|
113
166
|
- 重要度: その用語なしでは内容が理解できない → 🔴 High / 補足があると助かる → 🟡 Medium
|
|
@@ -127,64 +180,105 @@ N 件抽出しました。記事を生成しますか?
|
|
|
127
180
|
除外したい用語があれば番号で指定してください(例: 3,5)。
|
|
128
181
|
```
|
|
129
182
|
|
|
130
|
-
### Step
|
|
183
|
+
### Step 7: 記事生成(LLM)— educational narrative
|
|
131
184
|
|
|
132
185
|
確認後、用語ごとに `docs/glossary/<slug>.md` を生成して保存する。
|
|
133
186
|
|
|
134
|
-
|
|
187
|
+
**記事フォーマット(educational intent の場合):**
|
|
135
188
|
|
|
136
|
-
**テンプレート:**
|
|
137
189
|
```markdown
|
|
138
|
-
#
|
|
190
|
+
# <用語>
|
|
139
191
|
|
|
140
|
-
|
|
192
|
+
## 一言で言うと?
|
|
193
|
+
<1-2文でコアを定義。専門知識がない人でも分かる言葉で。>
|
|
141
194
|
|
|
142
|
-
|
|
143
|
-
<技術的な定義・仕様・実装の詳細。コード例があれば添付。>
|
|
195
|
+
---
|
|
144
196
|
|
|
145
|
-
##
|
|
146
|
-
|
|
197
|
+
## <読者が直感的に分かる例え・タイトル>
|
|
198
|
+
<日常の具体的なアナロジー。箇条書きや対応表で「○○ = △△」を示す。>
|
|
147
199
|
|
|
148
|
-
|
|
149
|
-
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## なぜ<この用語 / このアプローチ>が必要なの?
|
|
203
|
+
<「自前でやったらどうなるか」との比較で動機を説明。
|
|
204
|
+
ASCIIダイアグラムや対比表を使って直感的に。>
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## <このプロジェクト / この文脈での説明>
|
|
209
|
+
<抽象的な説明ではなく、このドキュメントが属するプロジェクトの文脈で具体的に説明する。
|
|
210
|
+
このプロジェクト固有の実装・設計を参照する。>
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## 具体的な例
|
|
215
|
+
<ステップバイステップのフロー。コードブロックや番号付きリストで。
|
|
216
|
+
読者が「なるほど、こう動くのか」と分かるレベルまで具体的に。>
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## さらに学ぶために
|
|
221
|
+
- [関連用語A](<相対パス>) — この文脈でなぜ関連するか1行で
|
|
222
|
+
- [関連用語B](<相対パス>) — この文脈でなぜ関連するか1行で
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
**「さらに学ぶために」のリンクルール(CRITICAL):**
|
|
226
|
+
- Step 0-C で収集した既存 glossary ファイル一覧のみを使う
|
|
227
|
+
- 同一バッチで今回新たに生成する記事同士も相互リンク可(生成後に存在するため)
|
|
228
|
+
- 存在しないファイルへのリンクは絶対に書かない(dead link 防止)
|
|
229
|
+
- 候補がない場合はセクションを省略するか「(現在リンク先なし)」と明記する
|
|
230
|
+
|
|
231
|
+
**reference intent の場合:**
|
|
232
|
+
```markdown
|
|
233
|
+
# <用語>
|
|
234
|
+
|
|
235
|
+
<1文定義>
|
|
236
|
+
|
|
237
|
+
## 使い方
|
|
238
|
+
<コード例または手順>
|
|
150
239
|
|
|
151
240
|
## 関連用語
|
|
152
|
-
- [
|
|
241
|
+
- [<term>](<path>)
|
|
153
242
|
```
|
|
154
243
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
244
|
+
**deep-dive intent の場合:**
|
|
245
|
+
```markdown
|
|
246
|
+
# <用語>
|
|
247
|
+
|
|
248
|
+
## 定義
|
|
249
|
+
## 内部動作
|
|
250
|
+
## コード例
|
|
251
|
+
## エッジケース・注意点
|
|
252
|
+
## トレードオフ
|
|
253
|
+
## 関連用語
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
**インテントが自由記述の場合:**
|
|
257
|
+
ユーザーの言葉(例: 「新入社員が業務背景ごと理解できるように」)をそのまま
|
|
258
|
+
記事の生成方針として使う。
|
|
159
259
|
|
|
160
260
|
`dde-tool save docs/glossary/<slug>.md` で保存。
|
|
161
261
|
|
|
162
|
-
### Step
|
|
262
|
+
### Step 8: 単語帳(dictionary.yaml)更新
|
|
163
263
|
|
|
164
|
-
|
|
264
|
+
日本語記事が必要な場合、`docs/glossary/dictionary.yaml` を生成・更新する。
|
|
165
265
|
|
|
166
266
|
```yaml
|
|
167
|
-
# docs/glossary/dictionary.yaml
|
|
168
267
|
jwt.md:
|
|
169
268
|
en: ["JWT", "JSON Web Token"]
|
|
170
269
|
ja: ["JWT"]
|
|
171
|
-
|
|
172
|
-
oauth.md:
|
|
173
|
-
en: ["OAuth", "OAuth 2.0"]
|
|
174
|
-
ja: ["OAuth"]
|
|
175
270
|
```
|
|
176
271
|
|
|
177
|
-
### Step
|
|
272
|
+
### Step 9: dde-link 実行(CLI)
|
|
178
273
|
|
|
179
|
-
|
|
180
|
-
リンクは常に `<slug>.md`(レベル指定なし)を指す。
|
|
274
|
+
Step 1 で選択したドキュメント群と同じファイルセットに適用。
|
|
181
275
|
|
|
182
276
|
```bash
|
|
183
277
|
npx dde-link README.md --dry-run # 確認
|
|
184
278
|
npx dde-link README.md # 実行
|
|
185
279
|
```
|
|
186
280
|
|
|
187
|
-
### Step
|
|
281
|
+
### Step 10: 次アクション提示(MUST: 省略しない)
|
|
188
282
|
|
|
189
283
|
```
|
|
190
284
|
1. 別のドキュメント群も処理する
|
|
@@ -196,7 +290,7 @@ npx dde-link README.md # 実行
|
|
|
196
290
|
---
|
|
197
291
|
|
|
198
292
|
## 注意
|
|
199
|
-
-
|
|
200
|
-
- `docs/glossary/`
|
|
293
|
+
- 記事の分量は文字数ではなくインテントに従って自然に決める
|
|
294
|
+
- `docs/glossary/` に既存記事がある場合は上書きしない
|
|
201
295
|
- dde-link の `--fix` は上書き。事前に `--dry-run` を推奨
|
|
202
296
|
- 将来フェーズ: HTML からの用語抽出 + ホバー表示(v0.2.0 予定)
|
package/version.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.1.
|
|
1
|
+
0.1.4
|