claude-flow 3.25.6 → 3.26.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 (309) hide show
  1. package/.claude/helpers/hook-handler.cjs +129 -0
  2. package/.claude/helpers/intelligence.cjs +10 -0
  3. package/.claude/helpers/statusline.cjs +310 -123
  4. package/.claude/proven-config.json +1 -1
  5. package/.claude/security-scans/scan-all-standard.json +321 -0
  6. package/.claude/security-scans/scan-code-deep.json +1209 -0
  7. package/.claude/security-scans/scan-deps-full.json +14 -0
  8. package/package.json +3 -1
  9. package/v3/@claude-flow/cli/catalog-manifest.json +12 -0
  10. package/v3/@claude-flow/cli/dist/src/commands/advisor.d.ts +15 -0
  11. package/v3/@claude-flow/cli/dist/src/commands/advisor.js +94 -0
  12. package/v3/@claude-flow/cli/dist/src/commands/doctor.js +77 -3
  13. package/v3/@claude-flow/cli/dist/src/commands/funnel.d.ts +13 -0
  14. package/v3/@claude-flow/cli/dist/src/commands/funnel.js +103 -0
  15. package/v3/@claude-flow/cli/dist/src/commands/hooks.js +112 -46
  16. package/v3/@claude-flow/cli/dist/src/commands/index.js +10 -0
  17. package/v3/@claude-flow/cli/dist/src/commands/init.js +44 -0
  18. package/v3/@claude-flow/cli/dist/src/commands/proxy.d.ts +21 -0
  19. package/v3/@claude-flow/cli/dist/src/commands/proxy.js +310 -0
  20. package/v3/@claude-flow/cli/dist/src/commands/security.js +29 -0
  21. package/v3/@claude-flow/cli/dist/src/commands/settings.d.ts +19 -0
  22. package/v3/@claude-flow/cli/dist/src/commands/settings.js +180 -0
  23. package/v3/@claude-flow/cli/dist/src/commands/version.d.ts +42 -0
  24. package/v3/@claude-flow/cli/dist/src/commands/version.js +106 -0
  25. package/v3/@claude-flow/cli/dist/src/funnel/advisor-tip.d.ts +58 -0
  26. package/v3/@claude-flow/cli/dist/src/funnel/advisor-tip.js +92 -0
  27. package/v3/@claude-flow/cli/dist/src/funnel/attribution.d.ts +37 -0
  28. package/v3/@claude-flow/cli/dist/src/funnel/attribution.js +101 -0
  29. package/v3/@claude-flow/cli/dist/src/funnel/consent.d.ts +22 -0
  30. package/v3/@claude-flow/cli/dist/src/funnel/consent.js +55 -0
  31. package/v3/@claude-flow/cli/dist/src/funnel/credit-errors.d.ts +31 -0
  32. package/v3/@claude-flow/cli/dist/src/funnel/credit-errors.js +88 -0
  33. package/v3/@claude-flow/cli/dist/src/funnel/credit-notifier.d.ts +44 -0
  34. package/v3/@claude-flow/cli/dist/src/funnel/credit-notifier.js +74 -0
  35. package/v3/@claude-flow/cli/dist/src/funnel/disclosure.d.ts +46 -0
  36. package/v3/@claude-flow/cli/dist/src/funnel/disclosure.js +97 -0
  37. package/v3/@claude-flow/cli/dist/src/funnel/enrollment.d.ts +36 -0
  38. package/v3/@claude-flow/cli/dist/src/funnel/enrollment.js +64 -0
  39. package/v3/@claude-flow/cli/dist/src/funnel/environment.d.ts +17 -0
  40. package/v3/@claude-flow/cli/dist/src/funnel/environment.js +39 -0
  41. package/v3/@claude-flow/cli/dist/src/funnel/event-transport.d.ts +51 -0
  42. package/v3/@claude-flow/cli/dist/src/funnel/event-transport.js +199 -0
  43. package/v3/@claude-flow/cli/dist/src/funnel/events.d.ts +42 -0
  44. package/v3/@claude-flow/cli/dist/src/funnel/events.js +150 -0
  45. package/v3/@claude-flow/cli/dist/src/funnel/index.d.ts +20 -0
  46. package/v3/@claude-flow/cli/dist/src/funnel/index.js +20 -0
  47. package/v3/@claude-flow/cli/dist/src/funnel/insights.d.ts +49 -0
  48. package/v3/@claude-flow/cli/dist/src/funnel/insights.js +120 -0
  49. package/v3/@claude-flow/cli/dist/src/funnel/local-signals.d.ts +15 -0
  50. package/v3/@claude-flow/cli/dist/src/funnel/local-signals.js +68 -0
  51. package/v3/@claude-flow/cli/dist/src/funnel/message-transport.d.ts +51 -0
  52. package/v3/@claude-flow/cli/dist/src/funnel/message-transport.js +149 -0
  53. package/v3/@claude-flow/cli/dist/src/funnel/messages.d.ts +55 -0
  54. package/v3/@claude-flow/cli/dist/src/funnel/messages.js +160 -0
  55. package/v3/@claude-flow/cli/dist/src/funnel/power-saver-notifier.d.ts +44 -0
  56. package/v3/@claude-flow/cli/dist/src/funnel/power-saver-notifier.js +92 -0
  57. package/v3/@claude-flow/cli/dist/src/funnel/precedence.d.ts +16 -0
  58. package/v3/@claude-flow/cli/dist/src/funnel/precedence.js +85 -0
  59. package/v3/@claude-flow/cli/dist/src/funnel/promo.d.ts +41 -0
  60. package/v3/@claude-flow/cli/dist/src/funnel/promo.js +144 -0
  61. package/v3/@claude-flow/cli/dist/src/funnel/rate-limit-notifier.d.ts +55 -0
  62. package/v3/@claude-flow/cli/dist/src/funnel/rate-limit-notifier.js +102 -0
  63. package/v3/@claude-flow/cli/dist/src/funnel/rotation.d.ts +19 -0
  64. package/v3/@claude-flow/cli/dist/src/funnel/rotation.js +70 -0
  65. package/v3/@claude-flow/cli/dist/src/funnel/state.d.ts +13 -0
  66. package/v3/@claude-flow/cli/dist/src/funnel/state.js +52 -0
  67. package/v3/@claude-flow/cli/dist/src/funnel/toggle-cooldown.d.ts +17 -0
  68. package/v3/@claude-flow/cli/dist/src/funnel/toggle-cooldown.js +32 -0
  69. package/v3/@claude-flow/cli/dist/src/funnel/types.d.ts +86 -0
  70. package/v3/@claude-flow/cli/dist/src/funnel/types.js +26 -0
  71. package/v3/@claude-flow/cli/dist/src/init/executor.js +9 -3
  72. package/v3/@claude-flow/cli/dist/src/init/helper-refresh.d.ts +33 -2
  73. package/v3/@claude-flow/cli/dist/src/init/helper-refresh.js +102 -12
  74. package/v3/@claude-flow/cli/dist/src/init/helpers-generator.js +52 -0
  75. package/v3/@claude-flow/cli/dist/src/init/statusline-generator.js +292 -116
  76. package/v3/@claude-flow/cli/dist/src/services/daemon-autostart.js +28 -5
  77. package/v3/@claude-flow/cli/dist/src/services/fable-harness.d.ts +39 -0
  78. package/v3/@claude-flow/cli/dist/src/services/fable-harness.js +41 -0
  79. package/v3/@claude-flow/cli/package.json +13 -4
  80. package/.claude/coordinator/config.json +0 -24
  81. package/.claude/coordinator/state.json +0 -37
  82. package/.claude/coordinator/tick-log/tick-01.json +0 -17
  83. package/.claude/coordinator/tick-log/tick-02.json +0 -17
  84. package/.claude/coordinator/tick-log/tick-03.json +0 -17
  85. package/.claude/coordinator/tick-log/tick-04.json +0 -14
  86. package/.claude/coordinator/tick-log/tick-05.json +0 -16
  87. package/.claude/settings.local.json +0 -11
  88. package/v3/@claude-flow/cli/dist/src/ruvector/lattice-wasm.d.ts +0 -14
  89. package/v3/@claude-flow/cli/dist/src/ruvector/lattice-wasm.js +0 -144
  90. package/v3/@claude-flow/guidance/dist/adversarial.d.ts +0 -284
  91. package/v3/@claude-flow/guidance/dist/adversarial.js +0 -572
  92. package/v3/@claude-flow/guidance/dist/analyzer.d.ts +0 -530
  93. package/v3/@claude-flow/guidance/dist/analyzer.js +0 -2587
  94. package/v3/@claude-flow/guidance/dist/artifacts.d.ts +0 -283
  95. package/v3/@claude-flow/guidance/dist/artifacts.js +0 -356
  96. package/v3/@claude-flow/guidance/dist/authority.d.ts +0 -290
  97. package/v3/@claude-flow/guidance/dist/authority.js +0 -558
  98. package/v3/@claude-flow/guidance/dist/capabilities.d.ts +0 -209
  99. package/v3/@claude-flow/guidance/dist/capabilities.js +0 -485
  100. package/v3/@claude-flow/guidance/dist/coherence.d.ts +0 -233
  101. package/v3/@claude-flow/guidance/dist/coherence.js +0 -372
  102. package/v3/@claude-flow/guidance/dist/compiler.d.ts +0 -87
  103. package/v3/@claude-flow/guidance/dist/compiler.js +0 -410
  104. package/v3/@claude-flow/guidance/dist/conformance-kit.d.ts +0 -225
  105. package/v3/@claude-flow/guidance/dist/conformance-kit.js +0 -629
  106. package/v3/@claude-flow/guidance/dist/continue-gate.d.ts +0 -214
  107. package/v3/@claude-flow/guidance/dist/continue-gate.js +0 -353
  108. package/v3/@claude-flow/guidance/dist/crypto-utils.d.ts +0 -17
  109. package/v3/@claude-flow/guidance/dist/crypto-utils.js +0 -24
  110. package/v3/@claude-flow/guidance/dist/evolution.d.ts +0 -282
  111. package/v3/@claude-flow/guidance/dist/evolution.js +0 -500
  112. package/v3/@claude-flow/guidance/dist/gates.d.ts +0 -79
  113. package/v3/@claude-flow/guidance/dist/gates.js +0 -302
  114. package/v3/@claude-flow/guidance/dist/gateway.d.ts +0 -206
  115. package/v3/@claude-flow/guidance/dist/gateway.js +0 -452
  116. package/v3/@claude-flow/guidance/dist/generators.d.ts +0 -153
  117. package/v3/@claude-flow/guidance/dist/generators.js +0 -682
  118. package/v3/@claude-flow/guidance/dist/headless.d.ts +0 -177
  119. package/v3/@claude-flow/guidance/dist/headless.js +0 -342
  120. package/v3/@claude-flow/guidance/dist/hooks.d.ts +0 -109
  121. package/v3/@claude-flow/guidance/dist/hooks.js +0 -347
  122. package/v3/@claude-flow/guidance/dist/index.d.ts +0 -205
  123. package/v3/@claude-flow/guidance/dist/index.js +0 -321
  124. package/v3/@claude-flow/guidance/dist/ledger.d.ts +0 -162
  125. package/v3/@claude-flow/guidance/dist/ledger.js +0 -375
  126. package/v3/@claude-flow/guidance/dist/manifest-validator.d.ts +0 -289
  127. package/v3/@claude-flow/guidance/dist/manifest-validator.js +0 -838
  128. package/v3/@claude-flow/guidance/dist/memory-gate.d.ts +0 -222
  129. package/v3/@claude-flow/guidance/dist/memory-gate.js +0 -382
  130. package/v3/@claude-flow/guidance/dist/meta-governance.d.ts +0 -265
  131. package/v3/@claude-flow/guidance/dist/meta-governance.js +0 -348
  132. package/v3/@claude-flow/guidance/dist/optimizer.d.ts +0 -104
  133. package/v3/@claude-flow/guidance/dist/optimizer.js +0 -329
  134. package/v3/@claude-flow/guidance/dist/persistence.d.ts +0 -189
  135. package/v3/@claude-flow/guidance/dist/persistence.js +0 -464
  136. package/v3/@claude-flow/guidance/dist/proof.d.ts +0 -185
  137. package/v3/@claude-flow/guidance/dist/proof.js +0 -238
  138. package/v3/@claude-flow/guidance/dist/retriever.d.ts +0 -172
  139. package/v3/@claude-flow/guidance/dist/retriever.js +0 -596
  140. package/v3/@claude-flow/guidance/dist/ruvbot-integration.d.ts +0 -370
  141. package/v3/@claude-flow/guidance/dist/ruvbot-integration.js +0 -738
  142. package/v3/@claude-flow/guidance/dist/temporal.d.ts +0 -426
  143. package/v3/@claude-flow/guidance/dist/temporal.js +0 -658
  144. package/v3/@claude-flow/guidance/dist/trust.d.ts +0 -283
  145. package/v3/@claude-flow/guidance/dist/trust.js +0 -473
  146. package/v3/@claude-flow/guidance/dist/truth-anchors.d.ts +0 -276
  147. package/v3/@claude-flow/guidance/dist/truth-anchors.js +0 -488
  148. package/v3/@claude-flow/guidance/dist/types.d.ts +0 -378
  149. package/v3/@claude-flow/guidance/dist/types.js +0 -10
  150. package/v3/@claude-flow/guidance/dist/uncertainty.d.ts +0 -372
  151. package/v3/@claude-flow/guidance/dist/uncertainty.js +0 -619
  152. package/v3/@claude-flow/guidance/dist/wasm-kernel.d.ts +0 -48
  153. package/v3/@claude-flow/guidance/dist/wasm-kernel.js +0 -158
  154. package/v3/@claude-flow/shared/dist/core/config/defaults.d.ts +0 -41
  155. package/v3/@claude-flow/shared/dist/core/config/defaults.js +0 -186
  156. package/v3/@claude-flow/shared/dist/core/config/index.d.ts +0 -8
  157. package/v3/@claude-flow/shared/dist/core/config/index.js +0 -12
  158. package/v3/@claude-flow/shared/dist/core/config/loader.d.ts +0 -45
  159. package/v3/@claude-flow/shared/dist/core/config/loader.js +0 -238
  160. package/v3/@claude-flow/shared/dist/core/config/schema.d.ts +0 -1728
  161. package/v3/@claude-flow/shared/dist/core/config/schema.js +0 -160
  162. package/v3/@claude-flow/shared/dist/core/config/validator.d.ts +0 -92
  163. package/v3/@claude-flow/shared/dist/core/config/validator.js +0 -147
  164. package/v3/@claude-flow/shared/dist/core/event-bus.d.ts +0 -31
  165. package/v3/@claude-flow/shared/dist/core/event-bus.js +0 -197
  166. package/v3/@claude-flow/shared/dist/core/index.d.ts +0 -15
  167. package/v3/@claude-flow/shared/dist/core/index.js +0 -19
  168. package/v3/@claude-flow/shared/dist/core/interfaces/agent.interface.d.ts +0 -200
  169. package/v3/@claude-flow/shared/dist/core/interfaces/agent.interface.js +0 -6
  170. package/v3/@claude-flow/shared/dist/core/interfaces/coordinator.interface.d.ts +0 -310
  171. package/v3/@claude-flow/shared/dist/core/interfaces/coordinator.interface.js +0 -7
  172. package/v3/@claude-flow/shared/dist/core/interfaces/event.interface.d.ts +0 -224
  173. package/v3/@claude-flow/shared/dist/core/interfaces/event.interface.js +0 -46
  174. package/v3/@claude-flow/shared/dist/core/interfaces/index.d.ts +0 -10
  175. package/v3/@claude-flow/shared/dist/core/interfaces/index.js +0 -15
  176. package/v3/@claude-flow/shared/dist/core/interfaces/memory.interface.d.ts +0 -298
  177. package/v3/@claude-flow/shared/dist/core/interfaces/memory.interface.js +0 -7
  178. package/v3/@claude-flow/shared/dist/core/interfaces/task.interface.d.ts +0 -185
  179. package/v3/@claude-flow/shared/dist/core/interfaces/task.interface.js +0 -6
  180. package/v3/@claude-flow/shared/dist/core/orchestrator/event-coordinator.d.ts +0 -35
  181. package/v3/@claude-flow/shared/dist/core/orchestrator/event-coordinator.js +0 -101
  182. package/v3/@claude-flow/shared/dist/core/orchestrator/health-monitor.d.ts +0 -60
  183. package/v3/@claude-flow/shared/dist/core/orchestrator/health-monitor.js +0 -166
  184. package/v3/@claude-flow/shared/dist/core/orchestrator/index.d.ts +0 -46
  185. package/v3/@claude-flow/shared/dist/core/orchestrator/index.js +0 -64
  186. package/v3/@claude-flow/shared/dist/core/orchestrator/lifecycle-manager.d.ts +0 -56
  187. package/v3/@claude-flow/shared/dist/core/orchestrator/lifecycle-manager.js +0 -195
  188. package/v3/@claude-flow/shared/dist/core/orchestrator/session-manager.d.ts +0 -83
  189. package/v3/@claude-flow/shared/dist/core/orchestrator/session-manager.js +0 -193
  190. package/v3/@claude-flow/shared/dist/core/orchestrator/task-manager.d.ts +0 -49
  191. package/v3/@claude-flow/shared/dist/core/orchestrator/task-manager.js +0 -253
  192. package/v3/@claude-flow/shared/dist/events/domain-events.d.ts +0 -282
  193. package/v3/@claude-flow/shared/dist/events/domain-events.js +0 -165
  194. package/v3/@claude-flow/shared/dist/events/event-store.d.ts +0 -126
  195. package/v3/@claude-flow/shared/dist/events/event-store.js +0 -427
  196. package/v3/@claude-flow/shared/dist/events/event-store.test.d.ts +0 -8
  197. package/v3/@claude-flow/shared/dist/events/event-store.test.js +0 -293
  198. package/v3/@claude-flow/shared/dist/events/example-usage.d.ts +0 -10
  199. package/v3/@claude-flow/shared/dist/events/example-usage.js +0 -193
  200. package/v3/@claude-flow/shared/dist/events/index.d.ts +0 -21
  201. package/v3/@claude-flow/shared/dist/events/index.js +0 -22
  202. package/v3/@claude-flow/shared/dist/events/projections.d.ts +0 -177
  203. package/v3/@claude-flow/shared/dist/events/projections.js +0 -421
  204. package/v3/@claude-flow/shared/dist/events/rvf-event-log.d.ts +0 -82
  205. package/v3/@claude-flow/shared/dist/events/rvf-event-log.js +0 -340
  206. package/v3/@claude-flow/shared/dist/events/state-reconstructor.d.ts +0 -101
  207. package/v3/@claude-flow/shared/dist/events/state-reconstructor.js +0 -263
  208. package/v3/@claude-flow/shared/dist/events.d.ts +0 -80
  209. package/v3/@claude-flow/shared/dist/events.js +0 -249
  210. package/v3/@claude-flow/shared/dist/hooks/example-usage.d.ts +0 -42
  211. package/v3/@claude-flow/shared/dist/hooks/example-usage.js +0 -351
  212. package/v3/@claude-flow/shared/dist/hooks/executor.d.ts +0 -100
  213. package/v3/@claude-flow/shared/dist/hooks/executor.js +0 -267
  214. package/v3/@claude-flow/shared/dist/hooks/hooks.test.d.ts +0 -9
  215. package/v3/@claude-flow/shared/dist/hooks/hooks.test.js +0 -322
  216. package/v3/@claude-flow/shared/dist/hooks/index.d.ts +0 -52
  217. package/v3/@claude-flow/shared/dist/hooks/index.js +0 -51
  218. package/v3/@claude-flow/shared/dist/hooks/registry.d.ts +0 -133
  219. package/v3/@claude-flow/shared/dist/hooks/registry.js +0 -277
  220. package/v3/@claude-flow/shared/dist/hooks/safety/bash-safety.d.ts +0 -105
  221. package/v3/@claude-flow/shared/dist/hooks/safety/bash-safety.js +0 -481
  222. package/v3/@claude-flow/shared/dist/hooks/safety/file-organization.d.ts +0 -144
  223. package/v3/@claude-flow/shared/dist/hooks/safety/file-organization.js +0 -328
  224. package/v3/@claude-flow/shared/dist/hooks/safety/git-commit.d.ts +0 -158
  225. package/v3/@claude-flow/shared/dist/hooks/safety/git-commit.js +0 -450
  226. package/v3/@claude-flow/shared/dist/hooks/safety/index.d.ts +0 -17
  227. package/v3/@claude-flow/shared/dist/hooks/safety/index.js +0 -17
  228. package/v3/@claude-flow/shared/dist/hooks/session-hooks.d.ts +0 -234
  229. package/v3/@claude-flow/shared/dist/hooks/session-hooks.js +0 -334
  230. package/v3/@claude-flow/shared/dist/hooks/task-hooks.d.ts +0 -163
  231. package/v3/@claude-flow/shared/dist/hooks/task-hooks.js +0 -326
  232. package/v3/@claude-flow/shared/dist/hooks/types.d.ts +0 -267
  233. package/v3/@claude-flow/shared/dist/hooks/types.js +0 -62
  234. package/v3/@claude-flow/shared/dist/hooks/verify-exports.test.d.ts +0 -9
  235. package/v3/@claude-flow/shared/dist/hooks/verify-exports.test.js +0 -93
  236. package/v3/@claude-flow/shared/dist/index.d.ts +0 -20
  237. package/v3/@claude-flow/shared/dist/index.js +0 -50
  238. package/v3/@claude-flow/shared/dist/mcp/connection-pool.d.ts +0 -98
  239. package/v3/@claude-flow/shared/dist/mcp/connection-pool.js +0 -364
  240. package/v3/@claude-flow/shared/dist/mcp/index.d.ts +0 -69
  241. package/v3/@claude-flow/shared/dist/mcp/index.js +0 -84
  242. package/v3/@claude-flow/shared/dist/mcp/server.d.ts +0 -166
  243. package/v3/@claude-flow/shared/dist/mcp/server.js +0 -590
  244. package/v3/@claude-flow/shared/dist/mcp/session-manager.d.ts +0 -136
  245. package/v3/@claude-flow/shared/dist/mcp/session-manager.js +0 -335
  246. package/v3/@claude-flow/shared/dist/mcp/tool-registry.d.ts +0 -178
  247. package/v3/@claude-flow/shared/dist/mcp/tool-registry.js +0 -439
  248. package/v3/@claude-flow/shared/dist/mcp/transport/http.d.ts +0 -104
  249. package/v3/@claude-flow/shared/dist/mcp/transport/http.js +0 -476
  250. package/v3/@claude-flow/shared/dist/mcp/transport/index.d.ts +0 -102
  251. package/v3/@claude-flow/shared/dist/mcp/transport/index.js +0 -238
  252. package/v3/@claude-flow/shared/dist/mcp/transport/stdio.d.ts +0 -104
  253. package/v3/@claude-flow/shared/dist/mcp/transport/stdio.js +0 -263
  254. package/v3/@claude-flow/shared/dist/mcp/transport/websocket.d.ts +0 -133
  255. package/v3/@claude-flow/shared/dist/mcp/transport/websocket.js +0 -396
  256. package/v3/@claude-flow/shared/dist/mcp/types.d.ts +0 -436
  257. package/v3/@claude-flow/shared/dist/mcp/types.js +0 -54
  258. package/v3/@claude-flow/shared/dist/plugin-interface.d.ts +0 -544
  259. package/v3/@claude-flow/shared/dist/plugin-interface.js +0 -23
  260. package/v3/@claude-flow/shared/dist/plugin-loader.d.ts +0 -139
  261. package/v3/@claude-flow/shared/dist/plugin-loader.js +0 -434
  262. package/v3/@claude-flow/shared/dist/plugin-registry.d.ts +0 -183
  263. package/v3/@claude-flow/shared/dist/plugin-registry.js +0 -457
  264. package/v3/@claude-flow/shared/dist/plugins/index.d.ts +0 -10
  265. package/v3/@claude-flow/shared/dist/plugins/index.js +0 -10
  266. package/v3/@claude-flow/shared/dist/plugins/official/hive-mind-plugin.d.ts +0 -106
  267. package/v3/@claude-flow/shared/dist/plugins/official/hive-mind-plugin.js +0 -241
  268. package/v3/@claude-flow/shared/dist/plugins/official/index.d.ts +0 -10
  269. package/v3/@claude-flow/shared/dist/plugins/official/index.js +0 -10
  270. package/v3/@claude-flow/shared/dist/plugins/official/maestro-plugin.d.ts +0 -121
  271. package/v3/@claude-flow/shared/dist/plugins/official/maestro-plugin.js +0 -355
  272. package/v3/@claude-flow/shared/dist/plugins/types.d.ts +0 -93
  273. package/v3/@claude-flow/shared/dist/plugins/types.js +0 -9
  274. package/v3/@claude-flow/shared/dist/resilience/bulkhead.d.ts +0 -105
  275. package/v3/@claude-flow/shared/dist/resilience/bulkhead.js +0 -206
  276. package/v3/@claude-flow/shared/dist/resilience/circuit-breaker.d.ts +0 -132
  277. package/v3/@claude-flow/shared/dist/resilience/circuit-breaker.js +0 -233
  278. package/v3/@claude-flow/shared/dist/resilience/index.d.ts +0 -19
  279. package/v3/@claude-flow/shared/dist/resilience/index.js +0 -19
  280. package/v3/@claude-flow/shared/dist/resilience/rate-limiter.d.ts +0 -168
  281. package/v3/@claude-flow/shared/dist/resilience/rate-limiter.js +0 -314
  282. package/v3/@claude-flow/shared/dist/resilience/retry.d.ts +0 -91
  283. package/v3/@claude-flow/shared/dist/resilience/retry.js +0 -159
  284. package/v3/@claude-flow/shared/dist/security/index.d.ts +0 -10
  285. package/v3/@claude-flow/shared/dist/security/index.js +0 -12
  286. package/v3/@claude-flow/shared/dist/security/input-validation.d.ts +0 -73
  287. package/v3/@claude-flow/shared/dist/security/input-validation.js +0 -201
  288. package/v3/@claude-flow/shared/dist/security/secure-random.d.ts +0 -92
  289. package/v3/@claude-flow/shared/dist/security/secure-random.js +0 -142
  290. package/v3/@claude-flow/shared/dist/services/index.d.ts +0 -7
  291. package/v3/@claude-flow/shared/dist/services/index.js +0 -7
  292. package/v3/@claude-flow/shared/dist/services/v3-progress.service.d.ts +0 -124
  293. package/v3/@claude-flow/shared/dist/services/v3-progress.service.js +0 -402
  294. package/v3/@claude-flow/shared/dist/types/agent.types.d.ts +0 -137
  295. package/v3/@claude-flow/shared/dist/types/agent.types.js +0 -6
  296. package/v3/@claude-flow/shared/dist/types/index.d.ts +0 -11
  297. package/v3/@claude-flow/shared/dist/types/index.js +0 -17
  298. package/v3/@claude-flow/shared/dist/types/mcp.types.d.ts +0 -266
  299. package/v3/@claude-flow/shared/dist/types/mcp.types.js +0 -7
  300. package/v3/@claude-flow/shared/dist/types/memory.types.d.ts +0 -236
  301. package/v3/@claude-flow/shared/dist/types/memory.types.js +0 -7
  302. package/v3/@claude-flow/shared/dist/types/swarm.types.d.ts +0 -186
  303. package/v3/@claude-flow/shared/dist/types/swarm.types.js +0 -65
  304. package/v3/@claude-flow/shared/dist/types/task.types.d.ts +0 -178
  305. package/v3/@claude-flow/shared/dist/types/task.types.js +0 -32
  306. package/v3/@claude-flow/shared/dist/types.d.ts +0 -197
  307. package/v3/@claude-flow/shared/dist/types.js +0 -21
  308. package/v3/@claude-flow/shared/dist/utils/secure-logger.d.ts +0 -69
  309. package/v3/@claude-flow/shared/dist/utils/secure-logger.js +0 -208
