@knowledgine/cli 0.4.1 → 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 (157) hide show
  1. package/dist/commands/ingest.d.ts +10 -0
  2. package/dist/commands/ingest.d.ts.map +1 -1
  3. package/dist/commands/ingest.js +118 -19
  4. package/dist/commands/ingest.js.map +1 -1
  5. package/dist/commands/init.d.ts +1 -0
  6. package/dist/commands/init.d.ts.map +1 -1
  7. package/dist/commands/init.js +140 -33
  8. package/dist/commands/init.js.map +1 -1
  9. package/dist/commands/search.d.ts +1 -0
  10. package/dist/commands/search.d.ts.map +1 -1
  11. package/dist/commands/search.js +60 -9
  12. package/dist/commands/search.js.map +1 -1
  13. package/dist/commands/serve.d.ts.map +1 -1
  14. package/dist/commands/serve.js +39 -4
  15. package/dist/commands/serve.js.map +1 -1
  16. package/dist/commands/setup-skills.d.ts +3 -1
  17. package/dist/commands/setup-skills.d.ts.map +1 -1
  18. package/dist/commands/setup-skills.js +24 -7
  19. package/dist/commands/setup-skills.js.map +1 -1
  20. package/dist/commands/setup.d.ts +2 -0
  21. package/dist/commands/setup.d.ts.map +1 -1
  22. package/dist/commands/setup.js +23 -3
  23. package/dist/commands/setup.js.map +1 -1
  24. package/dist/commands/start.d.ts +1 -0
  25. package/dist/commands/start.d.ts.map +1 -1
  26. package/dist/commands/start.js +100 -66
  27. package/dist/commands/start.js.map +1 -1
  28. package/dist/commands/status.d.ts.map +1 -1
  29. package/dist/commands/status.js +15 -15
  30. package/dist/commands/status.js.map +1 -1
  31. package/dist/commands/upgrade.d.ts.map +1 -1
  32. package/dist/commands/upgrade.js +22 -15
  33. package/dist/commands/upgrade.js.map +1 -1
  34. package/dist/index.js +35 -2
  35. package/dist/index.js.map +1 -1
  36. package/dist/templates/skills/index.d.ts +8 -5
  37. package/dist/templates/skills/index.d.ts.map +1 -1
  38. package/dist/templates/skills/index.js +56 -41
  39. package/dist/templates/skills/index.js.map +1 -1
  40. package/dist/templates/skills/knowledgine-capture/references.ja.d.ts +2 -0
  41. package/dist/templates/skills/knowledgine-capture/references.ja.d.ts.map +1 -0
  42. package/dist/templates/skills/knowledgine-capture/references.ja.js +414 -0
  43. package/dist/templates/skills/knowledgine-capture/references.ja.js.map +1 -0
  44. package/dist/templates/skills/knowledgine-capture/skill-md.d.ts +1 -1
  45. package/dist/templates/skills/knowledgine-capture/skill-md.d.ts.map +1 -1
  46. package/dist/templates/skills/knowledgine-capture/skill-md.ja.d.ts +2 -0
  47. package/dist/templates/skills/knowledgine-capture/skill-md.ja.d.ts.map +1 -0
  48. package/dist/templates/skills/knowledgine-capture/skill-md.ja.js +98 -0
  49. package/dist/templates/skills/knowledgine-capture/skill-md.ja.js.map +1 -0
  50. package/dist/templates/skills/knowledgine-capture/skill-md.js +4 -2
  51. package/dist/templates/skills/knowledgine-capture/skill-md.js.map +1 -1
  52. package/dist/templates/skills/knowledgine-debrief/references.ja.d.ts +2 -0
  53. package/dist/templates/skills/knowledgine-debrief/references.ja.d.ts.map +1 -0
  54. package/dist/templates/skills/knowledgine-debrief/references.ja.js +141 -0
  55. package/dist/templates/skills/knowledgine-debrief/references.ja.js.map +1 -0
  56. package/dist/templates/skills/knowledgine-debrief/skill-md.d.ts +1 -1
  57. package/dist/templates/skills/knowledgine-debrief/skill-md.d.ts.map +1 -1
  58. package/dist/templates/skills/knowledgine-debrief/skill-md.ja.d.ts +2 -0
  59. package/dist/templates/skills/knowledgine-debrief/skill-md.ja.d.ts.map +1 -0
  60. package/dist/templates/skills/knowledgine-debrief/skill-md.ja.js +82 -0
  61. package/dist/templates/skills/knowledgine-debrief/skill-md.ja.js.map +1 -0
  62. package/dist/templates/skills/knowledgine-debrief/skill-md.js +10 -2
  63. package/dist/templates/skills/knowledgine-debrief/skill-md.js.map +1 -1
  64. package/dist/templates/skills/{knowledgine-explain → knowledgine-explore}/references.d.ts.map +1 -1
  65. package/dist/templates/skills/knowledgine-explore/references.ja.d.ts +2 -0
  66. package/dist/templates/skills/knowledgine-explore/references.ja.d.ts.map +1 -0
  67. package/dist/templates/skills/knowledgine-explore/references.ja.js +182 -0
  68. package/dist/templates/skills/knowledgine-explore/references.ja.js.map +1 -0
  69. package/dist/templates/skills/{knowledgine-explain → knowledgine-explore}/references.js +15 -15
  70. package/dist/templates/skills/{knowledgine-explain → knowledgine-explore}/references.js.map +1 -1
  71. package/dist/templates/skills/knowledgine-explore/skill-md.d.ts +2 -0
  72. package/dist/templates/skills/knowledgine-explore/skill-md.d.ts.map +1 -0
  73. package/dist/templates/skills/knowledgine-explore/skill-md.ja.d.ts +2 -0
  74. package/dist/templates/skills/knowledgine-explore/skill-md.ja.d.ts.map +1 -0
  75. package/dist/templates/skills/knowledgine-explore/skill-md.ja.js +98 -0
  76. package/dist/templates/skills/knowledgine-explore/skill-md.ja.js.map +1 -0
  77. package/dist/templates/skills/{knowledgine-explain → knowledgine-explore}/skill-md.js +19 -12
  78. package/dist/templates/skills/{knowledgine-suggest → knowledgine-explore}/skill-md.js.map +1 -1
  79. package/dist/templates/skills/knowledgine-feedback/references.ja.d.ts +2 -0
  80. package/dist/templates/skills/knowledgine-feedback/references.ja.d.ts.map +1 -0
  81. package/dist/templates/skills/knowledgine-feedback/references.ja.js +214 -0
  82. package/dist/templates/skills/knowledgine-feedback/references.ja.js.map +1 -0
  83. package/dist/templates/skills/knowledgine-feedback/skill-md.d.ts +1 -1
  84. package/dist/templates/skills/knowledgine-feedback/skill-md.d.ts.map +1 -1
  85. package/dist/templates/skills/knowledgine-feedback/skill-md.ja.d.ts +2 -0
  86. package/dist/templates/skills/knowledgine-feedback/skill-md.ja.d.ts.map +1 -0
  87. package/dist/templates/skills/knowledgine-feedback/skill-md.ja.js +108 -0
  88. package/dist/templates/skills/knowledgine-feedback/skill-md.ja.js.map +1 -0
  89. package/dist/templates/skills/knowledgine-feedback/skill-md.js +4 -2
  90. package/dist/templates/skills/knowledgine-feedback/skill-md.js.map +1 -1
  91. package/dist/templates/skills/knowledgine-ingest/references.ja.d.ts +2 -0
  92. package/dist/templates/skills/knowledgine-ingest/references.ja.d.ts.map +1 -0
  93. package/dist/templates/skills/knowledgine-ingest/references.ja.js +244 -0
  94. package/dist/templates/skills/knowledgine-ingest/references.ja.js.map +1 -0
  95. package/dist/templates/skills/knowledgine-ingest/skill-md.d.ts +1 -1
  96. package/dist/templates/skills/knowledgine-ingest/skill-md.d.ts.map +1 -1
  97. package/dist/templates/skills/knowledgine-ingest/skill-md.ja.d.ts +2 -0
  98. package/dist/templates/skills/knowledgine-ingest/skill-md.ja.d.ts.map +1 -0
  99. package/dist/templates/skills/knowledgine-ingest/skill-md.ja.js +81 -0
  100. package/dist/templates/skills/knowledgine-ingest/skill-md.ja.js.map +1 -0
  101. package/dist/templates/skills/knowledgine-ingest/skill-md.js +2 -0
  102. package/dist/templates/skills/knowledgine-ingest/skill-md.js.map +1 -1
  103. package/dist/templates/skills/{knowledgine-recall → knowledgine-memory}/references.d.ts.map +1 -1
  104. package/dist/templates/skills/knowledgine-memory/references.ja.d.ts +2 -0
  105. package/dist/templates/skills/knowledgine-memory/references.ja.d.ts.map +1 -0
  106. package/dist/templates/skills/knowledgine-memory/references.ja.js +188 -0
  107. package/dist/templates/skills/knowledgine-memory/references.ja.js.map +1 -0
  108. package/dist/templates/skills/knowledgine-memory/references.js +188 -0
  109. package/dist/templates/skills/knowledgine-memory/references.js.map +1 -0
  110. package/dist/templates/skills/knowledgine-memory/skill-md.d.ts +2 -0
  111. package/dist/templates/skills/knowledgine-memory/skill-md.d.ts.map +1 -0
  112. package/dist/templates/skills/knowledgine-memory/skill-md.ja.d.ts +2 -0
  113. package/dist/templates/skills/knowledgine-memory/skill-md.ja.d.ts.map +1 -0
  114. package/dist/templates/skills/knowledgine-memory/skill-md.ja.js +169 -0
  115. package/dist/templates/skills/knowledgine-memory/skill-md.ja.js.map +1 -0
  116. package/dist/templates/skills/knowledgine-memory/skill-md.js +169 -0
  117. package/dist/templates/skills/{knowledgine-recall → knowledgine-memory}/skill-md.js.map +1 -1
  118. package/dist/templates/skills/knowledgine-search/references.d.ts.map +1 -0
  119. package/dist/templates/skills/knowledgine-search/references.ja.d.ts +2 -0
  120. package/dist/templates/skills/knowledgine-search/references.ja.d.ts.map +1 -0
  121. package/dist/templates/skills/knowledgine-search/references.ja.js +313 -0
  122. package/dist/templates/skills/knowledgine-search/references.ja.js.map +1 -0
  123. package/dist/templates/skills/{knowledgine-recall → knowledgine-search}/references.js +124 -19
  124. package/dist/templates/skills/knowledgine-search/references.js.map +1 -0
  125. package/dist/templates/skills/knowledgine-search/skill-md.d.ts +2 -0
  126. package/dist/templates/skills/knowledgine-search/skill-md.d.ts.map +1 -0
  127. package/dist/templates/skills/knowledgine-search/skill-md.ja.d.ts +2 -0
  128. package/dist/templates/skills/knowledgine-search/skill-md.ja.d.ts.map +1 -0
  129. package/dist/templates/skills/knowledgine-search/skill-md.ja.js +175 -0
  130. package/dist/templates/skills/knowledgine-search/skill-md.ja.js.map +1 -0
  131. package/dist/templates/skills/knowledgine-search/skill-md.js +174 -0
  132. package/dist/templates/skills/knowledgine-search/skill-md.js.map +1 -0
  133. package/dist/templates/skills/types.d.ts +4 -0
  134. package/dist/templates/skills/types.d.ts.map +1 -0
  135. package/dist/templates/skills/types.js +3 -0
  136. package/dist/templates/skills/types.js.map +1 -0
  137. package/package.json +4 -4
  138. package/dist/lib/entity-extractor.d.ts +0 -17
  139. package/dist/lib/entity-extractor.d.ts.map +0 -1
  140. package/dist/lib/entity-extractor.js +0 -23
  141. package/dist/lib/entity-extractor.js.map +0 -1
  142. package/dist/templates/skills/knowledgine-explain/skill-md.d.ts +0 -2
  143. package/dist/templates/skills/knowledgine-explain/skill-md.d.ts.map +0 -1
  144. package/dist/templates/skills/knowledgine-explain/skill-md.js.map +0 -1
  145. package/dist/templates/skills/knowledgine-recall/references.js.map +0 -1
  146. package/dist/templates/skills/knowledgine-recall/skill-md.d.ts +0 -2
  147. package/dist/templates/skills/knowledgine-recall/skill-md.d.ts.map +0 -1
  148. package/dist/templates/skills/knowledgine-recall/skill-md.js +0 -86
  149. package/dist/templates/skills/knowledgine-suggest/references.d.ts.map +0 -1
  150. package/dist/templates/skills/knowledgine-suggest/references.js +0 -121
  151. package/dist/templates/skills/knowledgine-suggest/references.js.map +0 -1
  152. package/dist/templates/skills/knowledgine-suggest/skill-md.d.ts +0 -2
  153. package/dist/templates/skills/knowledgine-suggest/skill-md.d.ts.map +0 -1
  154. package/dist/templates/skills/knowledgine-suggest/skill-md.js +0 -94
  155. /package/dist/templates/skills/{knowledgine-explain → knowledgine-explore}/references.d.ts +0 -0
  156. /package/dist/templates/skills/{knowledgine-recall → knowledgine-memory}/references.d.ts +0 -0
  157. /package/dist/templates/skills/{knowledgine-suggest → knowledgine-search}/references.d.ts +0 -0
