@knowledgine/cli 0.5.0 → 0.6.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.
Files changed (146) hide show
  1. package/dist/commands/ingest.d.ts +4 -0
  2. package/dist/commands/ingest.d.ts.map +1 -1
  3. package/dist/commands/ingest.js +55 -13
  4. package/dist/commands/ingest.js.map +1 -1
  5. package/dist/commands/init.d.ts.map +1 -1
  6. package/dist/commands/init.js +15 -8
  7. package/dist/commands/init.js.map +1 -1
  8. package/dist/commands/search.d.ts +1 -0
  9. package/dist/commands/search.d.ts.map +1 -1
  10. package/dist/commands/search.js +45 -1
  11. package/dist/commands/search.js.map +1 -1
  12. package/dist/commands/serve.d.ts.map +1 -1
  13. package/dist/commands/serve.js +13 -2
  14. package/dist/commands/serve.js.map +1 -1
  15. package/dist/commands/setup-skills.d.ts +3 -1
  16. package/dist/commands/setup-skills.d.ts.map +1 -1
  17. package/dist/commands/setup-skills.js +24 -7
  18. package/dist/commands/setup-skills.js.map +1 -1
  19. package/dist/commands/setup.d.ts +2 -0
  20. package/dist/commands/setup.d.ts.map +1 -1
  21. package/dist/commands/setup.js +23 -3
  22. package/dist/commands/setup.js.map +1 -1
  23. package/dist/index.js +18 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/templates/skills/index.d.ts +8 -5
  26. package/dist/templates/skills/index.d.ts.map +1 -1
  27. package/dist/templates/skills/index.js +56 -41
  28. package/dist/templates/skills/index.js.map +1 -1
  29. package/dist/templates/skills/knowledgine-capture/references.ja.d.ts +2 -0
  30. package/dist/templates/skills/knowledgine-capture/references.ja.d.ts.map +1 -0
  31. package/dist/templates/skills/knowledgine-capture/references.ja.js +414 -0
  32. package/dist/templates/skills/knowledgine-capture/references.ja.js.map +1 -0
  33. package/dist/templates/skills/knowledgine-capture/skill-md.d.ts +1 -1
  34. package/dist/templates/skills/knowledgine-capture/skill-md.d.ts.map +1 -1
  35. package/dist/templates/skills/knowledgine-capture/skill-md.ja.d.ts +2 -0
  36. package/dist/templates/skills/knowledgine-capture/skill-md.ja.d.ts.map +1 -0
  37. package/dist/templates/skills/knowledgine-capture/skill-md.ja.js +98 -0
  38. package/dist/templates/skills/knowledgine-capture/skill-md.ja.js.map +1 -0
  39. package/dist/templates/skills/knowledgine-capture/skill-md.js +4 -2
  40. package/dist/templates/skills/knowledgine-capture/skill-md.js.map +1 -1
  41. package/dist/templates/skills/knowledgine-debrief/references.ja.d.ts +2 -0
  42. package/dist/templates/skills/knowledgine-debrief/references.ja.d.ts.map +1 -0
  43. package/dist/templates/skills/knowledgine-debrief/references.ja.js +141 -0
  44. package/dist/templates/skills/knowledgine-debrief/references.ja.js.map +1 -0
  45. package/dist/templates/skills/knowledgine-debrief/skill-md.d.ts +1 -1
  46. package/dist/templates/skills/knowledgine-debrief/skill-md.d.ts.map +1 -1
  47. package/dist/templates/skills/knowledgine-debrief/skill-md.ja.d.ts +2 -0
  48. package/dist/templates/skills/knowledgine-debrief/skill-md.ja.d.ts.map +1 -0
  49. package/dist/templates/skills/knowledgine-debrief/skill-md.ja.js +82 -0
  50. package/dist/templates/skills/knowledgine-debrief/skill-md.ja.js.map +1 -0
  51. package/dist/templates/skills/knowledgine-debrief/skill-md.js +10 -2
  52. package/dist/templates/skills/knowledgine-debrief/skill-md.js.map +1 -1
  53. package/dist/templates/skills/{knowledgine-explain → knowledgine-explore}/references.d.ts.map +1 -1
  54. package/dist/templates/skills/knowledgine-explore/references.ja.d.ts +2 -0
  55. package/dist/templates/skills/knowledgine-explore/references.ja.d.ts.map +1 -0
  56. package/dist/templates/skills/knowledgine-explore/references.ja.js +182 -0
  57. package/dist/templates/skills/knowledgine-explore/references.ja.js.map +1 -0
  58. package/dist/templates/skills/{knowledgine-explain → knowledgine-explore}/references.js +15 -15
  59. package/dist/templates/skills/{knowledgine-explain → knowledgine-explore}/references.js.map +1 -1
  60. package/dist/templates/skills/knowledgine-explore/skill-md.d.ts +2 -0
  61. package/dist/templates/skills/knowledgine-explore/skill-md.d.ts.map +1 -0
  62. package/dist/templates/skills/knowledgine-explore/skill-md.ja.d.ts +2 -0
  63. package/dist/templates/skills/knowledgine-explore/skill-md.ja.d.ts.map +1 -0
  64. package/dist/templates/skills/knowledgine-explore/skill-md.ja.js +98 -0
  65. package/dist/templates/skills/knowledgine-explore/skill-md.ja.js.map +1 -0
  66. package/dist/templates/skills/{knowledgine-explain → knowledgine-explore}/skill-md.js +19 -12
  67. package/dist/templates/skills/{knowledgine-suggest → knowledgine-explore}/skill-md.js.map +1 -1
  68. package/dist/templates/skills/knowledgine-feedback/references.ja.d.ts +2 -0
  69. package/dist/templates/skills/knowledgine-feedback/references.ja.d.ts.map +1 -0
  70. package/dist/templates/skills/knowledgine-feedback/references.ja.js +214 -0
  71. package/dist/templates/skills/knowledgine-feedback/references.ja.js.map +1 -0
  72. package/dist/templates/skills/knowledgine-feedback/skill-md.d.ts +1 -1
  73. package/dist/templates/skills/knowledgine-feedback/skill-md.d.ts.map +1 -1
  74. package/dist/templates/skills/knowledgine-feedback/skill-md.ja.d.ts +2 -0
  75. package/dist/templates/skills/knowledgine-feedback/skill-md.ja.d.ts.map +1 -0
  76. package/dist/templates/skills/knowledgine-feedback/skill-md.ja.js +108 -0
  77. package/dist/templates/skills/knowledgine-feedback/skill-md.ja.js.map +1 -0
  78. package/dist/templates/skills/knowledgine-feedback/skill-md.js +4 -2
  79. package/dist/templates/skills/knowledgine-feedback/skill-md.js.map +1 -1
  80. package/dist/templates/skills/knowledgine-ingest/references.ja.d.ts +2 -0
  81. package/dist/templates/skills/knowledgine-ingest/references.ja.d.ts.map +1 -0
  82. package/dist/templates/skills/knowledgine-ingest/references.ja.js +244 -0
  83. package/dist/templates/skills/knowledgine-ingest/references.ja.js.map +1 -0
  84. package/dist/templates/skills/knowledgine-ingest/skill-md.d.ts +1 -1
  85. package/dist/templates/skills/knowledgine-ingest/skill-md.d.ts.map +1 -1
  86. package/dist/templates/skills/knowledgine-ingest/skill-md.ja.d.ts +2 -0
  87. package/dist/templates/skills/knowledgine-ingest/skill-md.ja.d.ts.map +1 -0
  88. package/dist/templates/skills/knowledgine-ingest/skill-md.ja.js +81 -0
  89. package/dist/templates/skills/knowledgine-ingest/skill-md.ja.js.map +1 -0
  90. package/dist/templates/skills/knowledgine-ingest/skill-md.js +2 -0
  91. package/dist/templates/skills/knowledgine-ingest/skill-md.js.map +1 -1
  92. package/dist/templates/skills/{knowledgine-recall → knowledgine-memory}/references.d.ts.map +1 -1
  93. package/dist/templates/skills/knowledgine-memory/references.ja.d.ts +2 -0
  94. package/dist/templates/skills/knowledgine-memory/references.ja.d.ts.map +1 -0
  95. package/dist/templates/skills/knowledgine-memory/references.ja.js +188 -0
  96. package/dist/templates/skills/knowledgine-memory/references.ja.js.map +1 -0
  97. package/dist/templates/skills/knowledgine-memory/references.js +188 -0
  98. package/dist/templates/skills/knowledgine-memory/references.js.map +1 -0
  99. package/dist/templates/skills/knowledgine-memory/skill-md.d.ts +2 -0
  100. package/dist/templates/skills/knowledgine-memory/skill-md.d.ts.map +1 -0
  101. package/dist/templates/skills/knowledgine-memory/skill-md.ja.d.ts +2 -0
  102. package/dist/templates/skills/knowledgine-memory/skill-md.ja.d.ts.map +1 -0
  103. package/dist/templates/skills/knowledgine-memory/skill-md.ja.js +169 -0
  104. package/dist/templates/skills/knowledgine-memory/skill-md.ja.js.map +1 -0
  105. package/dist/templates/skills/knowledgine-memory/skill-md.js +169 -0
  106. package/dist/templates/skills/{knowledgine-recall → knowledgine-memory}/skill-md.js.map +1 -1
  107. package/dist/templates/skills/knowledgine-search/references.d.ts.map +1 -0
  108. package/dist/templates/skills/knowledgine-search/references.ja.d.ts +2 -0
  109. package/dist/templates/skills/knowledgine-search/references.ja.d.ts.map +1 -0
  110. package/dist/templates/skills/knowledgine-search/references.ja.js +313 -0
  111. package/dist/templates/skills/knowledgine-search/references.ja.js.map +1 -0
  112. package/dist/templates/skills/{knowledgine-recall → knowledgine-search}/references.js +124 -19
  113. package/dist/templates/skills/knowledgine-search/references.js.map +1 -0
  114. package/dist/templates/skills/knowledgine-search/skill-md.d.ts +2 -0
  115. package/dist/templates/skills/knowledgine-search/skill-md.d.ts.map +1 -0
  116. package/dist/templates/skills/knowledgine-search/skill-md.ja.d.ts +2 -0
  117. package/dist/templates/skills/knowledgine-search/skill-md.ja.d.ts.map +1 -0
  118. package/dist/templates/skills/knowledgine-search/skill-md.ja.js +175 -0
  119. package/dist/templates/skills/knowledgine-search/skill-md.ja.js.map +1 -0
  120. package/dist/templates/skills/knowledgine-search/skill-md.js +174 -0
  121. package/dist/templates/skills/knowledgine-search/skill-md.js.map +1 -0
  122. package/dist/templates/skills/types.d.ts +4 -0
  123. package/dist/templates/skills/types.d.ts.map +1 -0
  124. package/dist/templates/skills/types.js +3 -0
  125. package/dist/templates/skills/types.js.map +1 -0
  126. package/package.json +4 -4
  127. package/dist/lib/entity-extractor.d.ts +0 -17
  128. package/dist/lib/entity-extractor.d.ts.map +0 -1
  129. package/dist/lib/entity-extractor.js +0 -22
  130. package/dist/lib/entity-extractor.js.map +0 -1
  131. package/dist/templates/skills/knowledgine-explain/skill-md.d.ts +0 -2
  132. package/dist/templates/skills/knowledgine-explain/skill-md.d.ts.map +0 -1
  133. package/dist/templates/skills/knowledgine-explain/skill-md.js.map +0 -1
  134. package/dist/templates/skills/knowledgine-recall/references.js.map +0 -1
  135. package/dist/templates/skills/knowledgine-recall/skill-md.d.ts +0 -2
  136. package/dist/templates/skills/knowledgine-recall/skill-md.d.ts.map +0 -1
  137. package/dist/templates/skills/knowledgine-recall/skill-md.js +0 -86
  138. package/dist/templates/skills/knowledgine-suggest/references.d.ts.map +0 -1
  139. package/dist/templates/skills/knowledgine-suggest/references.js +0 -121
  140. package/dist/templates/skills/knowledgine-suggest/references.js.map +0 -1
  141. package/dist/templates/skills/knowledgine-suggest/skill-md.d.ts +0 -2
  142. package/dist/templates/skills/knowledgine-suggest/skill-md.d.ts.map +0 -1
  143. package/dist/templates/skills/knowledgine-suggest/skill-md.js +0 -94
  144. /package/dist/templates/skills/{knowledgine-explain → knowledgine-explore}/references.d.ts +0 -0
  145. /package/dist/templates/skills/{knowledgine-recall → knowledgine-memory}/references.d.ts +0 -0
  146. /package/dist/templates/skills/{knowledgine-suggest → knowledgine-search}/references.d.ts +0 -0
