kynjal-cli 3.1.4 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) hide show
  1. package/.claude/agents/core/coder.md +1 -1
  2. package/.claude/agents/core/planner.md +2 -2
  3. package/.claude/agents/core/researcher.md +1 -1
  4. package/.claude/agents/core/reviewer.md +1 -1
  5. package/.claude/agents/core/tester.md +1 -1
  6. package/.claude/agents/data/data-ml-model.md +4 -4
  7. package/.claude/agents/development/dev-backend-api.md +4 -4
  8. package/.claude/agents/documentation/docs-api-openapi.md +4 -4
  9. package/.claude/agents/github/code-review-swarm.md +2 -2
  10. package/.claude/agents/github/issue-tracker.md +2 -2
  11. package/.claude/agents/github/pr-manager.md +2 -2
  12. package/.claude/agents/github/release-manager.md +2 -2
  13. package/.claude/agents/github/workflow-automation.md +2 -2
  14. package/.claude/agents/sparc/architecture.md +3 -3
  15. package/.claude/agents/sparc/pseudocode.md +2 -2
  16. package/.claude/agents/sparc/refinement.md +3 -3
  17. package/.claude/agents/sparc/specification.md +2 -2
  18. package/.claude/agents/swarm/adaptive-coordinator.md +1 -1
  19. package/.claude/agents/swarm/hierarchical-coordinator.md +1 -1
  20. package/.claude/agents/swarm/mesh-coordinator.md +1 -1
  21. package/.claude/agents/templates/base-template-generator.md +25 -4
  22. package/.claude/agents/templates/sparc-coordinator.md +3 -3
  23. package/.claude/helpers/auto-commit.sh +1 -1
  24. package/.claude/helpers/auto-memory-hook.mjs +27 -9
  25. package/.claude/helpers/hook-handler.cjs +58 -18
  26. package/.claude/helpers/statusline.cjs +420 -613
  27. package/.claude/helpers/statusline.js +3 -3
  28. package/.claude/settings.json +9 -9
  29. package/.claude/skills/reasoningbank-intelligence/SKILL.md +2 -2
  30. package/.claude/skills/swarm-orchestration/SKILL.md +1 -1
  31. package/README.md +383 -170
  32. package/bin/cli.js +6 -6
  33. package/bin/mcp-server.js +1 -1
  34. package/bin/preinstall.cjs +2 -0
  35. package/dist/src/appliance/gguf-engine.js +664 -0
  36. package/dist/src/appliance/gguf-engine.js.map +1 -0
  37. package/dist/src/appliance/ruvllm-bridge.js +492 -0
  38. package/dist/src/appliance/ruvllm-bridge.js.map +1 -0
  39. package/dist/src/appliance/rvfa-builder.js +383 -0
  40. package/dist/src/appliance/rvfa-builder.js.map +1 -0
  41. package/dist/src/appliance/rvfa-distribution.js +533 -0
  42. package/dist/src/appliance/rvfa-distribution.js.map +1 -0
  43. package/dist/src/appliance/rvfa-format.js +465 -0
  44. package/dist/src/appliance/rvfa-format.js.map +1 -0
  45. package/dist/src/appliance/rvfa-runner.js +373 -0
  46. package/dist/src/appliance/rvfa-runner.js.map +1 -0
  47. package/dist/src/appliance/rvfa-signing.js +469 -0
  48. package/dist/src/appliance/rvfa-signing.js.map +1 -0
  49. package/dist/src/benchmarks/pretrain/index.js +542 -331
  50. package/dist/src/benchmarks/pretrain/index.js.map +1 -1
  51. package/dist/src/commands/agent.d.ts.map +1 -1
  52. package/dist/src/commands/agent.js +725 -502
  53. package/dist/src/commands/agent.js.map +1 -1
  54. package/dist/src/commands/analyze.js +1548 -1218
  55. package/dist/src/commands/analyze.js.map +1 -1
  56. package/dist/src/commands/appliance-advanced.d.ts +9 -0
  57. package/dist/src/commands/appliance-advanced.d.ts.map +1 -0
  58. package/dist/src/commands/appliance-advanced.js +324 -0
  59. package/dist/src/commands/appliance-advanced.js.map +1 -0
  60. package/dist/src/commands/appliance.d.ts +8 -0
  61. package/dist/src/commands/appliance.d.ts.map +1 -0
  62. package/dist/src/commands/appliance.js +581 -0
  63. package/dist/src/commands/appliance.js.map +1 -0
  64. package/dist/src/commands/benchmark.js +523 -372
  65. package/dist/src/commands/benchmark.js.map +1 -1
  66. package/dist/src/commands/claims.js +364 -274
  67. package/dist/src/commands/claims.js.map +1 -1
  68. package/dist/src/commands/cleanup.d.ts +13 -0
  69. package/dist/src/commands/cleanup.d.ts.map +1 -0
  70. package/dist/src/commands/cleanup.js +262 -0
  71. package/dist/src/commands/cleanup.js.map +1 -0
  72. package/dist/src/commands/completions.js +118 -477
  73. package/dist/src/commands/completions.js.map +1 -1
  74. package/dist/src/commands/config.js +303 -237
  75. package/dist/src/commands/config.js.map +1 -1
  76. package/dist/src/commands/daemon.d.ts.map +1 -1
  77. package/dist/src/commands/daemon.js +597 -425
  78. package/dist/src/commands/daemon.js.map +1 -1
  79. package/dist/src/commands/deployment.js +275 -194
  80. package/dist/src/commands/deployment.js.map +1 -1
  81. package/dist/src/commands/doctor.d.ts.map +1 -1
  82. package/dist/src/commands/doctor.js +690 -460
  83. package/dist/src/commands/doctor.js.map +1 -1
  84. package/dist/src/commands/embeddings.js +1543 -1293
  85. package/dist/src/commands/embeddings.js.map +1 -1
  86. package/dist/src/commands/guidance.js +596 -449
  87. package/dist/src/commands/guidance.js.map +1 -1
  88. package/dist/src/commands/hive-mind.js +938 -854
  89. package/dist/src/commands/hive-mind.js.map +1 -1
  90. package/dist/src/commands/hooks.d.ts.map +1 -1
  91. package/dist/src/commands/hooks.js +3677 -2570
  92. package/dist/src/commands/hooks.js.map +1 -1
  93. package/dist/src/commands/index.js +322 -122
  94. package/dist/src/commands/index.js.map +1 -1
  95. package/dist/src/commands/init.d.ts +1 -1
  96. package/dist/src/commands/init.d.ts.map +1 -1
  97. package/dist/src/commands/init.js +943 -787
  98. package/dist/src/commands/init.js.map +1 -1
  99. package/dist/src/commands/issues.js +558 -383
  100. package/dist/src/commands/issues.js.map +1 -1
  101. package/dist/src/commands/mcp.d.ts.map +1 -1
  102. package/dist/src/commands/mcp.js +605 -475
  103. package/dist/src/commands/mcp.js.map +1 -1
  104. package/dist/src/commands/memory.d.ts.map +1 -1
  105. package/dist/src/commands/memory.js +1031 -814
  106. package/dist/src/commands/memory.js.map +1 -1
  107. package/dist/src/commands/migrate.js +347 -282
  108. package/dist/src/commands/migrate.js.map +1 -1
  109. package/dist/src/commands/neural.d.ts.map +1 -1
  110. package/dist/src/commands/neural.js +1563 -1283
  111. package/dist/src/commands/neural.js.map +1 -1
  112. package/dist/src/commands/performance.js +643 -497
  113. package/dist/src/commands/performance.js.map +1 -1
  114. package/dist/src/commands/plugins.js +841 -668
  115. package/dist/src/commands/plugins.js.map +1 -1
  116. package/dist/src/commands/process.js +447 -392
  117. package/dist/src/commands/process.js.map +1 -1
  118. package/dist/src/commands/progress.js +256 -162
  119. package/dist/src/commands/progress.js.map +1 -1
  120. package/dist/src/commands/providers.js +220 -150
  121. package/dist/src/commands/providers.js.map +1 -1
  122. package/dist/src/commands/route.js +665 -520
  123. package/dist/src/commands/route.js.map +1 -1
  124. package/dist/src/commands/ruvector/backup.js +651 -505
  125. package/dist/src/commands/ruvector/backup.js.map +1 -1
  126. package/dist/src/commands/ruvector/benchmark.js +401 -349
  127. package/dist/src/commands/ruvector/benchmark.js.map +1 -1
  128. package/dist/src/commands/ruvector/import.js +267 -225
  129. package/dist/src/commands/ruvector/import.js.map +1 -1
  130. package/dist/src/commands/ruvector/index.js +75 -37
  131. package/dist/src/commands/ruvector/index.js.map +1 -1
  132. package/dist/src/commands/ruvector/init.js +359 -336
  133. package/dist/src/commands/ruvector/init.js.map +1 -1
  134. package/dist/src/commands/ruvector/migrate.js +322 -335
  135. package/dist/src/commands/ruvector/migrate.js.map +1 -1
  136. package/dist/src/commands/ruvector/optimize.js +431 -375
  137. package/dist/src/commands/ruvector/optimize.js.map +1 -1
  138. package/dist/src/commands/ruvector/setup.js +117 -703
  139. package/dist/src/commands/ruvector/setup.js.map +1 -1
  140. package/dist/src/commands/ruvector/status.js +419 -364
  141. package/dist/src/commands/ruvector/status.js.map +1 -1
  142. package/dist/src/commands/security.d.ts.map +1 -1
  143. package/dist/src/commands/security.js +610 -456
  144. package/dist/src/commands/security.js.map +1 -1
  145. package/dist/src/commands/session.d.ts +1 -1
  146. package/dist/src/commands/session.js +627 -505
  147. package/dist/src/commands/session.js.map +1 -1
  148. package/dist/src/commands/start.d.ts +1 -1
  149. package/dist/src/commands/start.js +368 -271
  150. package/dist/src/commands/start.js.map +1 -1
  151. package/dist/src/commands/status.d.ts +1 -1
  152. package/dist/src/commands/status.d.ts.map +1 -1
  153. package/dist/src/commands/status.js +492 -379
  154. package/dist/src/commands/status.js.map +1 -1
  155. package/dist/src/commands/swarm.js +488 -408
  156. package/dist/src/commands/swarm.js.map +1 -1
  157. package/dist/src/commands/task.d.ts +1 -1
  158. package/dist/src/commands/task.js +539 -424
  159. package/dist/src/commands/task.js.map +1 -1
  160. package/dist/src/commands/transfer-store.js +412 -322
  161. package/dist/src/commands/transfer-store.js.map +1 -1
  162. package/dist/src/commands/update.js +291 -196
  163. package/dist/src/commands/update.js.map +1 -1
  164. package/dist/src/commands/workflow.js +486 -386
  165. package/dist/src/commands/workflow.js.map +1 -1
  166. package/dist/src/config-adapter.js +40 -39
  167. package/dist/src/config-adapter.js.map +1 -1
  168. package/dist/src/index.js +416 -312
  169. package/dist/src/index.js.map +1 -1
  170. package/dist/src/infrastructure/in-memory-repositories.js +507 -246
  171. package/dist/src/infrastructure/in-memory-repositories.js.map +1 -1
  172. package/dist/src/init/claudemd-generator.js +78 -368
  173. package/dist/src/init/claudemd-generator.js.map +1 -1
  174. package/dist/src/init/executor.js +1019 -1345
  175. package/dist/src/init/executor.js.map +1 -1
  176. package/dist/src/init/helpers-generator.js +60 -635
  177. package/dist/src/init/helpers-generator.js.map +1 -1
  178. package/dist/src/init/index.d.ts +1 -1
  179. package/dist/src/init/index.d.ts.map +1 -1
  180. package/dist/src/init/index.js +1 -1
  181. package/dist/src/init/index.js.map +1 -1
  182. package/dist/src/init/mcp-generator.d.ts +0 -1
  183. package/dist/src/init/mcp-generator.d.ts.map +1 -1
  184. package/dist/src/init/mcp-generator.js +62 -42
  185. package/dist/src/init/mcp-generator.js.map +1 -1
  186. package/dist/src/init/settings-generator.d.ts.map +1 -1
  187. package/dist/src/init/settings-generator.js +167 -100
  188. package/dist/src/init/settings-generator.js.map +1 -1
  189. package/dist/src/init/statusline-generator.d.ts +16 -8
  190. package/dist/src/init/statusline-generator.d.ts.map +1 -1
  191. package/dist/src/init/statusline-generator.js +20 -1300
  192. package/dist/src/init/statusline-generator.js.map +1 -1
  193. package/dist/src/init/types.d.ts +15 -5
  194. package/dist/src/init/types.d.ts.map +1 -1
  195. package/dist/src/init/types.js +66 -76
  196. package/dist/src/init/types.js.map +1 -1
  197. package/dist/src/mcp-client.js +130 -76
  198. package/dist/src/mcp-client.js.map +1 -1
  199. package/dist/src/mcp-server.js +758 -445
  200. package/dist/src/mcp-server.js.map +1 -1
  201. package/dist/src/mcp-tools/agent-tools.js +492 -391
  202. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  203. package/dist/src/mcp-tools/agentdb-tools.d.ts +30 -0
  204. package/dist/src/mcp-tools/agentdb-tools.d.ts.map +1 -0
  205. package/dist/src/mcp-tools/agentdb-tools.js +758 -0
  206. package/dist/src/mcp-tools/agentdb-tools.js.map +1 -0
  207. package/dist/src/mcp-tools/analyze-tools.js +236 -172
  208. package/dist/src/mcp-tools/analyze-tools.js.map +1 -1
  209. package/dist/src/mcp-tools/auto-install.js +142 -80
  210. package/dist/src/mcp-tools/auto-install.js.map +1 -1
  211. package/dist/src/mcp-tools/browser-tools.js +375 -252
  212. package/dist/src/mcp-tools/browser-tools.js.map +1 -1
  213. package/dist/src/mcp-tools/claims-tools.js +565 -473
  214. package/dist/src/mcp-tools/claims-tools.js.map +1 -1
  215. package/dist/src/mcp-tools/config-tools.d.ts.map +1 -1
  216. package/dist/src/mcp-tools/config-tools.js +284 -190
  217. package/dist/src/mcp-tools/config-tools.js.map +1 -1
  218. package/dist/src/mcp-tools/coordination-tools.d.ts.map +1 -1
  219. package/dist/src/mcp-tools/coordination-tools.js +600 -349
  220. package/dist/src/mcp-tools/coordination-tools.js.map +1 -1
  221. package/dist/src/mcp-tools/daa-tools.js +367 -289
  222. package/dist/src/mcp-tools/daa-tools.js.map +1 -1
  223. package/dist/src/mcp-tools/embeddings-tools.js +693 -582
  224. package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
  225. package/dist/src/mcp-tools/github-tools.js +312 -261
  226. package/dist/src/mcp-tools/github-tools.js.map +1 -1
  227. package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -1
  228. package/dist/src/mcp-tools/hive-mind-tools.js +718 -423
  229. package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
  230. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
  231. package/dist/src/mcp-tools/hooks-tools.js +2726 -1978
  232. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  233. package/dist/src/mcp-tools/index.d.ts +2 -0
  234. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  235. package/dist/src/mcp-tools/index.js +2 -0
  236. package/dist/src/mcp-tools/index.js.map +1 -1
  237. package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
  238. package/dist/src/mcp-tools/memory-tools.js +514 -329
  239. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  240. package/dist/src/mcp-tools/neural-tools.d.ts.map +1 -1
  241. package/dist/src/mcp-tools/neural-tools.js +428 -326
  242. package/dist/src/mcp-tools/neural-tools.js.map +1 -1
  243. package/dist/src/mcp-tools/performance-tools.js +480 -420
  244. package/dist/src/mcp-tools/performance-tools.js.map +1 -1
  245. package/dist/src/mcp-tools/progress-tools.js +278 -204
  246. package/dist/src/mcp-tools/progress-tools.js.map +1 -1
  247. package/dist/src/mcp-tools/ruvllm-tools.d.ts +9 -0
  248. package/dist/src/mcp-tools/ruvllm-tools.d.ts.map +1 -0
  249. package/dist/src/mcp-tools/ruvllm-tools.js +399 -0
  250. package/dist/src/mcp-tools/ruvllm-tools.js.map +1 -0
  251. package/dist/src/mcp-tools/security-tools.js +429 -297
  252. package/dist/src/mcp-tools/security-tools.js.map +1 -1
  253. package/dist/src/mcp-tools/session-tools.js +234 -185
  254. package/dist/src/mcp-tools/session-tools.js.map +1 -1
  255. package/dist/src/mcp-tools/swarm-tools.d.ts +2 -1
  256. package/dist/src/mcp-tools/swarm-tools.d.ts.map +1 -1
  257. package/dist/src/mcp-tools/swarm-tools.js +303 -64
  258. package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
  259. package/dist/src/mcp-tools/system-tools.d.ts.map +1 -1
  260. package/dist/src/mcp-tools/system-tools.js +352 -200
  261. package/dist/src/mcp-tools/system-tools.js.map +1 -1
  262. package/dist/src/mcp-tools/task-tools.d.ts.map +1 -1
  263. package/dist/src/mcp-tools/task-tools.js +357 -189
  264. package/dist/src/mcp-tools/task-tools.js.map +1 -1
  265. package/dist/src/mcp-tools/terminal-tools.js +196 -148
  266. package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
  267. package/dist/src/mcp-tools/transfer-tools.js +333 -186
  268. package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
  269. package/dist/src/mcp-tools/wasm-agent-tools.d.ts +9 -0
  270. package/dist/src/mcp-tools/wasm-agent-tools.d.ts.map +1 -0
  271. package/dist/src/mcp-tools/wasm-agent-tools.js +377 -0
  272. package/dist/src/mcp-tools/wasm-agent-tools.js.map +1 -0
  273. package/dist/src/mcp-tools/workflow-tools.d.ts.map +1 -1
  274. package/dist/src/mcp-tools/workflow-tools.js +471 -335
  275. package/dist/src/mcp-tools/workflow-tools.js.map +1 -1
  276. package/dist/src/memory/ewc-consolidation.js +345 -173
  277. package/dist/src/memory/ewc-consolidation.js.map +1 -1
  278. package/dist/src/memory/intelligence.js +841 -359
  279. package/dist/src/memory/intelligence.js.map +1 -1
  280. package/dist/src/memory/memory-bridge.js +1964 -0
  281. package/dist/src/memory/memory-bridge.js.map +1 -0
  282. package/dist/src/memory/memory-initializer.js +1895 -1602
  283. package/dist/src/memory/memory-initializer.js.map +1 -1
  284. package/dist/src/memory/sona-optimizer.js +329 -199
  285. package/dist/src/memory/sona-optimizer.js.map +1 -1
  286. package/dist/src/output.d.ts +2 -2
  287. package/dist/src/output.d.ts.map +1 -1
  288. package/dist/src/output.js +273 -242
  289. package/dist/src/output.js.map +1 -1
  290. package/dist/src/parser.js +217 -124
  291. package/dist/src/parser.js.map +1 -1
  292. package/dist/src/plugins/manager.js +531 -278
  293. package/dist/src/plugins/manager.js.map +1 -1
  294. package/dist/src/plugins/store/discovery.js +362 -275
  295. package/dist/src/plugins/store/discovery.js.map +1 -1
  296. package/dist/src/plugins/store/index.js +105 -48
  297. package/dist/src/plugins/store/index.js.map +1 -1
  298. package/dist/src/plugins/store/search.js +107 -69
  299. package/dist/src/plugins/store/search.js.map +1 -1
  300. package/dist/src/plugins/tests/demo-plugin-store.js +160 -113
  301. package/dist/src/plugins/tests/demo-plugin-store.js.map +1 -1
  302. package/dist/src/plugins/tests/standalone-test.js +223 -172
  303. package/dist/src/plugins/tests/standalone-test.js.map +1 -1
  304. package/dist/src/plugins/tests/test-plugin-store.js +228 -190
  305. package/dist/src/plugins/tests/test-plugin-store.js.map +1 -1
  306. package/dist/src/production/circuit-breaker.js +126 -62
  307. package/dist/src/production/circuit-breaker.js.map +1 -1
  308. package/dist/src/production/error-handler.js +156 -86
  309. package/dist/src/production/error-handler.js.map +1 -1
  310. package/dist/src/production/monitoring.js +220 -139
  311. package/dist/src/production/monitoring.js.map +1 -1
  312. package/dist/src/production/rate-limiter.js +93 -74
  313. package/dist/src/production/rate-limiter.js.map +1 -1
  314. package/dist/src/production/retry.js +167 -75
  315. package/dist/src/production/retry.js.map +1 -1
  316. package/dist/src/prompt.js +560 -436
  317. package/dist/src/prompt.js.map +1 -1
  318. package/dist/src/runtime/headless.js +289 -200
  319. package/dist/src/runtime/headless.js.map +1 -1
  320. package/dist/src/ruvector/agent-wasm.js +511 -0
  321. package/dist/src/ruvector/agent-wasm.js.map +1 -0
  322. package/dist/src/ruvector/ast-analyzer.js +232 -145
  323. package/dist/src/ruvector/ast-analyzer.js.map +1 -1
  324. package/dist/src/ruvector/coverage-router.js +419 -287
  325. package/dist/src/ruvector/coverage-router.js.map +1 -1
  326. package/dist/src/ruvector/coverage-tools.js +101 -56
  327. package/dist/src/ruvector/coverage-tools.js.map +1 -1
  328. package/dist/src/ruvector/diff-classifier.js +451 -324
  329. package/dist/src/ruvector/diff-classifier.js.map +1 -1
  330. package/dist/src/ruvector/enhanced-model-router.js +337 -251
  331. package/dist/src/ruvector/enhanced-model-router.js.map +1 -1
  332. package/dist/src/ruvector/flash-attention.js +254 -223
  333. package/dist/src/ruvector/flash-attention.js.map +1 -1
  334. package/dist/src/ruvector/graph-analyzer.js +680 -486
  335. package/dist/src/ruvector/graph-analyzer.js.map +1 -1
  336. package/dist/src/ruvector/index.js +113 -27
  337. package/dist/src/ruvector/index.js.map +1 -1
  338. package/dist/src/ruvector/lora-adapter.js +248 -155
  339. package/dist/src/ruvector/lora-adapter.js.map +1 -1
  340. package/dist/src/ruvector/model-router.js +248 -175
  341. package/dist/src/ruvector/model-router.js.map +1 -1
  342. package/dist/src/ruvector/moe-router.js +286 -228
  343. package/dist/src/ruvector/moe-router.js.map +1 -1
  344. package/dist/src/ruvector/q-learning-router.js +338 -257
  345. package/dist/src/ruvector/q-learning-router.js.map +1 -1
  346. package/dist/src/ruvector/ruvllm-wasm.js +527 -0
  347. package/dist/src/ruvector/ruvllm-wasm.js.map +1 -0
  348. package/dist/src/ruvector/semantic-router.js +67 -60
  349. package/dist/src/ruvector/semantic-router.js.map +1 -1
  350. package/dist/src/ruvector/vector-db.js +205 -119
  351. package/dist/src/ruvector/vector-db.js.map +1 -1
  352. package/dist/src/services/agentic-flow-bridge.js +168 -0
  353. package/dist/src/services/agentic-flow-bridge.js.map +1 -0
  354. package/dist/src/services/claim-service.js +940 -615
  355. package/dist/src/services/claim-service.js.map +1 -1
  356. package/dist/src/services/container-worker-pool.js +669 -399
  357. package/dist/src/services/container-worker-pool.js.map +1 -1
  358. package/dist/src/services/headless-worker-executor.js +467 -441
  359. package/dist/src/services/headless-worker-executor.js.map +1 -1
  360. package/dist/src/services/index.d.ts +5 -5
  361. package/dist/src/services/index.d.ts.map +1 -1
  362. package/dist/src/services/index.js +4 -4
  363. package/dist/src/services/index.js.map +1 -1
  364. package/dist/src/services/registry-api.js +201 -93
  365. package/dist/src/services/registry-api.js.map +1 -1
  366. package/dist/src/services/ruvector-training.js +414 -144
  367. package/dist/src/services/ruvector-training.js.map +1 -1
  368. package/dist/src/services/worker-daemon.js +928 -531
  369. package/dist/src/services/worker-daemon.js.map +1 -1
  370. package/dist/src/services/worker-queue.js +550 -331
  371. package/dist/src/services/worker-queue.js.map +1 -1
  372. package/dist/src/suggest.js +55 -45
  373. package/dist/src/suggest.js.map +1 -1
  374. package/dist/src/transfer/anonymization/index.js +37 -29
  375. package/dist/src/transfer/anonymization/index.js.map +1 -1
  376. package/dist/src/transfer/deploy-seraphine.d.ts +1 -1
  377. package/dist/src/transfer/deploy-seraphine.js +156 -129
  378. package/dist/src/transfer/deploy-seraphine.js.map +1 -1
  379. package/dist/src/transfer/export.js +142 -84
  380. package/dist/src/transfer/export.js.map +1 -1
  381. package/dist/src/transfer/index.d.ts +1 -1
  382. package/dist/src/transfer/index.d.ts.map +1 -1
  383. package/dist/src/transfer/index.js +2 -0
  384. package/dist/src/transfer/index.js.map +1 -1
  385. package/dist/src/transfer/ipfs/client.js +337 -179
  386. package/dist/src/transfer/ipfs/client.js.map +1 -1
  387. package/dist/src/transfer/ipfs/upload.js +434 -290
  388. package/dist/src/transfer/ipfs/upload.js.map +1 -1
  389. package/dist/src/transfer/models/seraphine.js +58 -58
  390. package/dist/src/transfer/models/seraphine.js.map +1 -1
  391. package/dist/src/transfer/serialization/cfp.js +37 -33
  392. package/dist/src/transfer/serialization/cfp.js.map +1 -1
  393. package/dist/src/transfer/storage/gcs.js +248 -139
  394. package/dist/src/transfer/storage/gcs.js.map +1 -1
  395. package/dist/src/transfer/store/discovery.js +353 -243
  396. package/dist/src/transfer/store/discovery.js.map +1 -1
  397. package/dist/src/transfer/store/download.js +365 -243
  398. package/dist/src/transfer/store/download.js.map +1 -1
  399. package/dist/src/transfer/store/index.js +130 -63
  400. package/dist/src/transfer/store/index.js.map +1 -1
  401. package/dist/src/transfer/store/publish.js +258 -184
  402. package/dist/src/transfer/store/publish.js.map +1 -1
  403. package/dist/src/transfer/store/registry.js +73 -51
  404. package/dist/src/transfer/store/registry.js.map +1 -1
  405. package/dist/src/transfer/store/search.js +96 -64
  406. package/dist/src/transfer/store/search.js.map +1 -1
  407. package/dist/src/transfer/store/tests/standalone-test.js +231 -174
  408. package/dist/src/transfer/store/tests/standalone-test.js.map +1 -1
  409. package/dist/src/transfer/test-seraphine.js +130 -95
  410. package/dist/src/transfer/test-seraphine.js.map +1 -1
  411. package/dist/src/transfer/tests/test-store.js +239 -194
  412. package/dist/src/transfer/tests/test-store.js.map +1 -1
  413. package/dist/src/types.js +56 -27
  414. package/dist/src/types.js.map +1 -1
  415. package/dist/src/update/checker.js +183 -106
  416. package/dist/src/update/checker.js.map +1 -1
  417. package/dist/src/update/executor.js +198 -135
  418. package/dist/src/update/executor.js.map +1 -1
  419. package/dist/src/update/index.js +85 -38
  420. package/dist/src/update/index.js.map +1 -1
  421. package/dist/src/update/rate-limiter.js +31 -19
  422. package/dist/src/update/rate-limiter.js.map +1 -1
  423. package/dist/src/update/validator.js +64 -38
  424. package/dist/src/update/validator.js.map +1 -1
  425. package/dist/tsconfig.tsbuildinfo +1 -1
  426. package/package.json +13 -10
  427. package/.claude/agents/custom/accessibility-auditor.yaml +0 -56
  428. package/.claude/agents/custom/design-architect.yaml +0 -48
  429. package/.claude/agents/custom/ui-developer.yaml +0 -46
  430. package/.claude/agents/custom/ux-researcher.yaml +0 -60
  431. package/dist/src/benchmarks/pretrain/index.d.ts +0 -58
  432. package/dist/src/benchmarks/pretrain/index.d.ts.map +0 -1
  433. package/dist/src/commands/index.d.ts +0 -108
  434. package/dist/src/commands/index.d.ts.map +0 -1
  435. package/dist/src/config-adapter.d.ts +0 -15
  436. package/dist/src/config-adapter.d.ts.map +0 -1
  437. package/dist/src/index.d.ts +0 -76
  438. package/dist/src/index.d.ts.map +0 -1
  439. package/dist/src/infrastructure/in-memory-repositories.d.ts +0 -68
  440. package/dist/src/infrastructure/in-memory-repositories.d.ts.map +0 -1
  441. package/dist/src/init/claudemd-generator.d.ts +0 -25
  442. package/dist/src/init/claudemd-generator.d.ts.map +0 -1
  443. package/dist/src/init/executor.d.ts +0 -41
  444. package/dist/src/init/executor.d.ts.map +0 -1
  445. package/dist/src/init/helpers-generator.d.ts +0 -60
  446. package/dist/src/init/helpers-generator.d.ts.map +0 -1
  447. package/dist/src/mcp-client.d.ts +0 -92
  448. package/dist/src/mcp-client.d.ts.map +0 -1
  449. package/dist/src/mcp-server.d.ts +0 -161
  450. package/dist/src/mcp-server.d.ts.map +0 -1
  451. package/dist/src/mcp-tools/auto-install.d.ts +0 -83
  452. package/dist/src/mcp-tools/auto-install.d.ts.map +0 -1
  453. package/dist/src/mcp-tools/types.d.ts +0 -31
  454. package/dist/src/mcp-tools/types.d.ts.map +0 -1
  455. package/dist/src/memory/ewc-consolidation.d.ts +0 -271
  456. package/dist/src/memory/ewc-consolidation.d.ts.map +0 -1
  457. package/dist/src/memory/intelligence.d.ts +0 -285
  458. package/dist/src/memory/intelligence.d.ts.map +0 -1
  459. package/dist/src/memory/memory-initializer.d.ts +0 -396
  460. package/dist/src/memory/memory-initializer.d.ts.map +0 -1
  461. package/dist/src/memory/sona-optimizer.d.ts +0 -227
  462. package/dist/src/memory/sona-optimizer.d.ts.map +0 -1
  463. package/dist/src/parser.d.ts +0 -41
  464. package/dist/src/parser.d.ts.map +0 -1
  465. package/dist/src/plugins/manager.d.ts +0 -133
  466. package/dist/src/plugins/manager.d.ts.map +0 -1
  467. package/dist/src/plugins/store/discovery.d.ts +0 -88
  468. package/dist/src/plugins/store/discovery.d.ts.map +0 -1
  469. package/dist/src/plugins/store/index.d.ts +0 -76
  470. package/dist/src/plugins/store/index.d.ts.map +0 -1
  471. package/dist/src/plugins/store/search.d.ts +0 -46
  472. package/dist/src/plugins/store/search.d.ts.map +0 -1
  473. package/dist/src/plugins/store/types.d.ts +0 -274
  474. package/dist/src/plugins/store/types.d.ts.map +0 -1
  475. package/dist/src/production/circuit-breaker.d.ts +0 -101
  476. package/dist/src/production/circuit-breaker.d.ts.map +0 -1
  477. package/dist/src/production/error-handler.d.ts +0 -92
  478. package/dist/src/production/error-handler.d.ts.map +0 -1
  479. package/dist/src/production/monitoring.d.ts +0 -161
  480. package/dist/src/production/monitoring.d.ts.map +0 -1
  481. package/dist/src/production/rate-limiter.d.ts +0 -80
  482. package/dist/src/production/rate-limiter.d.ts.map +0 -1
  483. package/dist/src/production/retry.d.ts +0 -48
  484. package/dist/src/production/retry.d.ts.map +0 -1
  485. package/dist/src/prompt.d.ts +0 -44
  486. package/dist/src/prompt.d.ts.map +0 -1
  487. package/dist/src/runtime/headless.d.ts +0 -60
  488. package/dist/src/runtime/headless.d.ts.map +0 -1
  489. package/dist/src/ruvector/ast-analyzer.d.ts +0 -67
  490. package/dist/src/ruvector/ast-analyzer.d.ts.map +0 -1
  491. package/dist/src/ruvector/coverage-router.d.ts +0 -160
  492. package/dist/src/ruvector/coverage-router.d.ts.map +0 -1
  493. package/dist/src/ruvector/diff-classifier.d.ts +0 -175
  494. package/dist/src/ruvector/diff-classifier.d.ts.map +0 -1
  495. package/dist/src/ruvector/enhanced-model-router.d.ts +0 -146
  496. package/dist/src/ruvector/enhanced-model-router.d.ts.map +0 -1
  497. package/dist/src/ruvector/flash-attention.d.ts +0 -195
  498. package/dist/src/ruvector/flash-attention.d.ts.map +0 -1
  499. package/dist/src/ruvector/graph-analyzer.d.ts +0 -187
  500. package/dist/src/ruvector/graph-analyzer.d.ts.map +0 -1
  501. package/dist/src/ruvector/index.d.ts +0 -34
  502. package/dist/src/ruvector/index.d.ts.map +0 -1
  503. package/dist/src/ruvector/lora-adapter.d.ts +0 -218
  504. package/dist/src/ruvector/lora-adapter.d.ts.map +0 -1
  505. package/dist/src/ruvector/model-router.d.ts +0 -220
  506. package/dist/src/ruvector/model-router.d.ts.map +0 -1
  507. package/dist/src/ruvector/moe-router.d.ts +0 -206
  508. package/dist/src/ruvector/moe-router.d.ts.map +0 -1
  509. package/dist/src/ruvector/q-learning-router.d.ts +0 -211
  510. package/dist/src/ruvector/q-learning-router.d.ts.map +0 -1
  511. package/dist/src/ruvector/semantic-router.d.ts +0 -77
  512. package/dist/src/ruvector/semantic-router.d.ts.map +0 -1
  513. package/dist/src/ruvector/vector-db.d.ts +0 -69
  514. package/dist/src/ruvector/vector-db.d.ts.map +0 -1
  515. package/dist/src/services/claim-service.d.ts +0 -204
  516. package/dist/src/services/claim-service.d.ts.map +0 -1
  517. package/dist/src/services/container-worker-pool.d.ts +0 -197
  518. package/dist/src/services/container-worker-pool.d.ts.map +0 -1
  519. package/dist/src/services/headless-worker-executor.d.ts +0 -304
  520. package/dist/src/services/headless-worker-executor.d.ts.map +0 -1
  521. package/dist/src/services/registry-api.d.ts +0 -58
  522. package/dist/src/services/registry-api.d.ts.map +0 -1
  523. package/dist/src/services/ruvector-training.d.ts +0 -213
  524. package/dist/src/services/ruvector-training.d.ts.map +0 -1
  525. package/dist/src/services/worker-daemon.d.ts +0 -203
  526. package/dist/src/services/worker-daemon.d.ts.map +0 -1
  527. package/dist/src/services/worker-queue.d.ts +0 -194
  528. package/dist/src/services/worker-queue.d.ts.map +0 -1
  529. package/dist/src/suggest.d.ts +0 -53
  530. package/dist/src/suggest.d.ts.map +0 -1
  531. package/dist/src/transfer/export.d.ts +0 -25
  532. package/dist/src/transfer/export.d.ts.map +0 -1
  533. package/dist/src/transfer/ipfs/client.d.ts +0 -109
  534. package/dist/src/transfer/ipfs/client.d.ts.map +0 -1
  535. package/dist/src/transfer/ipfs/upload.d.ts +0 -95
  536. package/dist/src/transfer/ipfs/upload.d.ts.map +0 -1
  537. package/dist/src/transfer/models/seraphine.d.ts +0 -72
  538. package/dist/src/transfer/models/seraphine.d.ts.map +0 -1
  539. package/dist/src/transfer/serialization/cfp.d.ts +0 -49
  540. package/dist/src/transfer/serialization/cfp.d.ts.map +0 -1
  541. package/dist/src/transfer/storage/gcs.d.ts +0 -82
  542. package/dist/src/transfer/storage/gcs.d.ts.map +0 -1
  543. package/dist/src/transfer/store/discovery.d.ts +0 -84
  544. package/dist/src/transfer/store/discovery.d.ts.map +0 -1
  545. package/dist/src/transfer/store/download.d.ts +0 -70
  546. package/dist/src/transfer/store/download.d.ts.map +0 -1
  547. package/dist/src/transfer/store/index.d.ts +0 -84
  548. package/dist/src/transfer/store/index.d.ts.map +0 -1
  549. package/dist/src/transfer/store/publish.d.ts +0 -76
  550. package/dist/src/transfer/store/publish.d.ts.map +0 -1
  551. package/dist/src/transfer/store/search.d.ts +0 -54
  552. package/dist/src/transfer/store/search.d.ts.map +0 -1
  553. package/dist/src/transfer/types.d.ts +0 -245
  554. package/dist/src/transfer/types.d.ts.map +0 -1
  555. package/dist/src/types.d.ts +0 -198
  556. package/dist/src/types.d.ts.map +0 -1
  557. package/dist/src/update/checker.d.ts +0 -34
  558. package/dist/src/update/checker.d.ts.map +0 -1
  559. package/dist/src/update/executor.d.ts +0 -32
  560. package/dist/src/update/executor.d.ts.map +0 -1
  561. package/dist/src/update/index.d.ts +0 -33
  562. package/dist/src/update/index.d.ts.map +0 -1
  563. package/dist/src/update/rate-limiter.d.ts +0 -20
  564. package/dist/src/update/rate-limiter.d.ts.map +0 -1
  565. package/dist/src/update/validator.d.ts +0 -17
  566. package/dist/src/update/validator.d.ts.map +0 -1