@@ -1,682 +0,0 @@
1
- /**
2
- * CLAUDE.md Generator
3
- *
4
- * Generates a structured CLAUDE.md file optimized for the Guidance Control Plane.
5
- * The output is designed so that when compiled by GuidanceCompiler, it produces
6
- * a clean constitution (always-loaded invariants) and well-tagged shards
7
- * (task-scoped rules retrievable by intent).
8
- *
9
- * Structure conventions:
10
- * - Lines 1-60: Constitution (always loaded into every task)
11
- * - Remaining: Tagged shards (retrieved by intent classification)
12
- * - Headings map to shard boundaries
13
- * - Keywords in headings drive intent tagging: "test", "build", "security", etc.
14
- *
15
- * @module @claude-flow/guidance/generators
16
- */
17
- // ============================================================================
18
- // CLAUDE.md Generator
19
- // ============================================================================
20
- export function generateClaudeMd(profile) {
21
- const sections = [];
22
- // --- Constitution (lines 1-60, always loaded) ---
23
- sections.push(`# ${profile.name}`);
24
- sections.push('');
25
- if (profile.description) {
26
- sections.push(profile.description);
27
- sections.push('');
28
- }
29
- // Core invariants
30
- sections.push('## Core Invariants');
31
- sections.push('');
32
- sections.push('These rules are always active regardless of task type.');
33
- sections.push('');
34
- // Language-specific invariants
35
- for (const lang of profile.languages) {
36
- const invariants = getLanguageInvariants(lang);
37
- if (invariants.length > 0) {
38
- for (const inv of invariants) {
39
- sections.push(`- ${inv}`);
40
- }
41
- }
42
- }
43
- // Forbidden patterns
44
- if (profile.forbidden && profile.forbidden.length > 0) {
45
- sections.push('');
46
- for (const f of profile.forbidden) {
47
- sections.push(`- NEVER: ${f}`);
48
- }
49
- }
50
- // Required patterns
51
- if (profile.required && profile.required.length > 0) {
52
- for (const r of profile.required) {
53
- sections.push(`- ALWAYS: ${r}`);
54
- }
55
- }
56
- sections.push('');
57
- // --- Build & Test (tagged shard) ---
58
- sections.push('## Build & Test');
59
- sections.push('');
60
- const pm = profile.packageManager || 'npm';
61
- if (profile.buildCommand) {
62
- sections.push(`Build: \`${profile.buildCommand}\``);
63
- }
64
- else {
65
- sections.push(`Build: \`${pm} run build\``);
66
- }
67
- if (profile.testCommand) {
68
- sections.push(`Test: \`${profile.testCommand}\``);
69
- }
70
- else {
71
- sections.push(`Test: \`${pm} test\``);
72
- }
73
- if (profile.lintCommand) {
74
- sections.push(`Lint: \`${profile.lintCommand}\``);
75
- }
76
- sections.push('');
77
- sections.push('Run tests before committing. Run the build to catch type errors.');
78
- sections.push('');
79
- // --- Project Structure ---
80
- sections.push('## Project Structure');
81
- sections.push('');
82
- if (profile.monorepo) {
83
- sections.push('This is a monorepo. Each package has its own CLAUDE.md that layers on top of this root file.');
84
- }
85
- if (profile.srcDir) {
86
- sections.push(`Source code: \`${profile.srcDir}/\``);
87
- }
88
- if (profile.testDir) {
89
- sections.push(`Tests: \`${profile.testDir}/\``);
90
- }
91
- if (profile.architecture) {
92
- sections.push('');
93
- sections.push(profile.architecture);
94
- }
95
- sections.push('');
96
- // --- Coding Standards ---
97
- if (profile.conventions && profile.conventions.length > 0) {
98
- sections.push('## Coding Standards');
99
- sections.push('');
100
- for (const c of profile.conventions) {
101
- sections.push(`- ${c}`);
102
- }
103
- sections.push('');
104
- }
105
- // --- Domain Rules ---
106
- if (profile.domainRules && profile.domainRules.length > 0) {
107
- sections.push('## Domain Rules');
108
- sections.push('');
109
- for (const rule of profile.domainRules) {
110
- sections.push(`- ${rule}`);
111
- }
112
- sections.push('');
113
- }
114
- // --- Framework-specific shards ---
115
- if (profile.frameworks && profile.frameworks.length > 0) {
116
- for (const fw of profile.frameworks) {
117
- const fwRules = getFrameworkRules(fw);
118
- if (fwRules.length > 0) {
119
- sections.push(`## ${fw} Conventions`);
120
- sections.push('');
121
- for (const rule of fwRules) {
122
- sections.push(`- ${rule}`);
123
- }
124
- sections.push('');
125
- }
126
- }
127
- }
128
- // --- Security ---
129
- sections.push('## Security');
130
- sections.push('');
131
- sections.push('- Never commit secrets, API keys, or credentials to git');
132
- sections.push('- Never run destructive commands (`rm -rf /`, `DROP TABLE`, `git push --force`) without explicit confirmation');
133
- sections.push('- Validate all external input at system boundaries');
134
- sections.push('- Use parameterized queries for database operations');
135
- sections.push('');
136
- // --- Guidance Control Plane integration ---
137
- if (profile.guidanceControlPlane) {
138
- sections.push('## Guidance Control Plane');
139
- sections.push('');
140
- sections.push('This project uses `@claude-flow/guidance` to enforce these rules programmatically.');
141
- sections.push('The constitution (this section and above) is always loaded. Sections below are');
142
- sections.push('retrieved by intent classification — only relevant rules are injected per task.');
143
- sections.push('');
144
- sections.push('Gates enforce: destructive ops, secrets detection, diff size limits, tool allowlist.');
145
- sections.push('The optimizer watches violations and promotes winning CLAUDE.local.md experiments here.');
146
- sections.push('');
147
- if (profile.wasmKernel) {
148
- sections.push('WASM kernel: hot-path operations (hashing, secret scanning) use the Rust WASM kernel');
149
- sections.push('for 1.25-1.96x speedup. Falls back to JS automatically if WASM is unavailable.');
150
- sections.push('');
151
- }
152
- }
153
- // --- Swarm configuration ---
154
- if (profile.swarm) {
155
- sections.push('## Swarm Configuration');
156
- sections.push('');
157
- sections.push(`Topology: ${profile.swarm.topology || 'hierarchical'}`);
158
- sections.push(`Max agents: ${profile.swarm.maxAgents || 8}`);
159
- sections.push(`Strategy: ${profile.swarm.strategy || 'specialized'}`);
160
- sections.push('');
161
- }
162
- // --- Imports ---
163
- if (profile.imports && profile.imports.length > 0) {
164
- sections.push('## Individual Preferences');
165
- sections.push('');
166
- for (const imp of profile.imports) {
167
- sections.push(`@${imp}`);
168
- }
169
- sections.push('');
170
- }
171
- return sections.join('\n');
172
- }
173
- // ============================================================================
174
- // CLAUDE.local.md Generator
175
- // ============================================================================
176
- export function generateClaudeLocalMd(local) {
177
- const sections = [];
178
- sections.push('# Local Development Notes');
179
- sections.push('');
180
- sections.push('> This file is auto-gitignored by Claude Code. It stays on this machine only.');
181
- sections.push('');
182
- if (local.developer) {
183
- sections.push(`Developer: ${local.developer}`);
184
- sections.push('');
185
- }
186
- // Local URLs
187
- if (local.localUrls && Object.keys(local.localUrls).length > 0) {
188
- sections.push('## Local URLs');
189
- sections.push('');
190
- for (const [name, url] of Object.entries(local.localUrls)) {
191
- sections.push(`- ${name}: ${url}`);
192
- }
193
- sections.push('');
194
- }
195
- // Databases
196
- if (local.databases && Object.keys(local.databases).length > 0) {
197
- sections.push('## Local Databases');
198
- sections.push('');
199
- for (const [name, conn] of Object.entries(local.databases)) {
200
- sections.push(`- ${name}: \`${conn}\``);
201
- }
202
- sections.push('');
203
- }
204
- // Environment
205
- if (local.envVars && Object.keys(local.envVars).length > 0) {
206
- sections.push('## Environment Variables');
207
- sections.push('');
208
- sections.push('```bash');
209
- for (const [key, val] of Object.entries(local.envVars)) {
210
- sections.push(`export ${key}="${val}"`);
211
- }
212
- sections.push('```');
213
- sections.push('');
214
- }
215
- // Preferences
216
- if (local.preferences && local.preferences.length > 0) {
217
- sections.push('## Preferences');
218
- sections.push('');
219
- for (const p of local.preferences) {
220
- sections.push(`- ${p}`);
221
- }
222
- sections.push('');
223
- }
224
- // Machine notes
225
- if (local.machineNotes && local.machineNotes.length > 0) {
226
- sections.push('## Machine Notes');
227
- sections.push('');
228
- if (local.os) {
229
- sections.push(`OS: ${local.os}`);
230
- }
231
- if (local.editor) {
232
- sections.push(`Editor: ${local.editor}`);
233
- }
234
- for (const note of local.machineNotes) {
235
- sections.push(`- ${note}`);
236
- }
237
- sections.push('');
238
- }
239
- // Debug
240
- if (local.debug && local.debug.length > 0) {
241
- sections.push('## Debug Settings');
242
- sections.push('');
243
- for (const d of local.debug) {
244
- sections.push(`- ${d}`);
245
- }
246
- sections.push('');
247
- }
248
- return sections.join('\n');
249
- }
250
- // ============================================================================
251
- // Skills Generator
252
- // ============================================================================
253
- export function generateSkillMd(skill) {
254
- const lines = [];
255
- // YAML frontmatter
256
- lines.push('---');
257
- lines.push(`name: ${skill.name}`);
258
- lines.push(`version: ${skill.version || '1.0.0'}`);
259
- lines.push(`description: ${skill.description}`);
260
- lines.push(`category: ${skill.category}`);
261
- if (skill.tags && skill.tags.length > 0) {
262
- lines.push(`tags: [${skill.tags.join(', ')}]`);
263
- }
264
- if (skill.requires && skill.requires.length > 0) {
265
- lines.push('requires:');
266
- for (const r of skill.requires) {
267
- lines.push(` - ${r}`);
268
- }
269
- }
270
- if (skill.capabilities && skill.capabilities.length > 0) {
271
- lines.push('capabilities:');
272
- for (const c of skill.capabilities) {
273
- lines.push(` - ${c}`);
274
- }
275
- }
276
- lines.push('---');
277
- lines.push('');
278
- // Skill title and instructions
279
- lines.push(`# ${formatTitle(skill.name)} Skill`);
280
- lines.push('');
281
- lines.push(skill.instructions);
282
- return lines.join('\n');
283
- }
284
- // ============================================================================
285
- // Agent Definition Generator
286
- // ============================================================================
287
- export function generateAgentMd(agent) {
288
- const lines = [];
289
- // YAML frontmatter
290
- lines.push('---');
291
- lines.push(`name: ${agent.name}`);
292
- lines.push(`type: ${agent.type}`);
293
- if (agent.color) {
294
- lines.push(`color: "${agent.color}"`);
295
- }
296
- lines.push(`description: ${agent.description}`);
297
- if (agent.capabilities && agent.capabilities.length > 0) {
298
- lines.push('capabilities:');
299
- for (const c of agent.capabilities) {
300
- lines.push(` - ${c}`);
301
- }
302
- }
303
- if (agent.focus && agent.focus.length > 0) {
304
- lines.push('focus:');
305
- for (const f of agent.focus) {
306
- lines.push(` - ${f}`);
307
- }
308
- }
309
- lines.push(`temperature: ${agent.temperature ?? 0.2}`);
310
- if (agent.priority) {
311
- lines.push(`priority: ${agent.priority}`);
312
- }
313
- if (agent.preHook || agent.postHook) {
314
- lines.push('hooks:');
315
- if (agent.preHook) {
316
- lines.push(' pre: |');
317
- lines.push(` ${agent.preHook}`);
318
- }
319
- if (agent.postHook) {
320
- lines.push(' post: |');
321
- lines.push(` ${agent.postHook}`);
322
- }
323
- }
324
- lines.push('---');
325
- lines.push('');
326
- // Agent title
327
- lines.push(`# ${formatTitle(agent.name)} Agent`);
328
- lines.push('');
329
- lines.push(agent.description);
330
- lines.push('');
331
- // System prompt
332
- if (agent.systemPrompt) {
333
- lines.push('## System Prompt');
334
- lines.push('');
335
- lines.push(agent.systemPrompt);
336
- lines.push('');
337
- }
338
- // Instructions
339
- if (agent.instructions) {
340
- lines.push('## Instructions');
341
- lines.push('');
342
- lines.push(agent.instructions);
343
- lines.push('');
344
- }
345
- return lines.join('\n');
346
- }
347
- // ============================================================================
348
- // Agent Index Generator
349
- // ============================================================================
350
- export function generateAgentIndex(agents) {
351
- const lines = [];
352
- lines.push('# Generated Agent Index');
353
- lines.push('');
354
- lines.push('agents:');
355
- for (const a of agents) {
356
- lines.push(` - ${a.name}`);
357
- }
358
- lines.push('');
359
- // Group by type
360
- const byType = new Map();
361
- for (const a of agents) {
362
- const list = byType.get(a.type) || [];
363
- list.push(a.name);
364
- byType.set(a.type, list);
365
- }
366
- lines.push('types:');
367
- for (const [type, names] of byType) {
368
- lines.push(` ${type}:`);
369
- for (const n of names) {
370
- lines.push(` - ${n}`);
371
- }
372
- }
373
- return lines.join('\n');
374
- }
375
- export function scaffold(options) {
376
- const files = new Map();
377
- // CLAUDE.md
378
- files.set('CLAUDE.md', generateClaudeMd(options.project));
379
- // CLAUDE.local.md
380
- if (options.local) {
381
- files.set('CLAUDE.local.md', generateClaudeLocalMd(options.local));
382
- }
383
- // Default agents based on project
384
- const agents = [...(options.agents || [])];
385
- if (options.includeDefaultAgents) {
386
- agents.push(...getDefaultAgents(options.project));
387
- }
388
- // Default skills based on project
389
- const skills = [...(options.skills || [])];
390
- if (options.includeDefaultSkills) {
391
- skills.push(...getDefaultSkills(options.project));
392
- }
393
- // Generate agent files
394
- for (const agent of agents) {
395
- const category = agent.category || 'core';
396
- const path = `.claude/agents/${category}/${agent.name}.md`;
397
- files.set(path, generateAgentMd(agent));
398
- }
399
- // Generate agent index
400
- if (agents.length > 0) {
401
- files.set('.claude/agents/index.yaml', generateAgentIndex(agents));
402
- }
403
- // Generate skill files
404
- for (const skill of skills) {
405
- const path = `.claude/skills/${skill.name}/SKILL.md`;
406
- files.set(path, generateSkillMd(skill));
407
- }
408
- return { files };
409
- }
410
- // ============================================================================
411
- // Helpers
412
- // ============================================================================
413
- function formatTitle(kebab) {
414
- return kebab
415
- .split('-')
416
- .map(w => w.charAt(0).toUpperCase() + w.slice(1))
417
- .join(' ');
418
- }
419
- function getLanguageInvariants(lang) {
420
- const lower = lang.toLowerCase();
421
- const map = {
422
- typescript: [
423
- 'No `any` types. Use `unknown` if the type is truly unknown.',
424
- 'Prefer `const` over `let`. Never use `var`.',
425
- 'All public functions and exported types require JSDoc.',
426
- 'Use strict TypeScript (`strict: true` in tsconfig).',
427
- ],
428
- javascript: [
429
- 'Prefer `const` over `let`. Never use `var`.',
430
- 'Use strict mode (`"use strict"` or ES modules).',
431
- ],
432
- python: [
433
- 'Follow PEP 8 style guide.',
434
- 'Use type hints for all function signatures.',
435
- 'Prefer f-strings over `.format()` or `%` formatting.',
436
- ],
437
- rust: [
438
- 'Run `cargo clippy` before committing.',
439
- 'No `unwrap()` in production code. Use `?` or proper error handling.',
440
- 'All public items require doc comments (`///`).',
441
- ],
442
- go: [
443
- 'Run `go vet` and `golangci-lint` before committing.',
444
- 'Always handle errors. Never use `_` for error returns.',
445
- 'Follow Effective Go conventions.',
446
- ],
447
- java: [
448
- 'Follow Google Java Style Guide.',
449
- 'All public classes and methods require Javadoc.',
450
- 'Prefer immutable objects where possible.',
451
- ],
452
- };
453
- return map[lower] || [`Follow established ${lang} conventions.`];
454
- }
455
- function getFrameworkRules(framework) {
456
- const lower = framework.toLowerCase();
457
- const map = {
458
- react: [
459
- 'Prefer functional components with hooks over class components.',
460
- 'Use `useMemo`/`useCallback` only when profiling shows a need.',
461
- 'Keep components small and focused. Extract custom hooks for shared logic.',
462
- ],
463
- nextjs: [
464
- 'Use the App Router unless there is a specific reason for Pages Router.',
465
- 'Prefer Server Components by default. Add `"use client"` only when needed.',
466
- 'Use `next/image` for all images.',
467
- ],
468
- express: [
469
- 'Use async error handling middleware.',
470
- 'Validate all request bodies with a schema validator (zod, joi, etc.).',
471
- 'Never expose stack traces in production error responses.',
472
- ],
473
- fastify: [
474
- 'Use JSON Schema for request/response validation.',
475
- 'Register plugins in a consistent order.',
476
- ],
477
- django: [
478
- 'Use class-based views for CRUD, function-based for custom logic.',
479
- 'Always use the ORM. Never write raw SQL unless performance-critical.',
480
- 'Run `manage.py check` before deploying.',
481
- ],
482
- flask: [
483
- 'Use blueprints for modular organization.',
484
- 'Never use `app.run()` in production.',
485
- ],
486
- prisma: [
487
- 'Run `prisma generate` after schema changes.',
488
- 'Never edit generated client code.',
489
- 'Use transactions for multi-table operations.',
490
- ],
491
- vitest: [
492
- 'Use `describe` blocks to group related tests.',
493
- 'Prefer `expect().toBe()` for primitives, `expect().toEqual()` for objects.',
494
- 'Use `beforeEach` for shared setup, not `beforeAll` (test isolation).',
495
- ],
496
- jest: [
497
- 'Use `describe` blocks to group related tests.',
498
- 'Prefer `expect().toBe()` for primitives, `expect().toEqual()` for objects.',
499
- 'Mock external dependencies, never internal implementation details.',
500
- ],
501
- };
502
- return map[lower] || [];
503
- }
504
- function getDefaultAgents(profile) {
505
- const agents = [];
506
- // Every project gets a coordinator and coder
507
- agents.push({
508
- name: 'coordinator',
509
- type: 'coordinator',
510
- description: `Coordinates multi-agent workflows for ${profile.name}`,
511
- category: 'core',
512
- color: '#4A90D9',
513
- capabilities: ['task-decomposition', 'agent-routing', 'context-management', 'progress-tracking'],
514
- temperature: 0.2,
515
- priority: 'high',
516
- instructions: [
517
- 'Break complex tasks into subtasks and assign to specialized agents.',
518
- 'Track progress across all active agents.',
519
- 'Resolve conflicts when agents produce contradictory outputs.',
520
- 'Ensure all subtasks align with the original goal.',
521
- ].join('\n'),
522
- });
523
- agents.push({
524
- name: 'coder',
525
- type: 'developer',
526
- description: `Implementation specialist for ${profile.name}`,
527
- category: 'core',
528
- color: '#FF6B35',
529
- capabilities: ['code-generation', 'refactoring', 'optimization', 'api-design', 'error-handling'],
530
- focus: profile.languages,
531
- temperature: 0.2,
532
- priority: 'high',
533
- instructions: [
534
- `Write clean, idiomatic ${profile.languages.join('/')} code.`,
535
- 'Follow the coding standards defined in CLAUDE.md.',
536
- 'Prefer editing existing files over creating new ones.',
537
- 'Run tests after making changes.',
538
- ].join('\n'),
539
- });
540
- agents.push({
541
- name: 'tester',
542
- type: 'tester',
543
- description: `Test specialist for ${profile.name}`,
544
- category: 'core',
545
- color: '#2ECC71',
546
- capabilities: ['unit-testing', 'integration-testing', 'test-coverage', 'edge-cases'],
547
- temperature: 0.2,
548
- priority: 'high',
549
- instructions: [
550
- 'Write tests that cover the happy path and meaningful edge cases.',
551
- 'Use descriptive test names that explain the expected behavior.',
552
- 'Keep tests isolated — no shared mutable state between tests.',
553
- `Run: \`${profile.testCommand || (profile.packageManager || 'npm') + ' test'}\``,
554
- ].join('\n'),
555
- });
556
- agents.push({
557
- name: 'reviewer',
558
- type: 'reviewer',
559
- description: `Code review specialist for ${profile.name}`,
560
- category: 'core',
561
- color: '#9B59B6',
562
- capabilities: ['code-review', 'quality-analysis', 'security-review', 'performance-review'],
563
- temperature: 0.3,
564
- priority: 'medium',
565
- instructions: [
566
- 'Review for correctness, readability, and maintainability.',
567
- 'Check for security issues: injection, XSS, hardcoded secrets.',
568
- 'Flag unnecessary complexity and suggest simpler alternatives.',
569
- 'Verify test coverage for changed code.',
570
- ].join('\n'),
571
- });
572
- // Security agent if guidance control plane is enabled
573
- if (profile.guidanceControlPlane) {
574
- agents.push({
575
- name: 'security-auditor',
576
- type: 'security-specialist',
577
- description: 'Security analysis integrated with guidance control plane',
578
- category: 'security',
579
- color: '#E74C3C',
580
- capabilities: ['threat-detection', 'secret-scanning', 'input-validation', 'dependency-audit'],
581
- temperature: 0.1,
582
- priority: 'high',
583
- instructions: [
584
- 'Scan all code changes for secrets and credentials.',
585
- 'Check for OWASP Top 10 vulnerabilities.',
586
- 'Validate that enforcement gates are wired for all external inputs.',
587
- 'Report findings through the guidance proof chain for audit trail.',
588
- ].join('\n'),
589
- });
590
- }
591
- return agents;
592
- }
593
- function getDefaultSkills(profile) {
594
- const skills = [];
595
- // Build & test skill
596
- skills.push({
597
- name: 'build-and-test',
598
- description: `Build and test ${profile.name}`,
599
- category: 'core',
600
- tags: ['build', 'test', 'ci'],
601
- capabilities: ['Run build', 'Run tests', 'Fix build errors', 'Fix test failures'],
602
- instructions: [
603
- `## Build`,
604
- '',
605
- '```bash',
606
- profile.buildCommand || `${profile.packageManager || 'npm'} run build`,
607
- '```',
608
- '',
609
- '## Test',
610
- '',
611
- '```bash',
612
- profile.testCommand || `${profile.packageManager || 'npm'} test`,
613
- '```',
614
- '',
615
- '## Workflow',
616
- '',
617
- '1. Run the build first to catch type errors',
618
- '2. Run tests to verify correctness',
619
- '3. If either fails, fix the issue and re-run',
620
- '4. Never commit with failing tests or build errors',
621
- ].join('\n'),
622
- });
623
- // Code review skill
624
- skills.push({
625
- name: 'code-review',
626
- description: 'Review code for quality, security, and correctness',
627
- category: 'core',
628
- tags: ['review', 'quality', 'security'],
629
- capabilities: ['Security scanning', 'Quality analysis', 'Performance review', 'Style checking'],
630
- instructions: [
631
- '## Review Checklist',
632
- '',
633
- '1. **Correctness**: Does the code do what it claims?',
634
- '2. **Security**: Any secrets, injection vectors, or unsafe patterns?',
635
- '3. **Tests**: Are changes covered by tests?',
636
- '4. **Readability**: Can another developer understand this without context?',
637
- '5. **Performance**: Any obvious O(n^2) loops or unnecessary allocations?',
638
- '6. **Style**: Does it follow the project coding standards?',
639
- ].join('\n'),
640
- });
641
- // Guidance control plane skill
642
- if (profile.guidanceControlPlane) {
643
- skills.push({
644
- name: 'guidance-enforcement',
645
- description: 'Enforce guidance rules through the control plane',
646
- category: 'security',
647
- tags: ['guidance', 'enforcement', 'gates', 'policy'],
648
- requires: ['@claude-flow/guidance'],
649
- capabilities: [
650
- 'Gate enforcement for commands, edits, and tool calls',
651
- 'Proof chain generation for audit trails',
652
- 'Memory write authorization',
653
- 'Trust score tracking',
654
- ],
655
- instructions: [
656
- '## Guidance Control Plane',
657
- '',
658
- 'This project uses `@claude-flow/guidance` to enforce CLAUDE.md rules programmatically.',
659
- '',
660
- '### Before executing commands:',
661
- '```typescript',
662
- "const results = plane.evaluateCommand('rm -rf /tmp/build');",
663
- "if (results.some(r => r.decision === 'deny')) { /* blocked */ }",
664
- '```',
665
- '',
666
- '### Before editing files:',
667
- '```typescript',
668
- "const results = plane.evaluateEdit('config.ts', content, lineCount);",
669
- '```',
670
- '',
671
- '### Track every run:',
672
- '```typescript',
673
- "const event = plane.startRun('task-id', 'feature');",
674
- '// ... work ...',
675
- 'await plane.finalizeRun(event);',
676
- '```',
677
- ].join('\n'),
678
- });
679
- }
680
- return skills;
681
- }
682
- //# sourceMappingURL=generators.js.map