@vpxa/kb 0.1.15 → 0.1.17

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 (454) hide show
  1. package/README.md +62 -15
  2. package/package.json +5 -1
  3. package/packages/analyzers/dist/blast-radius-analyzer.d.ts +1 -2
  4. package/packages/analyzers/dist/blast-radius-analyzer.js +1 -2
  5. package/packages/analyzers/dist/dependency-analyzer.d.ts +2 -3
  6. package/packages/analyzers/dist/dependency-analyzer.js +3 -4
  7. package/packages/analyzers/dist/diagram-generator.d.ts +1 -2
  8. package/packages/analyzers/dist/diagram-generator.js +1 -2
  9. package/packages/analyzers/dist/entry-point-analyzer.d.ts +1 -2
  10. package/packages/analyzers/dist/entry-point-analyzer.js +3 -4
  11. package/packages/analyzers/dist/knowledge-producer.d.ts +6 -2
  12. package/packages/analyzers/dist/knowledge-producer.js +4 -3
  13. package/packages/analyzers/dist/pattern-analyzer.d.ts +1 -2
  14. package/packages/analyzers/dist/pattern-analyzer.js +2 -3
  15. package/packages/analyzers/dist/regex-call-graph.d.ts +1 -2
  16. package/packages/analyzers/dist/regex-call-graph.js +1 -2
  17. package/packages/analyzers/dist/structure-analyzer.d.ts +1 -2
  18. package/packages/analyzers/dist/structure-analyzer.js +1 -2
  19. package/packages/analyzers/dist/symbol-analyzer.d.ts +3 -3
  20. package/packages/analyzers/dist/symbol-analyzer.js +8 -7
  21. package/packages/analyzers/dist/ts-call-graph.d.ts +1 -2
  22. package/packages/analyzers/dist/ts-call-graph.js +1 -2
  23. package/packages/analyzers/dist/types.d.ts +1 -2
  24. package/packages/chunker/dist/call-graph-extractor.d.ts +3 -3
  25. package/packages/chunker/dist/call-graph-extractor.js +1 -2
  26. package/packages/chunker/dist/chunker-factory.d.ts +12 -4
  27. package/packages/chunker/dist/chunker-factory.js +1 -2
  28. package/packages/chunker/dist/chunker.interface.d.ts +1 -2
  29. package/packages/chunker/dist/code-chunker.d.ts +1 -2
  30. package/packages/chunker/dist/code-chunker.js +1 -2
  31. package/packages/chunker/dist/extractors/call-extractor.d.ts +24 -0
  32. package/packages/chunker/dist/extractors/call-extractor.js +1 -0
  33. package/packages/chunker/dist/extractors/entry-point-detector.d.ts +14 -0
  34. package/packages/chunker/dist/extractors/entry-point-detector.js +1 -0
  35. package/packages/chunker/dist/extractors/import-extractor.d.ts +14 -0
  36. package/packages/chunker/dist/extractors/import-extractor.js +1 -0
  37. package/packages/chunker/dist/extractors/pattern-detector.d.ts +14 -0
  38. package/packages/chunker/dist/extractors/pattern-detector.js +1 -0
  39. package/packages/chunker/dist/extractors/scope-resolver.d.ts +26 -0
  40. package/packages/chunker/dist/extractors/scope-resolver.js +1 -0
  41. package/packages/chunker/dist/extractors/symbol-extractor.d.ts +14 -0
  42. package/packages/chunker/dist/extractors/symbol-extractor.js +1 -0
  43. package/packages/chunker/dist/extractors/types.d.ts +36 -0
  44. package/packages/chunker/dist/extractors/types.js +1 -0
  45. package/packages/chunker/dist/generic-chunker.d.ts +1 -2
  46. package/packages/chunker/dist/generic-chunker.js +1 -2
  47. package/packages/chunker/dist/index.d.ts +15 -4
  48. package/packages/chunker/dist/index.js +1 -1
  49. package/packages/chunker/dist/markdown-chunker.d.ts +1 -2
  50. package/packages/chunker/dist/markdown-chunker.js +1 -2
  51. package/packages/chunker/dist/wasm/languages.d.ts +18 -0
  52. package/packages/chunker/dist/wasm/languages.js +1 -0
  53. package/packages/chunker/dist/wasm/query-executor.d.ts +70 -0
  54. package/packages/chunker/dist/wasm/query-executor.js +1 -0
  55. package/packages/chunker/dist/wasm/runtime.d.ts +44 -0
  56. package/packages/chunker/dist/wasm/runtime.js +1 -0
  57. package/packages/chunker/dist/wasm/types.d.ts +84 -0
  58. package/packages/chunker/dist/wasm/types.js +1 -0
  59. package/packages/chunker/dist/wasm-chunker.d.ts +23 -0
  60. package/packages/chunker/dist/wasm-chunker.js +6 -0
  61. package/packages/chunker/src/queries/go/calls.scm +11 -0
  62. package/packages/chunker/src/queries/go/entry-points.scm +20 -0
  63. package/packages/chunker/src/queries/go/imports.scm +6 -0
  64. package/packages/chunker/src/queries/go/patterns.scm +25 -0
  65. package/packages/chunker/src/queries/go/symbols.scm +26 -0
  66. package/packages/chunker/src/queries/java/calls.scm +10 -0
  67. package/packages/chunker/src/queries/java/entry-points.scm +27 -0
  68. package/packages/chunker/src/queries/java/imports.scm +11 -0
  69. package/packages/chunker/src/queries/java/patterns.scm +27 -0
  70. package/packages/chunker/src/queries/java/symbols.scm +28 -0
  71. package/packages/chunker/src/queries/javascript/calls.scm +21 -0
  72. package/packages/chunker/src/queries/javascript/entry-points.scm +31 -0
  73. package/packages/chunker/src/queries/javascript/imports.scm +32 -0
  74. package/packages/chunker/src/queries/javascript/patterns.scm +28 -0
  75. package/packages/chunker/src/queries/javascript/symbols.scm +52 -0
  76. package/packages/chunker/src/queries/python/calls.scm +11 -0
  77. package/packages/chunker/src/queries/python/entry-points.scm +21 -0
  78. package/packages/chunker/src/queries/python/imports.scm +14 -0
  79. package/packages/chunker/src/queries/python/patterns.scm +25 -0
  80. package/packages/chunker/src/queries/python/symbols.scm +17 -0
  81. package/packages/chunker/src/queries/rust/calls.scm +20 -0
  82. package/packages/chunker/src/queries/rust/entry-points.scm +7 -0
  83. package/packages/chunker/src/queries/rust/imports.scm +26 -0
  84. package/packages/chunker/src/queries/rust/patterns.scm +18 -0
  85. package/packages/chunker/src/queries/rust/symbols.scm +73 -0
  86. package/packages/chunker/src/queries/typescript/calls.scm +21 -0
  87. package/packages/chunker/src/queries/typescript/entry-points.scm +48 -0
  88. package/packages/chunker/src/queries/typescript/imports.scm +35 -0
  89. package/packages/chunker/src/queries/typescript/patterns.scm +47 -0
  90. package/packages/chunker/src/queries/typescript/symbols.scm +79 -0
  91. package/packages/chunker/wasm/tree-sitter-go.wasm +0 -0
  92. package/packages/chunker/wasm/tree-sitter-java.wasm +0 -0
  93. package/packages/chunker/wasm/tree-sitter-javascript.wasm +0 -0
  94. package/packages/chunker/wasm/tree-sitter-python.wasm +0 -0
  95. package/packages/chunker/wasm/tree-sitter-rust.wasm +0 -0
  96. package/packages/chunker/wasm/tree-sitter-typescript.wasm +0 -0
  97. package/packages/chunker/wasm/tree-sitter.wasm +0 -0
  98. package/packages/cli/dist/commands/analyze.d.ts +1 -2
  99. package/packages/cli/dist/commands/analyze.js +1 -2
  100. package/packages/cli/dist/commands/context-cmds.d.ts +1 -2
  101. package/packages/cli/dist/commands/context-cmds.js +1 -2
  102. package/packages/cli/dist/commands/environment.d.ts +1 -2
  103. package/packages/cli/dist/commands/environment.js +1 -2
  104. package/packages/cli/dist/commands/execution.d.ts +1 -2
  105. package/packages/cli/dist/commands/execution.js +1 -2
  106. package/packages/cli/dist/commands/graph.d.ts +1 -2
  107. package/packages/cli/dist/commands/graph.js +1 -2
  108. package/packages/cli/dist/commands/init/adapters.d.ts +4 -3
  109. package/packages/cli/dist/commands/init/adapters.js +1 -2
  110. package/packages/cli/dist/commands/init/config.d.ts +1 -2
  111. package/packages/cli/dist/commands/init/config.js +3 -4
  112. package/packages/cli/dist/commands/init/constants.d.ts +18 -0
  113. package/packages/cli/dist/commands/init/constants.js +1 -0
  114. package/packages/cli/dist/commands/init/curated.d.ts +1 -2
  115. package/packages/cli/dist/commands/init/curated.js +1 -2
  116. package/packages/cli/dist/commands/init/global.d.ts +34 -0
  117. package/packages/cli/dist/commands/init/global.js +5 -0
  118. package/packages/cli/dist/commands/init/index.d.ts +7 -2
  119. package/packages/cli/dist/commands/init/index.js +5 -3
  120. package/packages/cli/dist/commands/init/scaffold.d.ts +1 -2
  121. package/packages/cli/dist/commands/init/scaffold.js +1 -2
  122. package/packages/cli/dist/commands/init/templates.d.ts +3 -4
  123. package/packages/cli/dist/commands/init/templates.js +106 -243
  124. package/packages/cli/dist/commands/knowledge.d.ts +1 -2
  125. package/packages/cli/dist/commands/knowledge.js +1 -2
  126. package/packages/cli/dist/commands/search.d.ts +1 -2
  127. package/packages/cli/dist/commands/search.js +1 -2
  128. package/packages/cli/dist/commands/system.d.ts +1 -2
  129. package/packages/cli/dist/commands/system.js +3 -4
  130. package/packages/cli/dist/commands/workspace.d.ts +1 -2
  131. package/packages/cli/dist/commands/workspace.js +1 -2
  132. package/packages/cli/dist/context.d.ts +1 -2
  133. package/packages/cli/dist/context.js +1 -2
  134. package/packages/cli/dist/helpers.d.ts +1 -2
  135. package/packages/cli/dist/helpers.js +1 -2
  136. package/packages/cli/dist/index.d.ts +1 -2
  137. package/packages/cli/dist/index.js +1 -2
  138. package/packages/cli/dist/kb-init.d.ts +1 -2
  139. package/packages/cli/dist/kb-init.js +1 -2
  140. package/packages/cli/dist/types.d.ts +1 -2
  141. package/packages/core/dist/constants.d.ts +23 -2
  142. package/packages/core/dist/constants.js +1 -2
  143. package/packages/core/dist/content-detector.d.ts +1 -2
  144. package/packages/core/dist/content-detector.js +1 -2
  145. package/packages/core/dist/errors.d.ts +1 -2
  146. package/packages/core/dist/errors.js +1 -2
  147. package/packages/core/dist/global-registry.d.ts +63 -0
  148. package/packages/core/dist/global-registry.js +1 -0
  149. package/packages/core/dist/index.d.ts +4 -3
  150. package/packages/core/dist/index.js +1 -1
  151. package/packages/core/dist/logger.d.ts +4 -2
  152. package/packages/core/dist/logger.js +1 -2
  153. package/packages/core/dist/types.d.ts +1 -2
  154. package/packages/core/dist/types.js +1 -2
  155. package/packages/embeddings/dist/embedder.interface.d.ts +2 -3
  156. package/packages/embeddings/dist/onnx-embedder.d.ts +2 -3
  157. package/packages/embeddings/dist/onnx-embedder.js +1 -2
  158. package/packages/enterprise-bridge/dist/cache.d.ts +1 -2
  159. package/packages/enterprise-bridge/dist/cache.js +1 -2
  160. package/packages/enterprise-bridge/dist/er-client.d.ts +1 -2
  161. package/packages/enterprise-bridge/dist/er-client.js +1 -2
  162. package/packages/enterprise-bridge/dist/evolution-collector.d.ts +1 -2
  163. package/packages/enterprise-bridge/dist/evolution-collector.js +1 -2
  164. package/packages/enterprise-bridge/dist/policy-store.d.ts +1 -2
  165. package/packages/enterprise-bridge/dist/policy-store.js +1 -2
  166. package/packages/enterprise-bridge/dist/push-adapter.d.ts +1 -2
  167. package/packages/enterprise-bridge/dist/push-adapter.js +1 -2
  168. package/packages/enterprise-bridge/dist/result-merger.d.ts +1 -2
  169. package/packages/enterprise-bridge/dist/result-merger.js +1 -2
  170. package/packages/enterprise-bridge/dist/types.d.ts +1 -2
  171. package/packages/enterprise-bridge/dist/types.js +1 -2
  172. package/packages/indexer/dist/file-hasher.d.ts +1 -2
  173. package/packages/indexer/dist/file-hasher.js +1 -2
  174. package/packages/indexer/dist/filesystem-crawler.d.ts +1 -2
  175. package/packages/indexer/dist/filesystem-crawler.js +1 -2
  176. package/packages/indexer/dist/graph-extractor.d.ts +1 -2
  177. package/packages/indexer/dist/graph-extractor.js +1 -2
  178. package/packages/indexer/dist/hash-cache.d.ts +24 -0
  179. package/packages/indexer/dist/hash-cache.js +1 -0
  180. package/packages/indexer/dist/incremental-indexer.d.ts +6 -3
  181. package/packages/indexer/dist/incremental-indexer.js +1 -2
  182. package/packages/indexer/dist/index.d.ts +2 -1
  183. package/packages/indexer/dist/index.js +1 -1
  184. package/packages/server/dist/config.d.ts +1 -2
  185. package/packages/server/dist/config.js +1 -2
  186. package/packages/server/dist/cross-workspace.d.ts +43 -0
  187. package/packages/server/dist/cross-workspace.js +1 -0
  188. package/packages/server/dist/curated-manager.d.ts +2 -3
  189. package/packages/server/dist/curated-manager.js +4 -5
  190. package/packages/server/dist/index.js +1 -2
  191. package/packages/server/dist/replay-interceptor.d.ts +1 -2
  192. package/packages/server/dist/replay-interceptor.js +1 -2
  193. package/packages/server/dist/resources/resources.d.ts +1 -2
  194. package/packages/server/dist/resources/resources.js +1 -2
  195. package/packages/server/dist/server.d.ts +4 -2
  196. package/packages/server/dist/server.js +1 -2
  197. package/packages/server/dist/tools/analyze.tools.d.ts +3 -4
  198. package/packages/server/dist/tools/analyze.tools.js +2 -2
  199. package/packages/server/dist/tools/audit.tool.d.ts +1 -2
  200. package/packages/server/dist/tools/audit.tool.js +1 -2
  201. package/packages/server/dist/tools/bridge.tools.d.ts +1 -2
  202. package/packages/server/dist/tools/bridge.tools.js +1 -2
  203. package/packages/server/dist/tools/evolution.tools.d.ts +1 -2
  204. package/packages/server/dist/tools/evolution.tools.js +1 -2
  205. package/packages/server/dist/tools/forge.tools.d.ts +1 -2
  206. package/packages/server/dist/tools/forge.tools.js +5 -6
  207. package/packages/server/dist/tools/forget.tool.d.ts +1 -2
  208. package/packages/server/dist/tools/forget.tool.js +1 -2
  209. package/packages/server/dist/tools/graph.tool.d.ts +1 -2
  210. package/packages/server/dist/tools/graph.tool.js +1 -2
  211. package/packages/server/dist/tools/list.tool.d.ts +1 -2
  212. package/packages/server/dist/tools/list.tool.js +1 -2
  213. package/packages/server/dist/tools/lookup.tool.d.ts +1 -2
  214. package/packages/server/dist/tools/lookup.tool.js +1 -2
  215. package/packages/server/dist/tools/onboard.tool.d.ts +1 -2
  216. package/packages/server/dist/tools/onboard.tool.js +1 -2
  217. package/packages/server/dist/tools/policy.tools.d.ts +1 -2
  218. package/packages/server/dist/tools/policy.tools.js +1 -2
  219. package/packages/server/dist/tools/produce.tool.d.ts +1 -2
  220. package/packages/server/dist/tools/produce.tool.js +1 -2
  221. package/packages/server/dist/tools/read.tool.d.ts +1 -2
  222. package/packages/server/dist/tools/read.tool.js +2 -3
  223. package/packages/server/dist/tools/reindex.tool.d.ts +1 -2
  224. package/packages/server/dist/tools/reindex.tool.js +3 -3
  225. package/packages/server/dist/tools/remember.tool.d.ts +1 -2
  226. package/packages/server/dist/tools/remember.tool.js +1 -2
  227. package/packages/server/dist/tools/replay.tool.d.ts +1 -2
  228. package/packages/server/dist/tools/replay.tool.js +1 -2
  229. package/packages/server/dist/tools/search.tool.d.ts +1 -2
  230. package/packages/server/dist/tools/search.tool.js +4 -5
  231. package/packages/server/dist/tools/status.tool.d.ts +7 -3
  232. package/packages/server/dist/tools/status.tool.js +2 -3
  233. package/packages/server/dist/tools/toolkit.tools.d.ts +3 -4
  234. package/packages/server/dist/tools/toolkit.tools.js +19 -19
  235. package/packages/server/dist/tools/update.tool.d.ts +1 -2
  236. package/packages/server/dist/tools/update.tool.js +1 -2
  237. package/packages/server/dist/tools/utility.tools.d.ts +1 -2
  238. package/packages/server/dist/tools/utility.tools.js +2 -3
  239. package/packages/server/dist/version-check.d.ts +1 -2
  240. package/packages/server/dist/version-check.js +1 -2
  241. package/packages/store/dist/graph-store.interface.d.ts +1 -2
  242. package/packages/store/dist/lance-store.d.ts +1 -2
  243. package/packages/store/dist/lance-store.js +1 -2
  244. package/packages/store/dist/sqlite-graph-store.d.ts +1 -2
  245. package/packages/store/dist/sqlite-graph-store.js +6 -7
  246. package/packages/store/dist/store-factory.d.ts +1 -2
  247. package/packages/store/dist/store-factory.js +1 -2
  248. package/packages/store/dist/store.interface.d.ts +1 -2
  249. package/packages/tools/dist/audit.d.ts +1 -2
  250. package/packages/tools/dist/audit.js +1 -2
  251. package/packages/tools/dist/batch.d.ts +1 -2
  252. package/packages/tools/dist/batch.js +1 -2
  253. package/packages/tools/dist/changelog.d.ts +1 -2
  254. package/packages/tools/dist/changelog.js +2 -3
  255. package/packages/tools/dist/check.d.ts +1 -2
  256. package/packages/tools/dist/check.js +2 -3
  257. package/packages/tools/dist/checkpoint.d.ts +1 -2
  258. package/packages/tools/dist/checkpoint.js +1 -2
  259. package/packages/tools/dist/codemod.d.ts +1 -2
  260. package/packages/tools/dist/codemod.js +1 -2
  261. package/packages/tools/dist/compact.d.ts +1 -2
  262. package/packages/tools/dist/compact.js +1 -2
  263. package/packages/tools/dist/data-transform.d.ts +1 -2
  264. package/packages/tools/dist/data-transform.js +1 -2
  265. package/packages/tools/dist/dead-symbols.d.ts +1 -2
  266. package/packages/tools/dist/dead-symbols.js +2 -3
  267. package/packages/tools/dist/delegate.d.ts +1 -2
  268. package/packages/tools/dist/delegate.js +1 -2
  269. package/packages/tools/dist/diff-parse.d.ts +1 -2
  270. package/packages/tools/dist/diff-parse.js +1 -2
  271. package/packages/tools/dist/digest.d.ts +1 -2
  272. package/packages/tools/dist/digest.js +1 -2
  273. package/packages/tools/dist/dogfood-log.d.ts +49 -0
  274. package/packages/tools/dist/dogfood-log.js +2 -0
  275. package/packages/tools/dist/encode.d.ts +1 -2
  276. package/packages/tools/dist/encode.js +1 -2
  277. package/packages/tools/dist/env-info.d.ts +1 -2
  278. package/packages/tools/dist/env-info.js +1 -2
  279. package/packages/tools/dist/eval.d.ts +1 -2
  280. package/packages/tools/dist/eval.js +1 -2
  281. package/packages/tools/dist/evidence-map.d.ts +1 -2
  282. package/packages/tools/dist/evidence-map.js +2 -3
  283. package/packages/tools/dist/file-cache.d.ts +1 -2
  284. package/packages/tools/dist/file-cache.js +1 -2
  285. package/packages/tools/dist/file-summary.d.ts +17 -2
  286. package/packages/tools/dist/file-summary.js +2 -3
  287. package/packages/tools/dist/file-walk.d.ts +1 -2
  288. package/packages/tools/dist/file-walk.js +1 -2
  289. package/packages/tools/dist/find-examples.d.ts +1 -2
  290. package/packages/tools/dist/find-examples.js +1 -2
  291. package/packages/tools/dist/find.d.ts +1 -2
  292. package/packages/tools/dist/find.js +1 -2
  293. package/packages/tools/dist/forge-classify.d.ts +1 -2
  294. package/packages/tools/dist/forge-classify.js +2 -3
  295. package/packages/tools/dist/forge-ground.d.ts +1 -2
  296. package/packages/tools/dist/forge-ground.js +1 -2
  297. package/packages/tools/dist/git-context.d.ts +1 -2
  298. package/packages/tools/dist/git-context.js +1 -2
  299. package/packages/tools/dist/graph-query.d.ts +1 -2
  300. package/packages/tools/dist/graph-query.js +1 -2
  301. package/packages/tools/dist/guide.d.ts +1 -2
  302. package/packages/tools/dist/guide.js +1 -2
  303. package/packages/tools/dist/health.d.ts +1 -2
  304. package/packages/tools/dist/health.js +1 -2
  305. package/packages/tools/dist/http-request.d.ts +1 -2
  306. package/packages/tools/dist/http-request.js +1 -2
  307. package/packages/tools/dist/index.d.ts +3 -2
  308. package/packages/tools/dist/index.js +1 -1
  309. package/packages/tools/dist/lane.d.ts +1 -2
  310. package/packages/tools/dist/lane.js +3 -4
  311. package/packages/tools/dist/measure.d.ts +4 -3
  312. package/packages/tools/dist/measure.js +2 -3
  313. package/packages/tools/dist/onboard.d.ts +1 -2
  314. package/packages/tools/dist/onboard.js +14 -15
  315. package/packages/tools/dist/parse-output.d.ts +1 -2
  316. package/packages/tools/dist/parse-output.js +2 -3
  317. package/packages/tools/dist/path-resolver.d.ts +1 -2
  318. package/packages/tools/dist/path-resolver.js +1 -2
  319. package/packages/tools/dist/process-manager.d.ts +1 -2
  320. package/packages/tools/dist/process-manager.js +1 -2
  321. package/packages/tools/dist/queue.d.ts +1 -2
  322. package/packages/tools/dist/queue.js +1 -2
  323. package/packages/tools/dist/regex-test.d.ts +1 -2
  324. package/packages/tools/dist/regex-test.js +1 -2
  325. package/packages/tools/dist/rename.d.ts +1 -2
  326. package/packages/tools/dist/rename.js +1 -2
  327. package/packages/tools/dist/replay.d.ts +2 -3
  328. package/packages/tools/dist/replay.js +4 -5
  329. package/packages/tools/dist/response-envelope.d.ts +1 -2
  330. package/packages/tools/dist/response-envelope.js +1 -2
  331. package/packages/tools/dist/schema-validate.d.ts +1 -2
  332. package/packages/tools/dist/schema-validate.js +1 -2
  333. package/packages/tools/dist/scope-map.d.ts +1 -2
  334. package/packages/tools/dist/scope-map.js +1 -2
  335. package/packages/tools/dist/snippet.d.ts +1 -2
  336. package/packages/tools/dist/snippet.js +1 -2
  337. package/packages/tools/dist/stash.d.ts +1 -2
  338. package/packages/tools/dist/stash.js +1 -2
  339. package/packages/tools/dist/stratum-card.d.ts +1 -2
  340. package/packages/tools/dist/stratum-card.js +1 -2
  341. package/packages/tools/dist/symbol.d.ts +16 -3
  342. package/packages/tools/dist/symbol.js +3 -4
  343. package/packages/tools/dist/test-run.d.ts +1 -2
  344. package/packages/tools/dist/test-run.js +2 -3
  345. package/packages/tools/dist/text-utils.d.ts +1 -2
  346. package/packages/tools/dist/text-utils.js +1 -2
  347. package/packages/tools/dist/time-utils.d.ts +1 -2
  348. package/packages/tools/dist/time-utils.js +1 -2
  349. package/packages/tools/dist/trace.d.ts +3 -2
  350. package/packages/tools/dist/trace.js +2 -3
  351. package/packages/tools/dist/truncation.d.ts +1 -2
  352. package/packages/tools/dist/truncation.js +1 -2
  353. package/packages/tools/dist/watch.d.ts +1 -2
  354. package/packages/tools/dist/watch.js +1 -2
  355. package/packages/tools/dist/web-fetch.d.ts +1 -2
  356. package/packages/tools/dist/web-fetch.js +1 -2
  357. package/packages/tools/dist/web-search.d.ts +1 -2
  358. package/packages/tools/dist/web-search.js +1 -2
  359. package/packages/tools/dist/workset.d.ts +1 -2
  360. package/packages/tools/dist/workset.js +1 -2
  361. package/packages/tui/dist/{App-BAlmxCCw.js → App-CYLNJLr6.js} +1 -2
  362. package/packages/tui/dist/App.d.ts +2 -3
  363. package/packages/tui/dist/App.js +1 -1
  364. package/packages/tui/dist/CuratedPanel-sYdZAICX.js +1 -2
  365. package/packages/tui/dist/LogPanel-DtMnoyXT.js +3 -0
  366. package/packages/tui/dist/SearchPanel-DREo6zgt.js +1 -2
  367. package/packages/tui/dist/StatusPanel-2ex8fLOO.js +1 -2
  368. package/packages/tui/dist/devtools-DUyj952l.js +1 -2
  369. package/packages/tui/dist/{embedder.interface-D4ew0HPW.d.ts → embedder.interface-IFCBpOlX.d.ts} +2 -3
  370. package/packages/tui/dist/{index-B9VpfVPP.d.ts → index-C8NmOF18.d.ts} +2 -3
  371. package/packages/tui/dist/index.d.ts +1 -1
  372. package/packages/tui/dist/index.js +1 -2
  373. package/packages/tui/dist/jsx-runtime-Cof-kwFn.js +1 -2
  374. package/packages/tui/dist/panels/CuratedPanel.d.ts +1 -2
  375. package/packages/tui/dist/panels/LogPanel.d.ts +1 -2
  376. package/packages/tui/dist/panels/LogPanel.js +1 -1
  377. package/packages/tui/dist/panels/SearchPanel.d.ts +2 -3
  378. package/packages/tui/dist/panels/StatusPanel.d.ts +1 -2
  379. package/packages/tui/dist/store.interface-CnY6SPOH.d.ts +1 -2
  380. package/scaffold/copilot/agents/Architect-Reviewer-Alpha.agent.md +7 -0
  381. package/scaffold/copilot/agents/Architect-Reviewer-Beta.agent.md +7 -0
  382. package/scaffold/copilot/agents/Documenter.agent.md +7 -0
  383. package/scaffold/copilot/agents/Orchestrator.agent.md +8 -0
  384. package/scaffold/copilot/agents/Planner.agent.md +9 -0
  385. package/scaffold/copilot/agents/Refactor.agent.md +6 -0
  386. package/scaffold/copilot/agents/Researcher-Alpha.agent.md +8 -0
  387. package/scaffold/copilot/agents/Researcher-Beta.agent.md +8 -0
  388. package/scaffold/copilot/agents/Researcher-Delta.agent.md +8 -0
  389. package/scaffold/copilot/agents/Researcher-Gamma.agent.md +8 -0
  390. package/scaffold/general/agents/Architect-Reviewer-Alpha.agent.md +21 -0
  391. package/scaffold/general/agents/Architect-Reviewer-Beta.agent.md +21 -0
  392. package/scaffold/general/agents/Documenter.agent.md +42 -0
  393. package/scaffold/general/agents/Orchestrator.agent.md +104 -0
  394. package/scaffold/general/agents/Planner.agent.md +55 -0
  395. package/scaffold/general/agents/Refactor.agent.md +36 -0
  396. package/scaffold/general/agents/Researcher-Alpha.agent.md +20 -0
  397. package/scaffold/general/agents/Researcher-Beta.agent.md +20 -0
  398. package/scaffold/general/agents/Researcher-Delta.agent.md +20 -0
  399. package/scaffold/general/agents/Researcher-Gamma.agent.md +20 -0
  400. package/scaffold/{copilot → general}/agents/_shared/code-agent-base.md +18 -0
  401. package/skills/adr-skill/SKILL.md +329 -0
  402. package/skills/adr-skill/assets/templates/adr-madr.md +89 -0
  403. package/skills/adr-skill/assets/templates/adr-readme.md +20 -0
  404. package/skills/adr-skill/assets/templates/adr-simple.md +46 -0
  405. package/skills/adr-skill/references/adr-conventions.md +95 -0
  406. package/skills/adr-skill/references/examples.md +193 -0
  407. package/skills/adr-skill/references/review-checklist.md +77 -0
  408. package/skills/adr-skill/references/template-variants.md +52 -0
  409. package/skills/adr-skill/scripts/bootstrap_adr.js +259 -0
  410. package/skills/adr-skill/scripts/new_adr.js +391 -0
  411. package/skills/adr-skill/scripts/set_adr_status.js +169 -0
  412. package/skills/c4-architecture/SKILL.md +295 -0
  413. package/skills/c4-architecture/references/advanced-patterns.md +552 -0
  414. package/skills/c4-architecture/references/c4-syntax.md +492 -0
  415. package/skills/c4-architecture/references/common-mistakes.md +437 -0
  416. package/skills/knowledge-base/SKILL.md +78 -1
  417. package/skills/lesson-learned/SKILL.md +105 -0
  418. package/skills/lesson-learned/references/anti-patterns.md +55 -0
  419. package/skills/lesson-learned/references/se-principles.md +109 -0
  420. package/skills/requirements-clarity/SKILL.md +324 -0
  421. package/skills/session-handoff/SKILL.md +189 -0
  422. package/skills/session-handoff/references/handoff-template.md +139 -0
  423. package/skills/session-handoff/references/resume-checklist.md +80 -0
  424. package/skills/session-handoff/scripts/check_staleness.js +269 -0
  425. package/skills/session-handoff/scripts/create_handoff.js +299 -0
  426. package/skills/session-handoff/scripts/list_handoffs.js +113 -0
  427. package/skills/session-handoff/scripts/validate_handoff.js +241 -0
  428. package/packages/chunker/dist/treesitter-chunker.d.ts +0 -44
  429. package/packages/chunker/dist/treesitter-chunker.js +0 -7
  430. package/packages/cli/dist/commands/init.d.ts +0 -15
  431. package/packages/cli/dist/commands/init.js +0 -305
  432. package/packages/tui/dist/LogPanel-DVB8Sv46.js +0 -4
  433. /package/scaffold/{copilot → general}/agents/Code-Reviewer-Alpha.agent.md +0 -0
  434. /package/scaffold/{copilot → general}/agents/Code-Reviewer-Beta.agent.md +0 -0
  435. /package/scaffold/{copilot → general}/agents/Debugger.agent.md +0 -0
  436. /package/scaffold/{copilot → general}/agents/Explorer.agent.md +0 -0
  437. /package/scaffold/{copilot → general}/agents/Frontend.agent.md +0 -0
  438. /package/scaffold/{copilot → general}/agents/Implementer.agent.md +0 -0
  439. /package/scaffold/{copilot → general}/agents/README.md +0 -0
  440. /package/scaffold/{copilot → general}/agents/Security.agent.md +0 -0
  441. /package/scaffold/{copilot → general}/agents/_shared/adr-protocol.md +0 -0
  442. /package/scaffold/{copilot → general}/agents/_shared/architect-reviewer-base.md +0 -0
  443. /package/scaffold/{copilot → general}/agents/_shared/code-reviewer-base.md +0 -0
  444. /package/scaffold/{copilot → general}/agents/_shared/decision-protocol.md +0 -0
  445. /package/scaffold/{copilot → general}/agents/_shared/forge-protocol.md +0 -0
  446. /package/scaffold/{copilot → general}/agents/_shared/researcher-base.md +0 -0
  447. /package/scaffold/{copilot → general}/agents/templates/adr-template.md +0 -0
  448. /package/scaffold/{copilot → general}/agents/templates/execution-state.md +0 -0
  449. /package/scaffold/{copilot → general}/prompts/ask.prompt.md +0 -0
  450. /package/scaffold/{copilot → general}/prompts/debug.prompt.md +0 -0
  451. /package/scaffold/{copilot → general}/prompts/design.prompt.md +0 -0
  452. /package/scaffold/{copilot → general}/prompts/implement.prompt.md +0 -0
  453. /package/scaffold/{copilot → general}/prompts/plan.prompt.md +0 -0
  454. /package/scaffold/{copilot → general}/prompts/review.prompt.md +0 -0