@@ -2,316 +2,425 @@
2
2
  * V3 CLI Guidance Command
3
3
  * Guidance Control Plane - compile, retrieve, enforce, optimize
4
4
  */
5
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
6
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7
+ return new (P || (P = Promise))(function (resolve, reject) {
8
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
9
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
10
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
11
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
12
+ });
13
+ };
14
+ var __generator = (this && this.__generator) || function (thisArg, body) {
15
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
16
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
17
+ function verb(n) { return function (v) { return step([n, v]); }; }
18
+ function step(op) {
19
+ if (f) throw new TypeError("Generator is already executing.");
20
+ while (_) try {
21
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
22
+ if (y = 0, t) op = [op[0] & 2, t.value];
23
+ switch (op[0]) {
24
+ case 0: case 1: t = op; break;
25
+ case 4: _.label++; return { value: op[1], done: false };
26
+ case 5: _.label++; y = op[1]; op = [0]; continue;
27
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
28
+ default:
29
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
30
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
31
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
32
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
33
+ if (t[2]) _.ops.pop();
34
+ _.trys.pop(); continue;
35
+ }
36
+ op = body.call(thisArg, _);
37
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
38
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
39
+ }
40
+ };
5
41
  import { output } from '../output.js';
6
42
  // compile subcommand
7
- const compileCommand = {
43
+ var compileCommand = {
8
44
  name: 'compile',
9
45
  description: 'Compile CLAUDE.md into a policy bundle (constitution + shards + manifest)',
10
46
  options: [
11
- { name: 'root', short: 'r', type: 'string', description: 'Root guidance file path', default: './CLAUDE.md' },
47
+ { name: 'root', short: 'r', type: 'string', description: 'Root guidance file path', "default": './CLAUDE.md' },
12
48
  { name: 'local', short: 'l', type: 'string', description: 'Local guidance overlay file path' },
13
49
  { name: 'output', short: 'o', type: 'string', description: 'Output directory for compiled bundle' },
14
- { name: 'json', type: 'boolean', description: 'Output as JSON', default: 'false' },
50
+ { name: 'json', type: 'boolean', description: 'Output as JSON', "default": 'false' },
15
51
  ],
16
52
  examples: [
17
53
  { command: 'claude-flow guidance compile', description: 'Compile default CLAUDE.md' },
18
54
  { command: 'claude-flow guidance compile -r ./CLAUDE.md -l ./CLAUDE.local.md', description: 'Compile with local overlay' },
19
55
  { command: 'claude-flow guidance compile --json', description: 'Output compiled bundle as JSON' },
20
56
  ],
21
- action: async (ctx) => {
22
- const rootPath = ctx.flags.root || './CLAUDE.md';
23
- const localPath = ctx.flags.local;
24
- const jsonOutput = ctx.flags.json === true;
25
- output.writeln();
26
- output.writeln(output.bold('Guidance Compiler'));
27
- output.writeln(output.dim('─'.repeat(50)));
28
- try {
29
- const { readFile } = await import('node:fs/promises');
30
- const { existsSync } = await import('node:fs');
31
- if (!existsSync(rootPath)) {
32
- output.writeln(output.error(`Root guidance file not found: ${rootPath}`));
33
- return { success: false, message: `File not found: ${rootPath}` };
34
- }
35
- const rootContent = await readFile(rootPath, 'utf-8');
36
- let localContent;
37
- if (localPath && existsSync(localPath)) {
38
- localContent = await readFile(localPath, 'utf-8');
39
- }
40
- const { GuidanceCompiler } = await import('@claude-flow/guidance/compiler');
41
- const compiler = new GuidanceCompiler();
42
- const bundle = compiler.compile(rootContent, localContent);
43
- if (jsonOutput) {
44
- output.writeln(JSON.stringify(bundle, null, 2));
45
- }
46
- else {
47
- output.writeln(output.success('Compiled successfully'));
48
- output.writeln();
49
- output.writeln(` Constitution rules: ${output.bold(String(bundle.constitution.rules.length))}`);
50
- output.writeln(` Constitution hash: ${output.dim(bundle.constitution.hash)}`);
51
- output.writeln(` Shard count: ${output.bold(String(bundle.shards.length))}`);
52
- output.writeln(` Total rules: ${output.bold(String(bundle.manifest.totalRules))}`);
53
- output.writeln(` Compiled at: ${output.dim(new Date(bundle.manifest.compiledAt).toISOString())}`);
54
- if (localContent) {
55
- output.writeln(` Local overlay: ${output.success('applied')}`);
56
- }
57
- output.writeln();
58
- output.writeln(output.dim('Rule summary:'));
59
- for (const rule of bundle.manifest.rules.slice(0, 10)) {
60
- const risk = rule.riskClass === 'critical' ? output.error(rule.riskClass) :
61
- rule.riskClass === 'high' ? output.warning(rule.riskClass) :
62
- output.dim(rule.riskClass);
63
- output.writeln(` ${output.bold(rule.id)} [${risk}] ${rule.source.slice(0, 60)}${rule.source.length > 60 ? '...' : ''}`);
64
- }
65
- if (bundle.manifest.rules.length > 10) {
66
- output.writeln(output.dim(` ... and ${bundle.manifest.rules.length - 10} more`));
67
- }
68
- }
69
- return { success: true, data: bundle };
70
- }
71
- catch (error) {
72
- const msg = error instanceof Error ? error.message : String(error);
73
- output.writeln(output.error(`Compilation failed: ${msg}`));
74
- return { success: false, message: msg };
75
- }
76
- },
57
+ action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
58
+ var rootPath, localPath, jsonOutput, readFile, existsSync, rootContent, localContent, GuidanceCompiler, compiler, bundle, _i, _a, rule, risk, error_1, msg;
59
+ return __generator(this, function (_b) {
60
+ switch (_b.label) {
61
+ case 0:
62
+ rootPath = ctx.flags.root || './CLAUDE.md';
63
+ localPath = ctx.flags.local;
64
+ jsonOutput = ctx.flags.json === true;
65
+ output.writeln();
66
+ output.writeln(output.bold('Guidance Compiler'));
67
+ output.writeln(output.dim('─'.repeat(50)));
68
+ _b.label = 1;
69
+ case 1:
70
+ _b.trys.push([1, 8, , 9]);
71
+ return [4 /*yield*/, import('node:fs/promises')];
72
+ case 2:
73
+ readFile = (_b.sent()).readFile;
74
+ return [4 /*yield*/, import('node:fs')];
75
+ case 3:
76
+ existsSync = (_b.sent()).existsSync;
77
+ if (!existsSync(rootPath)) {
78
+ output.writeln(output.error("Root guidance file not found: " + rootPath));
79
+ return [2 /*return*/, { success: false, message: "File not found: " + rootPath }];
80
+ }
81
+ return [4 /*yield*/, readFile(rootPath, 'utf-8')];
82
+ case 4:
83
+ rootContent = _b.sent();
84
+ localContent = void 0;
85
+ if (!(localPath && existsSync(localPath))) return [3 /*break*/, 6];
86
+ return [4 /*yield*/, readFile(localPath, 'utf-8')];
87
+ case 5:
88
+ localContent = _b.sent();
89
+ _b.label = 6;
90
+ case 6: return [4 /*yield*/, import('@claude-flow/guidance/compiler')];
91
+ case 7:
92
+ GuidanceCompiler = (_b.sent()).GuidanceCompiler;
93
+ compiler = new GuidanceCompiler();
94
+ bundle = compiler.compile(rootContent, localContent);
95
+ if (jsonOutput) {
96
+ output.writeln(JSON.stringify(bundle, null, 2));
97
+ }
98
+ else {
99
+ output.writeln(output.success('Compiled successfully'));
100
+ output.writeln();
101
+ output.writeln(" Constitution rules: " + output.bold(String(bundle.constitution.rules.length)));
102
+ output.writeln(" Constitution hash: " + output.dim(bundle.constitution.hash));
103
+ output.writeln(" Shard count: " + output.bold(String(bundle.shards.length)));
104
+ output.writeln(" Total rules: " + output.bold(String(bundle.manifest.totalRules)));
105
+ output.writeln(" Compiled at: " + output.dim(new Date(bundle.manifest.compiledAt).toISOString()));
106
+ if (localContent) {
107
+ output.writeln(" Local overlay: " + output.success('applied'));
108
+ }
109
+ output.writeln();
110
+ output.writeln(output.dim('Rule summary:'));
111
+ for (_i = 0, _a = bundle.manifest.rules.slice(0, 10); _i < _a.length; _i++) {
112
+ rule = _a[_i];
113
+ risk = rule.riskClass === 'critical' ? output.error(rule.riskClass) :
114
+ rule.riskClass === 'high' ? output.warning(rule.riskClass) :
115
+ output.dim(rule.riskClass);
116
+ output.writeln(" " + output.bold(rule.id) + " [" + risk + "] " + rule.source.slice(0, 60) + (rule.source.length > 60 ? '...' : ''));
117
+ }
118
+ if (bundle.manifest.rules.length > 10) {
119
+ output.writeln(output.dim(" ... and " + (bundle.manifest.rules.length - 10) + " more"));
120
+ }
121
+ }
122
+ return [2 /*return*/, { success: true, data: bundle }];
123
+ case 8:
124
+ error_1 = _b.sent();
125
+ msg = error_1 instanceof Error ? error_1.message : String(error_1);
126
+ output.writeln(output.error("Compilation failed: " + msg));
127
+ return [2 /*return*/, { success: false, message: msg }];
128
+ case 9: return [2 /*return*/];
129
+ }
130
+ });
131
+ }); }
77
132
  };
