@vpxa/aikit 0.1.1

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 (649) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1207 -0
  3. package/bin/aikit.mjs +10 -0
  4. package/package.json +92 -0
  5. package/packages/aikit-client/dist/direct-client.d.ts +37 -0
  6. package/packages/aikit-client/dist/direct-client.js +1 -0
  7. package/packages/aikit-client/dist/index.d.ts +5 -0
  8. package/packages/aikit-client/dist/index.js +1 -0
  9. package/packages/aikit-client/dist/mcp-client.d.ts +19 -0
  10. package/packages/aikit-client/dist/mcp-client.js +4 -0
  11. package/packages/aikit-client/dist/parsers.d.ts +35 -0
  12. package/packages/aikit-client/dist/parsers.js +2 -0
  13. package/packages/aikit-client/dist/types.d.ts +62 -0
  14. package/packages/aikit-client/dist/types.js +1 -0
  15. package/packages/analyzers/dist/blast-radius-analyzer.d.ts +19 -0
  16. package/packages/analyzers/dist/blast-radius-analyzer.js +6 -0
  17. package/packages/analyzers/dist/dependency-analyzer.d.ts +32 -0
  18. package/packages/analyzers/dist/dependency-analyzer.js +8 -0
  19. package/packages/analyzers/dist/diagram-generator.d.ts +16 -0
  20. package/packages/analyzers/dist/diagram-generator.js +2 -0
  21. package/packages/analyzers/dist/entry-point-analyzer.d.ts +40 -0
  22. package/packages/analyzers/dist/entry-point-analyzer.js +4 -0
  23. package/packages/analyzers/dist/index.d.ts +12 -0
  24. package/packages/analyzers/dist/index.js +1 -0
  25. package/packages/analyzers/dist/knowledge-producer.d.ts +40 -0
  26. package/packages/analyzers/dist/knowledge-producer.js +26 -0
  27. package/packages/analyzers/dist/pattern-analyzer.d.ts +15 -0
  28. package/packages/analyzers/dist/pattern-analyzer.js +2 -0
  29. package/packages/analyzers/dist/regex-call-graph.d.ts +10 -0
  30. package/packages/analyzers/dist/regex-call-graph.js +1 -0
  31. package/packages/analyzers/dist/structure-analyzer.d.ts +19 -0
  32. package/packages/analyzers/dist/structure-analyzer.js +4 -0
  33. package/packages/analyzers/dist/symbol-analyzer.d.ts +14 -0
  34. package/packages/analyzers/dist/symbol-analyzer.js +9 -0
  35. package/packages/analyzers/dist/ts-call-graph.d.ts +29 -0
  36. package/packages/analyzers/dist/ts-call-graph.js +1 -0
  37. package/packages/analyzers/dist/types.d.ts +110 -0
  38. package/packages/analyzers/dist/types.js +1 -0
  39. package/packages/chunker/dist/call-graph-extractor.d.ts +25 -0
  40. package/packages/chunker/dist/call-graph-extractor.js +1 -0
  41. package/packages/chunker/dist/chunker-factory.d.ts +19 -0
  42. package/packages/chunker/dist/chunker-factory.js +1 -0
  43. package/packages/chunker/dist/chunker.interface.d.ts +13 -0
  44. package/packages/chunker/dist/chunker.interface.js +1 -0
  45. package/packages/chunker/dist/code-chunker.d.ts +17 -0
  46. package/packages/chunker/dist/code-chunker.js +11 -0
  47. package/packages/chunker/dist/extractors/call-extractor.d.ts +24 -0
  48. package/packages/chunker/dist/extractors/call-extractor.js +1 -0
  49. package/packages/chunker/dist/extractors/entry-point-detector.d.ts +14 -0
  50. package/packages/chunker/dist/extractors/entry-point-detector.js +1 -0
  51. package/packages/chunker/dist/extractors/import-extractor.d.ts +14 -0
  52. package/packages/chunker/dist/extractors/import-extractor.js +1 -0
  53. package/packages/chunker/dist/extractors/pattern-detector.d.ts +14 -0
  54. package/packages/chunker/dist/extractors/pattern-detector.js +1 -0
  55. package/packages/chunker/dist/extractors/scope-resolver.d.ts +26 -0
  56. package/packages/chunker/dist/extractors/scope-resolver.js +1 -0
  57. package/packages/chunker/dist/extractors/symbol-extractor.d.ts +14 -0
  58. package/packages/chunker/dist/extractors/symbol-extractor.js +3 -0
  59. package/packages/chunker/dist/extractors/types.d.ts +44 -0
  60. package/packages/chunker/dist/extractors/types.js +1 -0
  61. package/packages/chunker/dist/generic-chunker.d.ts +15 -0
  62. package/packages/chunker/dist/generic-chunker.js +5 -0
  63. package/packages/chunker/dist/index.d.ts +19 -0
  64. package/packages/chunker/dist/index.js +1 -0
  65. package/packages/chunker/dist/markdown-chunker.d.ts +17 -0
  66. package/packages/chunker/dist/markdown-chunker.js +3 -0
  67. package/packages/chunker/dist/wasm/languages.d.ts +18 -0
  68. package/packages/chunker/dist/wasm/languages.js +1 -0
  69. package/packages/chunker/dist/wasm/query-executor.d.ts +70 -0
  70. package/packages/chunker/dist/wasm/query-executor.js +1 -0
  71. package/packages/chunker/dist/wasm/runtime.d.ts +44 -0
  72. package/packages/chunker/dist/wasm/runtime.js +1 -0
  73. package/packages/chunker/dist/wasm/types.d.ts +84 -0
  74. package/packages/chunker/dist/wasm/types.js +1 -0
  75. package/packages/chunker/dist/wasm-chunker.d.ts +23 -0
  76. package/packages/chunker/dist/wasm-chunker.js +6 -0
  77. package/packages/chunker/src/queries/go/calls.scm +11 -0
  78. package/packages/chunker/src/queries/go/entry-points.scm +20 -0
  79. package/packages/chunker/src/queries/go/imports.scm +6 -0
  80. package/packages/chunker/src/queries/go/patterns.scm +25 -0
  81. package/packages/chunker/src/queries/go/symbols.scm +26 -0
  82. package/packages/chunker/src/queries/java/calls.scm +10 -0
  83. package/packages/chunker/src/queries/java/entry-points.scm +27 -0
  84. package/packages/chunker/src/queries/java/imports.scm +11 -0
  85. package/packages/chunker/src/queries/java/patterns.scm +27 -0
  86. package/packages/chunker/src/queries/java/symbols.scm +28 -0
  87. package/packages/chunker/src/queries/javascript/calls.scm +21 -0
  88. package/packages/chunker/src/queries/javascript/entry-points.scm +31 -0
  89. package/packages/chunker/src/queries/javascript/imports.scm +32 -0
  90. package/packages/chunker/src/queries/javascript/patterns.scm +28 -0
  91. package/packages/chunker/src/queries/javascript/symbols.scm +52 -0
  92. package/packages/chunker/src/queries/python/calls.scm +11 -0
  93. package/packages/chunker/src/queries/python/entry-points.scm +21 -0
  94. package/packages/chunker/src/queries/python/imports.scm +14 -0
  95. package/packages/chunker/src/queries/python/patterns.scm +25 -0
  96. package/packages/chunker/src/queries/python/symbols.scm +17 -0
  97. package/packages/chunker/src/queries/rust/calls.scm +20 -0
  98. package/packages/chunker/src/queries/rust/entry-points.scm +7 -0
  99. package/packages/chunker/src/queries/rust/imports.scm +26 -0
  100. package/packages/chunker/src/queries/rust/patterns.scm +18 -0
  101. package/packages/chunker/src/queries/rust/symbols.scm +73 -0
  102. package/packages/chunker/src/queries/typescript/calls.scm +21 -0
  103. package/packages/chunker/src/queries/typescript/entry-points.scm +48 -0
  104. package/packages/chunker/src/queries/typescript/imports.scm +35 -0
  105. package/packages/chunker/src/queries/typescript/patterns.scm +47 -0
  106. package/packages/chunker/src/queries/typescript/symbols.scm +79 -0
  107. package/packages/chunker/wasm/tree-sitter-c.wasm +0 -0
  108. package/packages/chunker/wasm/tree-sitter-c_sharp.wasm +0 -0
  109. package/packages/chunker/wasm/tree-sitter-cpp.wasm +0 -0
  110. package/packages/chunker/wasm/tree-sitter-go.wasm +0 -0
  111. package/packages/chunker/wasm/tree-sitter-java.wasm +0 -0
  112. package/packages/chunker/wasm/tree-sitter-javascript.wasm +0 -0
  113. package/packages/chunker/wasm/tree-sitter-kotlin.wasm +0 -0
  114. package/packages/chunker/wasm/tree-sitter-php.wasm +0 -0
  115. package/packages/chunker/wasm/tree-sitter-python.wasm +0 -0
  116. package/packages/chunker/wasm/tree-sitter-ruby.wasm +0 -0
  117. package/packages/chunker/wasm/tree-sitter-rust.wasm +0 -0
  118. package/packages/chunker/wasm/tree-sitter-scala.wasm +0 -0
  119. package/packages/chunker/wasm/tree-sitter-swift.wasm +0 -0
  120. package/packages/chunker/wasm/tree-sitter-typescript.wasm +0 -0
  121. package/packages/chunker/wasm/tree-sitter.wasm +0 -0
  122. package/packages/cli/dist/aikit-init.d.ts +54 -0
  123. package/packages/cli/dist/aikit-init.js +1 -0
  124. package/packages/cli/dist/commands/analyze.d.ts +6 -0
  125. package/packages/cli/dist/commands/analyze.js +2 -0
  126. package/packages/cli/dist/commands/context-cmds.d.ts +6 -0
  127. package/packages/cli/dist/commands/context-cmds.js +1 -0
  128. package/packages/cli/dist/commands/environment.d.ts +6 -0
  129. package/packages/cli/dist/commands/environment.js +1 -0
  130. package/packages/cli/dist/commands/execution.d.ts +6 -0
  131. package/packages/cli/dist/commands/execution.js +1 -0
  132. package/packages/cli/dist/commands/flow.d.ts +6 -0
  133. package/packages/cli/dist/commands/flow.js +1 -0
  134. package/packages/cli/dist/commands/graph.d.ts +6 -0
  135. package/packages/cli/dist/commands/graph.js +6 -0
  136. package/packages/cli/dist/commands/init/adapters.d.ts +28 -0
  137. package/packages/cli/dist/commands/init/adapters.js +1 -0
  138. package/packages/cli/dist/commands/init/config.d.ts +10 -0
  139. package/packages/cli/dist/commands/init/config.js +3 -0
  140. package/packages/cli/dist/commands/init/constants.d.ts +41 -0
  141. package/packages/cli/dist/commands/init/constants.js +1 -0
  142. package/packages/cli/dist/commands/init/curated.d.ts +7 -0
  143. package/packages/cli/dist/commands/init/curated.js +1 -0
  144. package/packages/cli/dist/commands/init/frontmatter.d.ts +54 -0
  145. package/packages/cli/dist/commands/init/frontmatter.js +2 -0
  146. package/packages/cli/dist/commands/init/index.d.ts +36 -0
  147. package/packages/cli/dist/commands/init/index.js +5 -0
  148. package/packages/cli/dist/commands/init/manifest.d.ts +71 -0
  149. package/packages/cli/dist/commands/init/manifest.js +1 -0
  150. package/packages/cli/dist/commands/init/scaffold.d.ts +46 -0
  151. package/packages/cli/dist/commands/init/scaffold.js +1 -0
  152. package/packages/cli/dist/commands/init/templates.d.ts +9 -0
  153. package/packages/cli/dist/commands/init/templates.js +194 -0
  154. package/packages/cli/dist/commands/init/user.d.ts +61 -0
  155. package/packages/cli/dist/commands/init/user.js +5 -0
  156. package/packages/cli/dist/commands/knowledge.d.ts +6 -0
  157. package/packages/cli/dist/commands/knowledge.js +1 -0
  158. package/packages/cli/dist/commands/search.d.ts +6 -0
  159. package/packages/cli/dist/commands/search.js +1 -0
  160. package/packages/cli/dist/commands/system.d.ts +6 -0
  161. package/packages/cli/dist/commands/system.js +4 -0
  162. package/packages/cli/dist/commands/upgrade.d.ts +6 -0
  163. package/packages/cli/dist/commands/upgrade.js +1 -0
  164. package/packages/cli/dist/commands/workspace.d.ts +6 -0
  165. package/packages/cli/dist/commands/workspace.js +1 -0
  166. package/packages/cli/dist/context.d.ts +7 -0
  167. package/packages/cli/dist/context.js +1 -0
  168. package/packages/cli/dist/helpers.d.ts +55 -0
  169. package/packages/cli/dist/helpers.js +5 -0
  170. package/packages/cli/dist/index.d.ts +10 -0
  171. package/packages/cli/dist/index.js +3 -0
  172. package/packages/cli/dist/types.d.ts +9 -0
  173. package/packages/cli/dist/types.js +1 -0
  174. package/packages/core/dist/constants.d.ts +74 -0
  175. package/packages/core/dist/constants.js +1 -0
  176. package/packages/core/dist/content-detector.d.ts +13 -0
  177. package/packages/core/dist/content-detector.js +1 -0
  178. package/packages/core/dist/errors.d.ts +20 -0
  179. package/packages/core/dist/errors.js +1 -0
  180. package/packages/core/dist/global-registry.d.ts +63 -0
  181. package/packages/core/dist/global-registry.js +1 -0
  182. package/packages/core/dist/index.d.ts +7 -0
  183. package/packages/core/dist/index.js +1 -0
  184. package/packages/core/dist/logger.d.ts +32 -0
  185. package/packages/core/dist/logger.js +1 -0
  186. package/packages/core/dist/types.d.ts +133 -0
  187. package/packages/core/dist/types.js +1 -0
  188. package/packages/dashboard/dist/assets/index-BjA4YODs.js +21 -0
  189. package/packages/dashboard/dist/assets/index-BjA4YODs.js.map +1 -0
  190. package/packages/dashboard/dist/assets/index-CHpVij2M.css +1 -0
  191. package/packages/dashboard/dist/index.html +18 -0
  192. package/packages/elicitation/dist/build.d.ts +14 -0
  193. package/packages/elicitation/dist/build.js +1 -0
  194. package/packages/elicitation/dist/fields.d.ts +32 -0
  195. package/packages/elicitation/dist/fields.js +1 -0
  196. package/packages/elicitation/dist/index.d.ts +5 -0
  197. package/packages/elicitation/dist/index.js +1 -0
  198. package/packages/elicitation/dist/normalize.d.ts +15 -0
  199. package/packages/elicitation/dist/normalize.js +1 -0
  200. package/packages/elicitation/dist/types.d.ts +88 -0
  201. package/packages/elicitation/dist/types.js +1 -0
  202. package/packages/embeddings/dist/embedder.interface.d.ts +26 -0
  203. package/packages/embeddings/dist/embedder.interface.js +1 -0
  204. package/packages/embeddings/dist/index.d.ts +3 -0
  205. package/packages/embeddings/dist/index.js +1 -0
  206. package/packages/embeddings/dist/onnx-embedder.d.ts +22 -0
  207. package/packages/embeddings/dist/onnx-embedder.js +1 -0
  208. package/packages/enterprise-bridge/dist/cache.d.ts +28 -0
  209. package/packages/enterprise-bridge/dist/cache.js +1 -0
  210. package/packages/enterprise-bridge/dist/er-client.d.ts +37 -0
  211. package/packages/enterprise-bridge/dist/er-client.js +1 -0
  212. package/packages/enterprise-bridge/dist/evolution-collector.d.ts +62 -0
  213. package/packages/enterprise-bridge/dist/evolution-collector.js +1 -0
  214. package/packages/enterprise-bridge/dist/index.d.ts +8 -0
  215. package/packages/enterprise-bridge/dist/index.js +1 -0
  216. package/packages/enterprise-bridge/dist/policy-store.d.ts +45 -0
  217. package/packages/enterprise-bridge/dist/policy-store.js +1 -0
  218. package/packages/enterprise-bridge/dist/push-adapter.d.ts +23 -0
  219. package/packages/enterprise-bridge/dist/push-adapter.js +1 -0
  220. package/packages/enterprise-bridge/dist/result-merger.d.ts +14 -0
  221. package/packages/enterprise-bridge/dist/result-merger.js +1 -0
  222. package/packages/enterprise-bridge/dist/types.d.ts +81 -0
  223. package/packages/enterprise-bridge/dist/types.js +1 -0
  224. package/packages/flows/dist/adapters/claude-plugin.d.ts +12 -0
  225. package/packages/flows/dist/adapters/claude-plugin.js +1 -0
  226. package/packages/flows/dist/adapters/copilot.d.ts +10 -0
  227. package/packages/flows/dist/adapters/copilot.js +1 -0
  228. package/packages/flows/dist/adapters/index.d.ts +11 -0
  229. package/packages/flows/dist/adapters/index.js +1 -0
  230. package/packages/flows/dist/adapters/native.d.ts +10 -0
  231. package/packages/flows/dist/adapters/native.js +1 -0
  232. package/packages/flows/dist/builtins.d.ts +16 -0
  233. package/packages/flows/dist/builtins.js +1 -0
  234. package/packages/flows/dist/foundation.d.ts +20 -0
  235. package/packages/flows/dist/foundation.js +11 -0
  236. package/packages/flows/dist/git.d.ts +34 -0
  237. package/packages/flows/dist/git.js +1 -0
  238. package/packages/flows/dist/index.d.ts +12 -0
  239. package/packages/flows/dist/index.js +1 -0
  240. package/packages/flows/dist/loader.d.ts +13 -0
  241. package/packages/flows/dist/loader.js +2 -0
  242. package/packages/flows/dist/registry.d.ts +23 -0
  243. package/packages/flows/dist/registry.js +1 -0
  244. package/packages/flows/dist/state-machine.d.ts +23 -0
  245. package/packages/flows/dist/state-machine.js +1 -0
  246. package/packages/flows/dist/symlinks.d.ts +17 -0
  247. package/packages/flows/dist/symlinks.js +1 -0
  248. package/packages/flows/dist/types.d.ts +112 -0
  249. package/packages/flows/dist/types.js +1 -0
  250. package/packages/indexer/dist/file-hasher.d.ts +13 -0
  251. package/packages/indexer/dist/file-hasher.js +1 -0
  252. package/packages/indexer/dist/filesystem-crawler.d.ts +29 -0
  253. package/packages/indexer/dist/filesystem-crawler.js +1 -0
  254. package/packages/indexer/dist/graph-extractor.d.ts +18 -0
  255. package/packages/indexer/dist/graph-extractor.js +1 -0
  256. package/packages/indexer/dist/hash-cache.d.ts +24 -0
  257. package/packages/indexer/dist/hash-cache.js +1 -0
  258. package/packages/indexer/dist/incremental-indexer.d.ts +56 -0
  259. package/packages/indexer/dist/incremental-indexer.js +1 -0
  260. package/packages/indexer/dist/index.d.ts +6 -0
  261. package/packages/indexer/dist/index.js +1 -0
  262. package/packages/present/dist/index.html +709 -0
  263. package/packages/server/dist/api.d.ts +3 -0
  264. package/packages/server/dist/api.js +1 -0
  265. package/packages/server/dist/auto-gc.d.ts +30 -0
  266. package/packages/server/dist/auto-gc.js +1 -0
  267. package/packages/server/dist/completions.d.ts +14 -0
  268. package/packages/server/dist/completions.js +1 -0
  269. package/packages/server/dist/config.d.ts +14 -0
  270. package/packages/server/dist/config.js +1 -0
  271. package/packages/server/dist/cross-workspace.d.ts +43 -0
  272. package/packages/server/dist/cross-workspace.js +1 -0
  273. package/packages/server/dist/curated-manager.d.ts +92 -0
  274. package/packages/server/dist/curated-manager.js +5 -0
  275. package/packages/server/dist/dashboard-static.d.ts +27 -0
  276. package/packages/server/dist/dashboard-static.js +1 -0
  277. package/packages/server/dist/elicitor.d.ts +18 -0
  278. package/packages/server/dist/elicitor.js +1 -0
  279. package/packages/server/dist/index.d.ts +1 -0
  280. package/packages/server/dist/index.js +1 -0
  281. package/packages/server/dist/mcp-logging.d.ts +11 -0
  282. package/packages/server/dist/mcp-logging.js +1 -0
  283. package/packages/server/dist/output-schemas.d.ts +242 -0
  284. package/packages/server/dist/output-schemas.js +1 -0
  285. package/packages/server/dist/prompts.d.ts +13 -0
  286. package/packages/server/dist/prompts.js +13 -0
  287. package/packages/server/dist/replay-interceptor.d.ts +23 -0
  288. package/packages/server/dist/replay-interceptor.js +1 -0
  289. package/packages/server/dist/resource-links.d.ts +34 -0
  290. package/packages/server/dist/resource-links.js +1 -0
  291. package/packages/server/dist/resources/curated-resources.d.ts +13 -0
  292. package/packages/server/dist/resources/curated-resources.js +2 -0
  293. package/packages/server/dist/resources/resource-notifier.d.ts +45 -0
  294. package/packages/server/dist/resources/resource-notifier.js +1 -0
  295. package/packages/server/dist/resources/resources.d.ts +8 -0
  296. package/packages/server/dist/resources/resources.js +2 -0
  297. package/packages/server/dist/sampling.d.ts +41 -0
  298. package/packages/server/dist/sampling.js +2 -0
  299. package/packages/server/dist/server.d.ts +47 -0
  300. package/packages/server/dist/server.js +3 -0
  301. package/packages/server/dist/structured-content-guard.d.ts +26 -0
  302. package/packages/server/dist/structured-content-guard.js +1 -0
  303. package/packages/server/dist/task-manager.d.ts +40 -0
  304. package/packages/server/dist/task-manager.js +1 -0
  305. package/packages/server/dist/tool-metadata.d.ts +38 -0
  306. package/packages/server/dist/tool-metadata.js +1 -0
  307. package/packages/server/dist/tool-prefix.d.ts +12 -0
  308. package/packages/server/dist/tool-prefix.js +1 -0
  309. package/packages/server/dist/tools/analyze.tools.d.ts +14 -0
  310. package/packages/server/dist/tools/analyze.tools.js +8 -0
  311. package/packages/server/dist/tools/audit.tool.d.ts +8 -0
  312. package/packages/server/dist/tools/audit.tool.js +1 -0
  313. package/packages/server/dist/tools/brainstorm.tool.d.ts +7 -0
  314. package/packages/server/dist/tools/brainstorm.tool.js +9 -0
  315. package/packages/server/dist/tools/bridge.tools.d.ts +34 -0
  316. package/packages/server/dist/tools/bridge.tools.js +15 -0
  317. package/packages/server/dist/tools/context.tools.d.ts +15 -0
  318. package/packages/server/dist/tools/context.tools.js +10 -0
  319. package/packages/server/dist/tools/evolution.tools.d.ts +7 -0
  320. package/packages/server/dist/tools/evolution.tools.js +5 -0
  321. package/packages/server/dist/tools/execution.tools.d.ts +14 -0
  322. package/packages/server/dist/tools/execution.tools.js +4 -0
  323. package/packages/server/dist/tools/flow.tools.d.ts +7 -0
  324. package/packages/server/dist/tools/flow.tools.js +1 -0
  325. package/packages/server/dist/tools/forge.tools.d.ts +13 -0
  326. package/packages/server/dist/tools/forge.tools.js +10 -0
  327. package/packages/server/dist/tools/forget.tool.d.ts +8 -0
  328. package/packages/server/dist/tools/forget.tool.js +1 -0
  329. package/packages/server/dist/tools/graph.tool.d.ts +7 -0
  330. package/packages/server/dist/tools/graph.tool.js +5 -0
  331. package/packages/server/dist/tools/infra.tools.d.ts +10 -0
  332. package/packages/server/dist/tools/infra.tools.js +5 -0
  333. package/packages/server/dist/tools/list.tool.d.ts +7 -0
  334. package/packages/server/dist/tools/list.tool.js +2 -0
  335. package/packages/server/dist/tools/lookup.tool.d.ts +7 -0
  336. package/packages/server/dist/tools/lookup.tool.js +3 -0
  337. package/packages/server/dist/tools/manipulation.tools.d.ts +10 -0
  338. package/packages/server/dist/tools/manipulation.tools.js +4 -0
  339. package/packages/server/dist/tools/onboard.tool.d.ts +9 -0
  340. package/packages/server/dist/tools/onboard.tool.js +2 -0
  341. package/packages/server/dist/tools/persistence.tools.d.ts +10 -0
  342. package/packages/server/dist/tools/persistence.tools.js +5 -0
  343. package/packages/server/dist/tools/policy.tools.d.ts +7 -0
  344. package/packages/server/dist/tools/policy.tools.js +3 -0
  345. package/packages/server/dist/tools/present/browser.d.ts +4 -0
  346. package/packages/server/dist/tools/present/browser.js +93 -0
  347. package/packages/server/dist/tools/present/helpers.d.ts +18 -0
  348. package/packages/server/dist/tools/present/helpers.js +1 -0
  349. package/packages/server/dist/tools/present/html.d.ts +18 -0
  350. package/packages/server/dist/tools/present/html.js +5 -0
  351. package/packages/server/dist/tools/present/index.d.ts +2 -0
  352. package/packages/server/dist/tools/present/index.js +1 -0
  353. package/packages/server/dist/tools/present/markdown.d.ts +17 -0
  354. package/packages/server/dist/tools/present/markdown.js +8 -0
  355. package/packages/server/dist/tools/present/templates.d.ts +14 -0
  356. package/packages/server/dist/tools/present/templates.js +472 -0
  357. package/packages/server/dist/tools/present/tool.d.ts +27 -0
  358. package/packages/server/dist/tools/present/tool.js +19 -0
  359. package/packages/server/dist/tools/present-blocks.d.ts +46 -0
  360. package/packages/server/dist/tools/present-blocks.js +27 -0
  361. package/packages/server/dist/tools/present-charts.d.ts +31 -0
  362. package/packages/server/dist/tools/present-charts.js +34 -0
  363. package/packages/server/dist/tools/present-theme.d.ts +14 -0
  364. package/packages/server/dist/tools/present-theme.js +395 -0
  365. package/packages/server/dist/tools/present-utils.d.ts +11 -0
  366. package/packages/server/dist/tools/present-utils.js +1 -0
  367. package/packages/server/dist/tools/present.tool.d.ts +2 -0
  368. package/packages/server/dist/tools/present.tool.js +1 -0
  369. package/packages/server/dist/tools/produce.tool.d.ts +7 -0
  370. package/packages/server/dist/tools/produce.tool.js +4 -0
  371. package/packages/server/dist/tools/read.tool.d.ts +7 -0
  372. package/packages/server/dist/tools/read.tool.js +2 -0
  373. package/packages/server/dist/tools/reindex.tool.d.ts +11 -0
  374. package/packages/server/dist/tools/reindex.tool.js +3 -0
  375. package/packages/server/dist/tools/remember.tool.d.ts +9 -0
  376. package/packages/server/dist/tools/remember.tool.js +4 -0
  377. package/packages/server/dist/tools/replay.tool.d.ts +6 -0
  378. package/packages/server/dist/tools/replay.tool.js +3 -0
  379. package/packages/server/dist/tools/restore.tool.d.ts +6 -0
  380. package/packages/server/dist/tools/restore.tool.js +3 -0
  381. package/packages/server/dist/tools/search.tool.d.ts +11 -0
  382. package/packages/server/dist/tools/search.tool.js +10 -0
  383. package/packages/server/dist/tools/status.tool.d.ts +20 -0
  384. package/packages/server/dist/tools/status.tool.js +3 -0
  385. package/packages/server/dist/tools/update.tool.d.ts +8 -0
  386. package/packages/server/dist/tools/update.tool.js +1 -0
  387. package/packages/server/dist/tools/utility.tools.d.ts +15 -0
  388. package/packages/server/dist/tools/utility.tools.js +13 -0
  389. package/packages/server/dist/version-check.d.ts +32 -0
  390. package/packages/server/dist/version-check.js +1 -0
  391. package/packages/store/dist/graph-store.interface.d.ts +118 -0
  392. package/packages/store/dist/graph-store.interface.js +1 -0
  393. package/packages/store/dist/index.d.ts +6 -0
  394. package/packages/store/dist/index.js +1 -0
  395. package/packages/store/dist/lance-store.d.ts +44 -0
  396. package/packages/store/dist/lance-store.js +1 -0
  397. package/packages/store/dist/sqlite-graph-store.d.ts +45 -0
  398. package/packages/store/dist/sqlite-graph-store.js +58 -0
  399. package/packages/store/dist/store-factory.d.ts +12 -0
  400. package/packages/store/dist/store-factory.js +1 -0
  401. package/packages/store/dist/store.interface.d.ts +54 -0
  402. package/packages/store/dist/store.interface.js +1 -0
  403. package/packages/tools/dist/audit.d.ts +65 -0
  404. package/packages/tools/dist/audit.js +6 -0
  405. package/packages/tools/dist/batch.d.ts +23 -0
  406. package/packages/tools/dist/batch.js +1 -0
  407. package/packages/tools/dist/changelog.d.ts +36 -0
  408. package/packages/tools/dist/changelog.js +2 -0
  409. package/packages/tools/dist/check.d.ts +48 -0
  410. package/packages/tools/dist/check.js +2 -0
  411. package/packages/tools/dist/checkpoint.d.ts +19 -0
  412. package/packages/tools/dist/checkpoint.js +1 -0
  413. package/packages/tools/dist/codemod.d.ts +39 -0
  414. package/packages/tools/dist/codemod.js +2 -0
  415. package/packages/tools/dist/compact.d.ts +41 -0
  416. package/packages/tools/dist/compact.js +3 -0
  417. package/packages/tools/dist/config-extractor.d.ts +9 -0
  418. package/packages/tools/dist/config-extractor.js +7 -0
  419. package/packages/tools/dist/data-transform.d.ts +12 -0
  420. package/packages/tools/dist/data-transform.js +1 -0
  421. package/packages/tools/dist/dead-symbols.d.ts +28 -0
  422. package/packages/tools/dist/dead-symbols.js +2 -0
  423. package/packages/tools/dist/delegate.d.ts +36 -0
  424. package/packages/tools/dist/delegate.js +1 -0
  425. package/packages/tools/dist/diagram-builder.d.ts +9 -0
  426. package/packages/tools/dist/diagram-builder.js +9 -0
  427. package/packages/tools/dist/diff-parse.d.ts +28 -0
  428. package/packages/tools/dist/diff-parse.js +3 -0
  429. package/packages/tools/dist/digest.d.ts +50 -0
  430. package/packages/tools/dist/digest.js +6 -0
  431. package/packages/tools/dist/dogfood-log.d.ts +49 -0
  432. package/packages/tools/dist/dogfood-log.js +2 -0
  433. package/packages/tools/dist/encode.d.ts +16 -0
  434. package/packages/tools/dist/encode.js +1 -0
  435. package/packages/tools/dist/env-info.d.ts +30 -0
  436. package/packages/tools/dist/env-info.js +1 -0
  437. package/packages/tools/dist/eval.d.ts +15 -0
  438. package/packages/tools/dist/eval.js +2 -0
  439. package/packages/tools/dist/evidence-map.d.ts +92 -0
  440. package/packages/tools/dist/evidence-map.js +2 -0
  441. package/packages/tools/dist/file-cache.d.ts +41 -0
  442. package/packages/tools/dist/file-cache.js +3 -0
  443. package/packages/tools/dist/file-summary.d.ts +52 -0
  444. package/packages/tools/dist/file-summary.js +2 -0
  445. package/packages/tools/dist/file-walk.d.ts +6 -0
  446. package/packages/tools/dist/file-walk.js +1 -0
  447. package/packages/tools/dist/find-examples.d.ts +29 -0
  448. package/packages/tools/dist/find-examples.js +3 -0
  449. package/packages/tools/dist/find.d.ts +49 -0
  450. package/packages/tools/dist/find.js +1 -0
  451. package/packages/tools/dist/forge-classify.d.ts +44 -0
  452. package/packages/tools/dist/forge-classify.js +2 -0
  453. package/packages/tools/dist/forge-ground.d.ts +61 -0
  454. package/packages/tools/dist/forge-ground.js +1 -0
  455. package/packages/tools/dist/git-context.d.ts +25 -0
  456. package/packages/tools/dist/git-context.js +3 -0
  457. package/packages/tools/dist/graph-query.d.ts +86 -0
  458. package/packages/tools/dist/graph-query.js +1 -0
  459. package/packages/tools/dist/guide.d.ts +25 -0
  460. package/packages/tools/dist/guide.js +1 -0
  461. package/packages/tools/dist/health.d.ts +16 -0
  462. package/packages/tools/dist/health.js +2 -0
  463. package/packages/tools/dist/http-request.d.ts +25 -0
  464. package/packages/tools/dist/http-request.js +1 -0
  465. package/packages/tools/dist/index.d.ts +57 -0
  466. package/packages/tools/dist/index.js +1 -0
  467. package/packages/tools/dist/lane.d.ts +41 -0
  468. package/packages/tools/dist/lane.js +6 -0
  469. package/packages/tools/dist/measure.d.ts +42 -0
  470. package/packages/tools/dist/measure.js +2 -0
  471. package/packages/tools/dist/onboard-utils.d.ts +12 -0
  472. package/packages/tools/dist/onboard-utils.js +1 -0
  473. package/packages/tools/dist/onboard.d.ts +50 -0
  474. package/packages/tools/dist/onboard.js +18 -0
  475. package/packages/tools/dist/parse-output.d.ts +82 -0
  476. package/packages/tools/dist/parse-output.js +2 -0
  477. package/packages/tools/dist/path-resolver.d.ts +14 -0
  478. package/packages/tools/dist/path-resolver.js +1 -0
  479. package/packages/tools/dist/process-manager.d.ts +20 -0
  480. package/packages/tools/dist/process-manager.js +1 -0
  481. package/packages/tools/dist/queue.d.ts +40 -0
  482. package/packages/tools/dist/queue.js +1 -0
  483. package/packages/tools/dist/regex-test.d.ts +33 -0
  484. package/packages/tools/dist/regex-test.js +1 -0
  485. package/packages/tools/dist/regex-utils.d.ts +8 -0
  486. package/packages/tools/dist/regex-utils.js +1 -0
  487. package/packages/tools/dist/rename.d.ts +31 -0
  488. package/packages/tools/dist/rename.js +2 -0
  489. package/packages/tools/dist/replay.d.ts +59 -0
  490. package/packages/tools/dist/replay.js +4 -0
  491. package/packages/tools/dist/response-envelope.d.ts +43 -0
  492. package/packages/tools/dist/response-envelope.js +1 -0
  493. package/packages/tools/dist/restore-points.d.ts +22 -0
  494. package/packages/tools/dist/restore-points.js +1 -0
  495. package/packages/tools/dist/schema-validate.d.ts +25 -0
  496. package/packages/tools/dist/schema-validate.js +1 -0
  497. package/packages/tools/dist/scope-map.d.ts +51 -0
  498. package/packages/tools/dist/scope-map.js +1 -0
  499. package/packages/tools/dist/snippet.d.ts +35 -0
  500. package/packages/tools/dist/snippet.js +1 -0
  501. package/packages/tools/dist/stash.d.ts +14 -0
  502. package/packages/tools/dist/stash.js +1 -0
  503. package/packages/tools/dist/stratum-card.d.ts +30 -0
  504. package/packages/tools/dist/stratum-card.js +4 -0
  505. package/packages/tools/dist/symbol.d.ts +45 -0
  506. package/packages/tools/dist/symbol.js +3 -0
  507. package/packages/tools/dist/synthesis-engine.d.ts +13 -0
  508. package/packages/tools/dist/synthesis-engine.js +6 -0
  509. package/packages/tools/dist/test-run.d.ts +28 -0
  510. package/packages/tools/dist/test-run.js +2 -0
  511. package/packages/tools/dist/text-utils.d.ts +24 -0
  512. package/packages/tools/dist/text-utils.js +2 -0
  513. package/packages/tools/dist/time-utils.d.ts +20 -0
  514. package/packages/tools/dist/time-utils.js +1 -0
  515. package/packages/tools/dist/trace.d.ts +29 -0
  516. package/packages/tools/dist/trace.js +2 -0
  517. package/packages/tools/dist/truncation.d.ts +33 -0
  518. package/packages/tools/dist/truncation.js +7 -0
  519. package/packages/tools/dist/watch.d.ts +32 -0
  520. package/packages/tools/dist/watch.js +1 -0
  521. package/packages/tools/dist/web-fetch.d.ts +47 -0
  522. package/packages/tools/dist/web-fetch.js +8 -0
  523. package/packages/tools/dist/web-search.d.ts +25 -0
  524. package/packages/tools/dist/web-search.js +1 -0
  525. package/packages/tools/dist/workset.d.ts +47 -0
  526. package/packages/tools/dist/workset.js +1 -0
  527. package/packages/tui/dist/App-DU2KEylW.js +2 -0
  528. package/packages/tui/dist/App.d.ts +13 -0
  529. package/packages/tui/dist/App.js +2 -0
  530. package/packages/tui/dist/CuratedPanel-BIamXLNy.js +2 -0
  531. package/packages/tui/dist/LogPanel-Bo8a8QXB.js +3 -0
  532. package/packages/tui/dist/SearchPanel-CpJGczAc.js +2 -0
  533. package/packages/tui/dist/StatusPanel-BAbUxyqQ.js +2 -0
  534. package/packages/tui/dist/chunk-D6axbAb-.js +2 -0
  535. package/packages/tui/dist/devtools-DMOZMn70.js +7 -0
  536. package/packages/tui/dist/hooks/useKBClient.d.ts +9 -0
  537. package/packages/tui/dist/hooks/useKBClient.js +2 -0
  538. package/packages/tui/dist/hooks/usePolling.d.ts +8 -0
  539. package/packages/tui/dist/hooks/usePolling.js +2 -0
  540. package/packages/tui/dist/index-BXafekwr.d.ts +64 -0
  541. package/packages/tui/dist/index.d.ts +7 -0
  542. package/packages/tui/dist/index.js +2 -0
  543. package/packages/tui/dist/jsx-runtime-y6Gdq5PZ.js +294 -0
  544. package/packages/tui/dist/panels/CuratedPanel.d.ts +7 -0
  545. package/packages/tui/dist/panels/CuratedPanel.js +2 -0
  546. package/packages/tui/dist/panels/LogPanel.d.ts +7 -0
  547. package/packages/tui/dist/panels/LogPanel.js +2 -0
  548. package/packages/tui/dist/panels/SearchPanel.d.ts +7 -0
  549. package/packages/tui/dist/panels/SearchPanel.js +2 -0
  550. package/packages/tui/dist/panels/StatusPanel.d.ts +7 -0
  551. package/packages/tui/dist/panels/StatusPanel.js +2 -0
  552. package/packages/tui/dist/react-D__J1GQe.js +24 -0
  553. package/packages/tui/dist/useKBClient-C35iA4uG.js +2 -0
  554. package/packages/tui/dist/usePolling-BbjnRWgx.js +2 -0
  555. package/scaffold/README.md +192 -0
  556. package/scaffold/adapters/claude-code.mjs +56 -0
  557. package/scaffold/adapters/copilot.mjs +270 -0
  558. package/scaffold/definitions/agents.mjs +189 -0
  559. package/scaffold/definitions/bodies.mjs +487 -0
  560. package/scaffold/definitions/hooks.mjs +43 -0
  561. package/scaffold/definitions/models.mjs +56 -0
  562. package/scaffold/definitions/plugins.mjs +38 -0
  563. package/scaffold/definitions/prompts.mjs +145 -0
  564. package/scaffold/definitions/protocols.mjs +679 -0
  565. package/scaffold/definitions/tools.mjs +229 -0
  566. package/scaffold/flows/aikit-advanced/flow.json +60 -0
  567. package/scaffold/flows/aikit-advanced/skills/execute/SKILL.md +124 -0
  568. package/scaffold/flows/aikit-advanced/skills/plan/SKILL.md +100 -0
  569. package/scaffold/flows/aikit-advanced/skills/spec/SKILL.md +100 -0
  570. package/scaffold/flows/aikit-advanced/skills/task/SKILL.md +99 -0
  571. package/scaffold/flows/aikit-advanced/skills/verify/SKILL.md +122 -0
  572. package/scaffold/flows/aikit-basic/flow.json +36 -0
  573. package/scaffold/flows/aikit-basic/skills/assess/SKILL.md +82 -0
  574. package/scaffold/flows/aikit-basic/skills/implement/SKILL.md +105 -0
  575. package/scaffold/flows/aikit-basic/skills/verify/SKILL.md +96 -0
  576. package/scaffold/general/agents/Architect-Reviewer-Alpha.agent.md +21 -0
  577. package/scaffold/general/agents/Architect-Reviewer-Beta.agent.md +21 -0
  578. package/scaffold/general/agents/Code-Reviewer-Alpha.agent.md +12 -0
  579. package/scaffold/general/agents/Code-Reviewer-Beta.agent.md +12 -0
  580. package/scaffold/general/agents/Debugger.agent.md +34 -0
  581. package/scaffold/general/agents/Documenter.agent.md +53 -0
  582. package/scaffold/general/agents/Explorer.agent.md +63 -0
  583. package/scaffold/general/agents/Frontend.agent.md +29 -0
  584. package/scaffold/general/agents/Implementer.agent.md +33 -0
  585. package/scaffold/general/agents/Orchestrator.agent.md +149 -0
  586. package/scaffold/general/agents/Planner.agent.md +79 -0
  587. package/scaffold/general/agents/README.md +57 -0
  588. package/scaffold/general/agents/Refactor.agent.md +36 -0
  589. package/scaffold/general/agents/Researcher-Alpha.agent.md +20 -0
  590. package/scaffold/general/agents/Researcher-Beta.agent.md +20 -0
  591. package/scaffold/general/agents/Researcher-Delta.agent.md +20 -0
  592. package/scaffold/general/agents/Researcher-Gamma.agent.md +20 -0
  593. package/scaffold/general/agents/Security.agent.md +55 -0
  594. package/scaffold/general/agents/_shared/architect-reviewer-base.md +60 -0
  595. package/scaffold/general/agents/_shared/code-agent-base.md +262 -0
  596. package/scaffold/general/agents/_shared/code-reviewer-base.md +64 -0
  597. package/scaffold/general/agents/_shared/decision-protocol.md +27 -0
  598. package/scaffold/general/agents/_shared/forge-protocol.md +90 -0
  599. package/scaffold/general/agents/_shared/researcher-base.md +101 -0
  600. package/scaffold/general/agents/templates/adr-template.md +28 -0
  601. package/scaffold/general/agents/templates/execution-state.md +26 -0
  602. package/scaffold/general/prompts/ask.prompt.md +21 -0
  603. package/scaffold/general/prompts/debug.prompt.md +25 -0
  604. package/scaffold/general/prompts/design.prompt.md +23 -0
  605. package/scaffold/general/prompts/implement.prompt.md +26 -0
  606. package/scaffold/general/prompts/plan.prompt.md +25 -0
  607. package/scaffold/general/prompts/review.prompt.md +32 -0
  608. package/scaffold/general/skills/adr-skill/SKILL.md +329 -0
  609. package/scaffold/general/skills/adr-skill/assets/templates/adr-madr.md +89 -0
  610. package/scaffold/general/skills/adr-skill/assets/templates/adr-readme.md +20 -0
  611. package/scaffold/general/skills/adr-skill/assets/templates/adr-simple.md +46 -0
  612. package/scaffold/general/skills/adr-skill/references/adr-conventions.md +95 -0
  613. package/scaffold/general/skills/adr-skill/references/examples.md +193 -0
  614. package/scaffold/general/skills/adr-skill/references/review-checklist.md +77 -0
  615. package/scaffold/general/skills/adr-skill/references/template-variants.md +52 -0
  616. package/scaffold/general/skills/adr-skill/scripts/bootstrap_adr.js +259 -0
  617. package/scaffold/general/skills/adr-skill/scripts/new_adr.js +391 -0
  618. package/scaffold/general/skills/adr-skill/scripts/set_adr_status.js +169 -0
  619. package/scaffold/general/skills/aikit/SKILL.md +521 -0
  620. package/scaffold/general/skills/brainstorming/SKILL.md +259 -0
  621. package/scaffold/general/skills/brainstorming/scripts/frame-template.html +365 -0
  622. package/scaffold/general/skills/brainstorming/scripts/helper.js +216 -0
  623. package/scaffold/general/skills/brainstorming/scripts/server.cjs +9 -0
  624. package/scaffold/general/skills/brainstorming/scripts/server.src.cjs +249 -0
  625. package/scaffold/general/skills/brainstorming/spec-document-reviewer-prompt.md +49 -0
  626. package/scaffold/general/skills/brainstorming/visual-companion.md +430 -0
  627. package/scaffold/general/skills/c4-architecture/SKILL.md +295 -0
  628. package/scaffold/general/skills/c4-architecture/references/advanced-patterns.md +552 -0
  629. package/scaffold/general/skills/c4-architecture/references/c4-syntax.md +492 -0
  630. package/scaffold/general/skills/c4-architecture/references/common-mistakes.md +437 -0
  631. package/scaffold/general/skills/lesson-learned/SKILL.md +105 -0
  632. package/scaffold/general/skills/lesson-learned/references/anti-patterns.md +55 -0
  633. package/scaffold/general/skills/lesson-learned/references/se-principles.md +109 -0
  634. package/scaffold/general/skills/multi-agents-development/SKILL.md +435 -0
  635. package/scaffold/general/skills/multi-agents-development/architecture-review-prompt.md +81 -0
  636. package/scaffold/general/skills/multi-agents-development/code-quality-review-prompt.md +91 -0
  637. package/scaffold/general/skills/multi-agents-development/implementer-prompt.md +93 -0
  638. package/scaffold/general/skills/multi-agents-development/parallel-dispatch-example.md +167 -0
  639. package/scaffold/general/skills/multi-agents-development/spec-review-prompt.md +81 -0
  640. package/scaffold/general/skills/present/SKILL.md +424 -0
  641. package/scaffold/general/skills/requirements-clarity/SKILL.md +324 -0
  642. package/scaffold/general/skills/session-handoff/SKILL.md +189 -0
  643. package/scaffold/general/skills/session-handoff/references/handoff-template.md +139 -0
  644. package/scaffold/general/skills/session-handoff/references/resume-checklist.md +80 -0
  645. package/scaffold/general/skills/session-handoff/scripts/check_staleness.js +269 -0
  646. package/scaffold/general/skills/session-handoff/scripts/create_handoff.js +299 -0
  647. package/scaffold/general/skills/session-handoff/scripts/list_handoffs.js +113 -0
  648. package/scaffold/general/skills/session-handoff/scripts/validate_handoff.js +241 -0
  649. package/scaffold/generate.mjs +82 -0