@@ -0,0 +1,35 @@
1
+ ; TypeScript import extraction queries
2
+ ; Captures: @node (full import statement), @source (module path string)
3
+
4
+ ; === ES module imports ===
5
+
6
+ ; import { foo } from './module'
7
+ ; import type { IFoo } from './types'
8
+ ; import Def from 'pkg'
9
+ ; import * as ns from 'pkg'
10
+ (import_statement
11
+ source: (string
12
+ (string_fragment) @source)) @node
13
+
14
+ ; === CommonJS require ===
15
+
16
+ ; const x = require('./mod')
17
+ ; const { a, b } = require('./mod')
18
+ (lexical_declaration
19
+ (variable_declarator
20
+ value: (call_expression
21
+ function: (identifier) @_fn
22
+ arguments: (arguments
23
+ (string
24
+ (string_fragment) @source))))
25
+ (#eq? @_fn "require")) @node
26
+
27
+ ; === Dynamic import ===
28
+
29
+ ; const x = await import('./dynamic')
30
+ ; import('./dynamic').then(...)
31
+ (call_expression
32
+ function: (import)
33
+ arguments: (arguments
34
+ (string
35
+ (string_fragment) @source))) @node
@@ -0,0 +1,47 @@
1
+ ; TypeScript pattern detection queries
2
+ ; Captures: @node (pattern site), @name (identifier or function name)
3
+
4
+ ; === Singleton: private constructor or cached instances ===
5
+
6
+ ; class Foo { private constructor() {} }
7
+ (class_declaration
8
+ name: (type_identifier) @name
9
+ body: (class_body
10
+ (method_definition
11
+ (accessibility_modifier) @_access
12
+ name: (property_identifier) @_ctor)
13
+ (#eq? @_access "private")
14
+ (#eq? @_ctor "constructor"))) @node
15
+
16
+ ; === Factory: export function create*() ===
17
+
18
+ (export_statement
19
+ (function_declaration
20
+ name: (identifier) @name
21
+ (#match? @name "^create[A-Z]"))) @node
22
+
23
+ ; === Dependency Injection markers ===
24
+
25
+ ; container.register(...) / container.bind(...)
26
+ (call_expression
27
+ function: (member_expression
28
+ object: (identifier) @_obj
29
+ property: (property_identifier) @_method)
30
+ (#eq? @_obj "container")
31
+ (#match? @_method "^(register|bind)$")) @node
32
+
33
+ ; === Decorator patterns ===
34
+ ; @Injectable() / @Component() etc.
35
+ (decorator
36
+ (call_expression
37
+ function: (identifier) @name
38
+ (#match? @name "^(Injectable|Component|Service|Controller|Module)$"))) @node
39
+
40
+ ; === Cached instance: new Map() / new WeakMap() ===
41
+
42
+ (lexical_declaration
43
+ (variable_declarator
44
+ name: (identifier) @name
45
+ value: (new_expression
46
+ constructor: (identifier) @_cls
47
+ (#match? @_cls "^(Map|WeakMap|Set)$")))) @node
@@ -0,0 +1,79 @@
1
+ ; TypeScript symbol extraction queries
2
+ ; Captures: @node (full declaration), @name (identifier), @kind (implicit from pattern)
3
+
4
+ ; === Exported declarations ===
5
+
6
+ ; export function foo() {}
7
+ ; export async function foo() {}
8
+ (export_statement
9
+ (function_declaration
10
+ name: (identifier) @name) @node) @exported
11
+
12
+ ; export class Foo {}
13
+ (export_statement
14
+ (class_declaration
15
+ name: (type_identifier) @name) @node) @exported
16
+
17
+ ; export interface IFoo {}
18
+ (export_statement
19
+ (interface_declaration
20
+ name: (type_identifier) @name) @node) @exported
21
+
22
+ ; export type MyType = ...
23
+ (export_statement
24
+ (type_alias_declaration
25
+ name: (type_identifier) @name) @node) @exported
26
+
27
+ ; export enum Color {}
28
+ (export_statement
29
+ (enum_declaration
30
+ name: (identifier) @name) @node) @exported
31
+
32
+ ; export const FOO = ...
33
+ (export_statement
34
+ (lexical_declaration
35
+ (variable_declarator
36
+ name: (identifier) @name)) @node) @exported
37
+
38
+ ; export default class Foo {}
39
+ (export_statement
40
+ "default"
41
+ (class_declaration
42
+ name: (type_identifier) @name) @node) @exported
43
+
44
+ ; === Non-exported declarations ===
45
+
46
+ ; function foo() {}
47
+ (function_declaration
48
+ name: (identifier) @name) @node
49
+
50
+ ; class Foo {}
51
+ (class_declaration
52
+ name: (type_identifier) @name) @node
53
+
54
+ ; interface IFoo {}
55
+ (interface_declaration
56
+ name: (type_identifier) @name) @node
57
+
58
+ ; type MyType = ...
59
+ (type_alias_declaration
60
+ name: (type_identifier) @name) @node
61
+
62
+ ; enum Color {}
63
+ (enum_declaration
64
+ name: (identifier) @name) @node
65
+
66
+ ; const foo = ...
67
+ (lexical_declaration
68
+ (variable_declarator
69
+ name: (identifier) @name)) @node
70
+
71
+ ; === Class members ===
72
+
73
+ ; class methods: foo() {} / async foo() {} / static foo() {}
74
+ (method_definition
75
+ name: (property_identifier) @name) @node
76
+
77
+ ; class properties: foo = value / readonly foo: Type
78
+ (public_field_definition
79
+ name: (property_identifier) @name) @node
@@ -3,5 +3,4 @@ import { Command } from "../types.js";
3
3
  //#region packages/cli/src/commands/analyze.d.ts
4
4
  declare const analyzeCommands: Command[];
5
5
  //#endregion
6
- export { analyzeCommands };
7
- //# sourceMappingURL=analyze.d.ts.map
6
+ export { analyzeCommands };
@@ -1,3 +1,2 @@
1
1
  import{resolve as e}from"node:path";const t=[{name:`analyze`,description:`Run analyzer output for a path`,usage:`kb analyze <type> <path>`,run:async t=>{let n=t.shift()?.trim()??``,r=t.shift()?.trim()??``;(!n||!r)&&(console.error(`Usage: kb analyze <type> <path>`),console.error(`Types: structure, deps, symbols, patterns, entry-points, blast-radius, diagram`),process.exit(1));let{BlastRadiusAnalyzer:i,DependencyAnalyzer:a,DiagramGenerator:o,EntryPointAnalyzer:s,PatternAnalyzer:c,StructureAnalyzer:l,SymbolAnalyzer:u}=await import(`../../../analyzers/dist/index.js`),d=e(r),f;switch(n){case`structure`:f=await new l().analyze(d,{format:`markdown`});break;case`deps`:case`dependencies`:f=await new a().analyze(d,{format:`markdown`});break;case`symbols`:f=await new u().analyze(d,{format:`markdown`});break;case`patterns`:f=await new c().analyze(d,{format:`markdown`});break;case`entry-points`:f=await new s().analyze(d,{format:`markdown`});break;case`blast-radius`:f=await new i().analyze(process.cwd(),{files:[r],format:`markdown`});break;case`diagram`:f=await new o().analyze(d,{diagramType:`architecture`});break;default:console.error(`Unknown analyze type: ${n}`),console.error(`Types: structure, deps, symbols, patterns, entry-points, blast-radius, diagram`),process.exit(1)}console.log(f.output)}},{name:`onboard`,description:`Run all analyses for first-time codebase onboarding`,usage:`kb onboard <path> [--generate] [--out-dir <dir>]`,run:async t=>{let{onboard:n}=await import(`../../../tools/dist/index.js`),r=``,i=`memory`,a;for(let e=0;e<t.length;e++){let n=t[e].trim();n===`--generate`?i=`generate`:n===`--out-dir`&&e+1<t.length?a=t[++e].trim():n.startsWith(`--`)||(r=n)}r||=process.cwd();let o=e(r);console.log(`Onboarding: ${o} (mode: ${i})`),console.log(`Running analyses...
2
- `);let s=await n({path:o,mode:i,outDir:a});for(let e of s.steps){let t=e.status===`success`?`✓`:`✗`,n=e.status===`success`?`${e.durationMs}ms, ${e.output.length} chars`:e.error;console.log(` ${t} ${e.name} — ${n}`)}console.log(`\nTotal: ${s.totalDurationMs}ms`),s.outDir&&console.log(`Output written to: ${s.outDir}`)}}];export{t as analyzeCommands};
3
- //# sourceMappingURL=analyze.js.map
2
+ `);let s=await n({path:o,mode:i,outDir:a});for(let e of s.steps){let t=e.status===`success`?`✓`:`✗`,n=e.status===`success`?`${e.durationMs}ms, ${e.output.length} chars`:e.error;console.log(` ${t} ${e.name} — ${n}`)}console.log(`\nTotal: ${s.totalDurationMs}ms`),s.outDir&&console.log(`Output written to: ${s.outDir}`)}}];export{t as analyzeCommands};
@@ -3,5 +3,4 @@ import { Command } from "../types.js";
3
3
  //#region packages/cli/src/commands/context-cmds.d.ts
4
4
  declare const contextCommands: Command[];
5
5
  //#endregion
6
- export { contextCommands };
7
- //# sourceMappingURL=context-cmds.d.ts.map
6
+ export { contextCommands };
@@ -1,2 +1 @@
1
- import{extractBoolFlag as e,extractNumFlag as t,extractStrFlag as n,parseRecordString as r,printCheckpoint as i,printDiffFiles as a,printFileSummary as o,printGitContext as s,printParsedOutput as c,readStdin as l}from"../helpers.js";import{resolve as u}from"node:path";import{checkpointLatest as d,checkpointList as f,checkpointLoad as p,checkpointSave as m,diffParse as h,fileSummary as g,gitContext as _,parseOutput as v}from"../../../tools/dist/index.js";const y=[{name:`parse-output`,description:`Parse build or tool output from stdin`,usage:`kb parse-output [--tool tsc|vitest|biome|git-status]`,run:async e=>{let t=n(e,`--tool`,``).trim()||void 0,r=await l();r.trim()||(console.error(`Usage: kb parse-output [--tool tsc|vitest|biome|git-status]`),process.exit(1)),c(v(r,t))}},{name:`git`,description:`Show git branch, status, recent commits, and optional diff stats`,usage:`kb git [--cwd path] [--commit-count N] [--diff]`,run:async r=>{s(await _({cwd:n(r,`--cwd`,``).trim()||void 0,commitCount:t(r,`--commit-count`,5),includeDiff:e(r,`--diff`)}))}},{name:`diff`,description:`Parse unified diff text from stdin into structured file changes`,usage:`git diff | kb diff`,run:async()=>{let e=await l();e.trim()||(console.error(`Usage: git diff | kb diff`),process.exit(1)),a(h({diff:e}))}},{name:`summarize`,description:`Show a structural summary of a file`,usage:`kb summarize <path>`,run:async e=>{let t=e.shift()?.trim();t||(console.error(`Usage: kb summarize <path>`),process.exit(1)),o(await g({path:u(t)}))}},{name:`checkpoint`,description:`Save and restore lightweight session checkpoints`,usage:`kb checkpoint <save|load|list|latest> [label-or-id] [--data json] [--notes text]`,run:async e=>{let t=e.shift()?.trim();switch(t||(console.error(`Usage: kb checkpoint <save|load|list|latest> [label-or-id] [--data json] [--notes text]`),process.exit(1)),t){case`save`:{let t=e.shift()?.trim(),a=n(e,`--data`,``),o=n(e,`--notes`,``).trim()||void 0,s=a.trim()?``:await l();t||(console.error(`Usage: kb checkpoint save <label> [--data json] [--notes text]`),process.exit(1)),i(m(t,r(a||s),{notes:o}));return}case`load`:{let t=e.shift()?.trim();t||(console.error(`Usage: kb checkpoint load <id>`),process.exit(1));let n=p(t);if(!n){console.log(`No checkpoint found: ${t}`);return}i(n);return}case`list`:{let e=f();if(e.length===0){console.log(`No checkpoints saved.`);return}console.log(`Checkpoints (${e.length})`),console.log(`─`.repeat(60));for(let t of e)console.log(`${t.id}`),console.log(` Label: ${t.label}`),console.log(` Created: ${t.createdAt}`);return}case`latest`:{let e=d();if(!e){console.log(`No checkpoints saved.`);return}i(e);return}default:console.error(`Unknown checkpoint action: ${t}`),console.error(`Actions: save, load, list, latest`),process.exit(1)}}}];export{y as contextCommands};
2
- //# sourceMappingURL=context-cmds.js.map
1
+ import{extractBoolFlag as e,extractNumFlag as t,extractStrFlag as n,parseRecordString as r,printCheckpoint as i,printDiffFiles as a,printFileSummary as o,printGitContext as s,printParsedOutput as c,readStdin as l}from"../helpers.js";import{resolve as u}from"node:path";import{checkpointLatest as d,checkpointList as f,checkpointLoad as p,checkpointSave as m,diffParse as h,fileSummary as g,gitContext as _,parseOutput as v}from"../../../tools/dist/index.js";const y=[{name:`parse-output`,description:`Parse build or tool output from stdin`,usage:`kb parse-output [--tool tsc|vitest|biome|git-status]`,run:async e=>{let t=n(e,`--tool`,``).trim()||void 0,r=await l();r.trim()||(console.error(`Usage: kb parse-output [--tool tsc|vitest|biome|git-status]`),process.exit(1)),c(v(r,t))}},{name:`git`,description:`Show git branch, status, recent commits, and optional diff stats`,usage:`kb git [--cwd path] [--commit-count N] [--diff]`,run:async r=>{s(await _({cwd:n(r,`--cwd`,``).trim()||void 0,commitCount:t(r,`--commit-count`,5),includeDiff:e(r,`--diff`)}))}},{name:`diff`,description:`Parse unified diff text from stdin into structured file changes`,usage:`git diff | kb diff`,run:async()=>{let e=await l();e.trim()||(console.error(`Usage: git diff | kb diff`),process.exit(1)),a(h({diff:e}))}},{name:`summarize`,description:`Show a structural summary of a file`,usage:`kb summarize <path>`,run:async e=>{let t=e.shift()?.trim();t||(console.error(`Usage: kb summarize <path>`),process.exit(1)),o(await g({path:u(t)}))}},{name:`checkpoint`,description:`Save and restore lightweight session checkpoints`,usage:`kb checkpoint <save|load|list|latest> [label-or-id] [--data json] [--notes text]`,run:async e=>{let t=e.shift()?.trim();switch(t||(console.error(`Usage: kb checkpoint <save|load|list|latest> [label-or-id] [--data json] [--notes text]`),process.exit(1)),t){case`save`:{let t=e.shift()?.trim(),a=n(e,`--data`,``),o=n(e,`--notes`,``).trim()||void 0,s=a.trim()?``:await l();t||(console.error(`Usage: kb checkpoint save <label> [--data json] [--notes text]`),process.exit(1)),i(m(t,r(a||s),{notes:o}));return}case`load`:{let t=e.shift()?.trim();t||(console.error(`Usage: kb checkpoint load <id>`),process.exit(1));let n=p(t);if(!n){console.log(`No checkpoint found: ${t}`);return}i(n);return}case`list`:{let e=f();if(e.length===0){console.log(`No checkpoints saved.`);return}console.log(`Checkpoints (${e.length})`),console.log(`─`.repeat(60));for(let t of e)console.log(`${t.id}`),console.log(` Label: ${t.label}`),console.log(` Created: ${t.createdAt}`);return}case`latest`:{let e=d();if(!e){console.log(`No checkpoints saved.`);return}i(e);return}default:console.error(`Unknown checkpoint action: ${t}`),console.error(`Actions: save, load, list, latest`),process.exit(1)}}}];export{y as contextCommands};
@@ -3,5 +3,4 @@ import { Command } from "../types.js";
3
3
  //#region packages/cli/src/commands/environment.d.ts
4
4
  declare const environmentCommands: Command[];
5
5
  //#endregion
6
- export { environmentCommands };
7
- //# sourceMappingURL=environment.d.ts.map
6
+ export { environmentCommands };
@@ -1,2 +1 @@
1
- import{extractNumFlag as e,extractStrFlag as t,printManagedProcess as n,readStdin as r}from"../helpers.js";import{resolve as i}from"node:path";import{readFile as a}from"node:fs/promises";import{delegate as o,delegateListModels as s,processList as c,processLogs as l,processStart as u,processStatus as d,processStop as f,watchList as p,watchStart as m,watchStop as h}from"../../../tools/dist/index.js";const g=[{name:`proc`,description:`Manage in-memory child processes`,usage:`kb proc <start|stop|status|list|logs> ...`,run:async t=>{let r=t.shift()?.trim()??``;switch(r){case`start`:{let e=t.shift()?.trim(),r=t.shift()?.trim();(!e||!r)&&(console.error(`Usage: kb proc start <id> <command> [args...]`),process.exit(1)),n(u(e,r,t));return}case`stop`:{let e=t.shift()?.trim();e||(console.error(`Usage: kb proc stop <id>`),process.exit(1));let r=f(e);if(!r){console.log(`No managed process found: ${e}`);return}n(r);return}case`status`:{let e=t.shift()?.trim();e||(console.error(`Usage: kb proc status <id>`),process.exit(1));let r=d(e);if(!r){console.log(`No managed process found: ${e}`);return}n(r);return}case`list`:{let e=c();if(e.length===0){console.log(`No managed processes.`);return}for(let t of e)n(t),console.log(``);return}case`logs`:{let n=e(t,`--tail`,50),r=t.shift()?.trim();r||(console.error(`Usage: kb proc logs <id> [--tail N]`),process.exit(1));let i=l(r,n);if(i.length===0){console.log(`No logs found for process: ${r}`);return}for(let e of i)console.log(e);return}default:console.error(`Unknown proc action: ${r}`),console.error(`Actions: start, stop, status, list, logs`),process.exit(1)}}},{name:`watch`,description:`Manage in-memory filesystem watchers`,usage:`kb watch <start|stop|list> ...`,run:async e=>{let t=e.shift()?.trim()??``;switch(t){case`start`:{let t=e.shift()?.trim();t||(console.error(`Usage: kb watch start <path>`),process.exit(1));let n=m({path:i(t)});console.log(`Started watcher: ${n.id}`),console.log(` Path: ${n.path}`),console.log(` Status: ${n.status}`);return}case`stop`:{let t=e.shift()?.trim();t||(console.error(`Usage: kb watch stop <id>`),process.exit(1));let n=h(t);console.log(n?`Stopped watcher: ${t}`:`Watcher not found: ${t}`);return}case`list`:{let e=p();if(e.length===0){console.log(`No active watchers.`);return}for(let t of e)console.log(`${t.id}`),console.log(` Path: ${t.path}`),console.log(` Status: ${t.status}`),console.log(` Events: ${t.eventCount}`);return}default:console.error(`Unknown watch action: ${t}`),console.error(`Actions: start, stop, list`),process.exit(1)}}},{name:`delegate`,description:`Delegate a task to a local Ollama model`,usage:`kb delegate [--model name] [--system prompt] [--temp 0.3] <prompt | --stdin>`,run:async n=>{if((n[0]===`models`?n.shift():void 0)===`models`){try{let e=await s();if(e.length===0){console.log(`No Ollama models available. Pull one with: ollama pull qwen2.5-coder:7b`);return}for(let t of e)console.log(t)}catch{console.error(`Ollama is not running. Start it with: ollama serve`),process.exit(1)}return}let c=t(n,`--model`,``),l=t(n,`--system`,``),u=e(n,`--temp`,.3),d=t(n,`--context`,``),f=n.join(` `);f||=await r(),f||(console.error(`Usage: kb delegate [--model name] <prompt>`),process.exit(1));let p;d&&(p=await a(i(d),`utf-8`));let m=await o({prompt:f,model:c||void 0,system:l||void 0,context:p,temperature:u});m.error&&(console.error(`Error: ${m.error}`),process.exit(1)),console.log(m.response),console.error(`\n(${m.model}, ${m.durationMs}ms, ${m.tokenCount??`?`} tokens)`)}}];export{g as environmentCommands};
2
- //# sourceMappingURL=environment.js.map
1
+ import{extractNumFlag as e,extractStrFlag as t,printManagedProcess as n,readStdin as r}from"../helpers.js";import{resolve as i}from"node:path";import{readFile as a}from"node:fs/promises";import{delegate as o,delegateListModels as s,processList as c,processLogs as l,processStart as u,processStatus as d,processStop as f,watchList as p,watchStart as m,watchStop as h}from"../../../tools/dist/index.js";const g=[{name:`proc`,description:`Manage in-memory child processes`,usage:`kb proc <start|stop|status|list|logs> ...`,run:async t=>{let r=t.shift()?.trim()??``;switch(r){case`start`:{let e=t.shift()?.trim(),r=t.shift()?.trim();(!e||!r)&&(console.error(`Usage: kb proc start <id> <command> [args...]`),process.exit(1)),n(u(e,r,t));return}case`stop`:{let e=t.shift()?.trim();e||(console.error(`Usage: kb proc stop <id>`),process.exit(1));let r=f(e);if(!r){console.log(`No managed process found: ${e}`);return}n(r);return}case`status`:{let e=t.shift()?.trim();e||(console.error(`Usage: kb proc status <id>`),process.exit(1));let r=d(e);if(!r){console.log(`No managed process found: ${e}`);return}n(r);return}case`list`:{let e=c();if(e.length===0){console.log(`No managed processes.`);return}for(let t of e)n(t),console.log(``);return}case`logs`:{let n=e(t,`--tail`,50),r=t.shift()?.trim();r||(console.error(`Usage: kb proc logs <id> [--tail N]`),process.exit(1));let i=l(r,n);if(i.length===0){console.log(`No logs found for process: ${r}`);return}for(let e of i)console.log(e);return}default:console.error(`Unknown proc action: ${r}`),console.error(`Actions: start, stop, status, list, logs`),process.exit(1)}}},{name:`watch`,description:`Manage in-memory filesystem watchers`,usage:`kb watch <start|stop|list> ...`,run:async e=>{let t=e.shift()?.trim()??``;switch(t){case`start`:{let t=e.shift()?.trim();t||(console.error(`Usage: kb watch start <path>`),process.exit(1));let n=m({path:i(t)});console.log(`Started watcher: ${n.id}`),console.log(` Path: ${n.path}`),console.log(` Status: ${n.status}`);return}case`stop`:{let t=e.shift()?.trim();t||(console.error(`Usage: kb watch stop <id>`),process.exit(1));let n=h(t);console.log(n?`Stopped watcher: ${t}`:`Watcher not found: ${t}`);return}case`list`:{let e=p();if(e.length===0){console.log(`No active watchers.`);return}for(let t of e)console.log(`${t.id}`),console.log(` Path: ${t.path}`),console.log(` Status: ${t.status}`),console.log(` Events: ${t.eventCount}`);return}default:console.error(`Unknown watch action: ${t}`),console.error(`Actions: start, stop, list`),process.exit(1)}}},{name:`delegate`,description:`Delegate a task to a local Ollama model`,usage:`kb delegate [--model name] [--system prompt] [--temp 0.3] <prompt | --stdin>`,run:async n=>{if((n[0]===`models`?n.shift():void 0)===`models`){try{let e=await s();if(e.length===0){console.log(`No Ollama models available. Pull one with: ollama pull qwen2.5-coder:7b`);return}for(let t of e)console.log(t)}catch{console.error(`Ollama is not running. Start it with: ollama serve`),process.exit(1)}return}let c=t(n,`--model`,``),l=t(n,`--system`,``),u=e(n,`--temp`,.3),d=t(n,`--context`,``),f=n.join(` `);f||=await r(),f||(console.error(`Usage: kb delegate [--model name] <prompt>`),process.exit(1));let p;d&&(p=await a(i(d),`utf-8`));let m=await o({prompt:f,model:c||void 0,system:l||void 0,context:p,temperature:u});m.error&&(console.error(`Error: ${m.error}`),process.exit(1)),console.log(m.response),console.error(`\n(${m.model}, ${m.durationMs}ms, ${m.tokenCount??`?`} tokens)`)}}];export{g as environmentCommands};
@@ -3,5 +3,4 @@ import { Command } from "../types.js";
3
3
  //#region packages/cli/src/commands/execution.d.ts
4
4
  declare const executionCommands: Command[];
5
5
  //#endregion
6
- export { executionCommands };
7
- //# sourceMappingURL=execution.d.ts.map
6
+ export { executionCommands };
@@ -1,2 +1 @@
1
- import{extractBoolFlag as e,extractNumFlag as t,extractStrFlag as n,printTestRunResult as r,readStdin as i,splitCsv as a}from"../helpers.js";import{resolve as o}from"node:path";import{readFile as s}from"node:fs/promises";import{codemod as c,dataTransform as l,evaluate as u,rename as d,testRun as f}from"../../../tools/dist/index.js";const p=[{name:`eval`,description:`Evaluate JavaScript or TypeScript in a constrained VM sandbox`,usage:`kb eval [code] [--lang js|ts] [--timeout ms]`,run:async e=>{let r=n(e,`--lang`,`js`),a=t(e,`--timeout`,5e3),o=e.join(` `),s=o.trim()?``:await i(),c=o||s;c.trim()||(console.error(`Usage: kb eval [code] [--lang js|ts] [--timeout ms]`),process.exit(1));let l=u({code:c,lang:r===`ts`?`ts`:`js`,timeout:a});if(!l.success){console.error(`Eval failed in ${l.durationMs}ms: ${l.error}`),process.exitCode=1;return}console.log(`Eval succeeded in ${l.durationMs}ms`),console.log(`─`.repeat(60)),console.log(l.output)}},{name:`test`,description:`Run Vitest for all tests or a specific subset`,usage:`kb test [files...] [--grep pattern] [--cwd path] [--timeout ms]`,run:async e=>{let i=n(e,`--grep`,``).trim()||void 0,a=n(e,`--cwd`,``).trim()||void 0,o=t(e,`--timeout`,6e4),s=e.filter(Boolean),c=await f({files:s.length>0?s:void 0,grep:i,cwd:a,timeout:o});r(c),c.passed||(process.exitCode=1)}},{name:`rename`,description:`Rename a symbol across files using whole-word regex matching`,usage:`kb rename <old> <new> <path> [--dry-run] [--extensions .ts,.tsx] [--exclude dist/**]`,run:async t=>{let r=t.shift()?.trim()??``,i=t.shift()?.trim()??``,s=t.shift()?.trim()??``;(!r||!i||!s)&&(console.error(`Usage: kb rename <old> <new> <path> [--dry-run] [--extensions .ts,.tsx] [--exclude dist/**]`),process.exit(1));let c=a(n(t,`--extensions`,``)),l=a(n(t,`--exclude`,``)),u=await d({oldName:r,newName:i,rootPath:o(s),extensions:c.length>0?c:void 0,exclude:l.length>0?l:void 0,dryRun:e(t,`--dry-run`)});console.log(JSON.stringify(u,null,2))}},{name:`codemod`,description:`Apply regex-based codemod rules from a JSON file across a path`,usage:`kb codemod <path> --rules <file.json> [--dry-run] [--extensions .ts,.tsx] [--exclude dist/**]`,run:async t=>{let r=t.shift()?.trim()??``,i=n(t,`--rules`,``).trim();(!r||!i)&&(console.error(`Usage: kb codemod <path> --rules <file.json> [--dry-run] [--extensions .ts,.tsx] [--exclude dist/**]`),process.exit(1));let l=await s(o(i),`utf-8`),u;try{u=JSON.parse(l)}catch{throw Error(`Failed to parse rules file as JSON: ${i}`)}if(!Array.isArray(u))throw Error(`Codemod rules file must contain a JSON array.`);let d=a(n(t,`--extensions`,``)),f=a(n(t,`--exclude`,``)),p=await c({rootPath:o(r),rules:u,extensions:d.length>0?d:void 0,exclude:f.length>0?f:void 0,dryRun:e(t,`--dry-run`)});console.log(JSON.stringify(p,null,2))}},{name:`transform`,description:`Apply jq-like transforms to JSON from stdin`,usage:`cat data.json | kb transform <expression>`,run:async e=>{let t=e.join(` `).trim(),n=await i();(!t||!n.trim())&&(console.error(`Usage: cat data.json | kb transform <expression>`),process.exit(1));let r=l({input:n,expression:t});console.log(r.outputString)}}];export{p as executionCommands};
2
- //# sourceMappingURL=execution.js.map
1
+ import{extractBoolFlag as e,extractNumFlag as t,extractStrFlag as n,printTestRunResult as r,readStdin as i,splitCsv as a}from"../helpers.js";import{resolve as o}from"node:path";import{readFile as s}from"node:fs/promises";import{codemod as c,dataTransform as l,evaluate as u,rename as d,testRun as f}from"../../../tools/dist/index.js";const p=[{name:`eval`,description:`Evaluate JavaScript or TypeScript in a constrained VM sandbox`,usage:`kb eval [code] [--lang js|ts] [--timeout ms]`,run:async e=>{let r=n(e,`--lang`,`js`),a=t(e,`--timeout`,5e3),o=e.join(` `),s=o.trim()?``:await i(),c=o||s;c.trim()||(console.error(`Usage: kb eval [code] [--lang js|ts] [--timeout ms]`),process.exit(1));let l=u({code:c,lang:r===`ts`?`ts`:`js`,timeout:a});if(!l.success){console.error(`Eval failed in ${l.durationMs}ms: ${l.error}`),process.exitCode=1;return}console.log(`Eval succeeded in ${l.durationMs}ms`),console.log(`─`.repeat(60)),console.log(l.output)}},{name:`test`,description:`Run Vitest for all tests or a specific subset`,usage:`kb test [files...] [--grep pattern] [--cwd path] [--timeout ms]`,run:async e=>{let i=n(e,`--grep`,``).trim()||void 0,a=n(e,`--cwd`,``).trim()||void 0,o=t(e,`--timeout`,6e4),s=e.filter(Boolean),c=await f({files:s.length>0?s:void 0,grep:i,cwd:a,timeout:o});r(c),c.passed||(process.exitCode=1)}},{name:`rename`,description:`Rename a symbol across files using whole-word regex matching`,usage:`kb rename <old> <new> <path> [--dry-run] [--extensions .ts,.tsx] [--exclude dist/**]`,run:async t=>{let r=t.shift()?.trim()??``,i=t.shift()?.trim()??``,s=t.shift()?.trim()??``;(!r||!i||!s)&&(console.error(`Usage: kb rename <old> <new> <path> [--dry-run] [--extensions .ts,.tsx] [--exclude dist/**]`),process.exit(1));let c=a(n(t,`--extensions`,``)),l=a(n(t,`--exclude`,``)),u=await d({oldName:r,newName:i,rootPath:o(s),extensions:c.length>0?c:void 0,exclude:l.length>0?l:void 0,dryRun:e(t,`--dry-run`)});console.log(JSON.stringify(u,null,2))}},{name:`codemod`,description:`Apply regex-based codemod rules from a JSON file across a path`,usage:`kb codemod <path> --rules <file.json> [--dry-run] [--extensions .ts,.tsx] [--exclude dist/**]`,run:async t=>{let r=t.shift()?.trim()??``,i=n(t,`--rules`,``).trim();(!r||!i)&&(console.error(`Usage: kb codemod <path> --rules <file.json> [--dry-run] [--extensions .ts,.tsx] [--exclude dist/**]`),process.exit(1));let l=await s(o(i),`utf-8`),u;try{u=JSON.parse(l)}catch{throw Error(`Failed to parse rules file as JSON: ${i}`)}if(!Array.isArray(u))throw Error(`Codemod rules file must contain a JSON array.`);let d=a(n(t,`--extensions`,``)),f=a(n(t,`--exclude`,``)),p=await c({rootPath:o(r),rules:u,extensions:d.length>0?d:void 0,exclude:f.length>0?f:void 0,dryRun:e(t,`--dry-run`)});console.log(JSON.stringify(p,null,2))}},{name:`transform`,description:`Apply jq-like transforms to JSON from stdin`,usage:`cat data.json | kb transform <expression>`,run:async e=>{let t=e.join(` `).trim(),n=await i();(!t||!n.trim())&&(console.error(`Usage: cat data.json | kb transform <expression>`),process.exit(1));let r=l({input:n,expression:t});console.log(r.outputString)}}];export{p as executionCommands};
@@ -3,5 +3,4 @@ import { Command } from "../types.js";
3
3
  //#region packages/cli/src/commands/graph.d.ts
4
4
  declare const graphCommands: Command[];
5
5
  //#endregion
6
- export { graphCommands };
7
- //# sourceMappingURL=graph.d.ts.map
6
+ export { graphCommands };
@@ -3,5 +3,4 @@ import{ctx as e}from"../context.js";import{extractNumFlag as t,extractStrFlag as
3
3
  Options: --type, --name, --node-id, --edge-type, --direction, --depth, --limit, --source-path`,run:async i=>{let a=i.shift()?.trim()??``;a||(console.error(`Usage: kb graph <action>
4
4
  Actions: stats, find-nodes, find-edges, neighbors, traverse, delete, clear`),process.exit(1));let{graphStore:o}=await e(),s=n(i,`--type`,``),c=n(i,`--name`,``),l=n(i,`--node-id`,``),u=n(i,`--edge-type`,``),d=n(i,`--direction`,`both`),f=t(i,`--depth`,2),p=t(i,`--limit`,50),m=n(i,`--source-path`,``),h={stats:`stats`,"find-nodes":`find_nodes`,"find-edges":`find_edges`,neighbors:`neighbors`,traverse:`traverse`,delete:`delete`,clear:`clear`}[a];h||(console.error(`Unknown graph action: ${a}`),console.error(`Actions: stats, find-nodes, find-edges, neighbors, traverse, delete, clear`),process.exit(1));let g=await r(o,{action:h,nodeType:s||void 0,namePattern:c||void 0,sourcePath:m||void 0,nodeId:l||void 0,edgeType:u||void 0,direction:d,maxDepth:f,limit:p});if(console.log(g.summary),g.nodes&&g.nodes.length>0){console.log(`
5
5
  Nodes:`);for(let e of g.nodes){let t=Object.keys(e.properties).length>0?` ${JSON.stringify(e.properties)}`:``;console.log(` ${e.name} (${e.type}, id: ${e.id})${t}`)}}if(g.edges&&g.edges.length>0){console.log(`
6
- Edges:`);for(let e of g.edges){let t=e.weight===1?``:` (weight: ${e.weight})`;console.log(` ${e.fromId} --[${e.type}]--> ${e.toId}${t}`)}}g.stats&&(console.log(`\nNode types: ${JSON.stringify(g.stats.nodeTypes)}`),console.log(`Edge types: ${JSON.stringify(g.stats.edgeTypes)}`)),g.deleted!==void 0&&console.log(`Deleted: ${g.deleted}`)}}];export{i as graphCommands};
7
- //# sourceMappingURL=graph.js.map
6
+ Edges:`);for(let e of g.edges){let t=e.weight===1?``:` (weight: ${e.weight})`;console.log(` ${e.fromId} --[${e.type}]--> ${e.toId}${t}`)}}g.stats&&(console.log(`\nNode types: ${JSON.stringify(g.stats.nodeTypes)}`),console.log(`Edge types: ${JSON.stringify(g.stats.edgeTypes)}`)),g.deleted!==void 0&&console.log(`Deleted: ${g.deleted}`)}}];export{i as graphCommands};
@@ -6,7 +6,7 @@
6
6
  * instructions, and skills live. This module defines the interface and
7
7
  * provides auto-detection based on workspace markers.
8
8
  */
9
- type SupportedIde = 'copilot' | 'claude-code';
9
+ type SupportedIde = 'copilot' | 'claude-code' | 'cursor' | 'windsurf';
10
10
  interface IdeAdapter {
11
11
  /** Create the MCP server config file for this IDE. */
12
12
  writeMcpConfig(cwd: string, serverName: string): void;
@@ -21,7 +21,8 @@ interface IdeAdapter {
21
21
  declare function detectIde(cwd: string): SupportedIde;
22
22
  declare const copilotAdapter: IdeAdapter;
23
23
  declare const claudeCodeAdapter: IdeAdapter;
24
+ declare const cursorAdapter: IdeAdapter;
25
+ declare const windsurfAdapter: IdeAdapter;
24
26
  declare function getAdapter(ide: SupportedIde): IdeAdapter;
25
27
  //#endregion
26
- export { IdeAdapter, SupportedIde, claudeCodeAdapter, copilotAdapter, detectIde, getAdapter };
27
- //# sourceMappingURL=adapters.d.ts.map
28
+ export { IdeAdapter, SupportedIde, claudeCodeAdapter, copilotAdapter, cursorAdapter, detectIde, getAdapter, windsurfAdapter };
@@ -1,2 +1 @@
1
- import{buildAgentsMd as e,buildCopilotInstructions as t}from"./templates.js";import{existsSync as n,mkdirSync as r,writeFileSync as i}from"node:fs";import{basename as a,resolve as o}from"node:path";function s(e){return n(o(e,`.vscode`))?`copilot`:n(o(e,`.claude`))?`claude-code`:`copilot`}function c(e){return{servers:{[e]:{type:`stdio`,command:`npx`,args:[`@vpxa/kb`,`serve`]}}}}const l={scaffoldDir:`copilot`,writeMcpConfig(e,t){let r=o(e,`.vscode`),a=o(r,`mcp.json`);n(r)&&!n(a)&&(i(a,`${JSON.stringify(c(t),null,2)}\n`,`utf-8`),console.log(` Created .vscode/mcp.json`))},writeInstructions(e,s){let c=o(e,`.github`),l=o(c,`copilot-instructions.md`);n(l)||(r(c,{recursive:!0}),i(l,t(a(e),s),`utf-8`),console.log(` Created .github/copilot-instructions.md`))},writeAgentsMd(t,r){let s=o(t,`AGENTS.md`);n(s)||(i(s,e(a(t),r),`utf-8`),console.log(` Created AGENTS.md`))}},u={scaffoldDir:`claude-code`,writeMcpConfig(e,t){},writeInstructions(e,t){},writeAgentsMd(e,t){}};function d(e){switch(e){case`copilot`:return l;case`claude-code`:return u}}export{u as claudeCodeAdapter,l as copilotAdapter,s as detectIde,d as getAdapter};
2
- //# sourceMappingURL=adapters.js.map
1
+ import{MCP_SERVER_ENTRY as e}from"./constants.js";import{buildAgentsMd as t,buildCopilotInstructions as n}from"./templates.js";import{existsSync as r,mkdirSync as i,writeFileSync as a}from"node:fs";import{basename as o,resolve as s}from"node:path";function c(e){return r(s(e,`.cursor`))?`cursor`:r(s(e,`.claude`))?`claude-code`:r(s(e,`.windsurf`))?`windsurf`:`copilot`}function l(t){return{servers:{[t]:{...e}}}}function u(t){let{type:n,...r}=e;return{mcpServers:{[t]:r}}}const d={scaffoldDir:`general`,writeMcpConfig(e,t){let n=s(e,`.vscode`),o=s(n,`mcp.json`);r(o)||(i(n,{recursive:!0}),a(o,`${JSON.stringify(l(t),null,2)}\n`,`utf-8`),console.log(` Created .vscode/mcp.json`))},writeInstructions(e,t){let c=s(e,`.github`),l=s(c,`copilot-instructions.md`);r(l)||(i(c,{recursive:!0}),a(l,n(o(e),t),`utf-8`),console.log(` Created .github/copilot-instructions.md`))},writeAgentsMd(e,n){let i=s(e,`AGENTS.md`);r(i)||(a(i,t(o(e),n),`utf-8`),console.log(` Created AGENTS.md`))}},f={scaffoldDir:`general`,writeMcpConfig(e,t){let n=s(e,`.mcp.json`);r(n)||(a(n,`${JSON.stringify(u(t),null,2)}\n`,`utf-8`),console.log(` Created .mcp.json`))},writeInstructions(e,i){let c=s(e,`CLAUDE.md`);if(!r(c)){let r=o(e);a(c,`${n(r,i)}\n---\n\n${t(r,i)}`,`utf-8`),console.log(` Created CLAUDE.md`)}},writeAgentsMd(e,t){}},p={scaffoldDir:`general`,writeMcpConfig(e,t){let n=s(e,`.cursor`),o=s(n,`mcp.json`);r(o)||(i(n,{recursive:!0}),a(o,`${JSON.stringify(u(t),null,2)}\n`,`utf-8`),console.log(` Created .cursor/mcp.json`))},writeInstructions(e,c){let l=s(e,`.cursor`,`rules`),u=s(l,`kb.mdc`);if(!r(u)){i(l,{recursive:!0});let r=o(e);a(u,`${n(r,c)}\n---\n\n${t(r,c)}`,`utf-8`),console.log(` Created .cursor/rules/kb.mdc`)}},writeAgentsMd(e,t){}},m={scaffoldDir:`general`,writeMcpConfig(e,t){let n=s(e,`.vscode`),o=s(n,`mcp.json`);r(o)||(i(n,{recursive:!0}),a(o,`${JSON.stringify(l(t),null,2)}\n`,`utf-8`),console.log(` Created .vscode/mcp.json (Windsurf-compatible)`))},writeInstructions(e,i){let c=s(e,`.windsurfrules`);if(!r(c)){let r=o(e);a(c,`${n(r,i)}\n---\n\n${t(r,i)}`,`utf-8`),console.log(` Created .windsurfrules`)}},writeAgentsMd(e,t){}};function h(e){switch(e){case`copilot`:return d;case`claude-code`:return f;case`cursor`:return p;case`windsurf`:return m}}export{f as claudeCodeAdapter,d as copilotAdapter,p as cursorAdapter,c as detectIde,h as getAdapter,m as windsurfAdapter};
@@ -7,5 +7,4 @@ declare function writeKbConfig(cwd: string, force: boolean): boolean;
7
7
  declare function ensureGitignore(cwd: string): void;
8
8
  declare function getServerName(): string;
9
9
  //#endregion
10
- export { ensureGitignore, getServerName, writeKbConfig };
11
- //# sourceMappingURL=config.d.ts.map
10
+ export { ensureGitignore, getServerName, writeKbConfig };
@@ -1,4 +1,3 @@
1
- import{appendFileSync as e,existsSync as t,readFileSync as n,writeFileSync as r}from"node:fs";import{resolve as i}from"node:path";const a={serverName:`knowledge-base`,sources:[{path:`.`,excludePatterns:[`**/node_modules/**`,`**/dist/**`,`**/build/**`,`**/.git/**`,`**/.kb-data/**`,`**/coverage/**`,`**/*.min.js`,`**/package-lock.json`,`**/pnpm-lock.yaml`]}],indexing:{chunkSize:1500,chunkOverlap:200,minChunkSize:100},embedding:{model:`mixedbread-ai/mxbai-embed-large-v1`,dimensions:1024},store:{backend:`lancedb`,path:`.kb-data/lance`},curated:{path:`curated`}};function o(e,n){let o=i(e,`kb.config.json`);return t(o)&&!n?(console.log(`kb.config.json already exists. Use --force to overwrite.`),!1):(r(o,`${JSON.stringify(a,null,2)}\n`,`utf-8`),console.log(` Created kb.config.json`),!0)}function s(a){let o=i(a,`.gitignore`),s=[{dir:`.kb-data/`,label:`Knowledge base vector store`},{dir:`.brainstorm/`,label:`Brainstorming sessions`},{dir:`curated/`,label:`Curated knowledge entries`},{dir:`curated-archive/`,label:`Archived curated entries`}];if(t(o)){let t=n(o,`utf-8`),r=s.filter(e=>!t.includes(e.dir));r.length>0&&(e(o,`\n${r.map(e=>`# ${e.label}\n${e.dir}`).join(`
2
- `)}\n`,`utf-8`),console.log(` Added ${r.map(e=>e.dir).join(`, `)} to .gitignore`))}else r(o,`${s.map(e=>`# ${e.label}\n${e.dir}`).join(`
3
- `)}\n`,`utf-8`),console.log(` Created .gitignore with KB entries`)}function c(){return a.serverName}export{s as ensureGitignore,c as getServerName,o as writeKbConfig};
4
- //# sourceMappingURL=config.js.map
1
+ import{SERVER_NAME as e}from"./constants.js";import{appendFileSync as t,existsSync as n,readFileSync as r,writeFileSync as i}from"node:fs";import{resolve as a}from"node:path";import{KB_PATHS as o}from"../../../../core/dist/index.js";const s={serverName:e,sources:[{path:`.`,excludePatterns:[`**/node_modules/**`,`**/dist/**`,`**/build/**`,`**/.git/**`,`**/${o.data}/**`,`**/coverage/**`,`**/*.min.js`,`**/package-lock.json`,`**/pnpm-lock.yaml`]}],indexing:{chunkSize:1500,chunkOverlap:200,minChunkSize:100},embedding:{model:`mixedbread-ai/mxbai-embed-large-v1`,dimensions:1024},store:{backend:`lancedb`,path:`${o.data}/lance`},curated:{path:o.aiCurated}};function c(e,t){let r=a(e,`kb.config.json`);return n(r)&&!t?(console.log(`kb.config.json already exists. Use --force to overwrite.`),!1):(i(r,`${JSON.stringify(s,null,2)}\n`,`utf-8`),console.log(` Created kb.config.json`),!0)}function l(e){let s=a(e,`.gitignore`),c=[{dir:`${o.data}/`,label:`Knowledge base vector store`},{dir:`${o.state}/`,label:`Knowledge base session state`},{dir:`${o.brainstorm}/`,label:`Brainstorming sessions`},{dir:`${o.handoffs}/`,label:`Handoff documents`}];if(n(s)){let e=r(s,`utf-8`),n=c.filter(t=>!e.includes(t.dir));n.length>0&&(t(s,`\n${n.map(e=>`# ${e.label}\n${e.dir}`).join(`
2
+ `)}\n`,`utf-8`),console.log(` Added ${n.map(e=>e.dir).join(`, `)} to .gitignore`))}else i(s,`${c.map(e=>`# ${e.label}\n${e.dir}`).join(`
3
+ `)}\n`,`utf-8`),console.log(` Created .gitignore with KB entries`)}function u(){return s.serverName}export{l as ensureGitignore,u as getServerName,c as writeKbConfig};
@@ -0,0 +1,18 @@
1
+ //#region packages/cli/src/commands/init/constants.d.ts
2
+ /**
3
+ * Init module — shared constants.
4
+ *
5
+ * Single source of truth for lists used by both local and global init.
6
+ */
7
+ /** The MCP server name used in all IDE configs. */
8
+ declare const SERVER_NAME = "knowledge-base";
9
+ /** The npx-based MCP server entry written into mcp.json files. */
10
+ declare const MCP_SERVER_ENTRY: {
11
+ readonly type: "stdio";
12
+ readonly command: "npx";
13
+ readonly args: readonly ["-y", "@vpxa/kb", "serve"];
14
+ };
15
+ /** Skills shipped with the KB package and installed during init. */
16
+ declare const SKILL_NAMES: readonly ["knowledge-base", "brainstorming", "session-handoff", "requirements-clarity", "lesson-learned", "c4-architecture", "adr-skill"];
17
+ //#endregion
18
+ export { MCP_SERVER_ENTRY, SERVER_NAME, SKILL_NAMES };
@@ -0,0 +1 @@
1
+ const e=`knowledge-base`,t={type:`stdio`,command:`npx`,args:[`-y`,`@vpxa/kb`,`serve`]},n=[`knowledge-base`,`brainstorming`,`session-handoff`,`requirements-clarity`,`lesson-learned`,`c4-architecture`,`adr-skill`];export{t as MCP_SERVER_ENTRY,e as SERVER_NAME,n as SKILL_NAMES};
@@ -4,5 +4,4 @@
4
4
  */
5
5
  declare function createCuratedDirs(cwd: string): void;
6
6
  //#endregion
7
- export { createCuratedDirs };
8
- //# sourceMappingURL=curated.d.ts.map
7
+ export { createCuratedDirs };
@@ -1,2 +1 @@
1
- import{existsSync as e,mkdirSync as t}from"node:fs";import{resolve as n}from"node:path";const r=[`decisions`,`patterns`,`conventions`,`troubleshooting`];function i(i){let a=n(i,`curated`);e(a)||(t(a,{recursive:!0}),console.log(` Created curated/`));for(let i of r){let r=n(a,i);e(r)||t(r,{recursive:!0})}console.log(` Created curated/{${r.join(`,`)}}/`)}export{i as createCuratedDirs};
2
- //# sourceMappingURL=curated.js.map
1
+ import{existsSync as e,mkdirSync as t}from"node:fs";import{resolve as n}from"node:path";const r=[`decisions`,`patterns`,`conventions`,`troubleshooting`];function i(i){let a=n(i,`.ai`,`curated`);e(a)||(t(a,{recursive:!0}),console.log(` Created .ai/curated/`));for(let i of r){let r=n(a,i);e(r)||t(r,{recursive:!0})}console.log(` Created .ai/curated/{${r.join(`,`)}}/`)}export{i as createCuratedDirs};
@@ -0,0 +1,34 @@
1
+ //#region packages/cli/src/commands/init/global.d.ts
2
+ /**
3
+ * `kb init --global` — configure KB as a user-level MCP server.
4
+ *
5
+ * Auto-detects all installed IDEs, writes user-level mcp.json for each,
6
+ * installs skills to a global location, and creates the global data store.
7
+ */
8
+ /** Represents a user-level IDE config location. */
9
+ interface UserLevelIdePath {
10
+ ide: string;
11
+ configDir: string;
12
+ mcpConfigPath: string;
13
+ }
14
+ /**
15
+ * Detect all installed IDEs by checking if their user-level config directory exists.
16
+ */
17
+ declare function detectInstalledIdes(): UserLevelIdePath[];
18
+ /**
19
+ * Write or merge the KB server entry into a user-level mcp.json.
20
+ * Preserves all existing non-KB entries. Backs up existing file before writing.
21
+ */
22
+ declare function writeUserLevelMcpConfig(idePath: UserLevelIdePath, serverName: string, force?: boolean): void;
23
+ /**
24
+ * Install skills to the global user-level directory (~/.kb-data/skills/).
25
+ */
26
+ declare function installGlobalSkills(pkgRoot: string): void;
27
+ /**
28
+ * Main orchestrator for `kb init --global`.
29
+ */
30
+ declare function initGlobal(options: {
31
+ force: boolean;
32
+ }): Promise<void>;
33
+ //#endregion
34
+ export { UserLevelIdePath, detectInstalledIdes, initGlobal, installGlobalSkills, writeUserLevelMcpConfig };
@@ -0,0 +1,5 @@
1
+ import{MCP_SERVER_ENTRY as e,SERVER_NAME as t,SKILL_NAMES as n}from"./constants.js";import{copyDirectoryRecursive as r}from"./scaffold.js";import{existsSync as i,mkdirSync as a,readFileSync as o,writeFileSync as s}from"node:fs";import{dirname as c,resolve as l}from"node:path";import{fileURLToPath as u}from"node:url";import{getGlobalDataDir as d,saveRegistry as f}from"../../../../core/dist/index.js";import{homedir as p}from"node:os";function m(){let e=p(),t=process.platform,n=[];if(t===`win32`){let t=process.env.APPDATA??l(e,`AppData`,`Roaming`);n.push({ide:`VS Code`,configDir:l(t,`Code`,`User`),mcpConfigPath:l(t,`Code`,`User`,`mcp.json`)},{ide:`VS Code Insiders`,configDir:l(t,`Code - Insiders`,`User`),mcpConfigPath:l(t,`Code - Insiders`,`User`,`mcp.json`)},{ide:`VSCodium`,configDir:l(t,`VSCodium`,`User`),mcpConfigPath:l(t,`VSCodium`,`User`,`mcp.json`)},{ide:`Cursor`,configDir:l(t,`Cursor`,`User`),mcpConfigPath:l(t,`Cursor`,`User`,`mcp.json`)},{ide:`Cursor Nightly`,configDir:l(t,`Cursor Nightly`,`User`),mcpConfigPath:l(t,`Cursor Nightly`,`User`,`mcp.json`)},{ide:`Windsurf`,configDir:l(t,`Windsurf`,`User`),mcpConfigPath:l(t,`Windsurf`,`User`,`mcp.json`)})}else if(t===`darwin`){let t=l(e,`Library`,`Application Support`);n.push({ide:`VS Code`,configDir:l(t,`Code`,`User`),mcpConfigPath:l(t,`Code`,`User`,`mcp.json`)},{ide:`VS Code Insiders`,configDir:l(t,`Code - Insiders`,`User`),mcpConfigPath:l(t,`Code - Insiders`,`User`,`mcp.json`)},{ide:`VSCodium`,configDir:l(t,`VSCodium`,`User`),mcpConfigPath:l(t,`VSCodium`,`User`,`mcp.json`)},{ide:`Cursor`,configDir:l(t,`Cursor`,`User`),mcpConfigPath:l(t,`Cursor`,`User`,`mcp.json`)},{ide:`Cursor Nightly`,configDir:l(t,`Cursor Nightly`,`User`),mcpConfigPath:l(t,`Cursor Nightly`,`User`,`mcp.json`)},{ide:`Windsurf`,configDir:l(t,`Windsurf`,`User`),mcpConfigPath:l(t,`Windsurf`,`User`,`mcp.json`)})}else{let t=process.env.XDG_CONFIG_HOME??l(e,`.config`);n.push({ide:`VS Code`,configDir:l(t,`Code`,`User`),mcpConfigPath:l(t,`Code`,`User`,`mcp.json`)},{ide:`VS Code Insiders`,configDir:l(t,`Code - Insiders`,`User`),mcpConfigPath:l(t,`Code - Insiders`,`User`,`mcp.json`)},{ide:`VSCodium`,configDir:l(t,`VSCodium`,`User`),mcpConfigPath:l(t,`VSCodium`,`User`,`mcp.json`)},{ide:`Cursor`,configDir:l(t,`Cursor`,`User`),mcpConfigPath:l(t,`Cursor`,`User`,`mcp.json`)},{ide:`Cursor Nightly`,configDir:l(t,`Cursor Nightly`,`User`),mcpConfigPath:l(t,`Cursor Nightly`,`User`,`mcp.json`)},{ide:`Windsurf`,configDir:l(t,`Windsurf`,`User`),mcpConfigPath:l(t,`Windsurf`,`User`,`mcp.json`)})}return n.push({ide:`Claude Code`,configDir:l(e,`.claude`),mcpConfigPath:l(e,`.claude`,`mcp.json`)}),n.filter(e=>i(e.configDir))}function h(t,n,r=!1){let{mcpConfigPath:c,configDir:l}=t,u={...e},d={};if(i(c)){try{let e=o(c,`utf-8`);d=JSON.parse(e)}catch{let e=`${c}.bak`;s(e,o(c,`utf-8`),`utf-8`),console.log(` Backed up invalid ${c} to ${e}`),d={}}if((d.servers??d.mcpServers??{})[n]&&!r){console.log(` ${t.ide}: ${n} already configured (use --force to update)`);return}}let f=new Set([`VS Code`,`VS Code Insiders`,`VSCodium`,`Windsurf`]).has(t.ide)?`servers`:`mcpServers`,p=d[f]??{};p[n]=u,d[f]=p,a(l,{recursive:!0}),s(c,`${JSON.stringify(d,null,2)}\n`,`utf-8`),console.log(` ${t.ide}: configured ${n} in ${c}`)}function g(e){let t=l(d(),`skills`);for(let a of n){let n=l(e,`skills`,a);i(n)&&r(n,l(t,a),`skills/${a}`,!0)}console.log(` Installed ${n.length} skills to ${t}`)}async function _(e){let n=t;console.log(`Initializing global KB installation...
2
+ `);let r=d();a(r,{recursive:!0}),console.log(` Global data store: ${r}`),f({version:1,workspaces:{}}),console.log(` Created registry.json`);let i=m();if(i.length===0)console.log(`
3
+ No supported IDEs detected. You can manually add the MCP server config.`);else{console.log(`\n Detected ${i.length} IDE(s):`);for(let t of i)h(t,n,e.force)}g(l(c(u(import.meta.url)),`..`,`..`,`..`,`..`,`..`)),console.log(`
4
+ Global KB installation complete!`),console.log(`
5
+ Next steps:`),console.log(` 1. Open any workspace in your IDE`),console.log(` 2. The KB server will auto-start and index the workspace`),console.log(" 3. Run `kb init` in a workspace to add AGENTS.md and instructions")}export{m as detectInstalledIdes,_ as initGlobal,g as installGlobalSkills,h as writeUserLevelMcpConfig};
@@ -16,8 +16,13 @@
16
16
  declare function initProject(options: {
17
17
  force: boolean;
18
18
  }): Promise<void>;
19
+ /**
20
+ * Smart init — scaffold-only if global detected, full local otherwise.
21
+ */
22
+ declare function initSmart(options: {
23
+ force: boolean;
24
+ }): Promise<void>;
19
25
  /** Generate a JSON guide report comparing installed vs source files. */
20
26
  declare function guideProject(): Promise<void>;
21
27
  //#endregion
22
- export { guideProject, initProject };
23
- //# sourceMappingURL=index.d.ts.map
28
+ export { guideProject, initProject, initSmart };
@@ -1,3 +1,5 @@
1
- import{detectIde as e,getAdapter as t}from"./adapters.js";import{ensureGitignore as n,getServerName as r,writeKbConfig as i}from"./config.js";import{createCuratedDirs as a}from"./curated.js";import{copyScaffold as o,copySkills as s,guideScaffold as c,guideSkills as l}from"./scaffold.js";import{dirname as u,resolve as d}from"node:path";import{fileURLToPath as f}from"node:url";const p=[`knowledge-base`,`brainstorming`];async function m(c){let l=process.cwd();if(!i(l,c.force))return;n(l);let m=r(),h=t(e(l));h.writeMcpConfig(l,m),h.writeInstructions(l,m),h.writeAgentsMd(l,m);let g=d(u(f(import.meta.url)),`..`,`..`,`..`,`..`,`..`);s(l,g,p,c.force),o(l,g,h.scaffoldDir,c.force),a(l),console.log(`
2
- Knowledge base initialized! Next steps:`),console.log(` kb reindex Index your codebase`),console.log(` kb search Search indexed content`),console.log(` kb serve Start MCP server for IDE integration`)}async function h(){let n=process.cwd(),r=t(e(n)),i=d(u(f(import.meta.url)),`..`,`..`,`..`,`..`,`..`),a=[...l(n,i,p),...c(n,i,r.scaffoldDir)],o={summary:{total:a.length,new:a.filter(e=>e.status===`new`).length,outdated:a.filter(e=>e.status===`outdated`).length,current:a.filter(e=>e.status===`current`).length},files:a};console.log(JSON.stringify(o,null,2))}export{h as guideProject,m as initProject};
3
- //# sourceMappingURL=index.js.map
1
+ import{SKILL_NAMES as e}from"./constants.js";import{detectIde as t,getAdapter as n}from"./adapters.js";import{ensureGitignore as r,getServerName as i,writeKbConfig as a}from"./config.js";import{createCuratedDirs as o}from"./curated.js";import{copyScaffold as s,copySkills as c,guideScaffold as l,guideSkills as u}from"./scaffold.js";import{dirname as d,resolve as f}from"node:path";import{fileURLToPath as p}from"node:url";import{isGlobalInstalled as m}from"../../../../core/dist/index.js";async function h(l){let u=process.cwd();if(!a(u,l.force))return;r(u);let h=i(),g=n(t(u));g.writeMcpConfig(u,h),g.writeInstructions(u,h),g.writeAgentsMd(u,h);let _=f(d(p(import.meta.url)),`..`,`..`,`..`,`..`,`..`);c(u,_,[...e],l.force),s(u,_,g.scaffoldDir,l.force),o(u),console.log(`
2
+ Knowledge base initialized! Next steps:`),console.log(` kb reindex Index your codebase`),console.log(` kb search Search indexed content`),console.log(` kb serve Start MCP server for IDE integration`),m()&&console.log(`
3
+ Note: Global KB is also installed. This workspace uses its own local data store.`)}async function g(e){m()?await _(e):await h(e)}async function _(e){let a=process.cwd(),c=i(),l=n(t(a));l.writeInstructions(a,c),l.writeAgentsMd(a,c),s(a,f(d(p(import.meta.url)),`..`,`..`,`..`,`..`,`..`),l.scaffoldDir,e.force),o(a),r(a),console.log(`
4
+ Workspace scaffolded for global KB! Files added:`),console.log(` Instruction files (AGENTS.md, copilot-instructions.md, etc.)`),console.log(` .ai/curated/ directories`),console.log(` .github/agents/ & .github/prompts/`),console.log(`
5
+ The global KB server will auto-index this workspace when opened in your IDE.`)}async function v(){let r=process.cwd(),i=n(t(r)),a=f(d(p(import.meta.url)),`..`,`..`,`..`,`..`,`..`),o=[...u(r,a,[...e]),...l(r,a,i.scaffoldDir)],s={summary:{total:o.length,new:o.filter(e=>e.status===`new`).length,outdated:o.filter(e=>e.status===`outdated`).length,current:o.filter(e=>e.status===`current`).length},files:o};console.log(JSON.stringify(s,null,2))}export{v as guideProject,h as initProject,g as initSmart};
@@ -20,5 +20,4 @@ declare function guideScaffold(cwd: string, pkgRoot: string, ide: string): Guide
20
20
  /** Generate guide report for skill files — compare source vs destination. */
21
21
  declare function guideSkills(cwd: string, pkgRoot: string, skillNames: string[]): GuideFileEntry[];
22
22
  //#endregion
23
- export { GuideFileEntry, copyDirectoryRecursive, copyScaffold, copySkills, guideScaffold, guideSkills };
24
- //# sourceMappingURL=scaffold.d.ts.map
23
+ export { GuideFileEntry, copyDirectoryRecursive, copyScaffold, copySkills, guideScaffold, guideSkills };
@@ -1,2 +1 @@
1
- import{copyFileSync as e,existsSync as t,mkdirSync as n,readFileSync as r,readdirSync as i,statSync as a}from"node:fs";import{resolve as o}from"node:path";function s(r,c,l=``,u=!1){n(c,{recursive:!0});for(let n of i(r)){let i=o(r,n),d=o(c,n),f=l?`${l}/${n}`:n;if(a(i).isDirectory())s(i,d,f,u);else if(u||!t(d)){let n=t(d)?`Updated`:`Created`;e(i,d),console.log(` ${n} .github/${f}`)}}}function c(e,n,s,l){if(t(e))for(let u of i(e)){let i=o(e,u),d=s?`${s}/${u}`:u;if(a(i).isDirectory())c(i,o(n,u),d,l);else{let e=o(n,u),a=r(i,`utf-8`);t(e)?a===r(e,`utf-8`)?l.push({status:`current`,relativePath:d,sourcePath:i}):l.push({status:`outdated`,relativePath:d,sourcePath:i,content:a}):l.push({status:`new`,relativePath:d,sourcePath:i,content:a})}}}function l(e,n,r,i=!1){let a=o(n,`scaffold`,r);for(let n of[`agents`,`prompts`]){let r=o(a,n),c=o(e,`.github`,n);t(r)&&s(r,c,``,i)}}function u(e,n,r,i=!1){for(let a of r){let r=o(n,`skills`,a);t(r)&&s(r,o(e,`.github`,`skills`,a),`skills/${a}`,i)}}function d(e,t,n){let r=[],i=o(t,`scaffold`,n);for(let t of[`agents`,`prompts`])c(o(i,t),o(e,`.github`,t),t,r);return r}function f(e,n,r){let i=[];for(let a of r){let r=o(n,`skills`,a);t(r)&&c(r,o(e,`.github`,`skills`,a),`skills/${a}`,i)}return i}export{s as copyDirectoryRecursive,l as copyScaffold,u as copySkills,d as guideScaffold,f as guideSkills};
2
- //# sourceMappingURL=scaffold.js.map
1
+ import{copyFileSync as e,existsSync as t,mkdirSync as n,readFileSync as r,readdirSync as i,statSync as a}from"node:fs";import{resolve as o}from"node:path";function s(r,c,l=``,u=!1){n(c,{recursive:!0});for(let n of i(r)){let i=o(r,n),d=o(c,n),f=l?`${l}/${n}`:n;if(a(i).isDirectory())s(i,d,f,u);else if(u||!t(d)){let n=t(d)?`Updated`:`Created`;e(i,d),console.log(` ${n} .github/${f}`)}}}function c(e,n,s,l){if(t(e))for(let u of i(e)){let i=o(e,u),d=s?`${s}/${u}`:u;if(a(i).isDirectory())c(i,o(n,u),d,l);else{let e=o(n,u),a=r(i,`utf-8`);t(e)?a===r(e,`utf-8`)?l.push({status:`current`,relativePath:d,sourcePath:i}):l.push({status:`outdated`,relativePath:d,sourcePath:i,content:a}):l.push({status:`new`,relativePath:d,sourcePath:i,content:a})}}}function l(e,n,r,i=!1){let a=o(n,`scaffold`,r);for(let n of[`agents`,`prompts`]){let r=o(a,n),c=o(e,`.github`,n);t(r)&&s(r,c,``,i)}}function u(e,n,r,i=!1){for(let a of r){let r=o(n,`skills`,a);t(r)&&s(r,o(e,`.github`,`skills`,a),`skills/${a}`,i)}}function d(e,t,n){let r=[],i=o(t,`scaffold`,n);for(let t of[`agents`,`prompts`])c(o(i,t),o(e,`.github`,t),t,r);return r}function f(e,n,r){let i=[];for(let a of r){let r=o(n,`skills`,a);t(r)&&c(r,o(e,`.github`,`skills`,a),`skills/${a}`,i)}return i}export{s as copyDirectoryRecursive,l as copyScaffold,u as copySkills,d as guideScaffold,f as guideSkills};
@@ -3,8 +3,7 @@
3
3
  * Init module — instruction and AGENTS.md template builders.
4
4
  * Content for copilot-instructions.md and AGENTS.md.
5
5
  */
6
- declare function buildCopilotInstructions(projectName: string, _serverName: string): string;
7
- declare function buildAgentsMd(projectName: string, _serverName: string): string;
6
+ declare function buildCopilotInstructions(projectName: string, serverName: string): string;
7
+ declare function buildAgentsMd(projectName: string, serverName: string): string;
8
8
  //#endregion
9
- export { buildAgentsMd, buildCopilotInstructions };
10
- //# sourceMappingURL=templates.d.ts.map
9
+ export { buildAgentsMd, buildCopilotInstructions };