78
133
  // retrieve subcommand
79
- const retrieveCommand = {
134
+ var retrieveCommand = {
80
135
  name: 'retrieve',
81
136
  description: 'Retrieve task-relevant guidance shards for a given task description',
82
137
  options: [
83
138
  { name: 'task', short: 't', type: 'string', description: 'Task description', required: true },
84
- { name: 'root', short: 'r', type: 'string', description: 'Root guidance file path', default: './CLAUDE.md' },
139
+ { name: 'root', short: 'r', type: 'string', description: 'Root guidance file path', "default": './CLAUDE.md' },
85
140
  { name: 'local', short: 'l', type: 'string', description: 'Local overlay file path' },
86
- { name: 'max-shards', short: 'n', type: 'number', description: 'Maximum number of shards to retrieve', default: '5' },
141
+ { name: 'max-shards', short: 'n', type: 'number', description: 'Maximum number of shards to retrieve', "default": '5' },
87
142
  { name: 'intent', short: 'i', type: 'string', description: 'Override detected intent' },
88
- { name: 'json', type: 'boolean', description: 'Output as JSON', default: 'false' },
143
+ { name: 'json', type: 'boolean', description: 'Output as JSON', "default": 'false' },
89
144
  ],
90
145
  examples: [
91
146
  { command: 'claude-flow guidance retrieve -t "Fix SQL injection in user search"', description: 'Retrieve guidance for a security task' },
92
147
  { command: 'claude-flow guidance retrieve -t "Add unit tests" -n 3', description: 'Retrieve top 3 shards for testing' },
93
148
  ],
94
- action: async (ctx) => {
95
- const task = ctx.flags.task;
96
- const rootPath = ctx.flags.root || './CLAUDE.md';
97
- const localPath = ctx.flags.local;
98
- const maxShards = parseInt(ctx.flags['max-shards'] || '5', 10);
99
- const intentOverride = ctx.flags.intent;
100
- const jsonOutput = ctx.flags.json === true;
101
- if (!task) {
102
- output.writeln(output.error('Task description is required (-t "...")'));
103
- return { success: false, message: 'Missing task description' };
104
- }
105
- output.writeln();
106
- output.writeln(output.bold('Guidance Retriever'));
107
- output.writeln(output.dim(''.repeat(50)));
108
- try {
109
- const { readFile } = await import('node:fs/promises');
110
- const { existsSync } = await import('node:fs');
111
- const { GuidanceCompiler } = await import('@claude-flow/guidance/compiler');
112
- const { ShardRetriever, HashEmbeddingProvider } = await import('@claude-flow/guidance/retriever');
113
- if (!existsSync(rootPath)) {
114
- output.writeln(output.error(`Root guidance file not found: ${rootPath}`));
115
- return { success: false, message: `File not found: ${rootPath}` };
116
- }
117
- const rootContent = await readFile(rootPath, 'utf-8');
118
- let localContent;
119
- if (localPath && existsSync(localPath)) {
120
- localContent = await readFile(localPath, 'utf-8');
121
- }
122
- const compiler = new GuidanceCompiler();
123
- const bundle = compiler.compile(rootContent, localContent);
124
- const retriever = new ShardRetriever(new HashEmbeddingProvider(128));
125
- await retriever.loadBundle(bundle);
126
- const result = await retriever.retrieve({
127
- taskDescription: task,
128
- maxShards,
129
- intent: intentOverride,
130
- });
131
- if (jsonOutput) {
132
- output.writeln(JSON.stringify(result, null, 2));
133
- }
134
- else {
135
- output.writeln(` Detected intent: ${output.bold(result.detectedIntent)}`);
136
- output.writeln(` Retrieval time: ${output.dim(result.latencyMs + 'ms')}`);
137
- output.writeln(` Constitution: ${output.bold(String(result.constitution.rules.length))} rules`);
138
- output.writeln(` Shards: ${output.bold(String(result.shards.length))} retrieved`);
139
- output.writeln();
140
- if (result.shards.length > 0) {
141
- output.writeln(output.dim('Retrieved shards:'));
142
- for (const shard of result.shards) {
143
- output.writeln(` ${output.bold(shard.shard.rule.id)} [${shard.shard.rule.riskClass}] ${shard.shard.rule.text.slice(0, 60)}`);
149
+ action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
150
+ var task, rootPath, localPath, maxShards, intentOverride, jsonOutput, readFile, existsSync, GuidanceCompiler, _a, ShardRetriever, HashEmbeddingProvider, rootContent, localContent, compiler, bundle, retriever, result, _i, _b, shard, lines, _c, lines_1, line, error_2, msg;
151
+ return __generator(this, function (_d) {
152
+ switch (_d.label) {
153
+ case 0:
154
+ task = ctx.flags.task;
155
+ rootPath = ctx.flags.root || './CLAUDE.md';
156
+ localPath = ctx.flags.local;
157
+ maxShards = parseInt(ctx.flags['max-shards'] || '5', 10);
158
+ intentOverride = ctx.flags.intent;
159
+ jsonOutput = ctx.flags.json === true;
160
+ if (!task) {
161
+ output.writeln(output.error('Task description is required (-t "...")'));
162
+ return [2 /*return*/, { success: false, message: 'Missing task description' }];
144
163
  }
145
- }
146
- output.writeln();
147
- output.writeln(output.dim('Policy text preview:'));
148
- const lines = result.policyText.split('\n').slice(0, 15);
149
- for (const line of lines) {
150
- output.writeln(` ${line}`);
151
- }
152
- if (result.policyText.split('\n').length > 15) {
153
- output.writeln(output.dim(' ...'));
154
- }
155
- }
156
- return { success: true, data: result };
157
- }
158
- catch (error) {
159
- const msg = error instanceof Error ? error.message : String(error);
160
- output.writeln(output.error(`Retrieval failed: ${msg}`));
161
- return { success: false, message: msg };
162
- }
163
- },
164
+ output.writeln();
165
+ output.writeln(output.bold('Guidance Retriever'));
166
+ output.writeln(output.dim(''.repeat(50)));
167
+ _d.label = 1;
168
+ case 1:
169
+ _d.trys.push([1, 11, , 12]);
170
+ return [4 /*yield*/, import('node:fs/promises')];
171
+ case 2:
172
+ readFile = (_d.sent()).readFile;
173
+ return [4 /*yield*/, import('node:fs')];
174
+ case 3:
175
+ existsSync = (_d.sent()).existsSync;
176
+ return [4 /*yield*/, import('@claude-flow/guidance/compiler')];
177
+ case 4:
178
+ GuidanceCompiler = (_d.sent()).GuidanceCompiler;
179
+ return [4 /*yield*/, import('@claude-flow/guidance/retriever')];
180
+ case 5:
181
+ _a = _d.sent(), ShardRetriever = _a.ShardRetriever, HashEmbeddingProvider = _a.HashEmbeddingProvider;
182
+ if (!existsSync(rootPath)) {
183
+ output.writeln(output.error("Root guidance file not found: " + rootPath));
184
+ return [2 /*return*/, { success: false, message: "File not found: " + rootPath }];
185
+ }
186
+ return [4 /*yield*/, readFile(rootPath, 'utf-8')];
187
+ case 6:
188
+ rootContent = _d.sent();
189
+ localContent = void 0;
190
+ if (!(localPath && existsSync(localPath))) return [3 /*break*/, 8];
191
+ return [4 /*yield*/, readFile(localPath, 'utf-8')];
192
+ case 7:
193
+ localContent = _d.sent();
194
+ _d.label = 8;
195
+ case 8:
196
+ compiler = new GuidanceCompiler();
197
+ bundle = compiler.compile(rootContent, localContent);
198
+ retriever = new ShardRetriever(new HashEmbeddingProvider(128));
199
+ return [4 /*yield*/, retriever.loadBundle(bundle)];
200
+ case 9:
201
+ _d.sent();
202
+ return [4 /*yield*/, retriever.retrieve({
203
+ taskDescription: task,
204
+ maxShards: maxShards,
205
+ intent: intentOverride
206
+ })];
207
+ case 10:
208
+ result = _d.sent();
209
+ if (jsonOutput) {
210
+ output.writeln(JSON.stringify(result, null, 2));
211
+ }
212
+ else {
213
+ output.writeln(" Detected intent: " + output.bold(result.detectedIntent));
214
+ output.writeln(" Retrieval time: " + output.dim(result.latencyMs + 'ms'));
215
+ output.writeln(" Constitution: " + output.bold(String(result.constitution.rules.length)) + " rules");
216
+ output.writeln(" Shards: " + output.bold(String(result.shards.length)) + " retrieved");
217
+ output.writeln();
218
+ if (result.shards.length > 0) {
219
+ output.writeln(output.dim('Retrieved shards:'));
220
+ for (_i = 0, _b = result.shards; _i < _b.length; _i++) {
221
+ shard = _b[_i];
222
+ output.writeln(" " + output.bold(shard.shard.rule.id) + " [" + shard.shard.rule.riskClass + "] " + shard.shard.rule.text.slice(0, 60));
223
+ }
224
+ }
225
+ output.writeln();
226
+ output.writeln(output.dim('Policy text preview:'));
227
+ lines = result.policyText.split('\n').slice(0, 15);
228
+ for (_c = 0, lines_1 = lines; _c < lines_1.length; _c++) {
229
+ line = lines_1[_c];
230
+ output.writeln(" " + line);
231
+ }
232
+ if (result.policyText.split('\n').length > 15) {
233
+ output.writeln(output.dim(' ...'));
234
+ }
235
+ }
236
+ return [2 /*return*/, { success: true, data: result }];
237
+ case 11:
238
+ error_2 = _d.sent();
239
+ msg = error_2 instanceof Error ? error_2.message : String(error_2);
240
+ output.writeln(output.error("Retrieval failed: " + msg));
241
+ return [2 /*return*/, { success: false, message: msg }];
242
+ case 12: return [2 /*return*/];
243
+ }
244
+ });
245
+ }); }
164
246
  };