@@ -1,7 +1,7 @@
1
1
  import { resolve } from "path";
2
2
  import { mkdirSync } from "fs";
3
3
  import { watch } from "chokidar";
4
- import { loadConfig, resolveDefaultPath, createDatabase, loadSqliteVecExtension, Migrator, KnowledgeRepository, GraphRepository, FeedbackRepository, FileProcessor, PatternExtractor, ALL_MIGRATIONS, OnnxEmbeddingProvider, ModelManager, DEFAULT_MODEL_NAME, } from "@knowledgine/core";
4
+ import { loadConfig, resolveDefaultPath, createDatabase, loadSqliteVecExtension, Migrator, KnowledgeRepository, GraphRepository, FeedbackRepository, FileProcessor, PatternExtractor, ALL_MIGRATIONS, OnnxEmbeddingProvider, ModelManager, DEFAULT_MODEL_NAME, checkSemanticReadiness, } from "@knowledgine/core";
5
5
  import { createKnowledgineMcpServer, StdioServerTransport } from "@knowledgine/mcp-server";
6
6
  import { indexFile } from "../lib/indexer.js";
7
7
  import { createBox, colors, symbols } from "../lib/ui/index.js";
@@ -11,18 +11,16 @@ export async function startCommand(options) {
11
11
  mkdirSync(resolve(rootPath, ".knowledgine"), { recursive: true });
12
12
  // Load config (respects .knowledginerc.json and env vars)
13
13
  const config = loadConfig(rootPath);
14
- // Auto-detect model for backward compatibility
15
- if (!config.embedding.enabled) {
16
- const modelManager = new ModelManager();
17
- if (modelManager.isModelAvailable(config.embedding.modelName)) {
18
- config.embedding.enabled = true;
19
- console.error(`${symbols.success} ${colors.success("Semantic search enabled (model detected)")}`);
20
- }
14
+ // Auto-detect model for backward compatibility (without mutating config)
15
+ const modelManager = new ModelManager();
16
+ const autoDetected = !config.embedding.enabled && modelManager.isModelAvailable(config.embedding.modelName);
17
+ if (autoDetected) {
18
+ console.error(`${symbols.success} ${colors.success("Semantic search enabled (model detected)")}`);
21
19
  }
22
20
  // Initialize database
23
21
  const db = createDatabase(config.dbPath);
24
- // Load sqlite-vec if semantic search is enabled
25
- if (config.embedding.enabled) {
22
+ // Load sqlite-vec if semantic search is enabled (or auto-detected)
23
+ if (config.embedding.enabled || autoDetected) {
26
24
  await loadSqliteVecExtension(db);
27
25
  }
28
26
  new Migrator(db, ALL_MIGRATIONS).migrate();
@@ -34,21 +32,35 @@ export async function startCommand(options) {
34
32
  if (stats.totalNotes === 0) {
35
33
  console.error(`${symbols.warning} ${colors.warning("No notes indexed. Run `knowledgine init` first.")}`);
36
34
  }
37
- // Initialize embedding provider if model is available and semantic is enabled
35
+ // Initialize embedding provider based on semantic readiness
36
+ // Use effective config that accounts for auto-detection (without mutating original config)
37
+ const effectiveConfig = autoDetected
38
+ ? { ...config, embedding: { ...config.embedding, enabled: true } }
39
+ : config;
38
40
  let embeddingProvider;
39
- if (config.embedding.enabled) {
40
- const modelManager = new ModelManager();
41
- if (modelManager.isModelAvailable()) {
42
- embeddingProvider = new OnnxEmbeddingProvider(DEFAULT_MODEL_NAME, modelManager);
43
- }
44
- else {
45
- // Warn if notes exist but no embeddings
46
- const notesWithout = repository.getNotesWithoutEmbeddings();
47
- if (notesWithout.length > 0) {
48
- console.error(`${symbols.warning} ${colors.warning(`${notesWithout.length} notes have no embeddings. ` +
41
+ const semanticReadiness = checkSemanticReadiness(effectiveConfig, modelManager, repository);
42
+ if (semanticReadiness.ready) {
43
+ embeddingProvider = new OnnxEmbeddingProvider(DEFAULT_MODEL_NAME, modelManager);
44
+ // ONNX セッションをウォームアップして初回 semantic 検索のレイテンシスパイクを防止
45
+ embeddingProvider.embed("warmup").catch(() => {
46
+ // ウォームアップ失敗は無視(MCP 起動を妨げない)
47
+ });
48
+ }
49
+ else if (semanticReadiness.configEnabled) {
50
+ if (!semanticReadiness.modelAvailable) {
51
+ // Config enabled but model not downloaded
52
+ const notesWithoutCount = repository.getNotesWithoutEmbeddingIds().length;
53
+ if (notesWithoutCount > 0) {
54
+ console.error(`${symbols.warning} ${colors.warning(`${notesWithoutCount} notes have no embeddings. ` +
49
55
  "Semantic search unavailable. Run 'knowledgine upgrade --semantic' to download the model and generate embeddings.")}`);
50
56
  }
51
57
  }
58
+ else if (semanticReadiness.embeddingsCount === 0 && semanticReadiness.totalNotes > 0) {
59
+ // Model available but embeddings not yet generated
60
+ const notesWithoutCount = repository.getNotesWithoutEmbeddingIds().length;
61
+ console.error(`${symbols.warning} ${colors.warning(`${notesWithoutCount} notes have no embeddings. ` +
62
+ "Semantic search unavailable. Run 'knowledgine upgrade --semantic' to download the model and generate embeddings.")}`);
63
+ }
52
64
  }
53
65
  else {
54
66
  console.error(`${symbols.info} ${colors.info("Running with FTS5 full-text search only")}`);
@@ -64,7 +76,7 @@ export async function startCommand(options) {
64
76
  });
65
77
  const transport = new StdioServerTransport();
66
78
  await server.connect(transport);
67
- const searchMode = config.embedding.enabled ? "semantic + FTS5" : "FTS5 full-text search";
79
+ const searchMode = semanticReadiness.ready ? "semantic + FTS5" : "FTS5 full-text search";
68
80
  console.error(createBox([
69
81
  `${symbols.info} Path: ${rootPath}`,
70
82
  `${symbols.info} Notes: ${stats.totalNotes} indexed`,
@@ -109,53 +121,73 @@ export async function startCommand(options) {
109
121
  // File watcher for auto-reindexing
110
122
  const fileProcessor = new FileProcessor();
111
123
  const patternExtractor = new PatternExtractor();
112
- const watcher = watch("**/*.md", {
113
- cwd: rootPath,
114
- ignored: [/node_modules/, /\.knowledgine/],
115
- persistent: true,
116
- ignoreInitial: true,
117
- });
118
- watcher.on("add", async (filePath) => {
119
- try {
120
- const noteId = await indexFile(filePath, rootPath, fileProcessor, patternExtractor, repository, graphRepository);
121
- if (embeddingProvider) {
122
- const note = repository.getNoteById(noteId);
123
- if (note) {
124
- const embedding = await embeddingProvider.embed(note.content);
125
- repository.saveEmbedding(noteId, embedding, config.embedding.modelName);
124
+ let watcher;
125
+ if (options.watch !== false) {
126
+ watcher = watch("**/*.md", {
127
+ cwd: rootPath,
128
+ ignored: [/node_modules/, /\.knowledgine/, /\.git/, /dist/],
129
+ persistent: true,
130
+ ignoreInitial: true,
131
+ });
132
+ watcher.on("error", (err) => {
133
+ const nodeErr = err;
134
+ if (nodeErr.code === "EMFILE" || nodeErr.code === "ENOSPC") {
135
+ console.error(`${symbols.error} ${colors.error("File watcher limit reached. Use --no-watch to disable.")}`);
136
+ console.error(` Or increase the limit: ulimit -n 4096`);
137
+ // Gracefully close the watcher to prevent further EMFILE cascading
138
+ watcher?.close().catch(() => { });
139
+ watcher = undefined;
140
+ console.error(`${symbols.info} ${colors.info("File watcher stopped. MCP server continues without auto-reindexing.")}`);
141
+ }
142
+ else {
143
+ console.error(`${symbols.error} ${colors.error(`File watcher error: ${nodeErr.message ?? String(err)}`)}`);
144
+ }
145
+ });
146
+ watcher.on("add", async (filePath) => {
147
+ try {
148
+ const noteId = await indexFile(filePath, rootPath, fileProcessor, patternExtractor, repository, graphRepository);
149
+ if (embeddingProvider) {
150
+ const note = repository.getNoteById(noteId);
151
+ if (note) {
152
+ const embedding = await embeddingProvider.embed(note.content);
153
+ repository.saveEmbedding(noteId, embedding, config.embedding.modelName);
154
+ }
126
155
  }
156
+ console.error(`${symbols.arrow} ${colors.info(`Indexed: ${filePath}`)}`);
127
157
  }
128
- console.error(`${symbols.arrow} ${colors.info(`Indexed: ${filePath}`)}`);
129
- }
130
- catch (error) {
131
- console.error(`${symbols.error} ${colors.error(`Error indexing ${filePath}: ${error instanceof Error ? error.message : error}`)}`);
132
- }
133
- });
134
- watcher.on("change", async (filePath) => {
135
- try {
136
- const noteId = await indexFile(filePath, rootPath, fileProcessor, patternExtractor, repository, graphRepository);
137
- if (embeddingProvider) {
138
- const note = repository.getNoteById(noteId);
139
- if (note) {
140
- const embedding = await embeddingProvider.embed(note.content);
141
- repository.saveEmbedding(noteId, embedding, config.embedding.modelName);
158
+ catch (error) {
159
+ console.error(`${symbols.error} ${colors.error(`Error indexing ${filePath}: ${error instanceof Error ? error.message : error}`)}`);
160
+ }
161
+ });
162
+ watcher.on("change", async (filePath) => {
163
+ try {
164
+ const noteId = await indexFile(filePath, rootPath, fileProcessor, patternExtractor, repository, graphRepository);
165
+ if (embeddingProvider) {
166
+ const note = repository.getNoteById(noteId);
167
+ if (note) {
168
+ const embedding = await embeddingProvider.embed(note.content);
169
+ repository.saveEmbedding(noteId, embedding, config.embedding.modelName);
170
+ }
142
171
  }
172
+ console.error(`${symbols.arrow} ${colors.info(`Re-indexed: ${filePath}`)}`);
143
173
  }
144
- console.error(`${symbols.arrow} ${colors.info(`Re-indexed: ${filePath}`)}`);
145
- }
146
- catch (error) {
147
- console.error(`${symbols.error} ${colors.error(`Error re-indexing ${filePath}: ${error instanceof Error ? error.message : error}`)}`);
148
- }
149
- });
150
- watcher.on("unlink", (filePath) => {
151
- try {
152
- repository.deleteNoteByPath(filePath);
153
- console.error(`${symbols.arrow} ${colors.info(`Removed: ${filePath}`)}`);
154
- }
155
- catch (error) {
156
- console.error(`${symbols.error} ${colors.error(`Error removing ${filePath}: ${error instanceof Error ? error.message : error}`)}`);
157
- }
158
- });
174
+ catch (error) {
175
+ console.error(`${symbols.error} ${colors.error(`Error re-indexing ${filePath}: ${error instanceof Error ? error.message : error}`)}`);
176
+ }
177
+ });
178
+ watcher.on("unlink", (filePath) => {
179
+ try {
180
+ repository.deleteNoteByPath(filePath);
181
+ console.error(`${symbols.arrow} ${colors.info(`Removed: ${filePath}`)}`);
182
+ }
183
+ catch (error) {
184
+ console.error(`${symbols.error} ${colors.error(`Error removing ${filePath}: ${error instanceof Error ? error.message : error}`)}`);
185
+ }
186
+ });
187
+ }
188
+ else {
189
+ console.error(`${symbols.info} ${colors.info("File watcher disabled (--no-watch)")}`);
190
+ }
159
191
  // Graceful shutdown
160
192
  const shutdown = async () => {
161
193
  console.error("Shutting down...");
@@ -168,7 +200,9 @@ export async function startCommand(options) {
168
200
  if (embeddingProvider) {
169
201
  await embeddingProvider.close();
170
202
  }
171
- await watcher.close();
203
+ if (watcher) {
204
+ await watcher.close();
205
+ }
172
206
  db.close();
173
207
  process.exit(0);
174
208
  };
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA2BD,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA2IzE"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA2BD,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA8IzE"}
@@ -1,6 +1,6 @@
1
1
  import { resolve } from "path";
2
2
  import { existsSync, statSync, readFileSync } from "fs";
3
- import { loadConfig, resolveDefaultPath, createDatabase, Migrator, KnowledgeRepository, ALL_MIGRATIONS, ModelManager, } from "@knowledgine/core";
3
+ import { loadConfig, resolveDefaultPath, createDatabase, Migrator, KnowledgeRepository, ALL_MIGRATIONS, ModelManager, checkSemanticReadiness, } from "@knowledgine/core";
4
4
  import { createBox, colors, symbols } from "../lib/ui/index.js";
5
5
  import { getConfigPath, TARGETS, PROJECT_CONFIG_SUPPORT } from "./setup.js";
6
6
  import * as TOML from "smol-toml";
@@ -49,10 +49,12 @@ export async function statusCommand(options) {
49
49
  }
50
50
  const dbStat = statSync(dbPath);
51
51
  const sizeStr = formatBytes(dbStat.size);
52
+ const config = loadConfig(rootPath);
52
53
  // Open DB and get stats
53
54
  let totalNotes = 0;
54
55
  let totalPatterns = 0;
55
- let notesWithoutEmbeddings = 0;
56
+ let notesBySource = {};
57
+ let readiness;
56
58
  try {
57
59
  const db = createDatabase(dbPath);
58
60
  new Migrator(db, ALL_MIGRATIONS).migrate();
@@ -60,7 +62,9 @@ export async function statusCommand(options) {
60
62
  const stats = repository.getStats();
61
63
  totalNotes = stats.totalNotes;
62
64
  totalPatterns = stats.totalPatterns;
63
- notesWithoutEmbeddings = repository.getNotesWithoutEmbeddings().length;
65
+ notesBySource = stats.notesBySource;
66
+ const modelManager = new ModelManager();
67
+ readiness = checkSemanticReadiness(config, modelManager, repository);
64
68
  db.close();
65
69
  }
66
70
  catch (error) {
@@ -68,13 +72,9 @@ export async function statusCommand(options) {
68
72
  console.error("");
69
73
  return;
70
74
  }
71
- const embeddingsGenerated = totalNotes - notesWithoutEmbeddings;
72
- // Model check
73
- const modelManager = new ModelManager();
74
- const modelAvailable = modelManager.isModelAvailable();
75
- // Semantic search mode
76
- const config = loadConfig(rootPath);
77
- const semanticMode = config.embedding.enabled || modelAvailable;
75
+ // readiness is always set if we reach here (no early return from catch)
76
+ const { modelAvailable, embeddingsCount: embeddingsGenerated } = readiness;
77
+ const semanticMode = readiness.ready;
78
78
  // MCP config checks — check all supported targets (global + project level)
79
79
  const configuredTools = [];
80
80
  for (const t of TARGETS) {
@@ -100,11 +100,7 @@ export async function statusCommand(options) {
100
100
  }
101
101
  // Overall status
102
102
  const isReady = totalNotes > 0;
103
- const statusLabel = isReady
104
- ? semanticMode
105
- ? "Ready (semantic + FTS5)"
106
- : "Ready (FTS5 only)"
107
- : "Not initialized";
103
+ const statusLabel = readiness.label;
108
104
  // Build content
109
105
  const modelLine = modelAvailable
110
106
  ? `${symbols.success} all-MiniLM-L6-v2 (available)`
@@ -123,10 +119,14 @@ export async function statusCommand(options) {
123
119
  const mcpLine = configuredTools.length > 0
124
120
  ? `${symbols.success} ${colors.success(configuredTools.join(", "))}`
125
121
  : colors.hint("none configured");
122
+ // Build source breakdown lines
123
+ const sourceEntries = Object.entries(notesBySource).sort(([, a], [, b]) => b - a);
124
+ const sourceLines = sourceEntries.map(([source, count]) => ` ${colors.dim(source.padEnd(16))}${count}`);
126
125
  const contentParts = [
127
126
  `${colors.bold("Database")}`,
128
127
  ` ${pad("Path:")}${dbPath} (${sizeStr})`,
129
128
  ` ${pad("Notes:")}${colors.info(String(totalNotes))} indexed`,
129
+ ...(sourceEntries.length > 1 ? sourceLines : []),
130
130
  ` ${pad("Patterns:")}${colors.info(String(totalPatterns))} extracted`,
131
131
  ` ${pad("Embeddings:")}${colors.info(`${embeddingsGenerated}/${totalNotes}`)} generated`,
132
132
  "",
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAMD,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAiK3E"}
1
+ {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA+K3E"}
@@ -3,9 +3,6 @@ import { existsSync } from "fs";
3
3
  import { loadConfig, writeRcConfig, resolveDefaultPath, createDatabase, loadSqliteVecExtension, Migrator, KnowledgeRepository, ALL_MIGRATIONS, OnnxEmbeddingProvider, ModelManager, DEFAULT_MODEL_NAME, downloadModel, } from "@knowledgine/core";
4
4
  import { createProgress } from "../lib/progress.js";
5
5
  import { colors, symbols, createBox } from "../lib/ui/index.js";
6
- function sanitizeForLog(value) {
7
- return value.replace(/[\r\n]+/g, " ");
8
- }
9
6
  export async function upgradeCommand(options) {
10
7
  const rootPath = resolveDefaultPath(options.path);
11
8
  if (!options.semantic) {
@@ -87,9 +84,8 @@ export async function upgradeCommand(options) {
87
84
  });
88
85
  console.error(`${symbols.success} ${colors.success("Model download complete.")}`);
89
86
  }
90
- catch (error) {
91
- const message = sanitizeForLog(error instanceof Error ? error.message : String(error));
92
- console.error(colors.error(`\nModel download failed: ${message}`));
87
+ catch {
88
+ console.error(colors.error("\nModel download failed. Check your network connection and try again."));
93
89
  console.error(colors.error("Semantic search upgrade aborted."));
94
90
  db.close();
95
91
  process.exitCode = 1;
@@ -101,25 +97,36 @@ export async function upgradeCommand(options) {
101
97
  }
102
98
  // Generate embeddings for notes that don't have them
103
99
  const embeddingProvider = new OnnxEmbeddingProvider(DEFAULT_MODEL_NAME, modelManager);
104
- const notesWithout = repository.getNotesWithoutEmbeddings();
105
- if (notesWithout.length > 0) {
100
+ const noteIds = repository.getNotesWithoutEmbeddingIds();
101
+ if (noteIds.length > 0) {
106
102
  // Warm up the ONNX session (first call is slow due to model loading)
107
103
  console.error(colors.info("\nLoading embedding model..."));
108
104
  await embeddingProvider.embed("warmup");
109
105
  console.error("");
110
- const embProgress = createProgress(notesWithout.length, "Generating embeddings");
106
+ const BATCH_SIZE = 20;
107
+ const embProgress = createProgress(noteIds.length, "Generating embeddings");
111
108
  let generated = 0;
112
109
  let failed = 0;
113
- for (const note of notesWithout) {
110
+ for (let i = 0; i < noteIds.length; i += BATCH_SIZE) {
111
+ const batchIds = noteIds.slice(i, i + BATCH_SIZE);
112
+ const noteRows = repository.getNotesByIds(batchIds);
113
+ // getNotesByIds の返り順は不定なので id→note Map で安全にマッピング
114
+ const noteMap = new Map(noteRows.map((n) => [n.id, n]));
115
+ const orderedNotes = batchIds.map((id) => noteMap.get(id)).filter((n) => n != null);
114
116
  try {
115
- const embedding = await embeddingProvider.embed(note.content);
116
- repository.saveEmbedding(note.id, embedding, config.embedding.modelName);
117
- generated++;
118
- embProgress.update(generated);
117
+ const embeddings = await embeddingProvider.embedBatch(orderedNotes.map((n) => n.content));
118
+ const result = repository.saveEmbeddingBatch(orderedNotes.map((n, j) => ({
119
+ noteId: n.id,
120
+ embedding: embeddings[j],
121
+ modelName: config.embedding.modelName,
122
+ })));
123
+ generated += result.saved;
124
+ failed += result.failed;
119
125
  }
120
126
  catch {
121
- failed++;
127
+ failed += orderedNotes.length;
122
128
  }
129
+ embProgress.update(generated + failed > noteIds.length ? noteIds.length : generated + failed);
123
130
  }
124
131
  embProgress.finish();
125
132
  console.error(` ${symbols.success} ${colors.success(`Generated: ${generated}`)}, Failed: ${failed}`);
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -41,9 +41,11 @@ program
41
41
  .description("Scan and index markdown files (FTS5 full-text search by default)")
42
42
  .option("--path <dir>", "Root directory to scan")
43
43
  .option("--semantic", "Enable semantic search (download model + generate embeddings)")
44
+ .option("--no-semantic", "Skip semantic search setup entirely")
44
45
  .option("--skip-embeddings", "[deprecated] Use default behavior instead (embeddings are now opt-in)")
45
46
  .option("--demo", "Initialize with sample demo notes")
46
47
  .option("--force", "Skip confirmation prompts", false)
48
+ .option("-y, --yes", "Automatically answer yes to all prompts")
47
49
  .option("--save-config", "Save defaultPath to .knowledginerc.json in current directory")
48
50
  .addHelpText("after", `
49
51
  Examples:
@@ -56,10 +58,12 @@ program
56
58
  .description("Start MCP server with file watching")
57
59
  .option("--path <dir>", "Root directory to serve")
58
60
  .option("--ingest", "Enable IngestEngine for all plugins")
61
+ .option("--no-watch", "Disable file watcher (useful for large repos to avoid EMFILE errors)")
59
62
  .addHelpText("after", `
60
63
  Example:
61
64
  knowledgine start --path ~/notes
62
- knowledgine start --path ~/notes --ingest`)
65
+ knowledgine start --path ~/notes --ingest
66
+ knowledgine start --path ~/notes --no-watch`)
63
67
  .action(startCommand);
64
68
  program
65
69
  .command("setup")
@@ -69,10 +73,13 @@ program
69
73
  .option("--write", "Write configuration to file (default: dry-run)")
70
74
  .option("--rules", "Configure agent rules (instruction files)")
71
75
  .option("--skills", "Install agent skill packages (SKILL.md)")
76
+ .option("--lang <locale>", "Language for skills: en or ja (default: en)")
77
+ .option("--scope <scope>", "Configuration scope: global or project (default: global)")
72
78
  .addHelpText("after", `
73
79
  Examples:
74
80
  knowledgine setup Interactive 3-step setup
75
81
  knowledgine setup --target cursor --path ~/notes --write MCP config
82
+ knowledgine setup --target claude-code --scope project --write Project MCP config
76
83
  knowledgine setup --rules --target cursor --write Agent rules
77
84
  knowledgine setup --skills --target cursor --write Agent skills`)
78
85
  .action(setupCommand);
@@ -101,6 +108,17 @@ program
101
108
  .option("--full", "Force full re-ingest (ignore cursor)")
102
109
  .option("--all", "Run all registered plugins")
103
110
  .option("--repo <owner/repo>", "GitHub repository (required for --source github)")
111
+ .option("--limit <n>", "Limit number of items (e.g., commits for git-history)", parseInt)
112
+ .option("--since <date>", "Filter by date (e.g., 2025-01-01, for git-history)")
113
+ .option("--unlimited", "Disable default limits (git-history)")
114
+ .option("--force", "Force full re-ingest (alias for --full)")
115
+ .option("--verbose", "Show details of skipped items")
116
+ .option("--quiet", "Suppress progress output (for CI)")
117
+ .option("--exclude-pattern <patterns...>", "Glob patterns to exclude from ingestion")
118
+ .option("--skip-extraction", "Skip entity extraction after ingest")
119
+ .option("--observe", "Run Observer/Reflector agents after ingestion")
120
+ .option("--no-observe", "Skip Observer/Reflector agents")
121
+ .option("--observe-limit <n>", "Max notes to process with Observer", parseInt)
104
122
  .addHelpText("after", `
105
123
  Examples:
106
124
  knowledgine ingest --source markdown --path ~/notes
@@ -108,9 +126,22 @@ Examples:
108
126
  knowledgine ingest --source claude-sessions --path ~/notes
109
127
  knowledgine ingest --all --path ~/notes
110
128
  knowledgine ingest --source markdown --full --path ~/notes
129
+ knowledgine ingest --source git-history --limit 500 --path ~/notes
130
+ knowledgine ingest --source git-history --since 2025-01-01 --path ~/notes
131
+ knowledgine ingest --source git-history --unlimited --path ~/notes
132
+ knowledgine ingest --source git-history --exclude-pattern "**/vendor/**" --path ~/notes
133
+ knowledgine ingest --source markdown --observe --path ~/notes
134
+ knowledgine ingest --source markdown --observe --observe-limit 20 --path ~/notes
111
135
 
112
136
  Source-specific options:
113
- --source github --repo owner/repo Ingest GitHub PRs and issues (requires GITHUB_TOKEN env var)`)
137
+ --source github --repo owner/repo Ingest GitHub PRs and issues (requires GITHUB_TOKEN env var)
138
+ --limit <n> Limit number of commits (git-history, default: 100)
139
+ --since <date> Filter commits by date (git-history)
140
+ --unlimited Disable default commit limit (git-history)
141
+ --exclude-pattern <patterns...> Glob patterns to exclude (e.g., "**/vendor/**")
142
+ --observe Run Observer/Reflector agents after ingestion
143
+ --no-observe Skip Observer/Reflector agents (overrides rc config)
144
+ --observe-limit <n> Max notes for Observer (default: 50)`)
114
145
  .action(ingestCommand);
115
146
  const pluginsCmd = program.command("plugins").description("Manage ingest plugins");
116
147
  pluginsCmd.command("list").description("List registered plugins").action(pluginsListCommand);
@@ -169,6 +200,7 @@ program
169
200
  .option("--no-fallback", "Exit with error if requested search mode is unavailable (instead of falling back to keyword)")
170
201
  .option("--agentic", "Include deprecated notes in search results (agentic mode)")
171
202
  .option("--include-deprecated", "Include deprecated notes in search results")
203
+ .option("--projects <names>", "Search across projects (comma-separated project names)")
172
204
  .action((query, opts) => {
173
205
  return searchCommand(query, {
174
206
  demo: opts.demo,
@@ -181,6 +213,7 @@ program
181
213
  fallback: opts.fallback,
182
214
  agentic: opts.agentic,
183
215
  includeDeprecated: opts.includeDeprecated,
216
+ projects: opts.projects,
184
217
  });
185
218
  });
186
219
  const captureCmd = program.command("capture").description("Capture and manage knowledge snippets");