@@ -0,0 +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:`aikit 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: aikit 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: aikit 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: aikit 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: aikit 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:`aikit 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: aikit 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: aikit 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};
@@ -0,0 +1,6 @@
1
+ import { Command } from "../types.js";
2
+
3
+ //#region packages/cli/src/commands/execution.d.ts
4
+ declare const executionCommands: Command[];
5
+ //#endregion
6
+ export { executionCommands };
@@ -0,0 +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:`aikit 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: aikit 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:`aikit 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:`aikit 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: aikit 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:`aikit 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: aikit 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 | aikit transform <expression>`,run:async e=>{let t=e.join(` `).trim(),n=await i();(!t||!n.trim())&&(console.error(`Usage: cat data.json | aikit transform <expression>`),process.exit(1));let r=l({input:n,expression:t});console.log(r.outputString)}}];export{p as executionCommands};
@@ -0,0 +1,6 @@
1
+ import { Command } from "../types.js";
2
+
3
+ //#region packages/cli/src/commands/flow.d.ts
4
+ declare const flowCommands: Command[];
5
+ //#endregion
6
+ export { flowCommands };
@@ -0,0 +1 @@
1
+ import{existsSync as e,mkdirSync as t}from"node:fs";import{basename as n,join as r,resolve as i}from"node:path";const a=r(`.aikit-state`,`flows`),o=r(a,`registry.json`),s=r(a,`state.json`);async function c(){let n=await import(`../../../flows/dist/index.js`),{FlowLoader:i,FlowRegistryManager:c,FlowStateMachine:l,GitInstaller:u,FoundationIntegration:d,SymlinkManager:f}=n,p=typeof n.getBuiltinFlows==`function`?n.getBuiltinFlows:void 0,m=process.cwd(),h=r(m,a),g=r(m,o),_=r(m,s);return e(h)||t(h,{recursive:!0}),{loader:new i,registry:new c(g),stateMachine:new l(_),git:new u(r(h,`installed`)),foundation:new d,symlinks:new f,getBuiltinFlows:p,cwd:m}}const l=[{name:`flow`,description:`Manage pluggable development flows`,usage:`flow <add|remove|list|info|use|update|status|start|reset> [args]`,run:async t=>{let a=t[0];if(!a){console.log(`Usage: aikit flow <add|remove|list|info|use|update|status|start|reset>`),console.log(``),console.log(`Commands:`),console.log(` add <source> Install a flow from git URL or local path`),console.log(` remove <name> Remove an installed flow`),console.log(` list List all installed flows`),console.log(` info <name> Show details of a flow`),console.log(` use <name> Set active flow (start it)`),console.log(` update <name> Update a flow from its source`),console.log(` status Show current flow execution status`),console.log(` start [name] Start a flow (or resume)`),console.log(` reset Reset the active flow`);return}let o=await c();switch(a){case`add`:{let a=t[1];if(!a){console.error(`Usage: aikit flow add <source>`),console.error(` source: git URL (https://...) or local path`);return}let s=a.startsWith(`http`)||a.startsWith(`git@`)||a.endsWith(`.git`),c=i(a),l=e(c);if(!s&&!l){console.error(`Source not found: ${a}`),console.error(`Provide a git URL or existing local path.`);return}let u,d;if(s){console.log(`Cloning ${a}...`);let e=o.git.clone(a);if(!e.success||!e.data){console.error(e.error??`Failed to clone flow`);return}u=e.data,d=`git`}else{let e=t[2]||n(c);console.log(`Copying local flow from ${a}...`);let r=o.git.copyLocal(c,e);if(!r.success||!r.data){console.error(r.error??`Failed to copy local flow`);return}u=r.data,d=`local`}let f=await o.loader.load(u);if(!f.success||!f.data){console.error(f.error??`Failed to load flow`),o.git.remove(u);return}let{manifest:p,format:m}=f.data;if(p.install.length>0){console.log(`Installing ${p.install.length} dependencies...`);let e=o.git.runInstallDeps(p.install);if(!e.success){console.error(`Dependency install failed: ${e.error}`),o.git.remove(u);return}}let h=new Date().toISOString(),g=o.registry.register({name:p.name,version:p.version,source:a,sourceType:d,installPath:u,format:m,registeredAt:h,updatedAt:h,manifest:p});if(!g.success){console.error(g.error??`Failed to register flow`),o.git.remove(u);return}o.foundation.injectPreamble(r(o.cwd,`AGENTS.md`),p),o.symlinks.createSymlinks(o.cwd,p.name,u,p),console.log(`✓ Flow "${p.name}" v${p.version} installed (${m} format)`),console.log(` Steps: ${p.steps.map(e=>e.id).join(` → `)}`);break}case`remove`:{let e=t[1];if(!e){console.error(`Usage: aikit flow remove <name>`);return}let n=o.registry.get(e);if(!n){console.error(`Flow "${e}" not found`);return}o.symlinks.removeSymlinks(o.cwd,e),o.foundation.removePreamble(r(o.cwd,`AGENTS.md`));let i=o.git.remove(n.installPath);if(!i.success){console.error(i.error??`Failed to remove flow files`);return}let a=o.registry.unregister(e);if(!a.success){console.error(a.error??`Failed to unregister flow`);return}console.log(`✓ Flow "${e}" removed`);break}case`list`:{let e=o.registry.list();if(e.length===0){console.log("No flows installed. Use `aikit flow add <source>` to install one.");return}console.log(`Installed Flows:`),console.log(`─`.repeat(60));for(let t of e){let e=t.manifest.steps.map(e=>e.id).join(` → `);console.log(` ${t.name} v${t.version} (${t.sourceType}, ${t.format})`),console.log(` Steps: ${e}`)}let t=o.stateMachine.getStatus();t.success&&t.data&&(console.log(``),console.log(`Active: ${t.data.flow} (${t.data.status}, step: ${t.data.currentStep??`done`})`));break}case`info`:{let e=t[1];if(!e){console.error(`Usage: aikit flow info <name>`);return}let n=o.registry.get(e);if(!n){console.error(`Flow "${e}" not found`);return}console.log(`Flow: ${n.name}`),console.log(`Version: ${n.version}`),console.log(`Source: ${n.source} (${n.sourceType})`),console.log(`Format: ${n.format}`),console.log(`Path: ${n.installPath}`),console.log(`Registered: ${n.registeredAt}`),console.log(`Updated: ${n.updatedAt}`),console.log(``),console.log(`Steps:`);for(let e of n.manifest.steps){let t=e.requires.length?` (requires: ${e.requires.join(`, `)})`:``;console.log(` ${e.id}: ${e.name}${t}`),console.log(` Skill: ${e.skill}`),console.log(` Produces: ${e.produces.join(`, `)}`)}if(n.manifest.install.length>0){console.log(``),console.log(`Dependencies:`);for(let e of n.manifest.install)console.log(` ${e}`)}break}case`use`:case`start`:{let e=t[1],n=e?o.registry.get(e):null;if(a===`use`&&!e){console.error(`Usage: aikit flow use <name>`);return}if(a===`start`&&!e){let e=o.stateMachine.getStatus();if(e.success&&e.data&&e.data.status===`active`){console.log(`Resuming flow: ${e.data.flow}`),console.log(`Current step: ${e.data.currentStep}`),console.log(`Completed: ${e.data.completedSteps.join(`, `)||`none`}`);return}console.error("No active flow. Use `aikit flow start <name>` to begin one.");return}if(!n){console.error(`Flow "${e}" not found. Use \`aikit flow list\` to see installed flows.`);return}let r=o.stateMachine.start(n.name,n.manifest);if(!r.success||!r.data){console.error(r.error??`Failed to start flow`);return}let i=r.data;console.log(`✓ Flow "${n.name}" started`),console.log(` Current step: ${i.currentStep}`),console.log(` Steps: ${n.manifest.steps.map(e=>e.id).join(` → `)}`);break}case`update`:{let e=t[1];if(!e){console.error(`Usage: aikit flow update <name>`);return}let n=o.registry.get(e);if(!n){console.error(`Flow "${e}" not found`);return}if(n.sourceType!==`git`){console.error(`Flow "${e}" is ${n.sourceType}, not updatable via git`);return}console.log(`Updating ${e}...`);let r=o.git.update(n.installPath);if(!r.success){console.error(r.error??`Failed to update flow`);return}let i=await o.loader.load(n.installPath);if(i.success&&i.data){let e=new Date().toISOString(),t=o.registry.register({...n,version:i.data.manifest.version,format:i.data.format,manifest:i.data.manifest,updatedAt:e});if(!t.success){console.error(t.error??`Failed to refresh flow registry entry`);return}}console.log(`✓ Flow "${e}" updated`);break}case`status`:{let e=o.stateMachine.getStatus();if(!e.success||!e.data){console.log(`No active flow.`);return}let t=e.data;if(console.log(`Flow: ${t.flow}`),console.log(`Status: ${t.status}`),console.log(`Current Step: ${t.currentStep??`(completed)`}`),console.log(`Completed: ${t.completedSteps.join(`, `)||`none`}`),t.skippedSteps.length>0&&console.log(`Skipped: ${t.skippedSteps.join(`, `)}`),console.log(`Started: ${t.startedAt}`),console.log(`Updated: ${t.updatedAt}`),Object.keys(t.artifacts).length>0){console.log(`Artifacts:`);for(let[e,n]of Object.entries(t.artifacts))console.log(` ${e}: ${n}`)}break}case`reset`:{let e=o.stateMachine.reset();if(!e.success){console.error(e.error??`Failed to reset flow state`);return}console.log(`✓ Flow state reset`);break}default:console.error(`Unknown flow command: ${a}`),console.log("Use `aikit flow` for help.")}}}];export{l as flowCommands};
@@ -0,0 +1,6 @@
1
+ import { Command } from "../types.js";
2
+
3
+ //#region packages/cli/src/commands/graph.d.ts
4
+ declare const graphCommands: Command[];
5
+ //#endregion
6
+ export { graphCommands };
@@ -0,0 +1,6 @@
1
+ import{ctx as e}from"../context.js";import{extractNumFlag as t,extractStrFlag as n}from"../helpers.js";import{graphQuery as r}from"../../../tools/dist/index.js";const i=[{name:`graph`,description:`Query the knowledge graph`,usage:`aikit graph <action> [options]
2
+ Actions: stats, find-nodes, find-edges, neighbors, traverse, delete, clear
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: aikit graph <action>
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
+ 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};
@@ -0,0 +1,28 @@
1
+ //#region packages/cli/src/commands/init/adapters.d.ts
2
+ /**
3
+ * Init module — IDE adapter types and detection.
4
+ *
5
+ * Each IDE has different conventions for where agent files, MCP config,
6
+ * instructions, and skills live. This module defines the interface and
7
+ * provides auto-detection based on workspace markers.
8
+ */
9
+ type SupportedIde = 'copilot' | 'claude-code' | 'cursor' | 'windsurf';
10
+ interface IdeAdapter {
11
+ /** Create the MCP server config file for this IDE. */
12
+ writeMcpConfig(cwd: string, serverName: string): void;
13
+ /** Create the main instructions file (copilot-instructions.md, CLAUDE.md). */
14
+ writeInstructions(cwd: string, serverName: string): void;
15
+ /** Create the AGENTS.md summary file. */
16
+ writeAgentsMd(cwd: string, serverName: string): void;
17
+ /** The scaffold subdirectory name to copy from. */
18
+ scaffoldDir: string;
19
+ }
20
+ /** Detect IDE from workspace directory markers. */
21
+ declare function detectIde(cwd: string): SupportedIde;
22
+ declare const copilotAdapter: IdeAdapter;
23
+ declare const claudeCodeAdapter: IdeAdapter;
24
+ declare const cursorAdapter: IdeAdapter;
25
+ declare const windsurfAdapter: IdeAdapter;
26
+ declare function getAdapter(ide: SupportedIde): IdeAdapter;
27
+ //#endregion
28
+ export { IdeAdapter, SupportedIde, claudeCodeAdapter, copilotAdapter, cursorAdapter, detectIde, getAdapter, windsurfAdapter };
@@ -0,0 +1 @@
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 r=s(e,`.github`),c=s(r,`copilot-instructions.md`);i(r,{recursive:!0}),a(c,n(o(e),t),`utf-8`),console.log(` Updated .github/copilot-instructions.md`)},writeAgentsMd(e,n){a(s(e,`AGENTS.md`),t(o(e),n),`utf-8`),console.log(` Updated 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,r){let i=s(e,`CLAUDE.md`),c=o(e);a(i,`${n(c,r)}\n---\n\n${t(c,r)}`,`utf-8`),console.log(` Updated 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,r){let c=s(e,`.cursor`,`rules`),l=s(c,`kb.mdc`);i(c,{recursive:!0});let u=o(e);a(l,`${n(u,r)}\n---\n\n${t(u,r)}`,`utf-8`),console.log(` Updated .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,r){let i=s(e,`.windsurfrules`),c=o(e);a(i,`${n(c,r)}\n---\n\n${t(c,r)}`,`utf-8`),console.log(` Updated .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};
@@ -0,0 +1,10 @@
1
+ //#region packages/cli/src/commands/init/config.d.ts
2
+ /**
3
+ * Init module — config file creation.
4
+ * Handles kb.config.json, .gitignore, and MCP config files.
5
+ */
6
+ declare function writeKbConfig(cwd: string, force: boolean): boolean;
7
+ declare function ensureGitignore(cwd: string): void;
8
+ declare function getServerName(): string;
9
+ //#endregion
10
+ export { ensureGitignore, getServerName, writeKbConfig };
@@ -0,0 +1,3 @@
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{AIKIT_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.restorePoints}/`,label:`Restore points (codemod/rename undo snapshots)`},{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,41 @@
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 workspace and user-level init.
6
+ */
7
+ /** The MCP server name used in all IDE configs. */
8
+ declare const SERVER_NAME = "aikit";
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/aikit", "serve"];
14
+ };
15
+ /** Skills shipped with the KB package and installed during init. */
16
+ declare const SKILL_NAMES: readonly ["aikit", "brainstorming", "multi-agents-development", "session-handoff", "requirements-clarity", "lesson-learned", "c4-architecture", "adr-skill", "present"];
17
+ /**
18
+ * VS Code settings merged into each VS Code-family IDE's settings.json.
19
+ *
20
+ * - agentFilesLocations: Disables ~/.claude/agents so agents are only loaded
21
+ * from ~/.copilot/agents (our scaffold root) and workspace .github/agents/.
22
+ * Without this, VS Code discovers both locations causing duplicates with
23
+ * mismatched tool-name formats.
24
+ * - copilotMemory: Enables Copilot Memory so KB `remember` persists across sessions.
25
+ * - customAgentInSubagent: Enables custom agents as subagents — required for
26
+ * Orchestrator's multi-agent `runSubagent` workflow.
27
+ * - useNestedAgentsMdFiles: Agents reference _shared/*.md protocol files —
28
+ * without this, shared protocols are silently ignored.
29
+ * - useAgentSkills: Agents load SKILL.md files on demand (brainstorming,
30
+ * session-handoff, etc.) — without this, skills never activate.
31
+ * - switchAgent: Orchestrator uses the switchAgent tool to hand off to Plan —
32
+ * without this, agent switching is unavailable.
33
+ * - enableChatTools: Enables integrated-browser tools (openBrowserPage,
34
+ * readPage, screenshotPage, etc.) so agents can open and interact with
35
+ * web pages inside VS Code's built-in browser.
36
+ * - mcpApps: Enables MCP tool apps so KB tools can be consumed by Copilot
37
+ * Chat without requiring manual MCP server configuration.
38
+ */
39
+ declare const VSCODE_SETTINGS: Record<string, unknown>;
40
+ //#endregion
41
+ export { MCP_SERVER_ENTRY, SERVER_NAME, SKILL_NAMES, VSCODE_SETTINGS };
@@ -0,0 +1 @@
1
+ const e=`aikit`,t={type:`stdio`,command:`npx`,args:[`-y`,`@vpxa/aikit`,`serve`]},n=[`aikit`,`brainstorming`,`multi-agents-development`,`session-handoff`,`requirements-clarity`,`lesson-learned`,`c4-architecture`,`adr-skill`,`present`],r={"chat.agentFilesLocations":{"~/.claude/agents":!1},"github.copilot.chat.copilotMemory.enabled":!0,"chat.customAgentInSubagent.enabled":!0,"chat.useNestedAgentsMdFiles":!0,"chat.useAgentSkills":!0,"github.copilot.chat.switchAgent.enabled":!0,"workbench.browser.enableChatTools":!0,"chat.mcp.apps.enabled":!0};export{t as MCP_SERVER_ENTRY,e as SERVER_NAME,n as SKILL_NAMES,r as VSCODE_SETTINGS};
@@ -0,0 +1,7 @@
1
+ //#region packages/cli/src/commands/init/curated.d.ts
2
+ /**
3
+ * Init module — curated knowledge directories.
4
+ */
5
+ declare function createCuratedDirs(cwd: string): void;
6
+ //#endregion
7
+ export { createCuratedDirs };
@@ -0,0 +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,`.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,54 @@
1
+ //#region packages/cli/src/commands/init/frontmatter.d.ts
2
+ /**
3
+ * Init module — YAML frontmatter parsing and merging for agent files.
4
+ *
5
+ * Agent `.agent.md` files use YAML frontmatter with fields like `tools`, `model`,
6
+ * `description`, and `argument-hint`. When updating these files, we need to
7
+ * merge new tools while preserving user customizations (model choice, extra tools).
8
+ *
9
+ * This is a lightweight parser — no full YAML dependency. It handles the specific
10
+ * frontmatter format used by Copilot agent files.
11
+ */
12
+ interface ParsedFrontmatter {
13
+ /** Raw key-value pairs from YAML frontmatter. */
14
+ fields: Record<string, string>;
15
+ /** Parsed tools array (from YAML inline array syntax). */
16
+ tools: string[];
17
+ /** Body content after the closing `---`. */
18
+ body: string;
19
+ }
20
+ /**
21
+ * Parse a markdown file with YAML frontmatter.
22
+ *
23
+ * Expects format:
24
+ * ```
25
+ * ---
26
+ * key: value
27
+ * tools: [tool1, tool2]
28
+ * ---
29
+ * body content
30
+ * ```
31
+ */
32
+ declare function parseFrontmatter(content: string): ParsedFrontmatter;
33
+ /**
34
+ * Parse a YAML inline array: `[tool1, tool2, tool3]` → string[]
35
+ */
36
+ declare function parseToolsArray(value: string): string[];
37
+ /**
38
+ * Serialize tools array back to YAML inline syntax.
39
+ */
40
+ declare function serializeToolsArray(tools: string[]): string;
41
+ /**
42
+ * Merge two parsed frontmatter files (source = new upstream, deployed = user's current).
43
+ *
44
+ * Merge rules:
45
+ * - `tools`: UNION of both arrays (add new, keep user-added). Order: source first, then user extras.
46
+ * - `model`: KEEP deployed (user's choice).
47
+ * - `description`, `argument-hint`: TAKE from source (upstream updates).
48
+ * - Body: TAKE from source (structural changes come from upstream).
49
+ *
50
+ * Returns the merged file content as a string.
51
+ */
52
+ declare function mergeFrontmatter(sourceContent: string, deployedContent: string): string;
53
+ //#endregion
54
+ export { ParsedFrontmatter, mergeFrontmatter, parseFrontmatter, parseToolsArray, serializeToolsArray };
@@ -0,0 +1,2 @@
1
+ function e(e){let n={},r=[],i=e,a=e.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?([\s\S]*)$/);if(!a)return{fields:n,tools:r,body:i};let o=a[1];i=a[2];for(let e of o.split(/\r?\n/)){let i=e.match(/^(\S+?):\s*(.*)$/);if(!i)continue;let[,a,o]=i;n[a]=o,a===`tools`&&(r=t(o))}return{fields:n,tools:r,body:i}}function t(e){let t=e.trim();if(!t.startsWith(`[`)||!t.endsWith(`]`))return[];let n=t.slice(1,-1).trim();return n?n.split(`,`).map(e=>e.trim()).filter(Boolean):[]}function n(e){return`[${e.join(`, `)}]`}function r(t,r){let i=e(t),a=e(r),o={...i.fields};a.fields.model&&(o.model=a.fields.model);let s=new Set(i.tools),c=a.tools.filter(e=>!s.has(e));o.tools=n([...i.tools,...c]);let l=[`---`],u=[`description`,`argument-hint`,`tools`,`model`],d=new Set;for(let e of u)e in o&&(l.push(`${e}: ${o[e]}`),d.add(e));for(let[e,t]of Object.entries(o))d.has(e)||l.push(`${e}: ${t}`);return l.push(`---`),`${l.join(`
2
+ `)}\n${i.body}`}export{r as mergeFrontmatter,e as parseFrontmatter,t as parseToolsArray,n as serializeToolsArray};
@@ -0,0 +1,36 @@
1
+ //#region packages/cli/src/commands/init/index.d.ts
2
+ /**
3
+ * `aikit init` — scaffold a knowledge base in the current directory.
4
+ *
5
+ * Creates kb.config.json, .gitignore entry, IDE-specific config,
6
+ * agent instruction files, skills, scaffold agents/prompts,
7
+ * and curated knowledge directories.
8
+ *
9
+ * This is the main orchestrator that wires together the focused modules:
10
+ * config.ts — kb.config.json + .gitignore
11
+ * adapters.ts — IDE detection + adapter interface
12
+ * scaffold.ts — copy scaffold agents/prompts + skills from package
13
+ * curated.ts — curated knowledge directories
14
+ * templates.ts — copilot-instructions.md + AGENTS.md content
15
+ */
16
+ declare function initProject(options: {
17
+ force: boolean;
18
+ }): Promise<void>;
19
+ /**
20
+ * Smart init — scaffold-only if user-level detected, full workspace otherwise.
21
+ */
22
+ declare function initSmart(options: {
23
+ force: boolean;
24
+ }): Promise<void>;
25
+ /**
26
+ * Scaffold-only init for workspaces when user-level mode is active.
27
+ * Creates instruction files, scaffold agents/prompts, and curated dirs
28
+ * but does NOT create kb.config.json, mcp.json, or local skills.
29
+ */
30
+ declare function initScaffoldOnly(options: {
31
+ force: boolean;
32
+ }): Promise<void>;
33
+ /** Generate a JSON guide report comparing installed vs source files. */
34
+ declare function guideProject(): Promise<void>;
35
+ //#endregion
36
+ export { guideProject, initProject, initScaffoldOnly, initSmart };
@@ -0,0 +1,5 @@
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{guideScaffold as s,guideSkills as c,smartCopyScaffold as l,smartCopySkills as u}from"./scaffold.js";import{readFileSync as d}from"node:fs";import{dirname as f,resolve as p}from"node:path";import{fileURLToPath as m}from"node:url";import{isUserInstalled as h}from"../../../../core/dist/index.js";async function g(s){let c=process.cwd();if(!a(c,s.force))return;r(c);let g=i(),_=n(t(c));_.writeMcpConfig(c,g),_.writeInstructions(c,g),_.writeAgentsMd(c,g);let v=p(f(m(import.meta.url)),`..`,`..`,`..`,`..`,`..`),y=JSON.parse(d(p(v,`package.json`),`utf-8`)).version;u(c,v,[...e],y,s.force),l(c,v,_.scaffoldDir,y,s.force),o(c),console.log(`
2
+ Knowledge base initialized! Next steps:`),console.log(` aikit reindex Index your codebase`),console.log(` aikit search Search indexed content`),console.log(` aikit serve Start MCP server for IDE integration`),h()&&console.log(`
3
+ Note: User-level KB is also installed. This workspace uses its own local data store.`)}async function _(e){h()?await v(e):await g(e)}async function v(e){let a=process.cwd(),s=i(),c=n(t(a));c.writeInstructions(a,s),c.writeAgentsMd(a,s);let u=p(f(m(import.meta.url)),`..`,`..`,`..`,`..`,`..`),h=JSON.parse(d(p(u,`package.json`),`utf-8`)).version;l(a,u,c.scaffoldDir,h,e.force),o(a),r(a),console.log(`
4
+ Workspace scaffolded for user-level 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 user-level KB server will auto-index this workspace when opened in your IDE.`)}async function y(){let r=process.cwd(),i=n(t(r)),a=p(f(m(import.meta.url)),`..`,`..`,`..`,`..`,`..`),o=[...c(r,a,[...e]),...s(r,a,i.scaffoldDir)],l={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(l,null,2))}export{y as guideProject,g as initProject,v as initScaffoldOnly,_ as initSmart};
@@ -0,0 +1,71 @@
1
+ //#region packages/cli/src/commands/init/manifest.d.ts
2
+ /**
3
+ * Init module — scaffold manifest for smart updates.
4
+ *
5
+ * Tracks which scaffold files have been deployed and their source hashes,
6
+ * enabling incremental updates that preserve user customizations while
7
+ * applying new features from upstream.
8
+ *
9
+ * Manifest file: `.aikit-scaffold.json` stored alongside the scaffold root
10
+ * (e.g. `~/.copilot/.aikit-scaffold.json` for user-level, `.github/.aikit-scaffold.json` for workspace).
11
+ */
12
+ /**
13
+ * How a file should be updated when the source changes:
14
+ *
15
+ * - `overwrite`: Replace entirely (shared protocols, templates, skills).
16
+ * - `merge-frontmatter`: Merge YAML frontmatter tools (union), keep user model,
17
+ * replace body. Used for agent .md files that users may customize.
18
+ * - `regenerate`: Re-run the template generator (copilot-instructions.md, CLAUDE.md).
19
+ */
20
+ type UpdateStrategy = 'overwrite' | 'merge-frontmatter' | 'regenerate';
21
+ interface ManifestEntry {
22
+ /** SHA-256 hash (16-char hex) of the source content when deployed. */
23
+ sourceHash: string;
24
+ /** Update strategy for this file. */
25
+ strategy: UpdateStrategy;
26
+ /** ISO timestamp of last deployment. */
27
+ updatedAt: string;
28
+ }
29
+ interface ScaffoldManifest {
30
+ /** Package version that generated this manifest. */
31
+ version: string;
32
+ /** ISO timestamp of manifest creation/update. */
33
+ generatedAt: string;
34
+ /** File entries keyed by relative path from scaffold root. */
35
+ files: Record<string, ManifestEntry>;
36
+ }
37
+ /** Compute a 16-char hex SHA-256 hash of content (consistent with file-hasher). */
38
+ declare function hashContent(content: string): string;
39
+ /** Read and parse a manifest file; returns null if missing or invalid. */
40
+ declare function readManifest(manifestPath: string): ScaffoldManifest | null;
41
+ /** Write a manifest to disk. */
42
+ declare function writeManifest(manifestPath: string, manifest: ScaffoldManifest): void;
43
+ /**
44
+ * Determine the update strategy for a file based on its relative path.
45
+ *
46
+ * Strategy rules:
47
+ * - `*.agent.md` (not under `_shared/`) → merge-frontmatter
48
+ * - `_shared/*.md`, `templates/*.md` → overwrite
49
+ * - `*.prompt.md`, `SKILL.md`, `README.md` → overwrite
50
+ * - Everything else → overwrite
51
+ */
52
+ declare function getUpdateStrategy(relativePath: string): UpdateStrategy;
53
+ /**
54
+ * Check whether a deployed file needs updating.
55
+ *
56
+ * Returns:
57
+ * - `'new'`: File not in manifest (first deployment).
58
+ * - `'outdated'`: Source hash changed since last deployment.
59
+ * - `'current'`: Source hash matches — no update needed.
60
+ */
61
+ declare function getFileStatus(manifest: ScaffoldManifest | null, relativePath: string, sourceContent: string): 'new' | 'outdated' | 'current';
62
+ /**
63
+ * Record a file deployment in the manifest.
64
+ */
65
+ declare function recordDeployment(manifest: ScaffoldManifest, relativePath: string, sourceContent: string, strategy?: UpdateStrategy): void;
66
+ /**
67
+ * Create a fresh manifest for a new deployment.
68
+ */
69
+ declare function createManifest(version: string): ScaffoldManifest;
70
+ //#endregion
71
+ export { ManifestEntry, ScaffoldManifest, UpdateStrategy, createManifest, getFileStatus, getUpdateStrategy, hashContent, readManifest, recordDeployment, writeManifest };
@@ -0,0 +1 @@
1
+ import{existsSync as e,readFileSync as t,writeFileSync as n}from"node:fs";import{createHash as r}from"node:crypto";function i(e){return r(`sha256`).update(e).digest(`hex`).slice(0,16)}function a(n){if(!e(n))return null;try{let e=t(n,`utf-8`),r=JSON.parse(e);return!r.version||!r.files?null:r}catch{return null}}function o(e,t){n(e,`${JSON.stringify(t,null,2)}\n`,`utf-8`)}function s(e){return e.endsWith(`.agent.md`)&&!e.startsWith(`_shared/`)&&!e.startsWith(`agents/_shared/`)&&!e.startsWith(`templates/`)?`merge-frontmatter`:`overwrite`}function c(e,t,n){if(!e)return`new`;let r=e.files[t];return r?r.sourceHash===i(n)?`current`:`outdated`:`new`}function l(e,t,n,r){e.files[t]={sourceHash:i(n),strategy:r??s(t),updatedAt:new Date().toISOString()}}function u(e){return{version:e,generatedAt:new Date().toISOString(),files:{}}}export{u as createManifest,c as getFileStatus,s as getUpdateStrategy,i as hashContent,a as readManifest,l as recordDeployment,o as writeManifest};
@@ -0,0 +1,46 @@
1
+ import { ScaffoldManifest } from "./manifest.js";
2
+
3
+ //#region packages/cli/src/commands/init/scaffold.d.ts
4
+ interface GuideFileEntry {
5
+ status: 'new' | 'outdated' | 'current';
6
+ relativePath: string;
7
+ sourcePath: string;
8
+ content?: string;
9
+ }
10
+ /** Recursively copy a directory. When force=false, skip files that already exist. */
11
+ declare function copyDirectoryRecursive(srcDir: string, destDir: string, logPrefix?: string, force?: boolean): void;
12
+ /**
13
+ * Manifest-aware recursive copy with per-file merge strategies.
14
+ *
15
+ * For each file:
16
+ * - `new`: Deploy and record in manifest.
17
+ * - `outdated` + `overwrite` strategy: Replace entirely.
18
+ * - `outdated` + `merge-frontmatter`: Merge tools (union), keep user model, update body.
19
+ * - `current`: Skip (source unchanged).
20
+ * - `force=true`: Always overwrite (resets manifest entry).
21
+ */
22
+ declare function smartCopyDirectory(srcDir: string, destDir: string, manifest: ScaffoldManifest, logPrefix?: string, force?: boolean): void;
23
+ /**
24
+ * Smart-copy scaffold files with manifest tracking.
25
+ * Reads/creates manifest at `<destRoot>/.aikit-scaffold.json`.
26
+ */
27
+ declare function smartCopyScaffold(cwd: string, pkgRoot: string, ide: string, version: string, force?: boolean): void;
28
+ /**
29
+ * Smart-copy skill files with manifest tracking.
30
+ */
31
+ declare function smartCopySkills(cwd: string, pkgRoot: string, skillNames: string[], version: string, force?: boolean): void;
32
+ /**
33
+ * Smart-copy a directory with a standalone manifest (for user-level scaffold).
34
+ * Manifest stored at `<destRoot>/.aikit-scaffold.json`.
35
+ */
36
+ declare function smartCopySubdir(srcDir: string, destRoot: string, subdir: string, version: string, force?: boolean): void;
37
+ /** Copy scaffold files for a given IDE into the workspace .github/ directory. */
38
+ declare function copyScaffold(cwd: string, pkgRoot: string, ide: string, force?: boolean): void;
39
+ /** Copy skill directories from the package into .github/skills/. */
40
+ declare function copySkills(cwd: string, pkgRoot: string, skillNames: string[], force?: boolean): void;
41
+ /** Generate guide report for scaffold files — compare source vs destination. */
42
+ declare function guideScaffold(cwd: string, pkgRoot: string, ide: string): GuideFileEntry[];
43
+ /** Generate guide report for skill files — compare source vs destination. */
44
+ declare function guideSkills(cwd: string, pkgRoot: string, skillNames: string[]): GuideFileEntry[];
45
+ //#endregion
46
+ export { GuideFileEntry, copyDirectoryRecursive, copyScaffold, copySkills, guideScaffold, guideSkills, smartCopyDirectory, smartCopyScaffold, smartCopySkills, smartCopySubdir };
@@ -0,0 +1 @@
1
+ import{mergeFrontmatter as e}from"./frontmatter.js";import{createManifest as t,getFileStatus as n,getUpdateStrategy as r,readManifest as i,recordDeployment as a,writeManifest as o}from"./manifest.js";import{copyFileSync as s,existsSync as c,mkdirSync as l,readFileSync as u,readdirSync as d,statSync as f,writeFileSync as p}from"node:fs";import{dirname as m,resolve as h}from"node:path";function g(e,t,n=``,r=!1){l(t,{recursive:!0});for(let i of d(e)){let a=h(e,i),o=h(t,i),l=n?`${n}/${i}`:i;f(a).isDirectory()?g(a,o,l,r):(r||!c(o))&&s(a,o)}}function _(t,i,o,s=``,g=!1){if(c(t)){l(i,{recursive:!0});for(let v of d(t)){let d=h(t,v),y=h(i,v),b=s?`${s}/${v}`:v;if(f(d).isDirectory()){_(d,y,o,b,g);continue}let x=u(d,`utf-8`);if(g){l(m(y),{recursive:!0}),p(y,x,`utf-8`),a(o,b,x);continue}let S=n(o,b,x);if(S!==`current`){if(S===`new`&&!c(y)){l(m(y),{recursive:!0}),p(y,x,`utf-8`),a(o,b,x);continue}if(S===`new`&&c(y)){a(o,b,x);continue}r(b)===`merge-frontmatter`&&c(y)?p(y,e(x,u(y,`utf-8`)),`utf-8`):(l(m(y),{recursive:!0}),p(y,x,`utf-8`)),a(o,b,x)}}}}function v(e,n,r,a,s=!1){let l=h(n,`scaffold`,r),u=h(e,`.github`),d=h(u,`.aikit-scaffold.json`),f=i(d)??t(a);f.version=a;for(let e of[`agents`,`prompts`]){let t=h(l,e);c(t)&&_(t,h(u,e),f,e,s)}o(d,f)}function y(e,n,r,a,s=!1){let l=h(e,`.github`),u=h(l,`.aikit-scaffold.json`),d=i(u)??t(a);d.version=a;for(let e of r){let t=h(n,`scaffold`,`general`,`skills`,e);c(t)&&_(t,h(l,`skills`,e),d,`skills/${e}`,s)}o(u,d)}function b(e,n,r,a,s=!1){let l=h(e,r);if(!c(l))return;let u=h(n,r),d=h(n,`.aikit-scaffold.json`),f=i(d)??t(a);f.version=a,_(l,u,f,r,s),o(d,f)}function x(e,t,n,r){if(c(e))for(let i of d(e)){let a=h(e,i),o=n?`${n}/${i}`:i;if(f(a).isDirectory())x(a,h(t,i),o,r);else{let e=h(t,i),n=u(a,`utf-8`);c(e)?n===u(e,`utf-8`)?r.push({status:`current`,relativePath:o,sourcePath:a}):r.push({status:`outdated`,relativePath:o,sourcePath:a,content:n}):r.push({status:`new`,relativePath:o,sourcePath:a,content:n})}}}function S(e,t,n,r=!1){let i=h(t,`scaffold`,n);for(let t of[`agents`,`prompts`]){let n=h(i,t),a=h(e,`.github`,t);c(n)&&g(n,a,``,r)}}function C(e,t,n,r=!1){for(let i of n){let n=h(t,`scaffold`,`general`,`skills`,i);c(n)&&g(n,h(e,`.github`,`skills`,i),`skills/${i}`,r)}}function w(e,t,n){let r=[],i=h(t,`scaffold`,n);for(let t of[`agents`,`prompts`])x(h(i,t),h(e,`.github`,t),t,r);return r}function T(e,t,n){let r=[];for(let i of n){let n=h(t,`scaffold`,`general`,`skills`,i);c(n)&&x(n,h(e,`.github`,`skills`,i),`skills/${i}`,r)}return r}export{g as copyDirectoryRecursive,S as copyScaffold,C as copySkills,w as guideScaffold,T as guideSkills,_ as smartCopyDirectory,v as smartCopyScaffold,y as smartCopySkills,b as smartCopySubdir};
@@ -0,0 +1,9 @@
1
+ //#region packages/cli/src/commands/init/templates.d.ts
2
+ /**
3
+ * Init module — instruction and AGENTS.md template builders.
4
+ * Content for copilot-instructions.md and AGENTS.md.
5
+ */
6
+ declare function buildCopilotInstructions(projectName: string, serverName: string): string;
7
+ declare function buildAgentsMd(projectName: string, serverName: string): string;
8
+ //#endregion
9
+ export { buildAgentsMd, buildCopilotInstructions };