@@ -0,0 +1,175 @@
1
+ export const SKILL_MD = `---
2
+ name: knowledgine-search
3
+ version: "1.0.0"
4
+ lang: ja
5
+ description: >
6
+ 過去の解決策、設計上の決定、パターンをローカルナレッジベースから検索します。
7
+ エラーに直面したとき、慣れないコードに取り組むとき、セッションを開始するとき、
8
+ 新しいファイルを開くとき、実装アプローチを検討するときに呼び出します。
9
+ クエリ直接検索・コンテキストベースのサジェスト・グラフによる関連ノート探索の
10
+ 3つのモードをサポートします。
11
+ ---
12
+ # knowledgine-search
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
+ ### アプローチ 1: クエリ検索
43
+
44
+ エラーメッセージ、関数名、または既知のトピックなど、具体的な語句がある場合。
45
+
46
+ 特定の語句で \`search_knowledge\` を使用します。完全一致には \`keyword\` モードから始め、
47
+ 正確な表現が不確かな場合は \`semantic\` または \`hybrid\` に切り替えます。
48
+
49
+ ### アプローチ 2: コンテキストベースの検索
50
+
51
+ 特定のクエリなしに、ファイルやタスクの作業を開始する場合。
52
+
53
+ 現在のファイルパス、コンポーネント名、タスクの説明、またはエラーメッセージから
54
+ シグナルを抽出します。2〜3個のシグナルを組み合わせてクエリを作成し、
55
+ 最良の結果を得るには \`hybrid\` モードを使用します。コンテキストシグナルの
56
+ 抽出方法については \`search-strategy.md\` を参照してください。
57
+
58
+ ### アプローチ 3: 関連ノートの探索
59
+
60
+ 関連するノートを見つけて、ナレッジグラフ内の接続されたノートを発見したい場合。
61
+
62
+ 関連する結果の \`noteId\`(数値として)または現在の \`filePath\` を使って
63
+ \`find_related\` を呼び出します。これはナレッジグラフを走査して、エンティティの
64
+ 関係性、問題と解決策のペア、ファイルの関連性によってリンクされたノートを
65
+ 提示します。
66
+
67
+ ## 検索モードの選択
68
+
69
+ | 状況 | モード |
70
+ |------|--------|
71
+ | 正確なエラーメッセージがある | \`keyword\` |
72
+ | 特定の関数名や変数名を覚えている | \`keyword\` |
73
+ | 概念はわかるが正確な表現が不確か | \`semantic\` |
74
+ | コンテキストシグナル(ファイル、タスク、機能)から作業を開始する | \`hybrid\` |
75
+ | トピックの一般的な探索 | \`hybrid\` |
76
+ | 埋め込みが利用できない(FTS5のみの構成) | \`keyword\`(唯一の選択肢) |
77
+
78
+ ## 検索方法 (MCP ツール)
79
+
80
+ ### search_knowledge
81
+
82
+ \`\`\`
83
+ search_knowledge(
84
+ query: string, // 検索クエリ
85
+ mode?: "keyword" // "keyword" | "semantic" | "hybrid"
86
+ | "semantic" // keyword: FTS5 による完全一致テキスト検索(デフォルト)
87
+ | "hybrid", // semantic: 意味ベース、埋め込みが必要
88
+ // hybrid: 両者を組み合わせ
89
+ limit?: number, // 最大結果数(デフォルト: 20)
90
+ agentic?: boolean, // 廃止済みノートを含む(デフォルト: false)
91
+ includeDeprecated?: boolean // 廃止済みノートを含む(デフォルト: false)
92
+ )
93
+ \`\`\`
94
+
95
+ ### find_related
96
+
97
+ \`\`\`
98
+ find_related(
99
+ noteId?: number, // ノートの ID — 文字列ではなく数値(整数)であること
100
+ filePath?: string, // 関連ノートを検索するファイルパス
101
+ limit?: number, // 最大結果数(デフォルト: 5)
102
+ maxHops?: number // グラフの走査深度(デフォルト: 1、最大: 3)
103
+ )
104
+ \`\`\`
105
+
106
+ \`noteId\` または \`filePath\` のいずれか一方を指定してください。\`noteId\` の値は
107
+ \`search_knowledge\` の結果から取得します — 数値の \`id\` フィールドをそのまま使用します。
108
+
109
+ ## 検索方法 (CLI の代替手段)
110
+
111
+ \`\`\`bash
112
+ knowledgine search "<query>" # キーワード検索
113
+ knowledgine search "<query>" --mode semantic # セマンティック検索
114
+ knowledgine search "<query>" --mode hybrid # ハイブリッド検索
115
+ knowledgine suggest --file src/commands/setup.ts # ファイルパスによるコンテキストベース検索(suggest コマンド)
116
+ \`\`\`
117
+
118
+ ## 手順
119
+
120
+ 1. **アプローチを選択** — 特定のクエリがある場合(アプローチ 1)か、ファイルパスや
121
+ タスクの説明などのコンテキストから始める場合(アプローチ 2)か?
122
+
123
+ 2. **クエリを作成**
124
+ - アプローチ 1: エラーメッセージ、関数名、または既知のトピックをそのまま使用
125
+ - アプローチ 2: ファイルパス、コンポーネント名、タスク、またはエラーからシグナルを
126
+ 抽出し、2〜3個のシグナルを組み合わせてクエリを作成(\`search-strategy.md\` 参照)
127
+
128
+ 3. **モードを選択**
129
+ - 正確な語句 → \`keyword\`
130
+ - コンテキストシグナルや概念的な検索 → \`hybrid\`
131
+ - 概念はわかるが表現が不確か → \`semantic\`
132
+
133
+ 4. **search_knowledge を呼び出す** — クエリ、モード、上限を指定(5〜10 件で通常十分;
134
+ デフォルトは 20)
135
+
136
+ 5. **結果を評価** — 返されたノートの関連性を読んで確認し、高度に関連する結果の
137
+ ID をメモする
138
+
139
+ 6. **関連ノートを走査(任意)** — 結果が高度に関連している場合、その数値 \`noteId\` または
140
+ 現在の \`filePath\` を使って \`find_related\` を呼び出し、ナレッジグラフ経由で
141
+ 接続されたノートを発見する
142
+
143
+ 7. **発見内容を適用** — 関連する過去の解決策や決定を、作業に活かす
144
+
145
+ 8. **新しい知識を記録** — 新しい解決策を発見した場合、knowledgine-capture を使って保存する
146
+
147
+ ## ベストプラクティス
148
+
149
+ - 解決策を提案する前に検索する(後ではなく)
150
+ - 実際のエラーメッセージテキストをクエリとして使用する — 最もターゲットを絞った検索ができる
151
+ - 最初の検索で結果が得られない場合は、複数のクエリを試みる
152
+ - セッション開始時に、主な作業領域に対してコンテキストベースの検索(アプローチ 2)を実行し、
153
+ その後、特定の問題が発生したら対象を絞ったクエリ(アプローチ 1)を使用する
154
+ - \`bug-fix\` または \`troubleshooting\` タグが付いたノートを優先する — 警告が含まれている
155
+ - \`design-decision\` タグのノートは変更を加える前に特に価値がある
156
+ - \`find_related\` の \`noteId\` パラメータは数値 — 文字列ではなく、検索結果の整数 id フィールドを渡す
157
+
158
+ ## エッジケース
159
+
160
+ - **ナレッジベースが空の場合** — \`search_knowledge\` がまったく結果を返さない場合、
161
+ ナレッジベースはまだ入力されていない可能性があります。コードベースをインデックス化するために
162
+ knowledgine-ingest を使用するか、knowledgine-capture で知識の記録を開始することを提案してください。
163
+ - **セマンティックまたはハイブリッドモードがエラーを返す場合** — 埋め込みが設定されていない可能性があります。
164
+ SQLite FTS5 のみに依存して常に動作する \`keyword\` モードにフォールバックしてください。
165
+ - **find_related が noteId でエラーを返す場合** — 値が \`search_knowledge\` の結果から
166
+ 得た正の整数であることを確認し、文字列表現でないことを確かめてください。
167
+
168
+ ## 参照ファイル
169
+
170
+ - モード選択、コンテキストシグナルの抽出、ワークフローパターン、結果の解釈については
171
+ \`search-strategy.md\` を参照
172
+ - クエリの作成テンプレート、フォールバック戦略、上限のガイダンスについては
173
+ \`query-tips.md\` を参照
174
+ `;
175
+ //# sourceMappingURL=skill-md.ja.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-md.ja.js","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-search/skill-md.ja.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6KvB,CAAC"}
@@ -0,0 +1,174 @@
1
+ export const SKILL_MD = `---
2
+ name: knowledgine-search
3
+ version: "1.0.0"
4
+ lang: en
5
+ description: >
6
+ Search the local knowledge base for past solutions, design decisions, and patterns.
7
+ Invoke when facing an error, approaching unfamiliar code, starting a session, opening
8
+ a new file, or considering implementation approaches. Supports three modes: direct
9
+ query search, context-based suggestions, and graph-based related note discovery.
10
+ ---
11
+ # knowledgine-search
12
+
13
+ ## Purpose
14
+
15
+ Search accumulated project knowledge before solving problems from scratch. The knowledge
16
+ base contains past bug fixes, design decisions, troubleshooting records, and patterns
17
+ gathered across all previous sessions. This skill unifies direct query search and
18
+ context-based discovery into a single workflow, preventing duplicate work and surfacing
19
+ relevant context proactively.
20
+
21
+ ## When to Use
22
+
23
+ - **Error or exception encountered** — Search for the exact error message or key terms
24
+ - **Unfamiliar code area** — Search for context about the component or module
25
+ - **Implementation choice** — Search for past decisions on the same topic
26
+ - **Considering a library or approach** — Search for known gotchas or prior art
27
+ - **Starting a session** — Get context about the area you will work in
28
+ - **Opening a new file** — Discover past knowledge about that component
29
+ - **Beginning a feature** — Find related patterns and past decisions
30
+ - **Starting work on a file** — Search for related notes about that file path
31
+
32
+ ## When NOT to Use
33
+
34
+ - Purely mechanical tasks with no ambiguity (renaming a variable, formatting)
35
+ - When you have already searched and found no relevant results within this session
36
+ - After already running context-based search for the same file in the same session
37
+ - Do not call search on every single action — use judgment
38
+
39
+ ## Search Approaches
40
+
41
+ ### Approach 1: Query Search
42
+
43
+ You have specific terms — an error message, a function name, or a known topic.
44
+
45
+ Use \`search_knowledge\` with the specific terms. Start with \`keyword\` mode for exact
46
+ matches; switch to \`semantic\` or \`hybrid\` when the exact wording is uncertain.
47
+
48
+ ### Approach 2: Context-Based Search
49
+
50
+ You are starting work on a file or task without a specific query in mind.
51
+
52
+ Extract signals from the current file path, component name, task description, or error
53
+ message. Combine 2–3 signals into a query and use \`hybrid\` mode for best results. See
54
+ \`search-strategy.md\` for how to extract context signals.
55
+
56
+ ### Approach 3: Related Note Discovery
57
+
58
+ You have found a relevant note and want to discover connected notes in the knowledge graph.
59
+
60
+ Call \`find_related\` with the \`noteId\` (as a number) from the relevant result, or with
61
+ the current \`filePath\`. This traverses the knowledge graph to surface notes linked by
62
+ entity relationships, problem-solution pairs, and file associations.
63
+
64
+ ## Choosing Search Mode
65
+
66
+ | Situation | Mode |
67
+ |-----------|------|
68
+ | You have an exact error message | \`keyword\` |
69
+ | You remember specific function or variable names | \`keyword\` |
70
+ | You know the concept but not the exact wording | \`semantic\` |
71
+ | Starting work with context signals (file, task, feature) | \`hybrid\` |
72
+ | General exploration of a topic | \`hybrid\` |
73
+ | Embeddings not available (FTS5-only setup) | \`keyword\` (only option) |
74
+
75
+ ## How to Search (MCP Tools)
76
+
77
+ ### search_knowledge
78
+
79
+ \`\`\`
80
+ search_knowledge(
81
+ query: string, // Search query
82
+ mode?: "keyword" // "keyword" | "semantic" | "hybrid"
83
+ | "semantic" // keyword: exact text match via FTS5 (default)
84
+ | "hybrid", // semantic: meaning-based, requires embeddings
85
+ // hybrid: combines both
86
+ limit?: number, // Max results (default: 20)
87
+ agentic?: boolean, // Include deprecated notes (default: false)
88
+ includeDeprecated?: boolean // Include deprecated notes (default: false)
89
+ )
90
+ \`\`\`
91
+
92
+ ### find_related
93
+
94
+ \`\`\`
95
+ find_related(
96
+ noteId?: number, // ID of a note — must be a NUMBER (integer), not a string
97
+ filePath?: string, // File path to find related notes for
98
+ limit?: number, // Max results (default: 5)
99
+ maxHops?: number // Graph traversal depth (default: 1, max: 3)
100
+ )
101
+ \`\`\`
102
+
103
+ Provide at least one of \`noteId\` or \`filePath\`. \`noteId\` values come from
104
+ \`search_knowledge\` results — use the numeric \`id\` field directly.
105
+
106
+ ## How to Search (CLI Alternative)
107
+
108
+ \`\`\`bash
109
+ knowledgine search "<query>" # keyword search
110
+ knowledgine search "<query>" --mode semantic # semantic search
111
+ knowledgine search "<query>" --mode hybrid # hybrid search
112
+ knowledgine suggest --file src/commands/setup.ts # context-based by file path (suggest command)
113
+ \`\`\`
114
+
115
+ ## Step-by-Step Instructions
116
+
117
+ 1. **Choose your approach** — Do you have a specific query (Approach 1), or are you
118
+ starting from context like a file path or task description (Approach 2)?
119
+
120
+ 2. **Extract your query**
121
+ - For Approach 1: Use the error message, function name, or known topic directly
122
+ - For Approach 2: Extract signals from file path, component name, task, or error;
123
+ combine 2–3 signals into a query (see \`search-strategy.md\`)
124
+
125
+ 3. **Choose the mode**
126
+ - Exact terms → \`keyword\`
127
+ - Context signals or conceptual search → \`hybrid\`
128
+ - Known concept, uncertain wording → \`semantic\`
129
+
130
+ 4. **Call search_knowledge** — Pass query, mode, and limit (5–10 is usually sufficient;
131
+ default is 20)
132
+
133
+ 5. **Evaluate results** — Read the returned notes for relevance; note any IDs of
134
+ highly relevant results
135
+
136
+ 6. **Traverse related notes (optional)** — If a result looks highly relevant, call
137
+ \`find_related\` with its numeric \`noteId\` or the current \`filePath\` to discover
138
+ connected notes via the knowledge graph
139
+
140
+ 7. **Apply findings** — Use relevant past solutions or decisions to inform your work
141
+
142
+ 8. **Capture if new** — If you discover a new solution, use knowledgine-capture to
143
+ save it
144
+
145
+ ## Best Practices
146
+
147
+ - Search before proposing a solution, not after
148
+ - Use the actual error message text as a query — it is the most targeted search
149
+ - Try multiple queries if the first returns no results
150
+ - At session start, run a context-based search (Approach 2) for the primary work area,
151
+ then use targeted queries (Approach 1) as specific issues arise
152
+ - Prioritize notes tagged with \`bug-fix\` or \`troubleshooting\` — they contain warnings
153
+ - Notes tagged \`design-decision\` are especially valuable before making changes
154
+ - The \`noteId\` parameter of \`find_related\` is a number — pass the integer id field
155
+ from search results, not a string
156
+
157
+ ## Edge Cases
158
+
159
+ - **Knowledge base is empty** — If \`search_knowledge\` returns no results at all,
160
+ the knowledge base may not have been populated yet. Suggest using knowledgine-ingest
161
+ to index the codebase or knowledgine-capture to start recording knowledge.
162
+ - **Semantic or hybrid mode returns an error** — Embeddings may not be configured.
163
+ Fall back to \`keyword\` mode, which relies only on SQLite FTS5 and always works.
164
+ - **find_related returns an error for a noteId** — Confirm the value is a positive
165
+ integer from a \`search_knowledge\` result, not a string representation.
166
+
167
+ ## Reference Files
168
+
169
+ - See \`search-strategy.md\` for mode selection, context signal extraction, workflow
170
+ patterns, and result interpretation
171
+ - See \`query-tips.md\` for query formulation templates, fallback strategies, and
172
+ limit guidance
173
+ `;
174
+ //# sourceMappingURL=skill-md.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-md.js","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-search/skill-md.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4KvB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const SUPPORTED_LOCALES: readonly ["en", "ja"];
2
+ export type SupportedLocale = (typeof SUPPORTED_LOCALES)[number];
3
+ export declare const DEFAULT_LOCALE: SupportedLocale;
4
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/templates/skills/types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,uBAAwB,CAAC;AACvD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AACjE,eAAO,MAAM,cAAc,EAAE,eAAsB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export const SUPPORTED_LOCALES = ["en", "ja"];
2
+ export const DEFAULT_LOCALE = "en";
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/templates/skills/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,CAAU,CAAC;AAEvD,MAAM,CAAC,MAAM,cAAc,GAAoB,IAAI,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knowledgine/cli",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -25,9 +25,9 @@
25
25
  "log-symbols": "^7.0.1",