165
247
  // gates subcommand
166
- const gatesCommand = {
248
+ var gatesCommand = {
167
249
  name: 'gates',
168
250
  description: 'Evaluate enforcement gates against a command or content',
169
251
  options: [
170
252
  { name: 'command', short: 'c', type: 'string', description: 'Command to evaluate' },
171
253
  { name: 'content', type: 'string', description: 'Content to check for secrets' },
172
254
  { name: 'tool', short: 't', type: 'string', description: 'Tool name to check against allowlist' },
173
- { name: 'json', type: 'boolean', description: 'Output as JSON', default: 'false' },
255
+ { name: 'json', type: 'boolean', description: 'Output as JSON', "default": 'false' },
174
256
  ],
175
257
  examples: [
176
258
  { command: 'claude-flow guidance gates -c "rm -rf /tmp"', description: 'Check if a command is destructive' },
177
259
  { command: 'claude-flow guidance gates --content "api_key=sk-abc123..."', description: 'Check content for secrets' },
178
260
  ],
179
- action: async (ctx) => {
180
- const command = ctx.flags.command;
181
- const content = ctx.flags.content;
182
- const tool = ctx.flags.tool;
183
- const jsonOutput = ctx.flags.json === true;
184
- output.writeln();
185
- output.writeln(output.bold('Enforcement Gates'));
186
- output.writeln(output.dim('─'.repeat(50)));
187
- try {
188
- const { EnforcementGates } = await import('@claude-flow/guidance/gates');
189
- const gates = new EnforcementGates();
190
- const results = [];
191
- if (command) {
192
- const gateResults = gates.evaluateCommand(command);
193
- results.push({ type: 'command', result: gateResults });
194
- }
195
- if (content) {
196
- const secretResult = gates.evaluateSecrets(content);
197
- results.push({ type: 'secrets', result: secretResult });
198
- }
199
- if (tool) {
200
- const toolResult = gates.evaluateToolAllowlist(tool);
201
- results.push({ type: 'tool-allowlist', result: toolResult });
202
- }
203
- if (results.length === 0) {
204
- output.writeln(output.warning('No input provided. Use -c, --content, or -t to evaluate.'));
205
- return { success: false, message: 'No input' };
206
- }
207
- if (jsonOutput) {
208
- output.writeln(JSON.stringify(results, null, 2));
209
- }
210
- else {
211
- for (const { type, result } of results) {
212
- output.writeln(` ${output.bold(type)}:`);
213
- if (result === null) {
214
- output.writeln(` ${output.success('ALLOW')} - No gate triggered`);
261
+ action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
262
+ var command, content, tool, jsonOutput, EnforcementGates, gates, results, gateResults, secretResult, toolResult, _i, results_1, _a, type, result, _b, result_1, r, color, color, error_3, msg;
263
+ return __generator(this, function (_c) {
264
+ switch (_c.label) {
265
+ case 0:
266
+ command = ctx.flags.command;
267
+ content = ctx.flags.content;
268
+ tool = ctx.flags.tool;
269
+ jsonOutput = ctx.flags.json === true;
270
+ output.writeln();
271
+ output.writeln(output.bold('Enforcement Gates'));
272
+ output.writeln(output.dim('─'.repeat(50)));
273
+ _c.label = 1;
274
+ case 1:
275
+ _c.trys.push([1, 3, , 4]);
276
+ return [4 /*yield*/, import('@claude-flow/guidance/gates')];
277
+ case 2:
278
+ EnforcementGates = (_c.sent()).EnforcementGates;
279
+ gates = new EnforcementGates();
280
+ results = [];
281
+ if (command) {
282
+ gateResults = gates.evaluateCommand(command);
283
+ results.push({ type: 'command', result: gateResults });
215
284
  }
216
- else if (Array.isArray(result)) {
217
- if (result.length === 0) {
218
- output.writeln(` ${output.success('ALLOW')} - All gates passed`);
219
- }
220
- else {
221
- for (const r of result) {
222
- const color = r.decision === 'block' ? output.error.bind(output) :
223
- r.decision === 'require-confirmation' ? output.warning.bind(output) :
285
+ if (content) {
286
+ secretResult = gates.evaluateSecrets(content);
287
+ results.push({ type: 'secrets', result: secretResult });
288
+ }
289
+ if (tool) {
290
+ toolResult = gates.evaluateToolAllowlist(tool);
291
+ results.push({ type: 'tool-allowlist', result: toolResult });
292
+ }
293
+ if (results.length === 0) {
294
+ output.writeln(output.warning('No input provided. Use -c, --content, or -t to evaluate.'));
295
+ return [2 /*return*/, { success: false, message: 'No input' }];
296
+ }
297
+ if (jsonOutput) {
298
+ output.writeln(JSON.stringify(results, null, 2));
299
+ }
300
+ else {
301
+ for (_i = 0, results_1 = results; _i < results_1.length; _i++) {
302
+ _a = results_1[_i], type = _a.type, result = _a.result;
303
+ output.writeln(" " + output.bold(type) + ":");
304
+ if (result === null) {
305
+ output.writeln(" " + output.success('ALLOW') + " - No gate triggered");
306
+ }
307
+ else if (Array.isArray(result)) {
308
+ if (result.length === 0) {
309
+ output.writeln(" " + output.success('ALLOW') + " - All gates passed");
310
+ }
311
+ else {
312
+ for (_b = 0, result_1 = result; _b < result_1.length; _b++) {
313
+ r = result_1[_b];
314
+ color = r.decision === 'block' ? output.error.bind(output) :
315
+ r.decision === 'require-confirmation' ? output.warning.bind(output) :
316
+ output.dim.bind(output);
317
+ output.writeln(" " + color(r.decision.toUpperCase()) + " [" + r.gateName + "] " + r.reason);
318
+ if (r.remediation) {
319
+ output.writeln(" Remediation: " + output.dim(r.remediation));
320
+ }
321
+ }
322
+ }
323
+ }
324
+ else {
325
+ color = result.decision === 'block' ? output.error.bind(output) :
326
+ result.decision === 'require-confirmation' ? output.warning.bind(output) :
224
327
  output.dim.bind(output);
225
- output.writeln(` ${color(r.decision.toUpperCase())} [${r.gateName}] ${r.reason}`);
226
- if (r.remediation) {
227
- output.writeln(` Remediation: ${output.dim(r.remediation)}`);
328
+ output.writeln(" " + color(result.decision.toUpperCase()) + " [" + result.gateName + "] " + result.reason);
329
+ if (result.remediation) {
330
+ output.writeln(" Remediation: " + output.dim(result.remediation));
228
331
  }
229
332
  }
230
333
  }
231
334
  }
232
- else {
233
- const color = result.decision === 'block' ? output.error.bind(output) :
234
- result.decision === 'require-confirmation' ? output.warning.bind(output) :
235
- output.dim.bind(output);
236
- output.writeln(` ${color(result.decision.toUpperCase())} [${result.gateName}] ${result.reason}`);
237
- if (result.remediation) {
238
- output.writeln(` Remediation: ${output.dim(result.remediation)}`);
239
- }
240
- }
241
- }
242
- }
243
- return { success: true, data: results };
244
- }
245
- catch (error) {
246
- const msg = error instanceof Error ? error.message : String(error);
247
- output.writeln(output.error(`Gate evaluation failed: ${msg}`));
248
- return { success: false, message: msg };
249
- }
250
- },
335
+ return [2 /*return*/, { success: true, data: results }];
336
+ case 3:
337
+ error_3 = _c.sent();
338
+ msg = error_3 instanceof Error ? error_3.message : String(error_3);
339
+ output.writeln(output.error("Gate evaluation failed: " + msg));
340
+ return [2 /*return*/, { success: false, message: msg }];
341
+ case 4: return [2 /*return*/];
342
+ }
343
+ });
344
+ }); }
251
345
  };
252
346
  // status subcommand
253
- const statusCommand = {
347
+ var statusCommand = {
254
348
  name: 'status',
255
349
  description: 'Show guidance control plane status and metrics',
256
350
  options: [
257
- { name: 'json', type: 'boolean', description: 'Output as JSON', default: 'false' },
351
+ { name: 'json', type: 'boolean', description: 'Output as JSON', "default": 'false' },
258
352
  ],
259
- action: async (ctx) => {
260
- const jsonOutput = ctx.flags.json === true;
261
- output.writeln();
262
- output.writeln(output.bold('Guidance Control Plane Status'));
263
- output.writeln(output.dim('─'.repeat(50)));
264
- try {
265
- const { existsSync } = await import('node:fs');
266
- const rootExists = existsSync('./CLAUDE.md');
267
- const localExists = existsSync('./CLAUDE.local.md');
268
- const statusData = {
269
- rootGuidance: rootExists ? 'found' : 'not found',
270
- localOverlay: localExists ? 'found' : 'not configured',
271
- dataDir: existsSync('./.claude-flow/guidance') ? 'exists' : 'not created',
272
- };
273
- if (jsonOutput) {
274
- output.writeln(JSON.stringify(statusData, null, 2));
275
- }
276
- else {
277
- output.writeln(` Root guidance: ${rootExists ? output.success('CLAUDE.md found') : output.warning('CLAUDE.md not found')}`);
278
- output.writeln(` Local overlay: ${localExists ? output.success('CLAUDE.local.md found') : output.dim('not configured')}`);
279
- output.writeln(` Data directory: ${statusData.dataDir === 'exists' ? output.success('exists') : output.dim('not created')}`);
280
- if (rootExists) {
281
- const { readFile } = await import('node:fs/promises');
282
- const { GuidanceCompiler } = await import('@claude-flow/guidance/compiler');
283
- const rootContent = await readFile('./CLAUDE.md', 'utf-8');
284
- const compiler = new GuidanceCompiler();
285
- const bundle = compiler.compile(rootContent);
353
+ action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
354
+ var jsonOutput, existsSync, rootExists, localExists, statusData, readFile, GuidanceCompiler, rootContent, compiler, bundle, error_4, msg;
355
+ return __generator(this, function (_a) {
356
+ switch (_a.label) {
357
+ case 0:
358
+ jsonOutput = ctx.flags.json === true;
359
+ output.writeln();
360
+ output.writeln(output.bold('Guidance Control Plane Status'));
361
+ output.writeln(output.dim('─'.repeat(50)));
362
+ _a.label = 1;
363
+ case 1:
364
+ _a.trys.push([1, 8, , 9]);
365
+ return [4 /*yield*/, import('node:fs')];
366
+ case 2:
367
+ existsSync = (_a.sent()).existsSync;
368
+ rootExists = existsSync('./CLAUDE.md');
369
+ localExists = existsSync('./CLAUDE.local.md');
370
+ statusData = {
371
+ rootGuidance: rootExists ? 'found' : 'not found',
372
+ localOverlay: localExists ? 'found' : 'not configured',
373
+ dataDir: existsSync('./.claude-flow/guidance') ? 'exists' : 'not created'
374
+ };
375
+ if (!jsonOutput) return [3 /*break*/, 3];
376
+ output.writeln(JSON.stringify(statusData, null, 2));
377
+ return [3 /*break*/, 7];
378
+ case 3:
379
+ output.writeln(" Root guidance: " + (rootExists ? output.success('CLAUDE.md found') : output.warning('CLAUDE.md not found')));
380
+ output.writeln(" Local overlay: " + (localExists ? output.success('CLAUDE.local.md found') : output.dim('not configured')));
381
+ output.writeln(" Data directory: " + (statusData.dataDir === 'exists' ? output.success('exists') : output.dim('not created')));
382
+ if (!rootExists) return [3 /*break*/, 7];
383
+ return [4 /*yield*/, import('node:fs/promises')];
384
+ case 4:
385
+ readFile = (_a.sent()).readFile;
386
+ return [4 /*yield*/, import('@claude-flow/guidance/compiler')];
387
+ case 5:
388
+ GuidanceCompiler = (_a.sent()).GuidanceCompiler;
389
+ return [4 /*yield*/, readFile('./CLAUDE.md', 'utf-8')];
390
+ case 6:
391
+ rootContent = _a.sent();
392
+ compiler = new GuidanceCompiler();
393
+ bundle = compiler.compile(rootContent);
286
394
  output.writeln();
287
395
  output.writeln(output.dim('Compiled bundle:'));
288
- output.writeln(` Constitution rules: ${output.bold(String(bundle.constitution.rules.length))}`);
289
- output.writeln(` Shard count: ${output.bold(String(bundle.shards.length))}`);
290
- output.writeln(` Total rules: ${output.bold(String(bundle.manifest.totalRules))}`);
291
- output.writeln(` Hash: ${output.dim(bundle.constitution.hash)}`);
292
- }
293
- }
294
- return { success: true, data: statusData };
295
- }
296
- catch (error) {
297
- const msg = error instanceof Error ? error.message : String(error);
298
- output.writeln(output.error(`Status check failed: ${msg}`));
299
- return { success: false, message: msg };
300
- }
301
- },
396
+ output.writeln(" Constitution rules: " + output.bold(String(bundle.constitution.rules.length)));
397
+ output.writeln(" Shard count: " + output.bold(String(bundle.shards.length)));
398
+ output.writeln(" Total rules: " + output.bold(String(bundle.manifest.totalRules)));
399
+ output.writeln(" Hash: " + output.dim(bundle.constitution.hash));
400
+ _a.label = 7;
401
+ case 7: return [2 /*return*/, { success: true, data: statusData }];
402
+ case 8:
403
+ error_4 = _a.sent();
404
+ msg = error_4 instanceof Error ? error_4.message : String(error_4);
405
+ output.writeln(output.error("Status check failed: " + msg));
406
+ return [2 /*return*/, { success: false, message: msg }];
407
+ case 9: return [2 /*return*/];
408
+ }
409
+ });
410
+ }); }
302
411
  };
303
412
  // optimize subcommand
304
- const optimizeCommand = {
413
+ var optimizeCommand = {
305
414
  name: 'optimize',
306
415
  description: 'Analyze and optimize a CLAUDE.md file for structure, coverage, and enforceability',
307
416
  options: [
308
- { name: 'root', short: 'r', type: 'string', description: 'Root guidance file path', default: './CLAUDE.md' },
417
+ { name: 'root', short: 'r', type: 'string', description: 'Root guidance file path', "default": './CLAUDE.md' },
309
418
  { name: 'local', short: 'l', type: 'string', description: 'Local overlay file path' },
310
- { name: 'apply', short: 'a', type: 'boolean', description: 'Apply optimizations to the file', default: 'false' },
311
- { name: 'context-size', short: 's', type: 'string', description: 'Target context size: compact, standard, full', default: 'standard' },
312
- { name: 'target-score', type: 'number', description: 'Target composite score (0-100)', default: '90' },
313
- { name: 'max-iterations', type: 'number', description: 'Maximum optimization iterations', default: '5' },
314
- { name: 'json', type: 'boolean', description: 'Output as JSON', default: 'false' },
419
+ { name: 'apply', short: 'a', type: 'boolean', description: 'Apply optimizations to the file', "default": 'false' },
420
+ { name: 'context-size', short: 's', type: 'string', description: 'Target context size: compact, standard, full', "default": 'standard' },
421
+ { name: 'target-score', type: 'number', description: 'Target composite score (0-100)', "default": '90' },
422
+ { name: 'max-iterations', type: 'number', description: 'Maximum optimization iterations', "default": '5' },
423
+ { name: 'json', type: 'boolean', description: 'Output as JSON', "default": 'false' },
315
424
  ],
316
425
  examples: [
317
426
  { command: 'claude-flow guidance optimize', description: 'Analyze current CLAUDE.md and show suggestions' },
@@ -319,102 +428,121 @@ const optimizeCommand = {
319
428
  { command: 'claude-flow guidance optimize -s compact --apply', description: 'Optimize for compact context window' },
320
429
  { command: 'claude-flow guidance optimize --target-score 95', description: 'Optimize until score reaches 95' },
321
430
  ],
322
- action: async (ctx) => {
323
- const rootPath = ctx.flags.root || './CLAUDE.md';
324
- const localPath = ctx.flags.local;
325
- const applyChanges = ctx.flags.apply === true;
326
- const contextSize = (ctx.flags['context-size'] || 'standard');
327
- const targetScore = parseInt(ctx.flags['target-score'] || '90', 10);
328
- const maxIterations = parseInt(ctx.flags['max-iterations'] || '5', 10);
329
- const jsonOutput = ctx.flags.json === true;
330
- output.writeln();
331
- output.writeln(output.bold('Guidance Optimizer'));
332
- output.writeln(output.dim(''.repeat(50)));
333
- try {
334
- const { readFile, writeFile } = await import('node:fs/promises');
335
- const { existsSync } = await import('node:fs');
336
- if (!existsSync(rootPath)) {
337
- output.writeln(output.error(`Root guidance file not found: ${rootPath}`));
338
- return { success: false, message: `File not found: ${rootPath}` };
339
- }
340
- const rootContent = await readFile(rootPath, 'utf-8');
341
- let localContent;
342
- if (localPath && existsSync(localPath)) {
343
- localContent = await readFile(localPath, 'utf-8');
344
- }
345
- // Step 1: Analyze current state
346
- const { analyze, formatReport, optimizeForSize, formatBenchmark } = await import('@claude-flow/guidance/analyzer');
347
- const analysis = analyze(rootContent, localContent);
348
- if (jsonOutput && !applyChanges) {
349
- output.writeln(JSON.stringify(analysis, null, 2));
350
- return { success: true, data: analysis };
351
- }
352
- // Show current analysis
353
- output.writeln(formatReport(analysis));
354
- output.writeln();
355
- if (analysis.compositeScore >= targetScore) {
356
- output.writeln(output.success(`Score ${analysis.compositeScore}/100 already meets target ${targetScore}. No optimization needed.`));
357
- return { success: true, data: analysis };
358
- }
359
- // Step 2: Run optimization
360
- output.writeln(output.dim(`Optimizing (target: ${targetScore}, context: ${contextSize}, max iterations: ${maxIterations})...`));
361
- const result = optimizeForSize(rootContent, {
362
- contextSize,
363
- localContent,
364
- maxIterations,
365
- targetScore,
366
- });
367
- if (jsonOutput) {
368
- output.writeln(JSON.stringify({
369
- before: analysis,
370
- after: result.benchmark.after,
371
- delta: result.benchmark.delta,
372
- steps: result.appliedSteps,
373
- }, null, 2));
374
- return { success: true, data: result };
375
- }
376
- // Show benchmark comparison
377
- output.writeln();
378
- output.writeln(formatBenchmark(result.benchmark));
379
- output.writeln();
380
- if (result.appliedSteps.length > 0) {
381
- output.writeln(`Applied ${output.bold(String(result.appliedSteps.length))} optimization steps:`);
382
- for (const step of result.appliedSteps) {
383
- output.writeln(` ${output.success('+')} ${step}`);
384
- }
385
- output.writeln();
386
- }
387
- // Step 3: Apply if requested
388
- if (applyChanges) {
389
- await writeFile(rootPath, result.optimized, 'utf-8');
390
- output.writeln(output.success(`Optimized CLAUDE.md written to ${rootPath}`));
391
- output.writeln(` Before: ${analysis.compositeScore}/100 (${analysis.grade})`);
392
- output.writeln(` After: ${result.benchmark.after.compositeScore}/100 (${result.benchmark.after.grade})`);
393
- output.writeln(` Delta: ${result.benchmark.delta >= 0 ? '+' : ''}${result.benchmark.delta}`);
394
- }
395
- else {
396
- output.writeln(output.warning('Dry run - use --apply to write changes.'));
397
- output.writeln(` Projected: ${analysis.compositeScore} ${result.benchmark.after.compositeScore}/100`);
398
- }
399
- return { success: true, data: result };
400
- }
401
- catch (error) {
402
- const msg = error instanceof Error ? error.message : String(error);
403
- output.writeln(output.error(`Optimization failed: ${msg}`));
404
- return { success: false, message: msg };
405
- }
406
- },
431
+ action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
432
+ var rootPath, localPath, applyChanges, contextSize, targetScore, maxIterations, jsonOutput, _a, readFile, writeFile, existsSync, rootContent, localContent, _b, analyze, formatReport, optimizeForSize, formatBenchmark, analysis, result, _i, _c, step, error_5, msg;
433
+ return __generator(this, function (_d) {
434
+ switch (_d.label) {
435
+ case 0:
436
+ rootPath = ctx.flags.root || './CLAUDE.md';
437
+ localPath = ctx.flags.local;
438
+ applyChanges = ctx.flags.apply === true;
439
+ contextSize = (ctx.flags['context-size'] || 'standard');
440
+ targetScore = parseInt(ctx.flags['target-score'] || '90', 10);
441
+ maxIterations = parseInt(ctx.flags['max-iterations'] || '5', 10);
442
+ jsonOutput = ctx.flags.json === true;
443
+ output.writeln();
444
+ output.writeln(output.bold('Guidance Optimizer'));
445
+ output.writeln(output.dim('─'.repeat(50)));
446
+ _d.label = 1;
447
+ case 1:
448
+ _d.trys.push([1, 11, , 12]);
449
+ return [4 /*yield*/, import('node:fs/promises')];
450
+ case 2:
451
+ _a = _d.sent(), readFile = _a.readFile, writeFile = _a.writeFile;
452
+ return [4 /*yield*/, import('node:fs')];
453
+ case 3:
454
+ existsSync = (_d.sent()).existsSync;
455
+ if (!existsSync(rootPath)) {
456
+ output.writeln(output.error("Root guidance file not found: " + rootPath));
457
+ return [2 /*return*/, { success: false, message: "File not found: " + rootPath }];
458
+ }
459
+ return [4 /*yield*/, readFile(rootPath, 'utf-8')];
460
+ case 4:
461
+ rootContent = _d.sent();
462
+ localContent = void 0;
463
+ if (!(localPath && existsSync(localPath))) return [3 /*break*/, 6];
464
+ return [4 /*yield*/, readFile(localPath, 'utf-8')];
465
+ case 5:
466
+ localContent = _d.sent();
467
+ _d.label = 6;
468
+ case 6: return [4 /*yield*/, import('@claude-flow/guidance/analyzer')];
469
+ case 7:
470
+ _b = _d.sent(), analyze = _b.analyze, formatReport = _b.formatReport, optimizeForSize = _b.optimizeForSize, formatBenchmark = _b.formatBenchmark;
471
+ analysis = analyze(rootContent, localContent);
472
+ if (jsonOutput && !applyChanges) {
473
+ output.writeln(JSON.stringify(analysis, null, 2));
474
+ return [2 /*return*/, { success: true, data: analysis }];
475
+ }
476
+ // Show current analysis
477
+ output.writeln(formatReport(analysis));
478
+ output.writeln();
479
+ if (analysis.compositeScore >= targetScore) {
480
+ output.writeln(output.success("Score " + analysis.compositeScore + "/100 already meets target " + targetScore + ". No optimization needed."));
481
+ return [2 /*return*/, { success: true, data: analysis }];
482
+ }
483
+ // Step 2: Run optimization
484
+ output.writeln(output.dim("Optimizing (target: " + targetScore + ", context: " + contextSize + ", max iterations: " + maxIterations + ")..."));
485
+ result = optimizeForSize(rootContent, {
486
+ contextSize: contextSize,
487
+ localContent: localContent,
488
+ maxIterations: maxIterations,
489
+ targetScore: targetScore
490
+ });
491
+ if (jsonOutput) {
492
+ output.writeln(JSON.stringify({
493
+ before: analysis,
494
+ after: result.benchmark.after,
495
+ delta: result.benchmark.delta,
496
+ steps: result.appliedSteps
497
+ }, null, 2));
498
+ return [2 /*return*/, { success: true, data: result }];
499
+ }
500
+ // Show benchmark comparison
501
+ output.writeln();
502
+ output.writeln(formatBenchmark(result.benchmark));
503
+ output.writeln();
504
+ if (result.appliedSteps.length > 0) {
505
+ output.writeln("Applied " + output.bold(String(result.appliedSteps.length)) + " optimization steps:");
506
+ for (_i = 0, _c = result.appliedSteps; _i < _c.length; _i++) {
507
+ step = _c[_i];
508
+ output.writeln(" " + output.success('+') + " " + step);
509
+ }
510
+ output.writeln();
511
+ }
512
+ if (!applyChanges) return [3 /*break*/, 9];
513
+ return [4 /*yield*/, writeFile(rootPath, result.optimized, 'utf-8')];
514
+ case 8:
515
+ _d.sent();
516
+ output.writeln(output.success("Optimized CLAUDE.md written to " + rootPath));
517
+ output.writeln(" Before: " + analysis.compositeScore + "/100 (" + analysis.grade + ")");
518
+ output.writeln(" After: " + result.benchmark.after.compositeScore + "/100 (" + result.benchmark.after.grade + ")");
519
+ output.writeln(" Delta: " + (result.benchmark.delta >= 0 ? '+' : '') + result.benchmark.delta);
520
+ return [3 /*break*/, 10];
521
+ case 9:
522
+ output.writeln(output.warning('Dry run - use --apply to write changes.'));
523
+ output.writeln(" Projected: " + analysis.compositeScore + " \u2192 " + result.benchmark.after.compositeScore + "/100");
524
+ _d.label = 10;
525
+ case 10: return [2 /*return*/, { success: true, data: result }];
526
+ case 11:
527
+ error_5 = _d.sent();
528
+ msg = error_5 instanceof Error ? error_5.message : String(error_5);
529
+ output.writeln(output.error("Optimization failed: " + msg));
530
+ return [2 /*return*/, { success: false, message: msg }];
531
+ case 12: return [2 /*return*/];
532
+ }
533
+ });
534
+ }); }
407
535
  };
408
536
  // ab-test subcommand
409
- const abTestCommand = {
537
+ var abTestCommand = {
410
538
  name: 'ab-test',
411
539
  description: 'Run A/B behavioral comparison between two CLAUDE.md versions',
412
540
  options: [
413
541
  { name: 'config-a', short: 'a', type: 'string', description: 'Path to Config A (baseline CLAUDE.md). Defaults to no guidance.' },
414
- { name: 'config-b', short: 'b', type: 'string', description: 'Path to Config B (candidate CLAUDE.md)', default: './CLAUDE.md' },
542
+ { name: 'config-b', short: 'b', type: 'string', description: 'Path to Config B (candidate CLAUDE.md)', "default": './CLAUDE.md' },
415
543
  { name: 'tasks', short: 't', type: 'string', description: 'Path to custom task JSON file (array of ABTask objects)' },
416
544
  { name: 'work-dir', short: 'w', type: 'string', description: 'Working directory for test execution' },
417
- { name: 'json', type: 'boolean', description: 'Output as JSON', default: 'false' },
545
+ { name: 'json', type: 'boolean', description: 'Output as JSON', "default": 'false' },
418
546
  ],
419
547
  examples: [
420
548
  { command: 'claude-flow guidance ab-test', description: 'Run default A/B test (no guidance vs ./CLAUDE.md)' },
@@ -422,103 +550,120 @@ const abTestCommand = {
422
550
  { command: 'claude-flow guidance ab-test --tasks custom-tasks.json', description: 'Run with custom test tasks' },
423
551
  { command: 'claude-flow guidance ab-test --json', description: 'Output full report as JSON' },
424
552
  ],
425
- action: async (ctx) => {
426
- const configAPath = ctx.flags['config-a'];
427
- const configBPath = ctx.flags['config-b'] || './CLAUDE.md';
428
- const tasksPath = ctx.flags.tasks;
429
- const workDir = ctx.flags['work-dir'];
430
- const jsonOutput = ctx.flags.json === true;
431
- output.writeln();
432
- output.writeln(output.bold('A/B Behavioral Benchmark'));
433
- output.writeln(output.dim(''.repeat(50)));
434
- try {
435
- const { readFile } = await import('node:fs/promises');
436
- const { existsSync } = await import('node:fs');
437
- const { abBenchmark, getDefaultABTasks } = await import('@claude-flow/guidance/analyzer');
438
- // Load Config B (candidate) content
439
- if (!existsSync(configBPath)) {
440
- output.writeln(output.error(`Config B file not found: ${configBPath}`));
441
- return { success: false, message: `File not found: ${configBPath}` };
442
- }
443
- const configBContent = await readFile(configBPath, 'utf-8');
444
- // Optionally load Config A for display context
445
- let configALabel = 'No control plane (baseline)';
446
- if (configAPath) {
447
- if (!existsSync(configAPath)) {
448
- output.writeln(output.error(`Config A file not found: ${configAPath}`));
449
- return { success: false, message: `File not found: ${configAPath}` };
450
- }
451
- configALabel = configAPath;
452
- }
453
- // Load custom tasks if provided
454
- let customTasks;
455
- if (tasksPath) {
456
- if (!existsSync(tasksPath)) {
457
- output.writeln(output.error(`Tasks file not found: ${tasksPath}`));
458
- return { success: false, message: `File not found: ${tasksPath}` };
459
- }
460
- const tasksJson = await readFile(tasksPath, 'utf-8');
461
- customTasks = JSON.parse(tasksJson);
462
- output.writeln(` Custom tasks: ${output.bold(String(customTasks.length))} loaded from ${tasksPath}`);
463
- }
464
- output.writeln(` Config A: ${output.dim(configALabel)}`);
465
- output.writeln(` Config B: ${output.dim(configBPath)}`);
466
- output.writeln(` Tasks: ${output.dim(customTasks ? `${customTasks.length} custom` : `${getDefaultABTasks().length} default`)}`);
467
- output.writeln();
468
- output.writeln(output.dim('Running benchmark...'));
469
- // Run the A/B benchmark
470
- const report = await abBenchmark(configBContent, {
471
- tasks: customTasks,
472
- workDir,
473
- });
474
- if (jsonOutput) {
475
- output.writeln(JSON.stringify({
476
- configA: { label: configALabel, metrics: report.configA.metrics },
477
- configB: { label: configBPath, metrics: report.configB.metrics },
478
- compositeDelta: report.compositeDelta,
479
- classDeltas: report.classDeltas,
480
- categoryShift: report.categoryShift,
481
- taskResults: {
482
- configA: report.configA.taskResults.map(r => ({
483
- taskId: r.taskId, taskClass: r.taskClass, passed: r.passed,
484
- violations: r.violations.length, toolCalls: r.toolCalls,
485
- })),
486
- configB: report.configB.taskResults.map(r => ({
487
- taskId: r.taskId, taskClass: r.taskClass, passed: r.passed,
488
- violations: r.violations.length, toolCalls: r.toolCalls,
489
- })),
490
- },
491
- }, null, 2));
492
- return { success: true, data: report };
493
- }
494
- // Print formatted report
495
- output.writeln(report.report);
496
- output.writeln();
497
- // Summary verdict
498
- const delta = report.compositeDelta;
499
- if (delta > 0.05) {
500
- output.writeln(output.success(`Config B is better (+${delta} composite delta)`));
501
- }
502
- else if (delta < -0.05) {
503
- output.writeln(output.error(`Config B is worse (${delta} composite delta)`));
504
- }
505
- else {
506
- output.writeln(output.warning(`No significant difference (${delta} composite delta)`));
507
- }
508
- if (report.categoryShift) {
509
- output.writeln(output.success('Category shift detected: 3+ task classes improved by 20%+'));
510
- }
511
- return { success: true, data: report };
512
- }
513
- catch (error) {
514
- const msg = error instanceof Error ? error.message : String(error);
515
- output.writeln(output.error(`A/B benchmark failed: ${msg}`));
516
- return { success: false, message: msg };
517
- }
518
- },
553
+ action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
554
+ var configAPath, configBPath, tasksPath, workDir, jsonOutput, readFile, existsSync, _a, abBenchmark, getDefaultABTasks, configBContent, configALabel, customTasks, tasksJson, report, delta, error_6, msg;
555
+ return __generator(this, function (_b) {
556
+ switch (_b.label) {
557
+ case 0:
558
+ configAPath = ctx.flags['config-a'];
559
+ configBPath = ctx.flags['config-b'] || './CLAUDE.md';
560
+ tasksPath = ctx.flags.tasks;
561
+ workDir = ctx.flags['work-dir'];
562
+ jsonOutput = ctx.flags.json === true;
563
+ output.writeln();
564
+ output.writeln(output.bold('A/B Behavioral Benchmark'));
565
+ output.writeln(output.dim(''.repeat(50)));
566
+ _b.label = 1;
567
+ case 1:
568
+ _b.trys.push([1, 9, , 10]);
569
+ return [4 /*yield*/, import('node:fs/promises')];
570
+ case 2:
571
+ readFile = (_b.sent()).readFile;
572
+ return [4 /*yield*/, import('node:fs')];
573
+ case 3:
574
+ existsSync = (_b.sent()).existsSync;
575
+ return [4 /*yield*/, import('@claude-flow/guidance/analyzer')];
576
+ case 4:
577
+ _a = _b.sent(), abBenchmark = _a.abBenchmark, getDefaultABTasks = _a.getDefaultABTasks;
578
+ // Load Config B (candidate) content
579
+ if (!existsSync(configBPath)) {
580
+ output.writeln(output.error("Config B file not found: " + configBPath));
581
+ return [2 /*return*/, { success: false, message: "File not found: " + configBPath }];
582
+ }
583
+ return [4 /*yield*/, readFile(configBPath, 'utf-8')];
584
+ case 5:
585
+ configBContent = _b.sent();
586
+ configALabel = 'No control plane (baseline)';
587
+ if (configAPath) {
588
+ if (!existsSync(configAPath)) {
589
+ output.writeln(output.error("Config A file not found: " + configAPath));
590
+ return [2 /*return*/, { success: false, message: "File not found: " + configAPath }];
591
+ }
592
+ configALabel = configAPath;
593
+ }
594
+ customTasks = void 0;
595
+ if (!tasksPath) return [3 /*break*/, 7];
596
+ if (!existsSync(tasksPath)) {
597
+ output.writeln(output.error("Tasks file not found: " + tasksPath));
598
+ return [2 /*return*/, { success: false, message: "File not found: " + tasksPath }];
599
+ }
600
+ return [4 /*yield*/, readFile(tasksPath, 'utf-8')];
601
+ case 6:
602
+ tasksJson = _b.sent();
603
+ customTasks = JSON.parse(tasksJson);
604
+ output.writeln(" Custom tasks: " + output.bold(String(customTasks.length)) + " loaded from " + tasksPath);
605
+ _b.label = 7;
606
+ case 7:
607
+ output.writeln(" Config A: " + output.dim(configALabel));
608
+ output.writeln(" Config B: " + output.dim(configBPath));
609
+ output.writeln(" Tasks: " + output.dim(customTasks ? customTasks.length + " custom" : getDefaultABTasks().length + " default"));
610
+ output.writeln();
611
+ output.writeln(output.dim('Running benchmark...'));
612
+ return [4 /*yield*/, abBenchmark(configBContent, {
613
+ tasks: customTasks,
614
+ workDir: workDir
615
+ })];
616
+ case 8:
617
+ report = _b.sent();
618
+ if (jsonOutput) {
619
+ output.writeln(JSON.stringify({
620
+ configA: { label: configALabel, metrics: report.configA.metrics },
621
+ configB: { label: configBPath, metrics: report.configB.metrics },
622
+ compositeDelta: report.compositeDelta,
623
+ classDeltas: report.classDeltas,
624
+ categoryShift: report.categoryShift,
625
+ taskResults: {
626
+ configA: report.configA.taskResults.map(function (r) { return ({
627
+ taskId: r.taskId, taskClass: r.taskClass, passed: r.passed,
628
+ violations: r.violations.length, toolCalls: r.toolCalls
629
+ }); }),
630
+ configB: report.configB.taskResults.map(function (r) { return ({
631
+ taskId: r.taskId, taskClass: r.taskClass, passed: r.passed,
632
+ violations: r.violations.length, toolCalls: r.toolCalls
633
+ }); })
634
+ }
635
+ }, null, 2));
636
+ return [2 /*return*/, { success: true, data: report }];
637
+ }
638
+ // Print formatted report
639
+ output.writeln(report.report);
640
+ output.writeln();
641
+ delta = report.compositeDelta;
642
+ if (delta > 0.05) {
643
+ output.writeln(output.success("Config B is better (+" + delta + " composite delta)"));
644
+ }
645
+ else if (delta < -0.05) {
646
+ output.writeln(output.error("Config B is worse (" + delta + " composite delta)"));
647
+ }
648
+ else {
649
+ output.writeln(output.warning("No significant difference (" + delta + " composite delta)"));
650
+ }
651
+ if (report.categoryShift) {
652
+ output.writeln(output.success('Category shift detected: 3+ task classes improved by 20%+'));
653
+ }
654
+ return [2 /*return*/, { success: true, data: report }];
655
+ case 9:
656
+ error_6 = _b.sent();
657
+ msg = error_6 instanceof Error ? error_6.message : String(error_6);
658
+ output.writeln(output.error("A/B benchmark failed: " + msg));
659
+ return [2 /*return*/, { success: false, message: msg }];
660
+ case 10: return [2 /*return*/];
661
+ }
662
+ });
663
+ }); }
519
664
  };