26
26
  "ora": "^9.3.0",
27
27
  "smol-toml": "^1.6.1",
28
- "@knowledgine/core": "0.5.0",
29
- "@knowledgine/ingest": "0.5.0",
30
- "@knowledgine/mcp-server": "0.5.0"
28
+ "@knowledgine/mcp-server": "0.6.0",
29
+ "@knowledgine/core": "0.6.0",
30
+ "@knowledgine/ingest": "0.6.0"
31
31
  },
32
32
  "files": [
33
33
  "dist",
@@ -1,17 +0,0 @@
1
- import { KnowledgeRepository, GraphRepository } from "@knowledgine/core";
2
- export interface PostIngestSummary {
3
- totalNotes: number;
4
- processedNotes: number;
5
- totalEntities: number;
6
- totalRelations: number;
7
- totalPatterns: number;
8
- errors: number;
9
- }
10
- /**
11
- * 全ノートに対してパターン抽出、エンティティ抽出、関係推論をバッチ実行する。
12
- * init コマンドから ingest パイプライン経由でノートが保存された後に呼ばれる。
13
- *
14
- * @deprecated 新規コードは IncrementalExtractor を直接使用してください
15
- */
16
- export declare function postIngestProcessing(repository: KnowledgeRepository, graphRepository: GraphRepository, onProgress?: (current: number, total: number) => void): Promise<PostIngestSummary>;
17
- //# sourceMappingURL=entity-extractor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity-extractor.d.ts","sourceRoot":"","sources":["../../src/lib/entity-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAwB,MAAM,mBAAmB,CAAC;AAE/F,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,mBAAmB,EAC/B,eAAe,EAAE,eAAe,EAChC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACpD,OAAO,CAAC,iBAAiB,CAAC,CAe5B"}
@@ -1,22 +0,0 @@
1
- import { KnowledgeRepository, GraphRepository, IncrementalExtractor } from "@knowledgine/core";
2
- /**
3
- * 全ノートに対してパターン抽出、エンティティ抽出、関係推論をバッチ実行する。
4
- * init コマンドから ingest パイプライン経由でノートが保存された後に呼ばれる。
5
- *
6
- * @deprecated 新規コードは IncrementalExtractor を直接使用してください
7
- */
8
- export async function postIngestProcessing(repository, graphRepository, onProgress) {
9
- const allNoteIds = repository.getAllNoteIds();
10
- const totalNotes = allNoteIds.length;
11
- const incrementalExtractor = new IncrementalExtractor(repository, graphRepository);
12
- const summary = await incrementalExtractor.process(allNoteIds, onProgress);
13
- return {
14
- totalNotes,
15
- processedNotes: summary.processedNotes,
16
- totalEntities: summary.totalEntities,
17
- totalRelations: summary.totalRelations,
18
- totalPatterns: summary.totalPatterns,
19
- errors: summary.errors,
20
- };
21
- }
22
- //# sourceMappingURL=entity-extractor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity-extractor.js","sourceRoot":"","sources":["../../src/lib/entity-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAW/F;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,UAA+B,EAC/B,eAAgC,EAChC,UAAqD;IAErD,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC;IAC9C,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;IAErC,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAE3E,OAAO;QACL,UAAU;QACV,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC;AACJ,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const SKILL_MD = "---\nname: knowledgine-explain\ndescription: >\n Explore entities, knowledge graph connections, and design history for unfamiliar\n components. Invoke when exploring code you did not write, tracing the history of a\n design decision, or understanding how a named entity (technology, library, project,\n person) relates to other parts of the knowledge base.\n---\n# knowledgine-explain\n\n## Purpose\n\nTrace the knowledge graph to understand why things are the way they are. Explain uses\nentity search and graph traversal to surface the full context around a component or\nconcept \u2014 not just what exists, but how it connects to other parts of the system and\nwhat decisions shaped it.\n\n## When to Use\n\n- **Exploring unfamiliar code** \u2014 Who wrote what and why? What decisions shaped this?\n- **Understanding design rationale** \u2014 What alternatives were considered?\n- **Tracing knowledge provenance** \u2014 Where did this pattern or approach come from?\n- **Auditing a technology choice** \u2014 Why is this library used here?\n- **Understanding relationships** \u2014 How do components A and B relate?\n\n## When NOT to Use\n\n- When you just need to find a specific past solution (use knowledgine-recall instead)\n- When the entity does not exist in the knowledge base yet\n- For trivial well-known concepts with no project-specific context\n\n## How to Explain (MCP Tools)\n\n### Step 1: Search for entities\n\n```\nsearch_entities(\n query: string, // Entity name, technology, concept, or person\n limit?: number // Max results (default 10)\n)\n```\n\n### Step 2: Explore entity graph\n\n```\nget_entity_graph(\n entityId?: string, // ID from search_entities result\n entityName?: string // Or search by name directly\n)\n```\n\n### Step 3: Find related notes\n\n```\nfind_related(\n noteId?: string, // A relevant note ID found in earlier steps\n filePath?: string, // Or a relevant file path\n limit?: number,\n maxHops?: number // 1\u20133, default 2\n)\n```\n\n## How to Explain (CLI Alternative)\n\n```bash\nknowledgine explain \"<entity name or concept>\"\n```\n\n## Step-by-Step Instructions\n\n1. **Identify the subject** \u2014 What entity, component, or concept do you want to understand?\n2. **Search for the entity** \u2014 Call `search_entities` with the subject name\n3. **Inspect the entity graph** \u2014 Call `get_entity_graph` with the entity ID\n4. **Traverse related notes** \u2014 Call `find_related` for notes that mention this entity\n5. **Synthesize findings** \u2014 Summarize what you learned about the entity's history and connections\n\n## Best Practices\n\n- Start with `search_entities` to discover the exact entity name as stored in the knowledge base\n- Use `get_entity_graph` to map the neighborhood before diving into individual notes\n- Increase `maxHops` gradually \u2014 start at 1, go to 2 or 3 if the immediate neighborhood is sparse\n- Look specifically for notes tagged `design-decision` \u2014 they explain the \"why\"\n\n## Reference Files\n\n- See `entity-types.md` for the entity taxonomy used in knowledgine\n- See `graph-navigation.md` for how to traverse the knowledge graph effectively\n";
2
- //# sourceMappingURL=skill-md.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skill-md.d.ts","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-explain/skill-md.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,wnGAuFpB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"skill-md.js","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-explain/skill-md.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuFvB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"references.js","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-recall/references.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAA2B;IAChD,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8GvB;IAEC,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4FlB;CACA,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const SKILL_MD = "---\nname: knowledgine-recall\ndescription: >\n Search the local knowledge base for past solutions, design decisions, and patterns\n before starting work. Invoke when facing an error or exception, when approaching an\n unfamiliar area of the codebase, or when considering implementation approaches.\n Prevents re-solving already-solved problems and surfaces relevant context proactively.\n---\n# knowledgine-recall\n\n## Purpose\n\nSearch accumulated project knowledge before solving problems from scratch. The knowledge\nbase contains past bug fixes, design decisions, troubleshooting records, and patterns\ngathered across all previous sessions. Searching first avoids duplicate work and surfaces\nwarnings about known pitfalls.\n\n## When to Use\n\n- **Error or exception encountered** \u2014 Search for the exact error message or key terms\n- **Unfamiliar code area** \u2014 Search for context about the component or module\n- **Implementation choice** \u2014 Search for past decisions on the same topic\n- **Considering a library or approach** \u2014 Search for known gotchas or prior art\n- **Starting work on a file** \u2014 Search for related notes about that file path\n\n## When NOT to Use\n\n- Purely mechanical tasks with no ambiguity (renaming a variable, formatting)\n- When you have already searched and found no relevant results within this session\n- Do not call recall on every single action \u2014 use judgment\n\n## How to Search (MCP Tool)\n\nUse the `search_knowledge` MCP tool:\n\n```\nsearch_knowledge(\n query: string, // Search query \u2014 see query tips below\n mode: \"keyword\" // \"keyword\" | \"semantic\" | \"hybrid\"\n | \"semantic\" // keyword: exact text match (fast, precise)\n | \"hybrid\", // semantic: meaning-based (requires embeddings)\n // hybrid: combines both (best results)\n limit?: number // Max results (default 10)\n)\n```\n\n## How to Search (CLI Alternative)\n\n```bash\nknowledgine recall \"<query>\" # keyword search\nknowledgine recall \"<query>\" --mode semantic # semantic search\nknowledgine recall \"<query>\" --mode hybrid # hybrid search\n```\n\n## Choosing Search Mode\n\n| Situation | Mode |\n|-----------|------|\n| You have an exact error message | `keyword` |\n| You remember specific function or variable names | `keyword` |\n| You know the concept but not the exact wording | `semantic` |\n| General exploration of a topic | `hybrid` |\n| Embeddings not available (FTS5-only setup) | `keyword` (only option) |\n\n## Step-by-Step Instructions\n\n1. **Identify the query** \u2014 Extract the key terms from the problem (see search-strategy.md)\n2. **Choose mode** \u2014 keyword for precise terms, semantic or hybrid for concepts\n3. **Call search_knowledge** \u2014 Pass query, mode, limit (5\u201310 is usually sufficient)\n4. **Evaluate results** \u2014 Read the returned notes for relevance\n5. **Apply findings** \u2014 Use relevant past solutions or decisions to inform your work\n6. **Capture if new** \u2014 If you discover a new solution, use knowledgine-capture to save it\n\n## Best Practices\n\n- Search before proposing a solution, not after\n- Use the actual error message text as a query \u2014 it is the most targeted search\n- Try multiple queries if the first returns no results\n- Combine recall + suggest at session start for comprehensive context\n\n## Reference Files\n\n- See `search-strategy.md` for when to use keyword vs semantic vs hybrid\n- See `query-tips.md` for how to formulate effective queries\n";
2
- //# sourceMappingURL=skill-md.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skill-md.d.ts","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-recall/skill-md.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,kiHAoFpB,CAAC"}
@@ -1,86 +0,0 @@
1
- export const SKILL_MD = `---
2
- name: knowledgine-recall
3
- description: >
4
- Search the local knowledge base for past solutions, design decisions, and patterns
5
- before starting work. Invoke when facing an error or exception, when approaching an
6
- unfamiliar area of the codebase, or when considering implementation approaches.
7
- Prevents re-solving already-solved problems and surfaces relevant context proactively.
8
- ---
9
- # knowledgine-recall
10
-
11
- ## Purpose
12
-
13
- Search accumulated project knowledge before solving problems from scratch. The knowledge
14
- base contains past bug fixes, design decisions, troubleshooting records, and patterns
15
- gathered across all previous sessions. Searching first avoids duplicate work and surfaces
16
- warnings about known pitfalls.
17
-
18
- ## When to Use
19
-
20
- - **Error or exception encountered** — Search for the exact error message or key terms
21
- - **Unfamiliar code area** — Search for context about the component or module
22
- - **Implementation choice** — Search for past decisions on the same topic
23
- - **Considering a library or approach** — Search for known gotchas or prior art
24
- - **Starting work on a file** — Search for related notes about that file path
25
-
26
- ## When NOT to Use
27
-
28
- - Purely mechanical tasks with no ambiguity (renaming a variable, formatting)
29
- - When you have already searched and found no relevant results within this session
30
- - Do not call recall on every single action — use judgment
31
-
32
- ## How to Search (MCP Tool)
33
-
34
- Use the \`search_knowledge\` MCP tool:
35
-
36
- \`\`\`
37
- search_knowledge(
38
- query: string, // Search query — see query tips below
39
- mode: "keyword" // "keyword" | "semantic" | "hybrid"
40
- | "semantic" // keyword: exact text match (fast, precise)
41
- | "hybrid", // semantic: meaning-based (requires embeddings)
42
- // hybrid: combines both (best results)
43
- limit?: number // Max results (default 10)
44
- )
45
- \`\`\`
46
-
47
- ## How to Search (CLI Alternative)
48
-
49
- \`\`\`bash
50
- knowledgine recall "<query>" # keyword search
51
- knowledgine recall "<query>" --mode semantic # semantic search
52
- knowledgine recall "<query>" --mode hybrid # hybrid search
53
- \`\`\`
54
-
55
- ## Choosing Search Mode
56
-
57
- | Situation | Mode |
58
- |-----------|------|
59
- | You have an exact error message | \`keyword\` |
60
- | You remember specific function or variable names | \`keyword\` |
61
- | You know the concept but not the exact wording | \`semantic\` |
62
- | General exploration of a topic | \`hybrid\` |
63
- | Embeddings not available (FTS5-only setup) | \`keyword\` (only option) |
64
-
65
- ## Step-by-Step Instructions
66
-
67
- 1. **Identify the query** — Extract the key terms from the problem (see search-strategy.md)
68
- 2. **Choose mode** — keyword for precise terms, semantic or hybrid for concepts
69
- 3. **Call search_knowledge** — Pass query, mode, limit (5–10 is usually sufficient)
70
- 4. **Evaluate results** — Read the returned notes for relevance
71
- 5. **Apply findings** — Use relevant past solutions or decisions to inform your work
72
- 6. **Capture if new** — If you discover a new solution, use knowledgine-capture to save it
73
-
74
- ## Best Practices
75
-
76
- - Search before proposing a solution, not after
77
- - Use the actual error message text as a query — it is the most targeted search
78
- - Try multiple queries if the first returns no results
79
- - Combine recall + suggest at session start for comprehensive context
80
-
81
- ## Reference Files
82
-
83
- - See \`search-strategy.md\` for when to use keyword vs semantic vs hybrid
84
- - See \`query-tips.md\` for how to formulate effective queries
85
- `;
86
- //# sourceMappingURL=skill-md.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-suggest/references.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAuH7C,CAAC"}