520
665
  // Main guidance command
521
- export const guidanceCommand = {
666
+ export var guidanceCommand = {
522
667
  name: 'guidance',
523
668
  description: 'Guidance Control Plane - compile, retrieve, enforce, and optimize guidance rules',
524
669
  aliases: ['guide', 'policy'],
@@ -539,22 +684,24 @@ export const guidanceCommand = {
539
684
  { command: 'claude-flow guidance optimize', description: 'Analyze and optimize CLAUDE.md' },
540
685
  { command: 'claude-flow guidance ab-test', description: 'Run A/B behavioral comparison' },
541
686
  ],
542
- action: async (ctx) => {
543
- output.writeln();
544
- output.writeln(output.bold('Guidance Control Plane'));
545
- output.writeln(output.dim(''.repeat(50)));
546
- output.writeln();
547
- output.writeln('Available subcommands:');
548
- output.writeln(` ${output.bold('compile')} Compile CLAUDE.md into policy bundle`);
549
- output.writeln(` ${output.bold('retrieve')} Retrieve task-relevant guidance shards`);
550
- output.writeln(` ${output.bold('gates')} Evaluate enforcement gates`);
551
- output.writeln(` ${output.bold('status')} Show control plane status`);
552
- output.writeln(` ${output.bold('optimize')} Analyze and optimize CLAUDE.md`);
553
- output.writeln(` ${output.bold('ab-test')} Run A/B behavioral comparison`);
554
- output.writeln();
555
- output.writeln(output.dim('Use claude-flow guidance <subcommand> --help for details'));
556
- return { success: true };
557
- },
687
+ action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
688
+ return __generator(this, function (_a) {
689
+ output.writeln();
690
+ output.writeln(output.bold('Guidance Control Plane'));
691
+ output.writeln(output.dim('─'.repeat(50)));
692
+ output.writeln();
693
+ output.writeln('Available subcommands:');
694
+ output.writeln(" " + output.bold('compile') + " Compile CLAUDE.md into policy bundle");
695
+ output.writeln(" " + output.bold('retrieve') + " Retrieve task-relevant guidance shards");
696
+ output.writeln(" " + output.bold('gates') + " Evaluate enforcement gates");
697
+ output.writeln(" " + output.bold('status') + " Show control plane status");
698
+ output.writeln(" " + output.bold('optimize') + " Analyze and optimize CLAUDE.md");
699
+ output.writeln(" " + output.bold('ab-test') + " Run A/B behavioral comparison");
700
+ output.writeln();
701
+ output.writeln(output.dim('Use claude-flow guidance <subcommand> --help for details'));
702
+ return [2 /*return*/, { success: true }];
703
+ });
704
+ }); }
558
705
  };
559
706
  export default guidanceCommand;
560
707
  //# sourceMappingURL=guidance.js.map