claude-flow-novice 1.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 (1334) hide show
  1. package/.claude/agents/MIGRATION_SUMMARY.md +222 -0
  2. package/.claude/agents/README.md +89 -0
  3. package/.claude/agents/analysis/code-analyzer.md +209 -0
  4. package/.claude/agents/analysis/code-review/analyze-code-quality.md +180 -0
  5. package/.claude/agents/architecture/system-design/arch-system-design.md +156 -0
  6. package/.claude/agents/base-template-generator.md +42 -0
  7. package/.claude/agents/consensus/README.md +253 -0
  8. package/.claude/agents/consensus/byzantine-coordinator.md +63 -0
  9. package/.claude/agents/consensus/consensus-builder.md +242 -0
  10. package/.claude/agents/consensus/crdt-synchronizer.md +997 -0
  11. package/.claude/agents/consensus/gossip-coordinator.md +63 -0
  12. package/.claude/agents/consensus/performance-benchmarker.md +851 -0
  13. package/.claude/agents/consensus/quorum-manager.md +823 -0
  14. package/.claude/agents/consensus/raft-manager.md +63 -0
  15. package/.claude/agents/consensus/security-manager.md +622 -0
  16. package/.claude/agents/core/coder.md +211 -0
  17. package/.claude/agents/core/planner.md +116 -0
  18. package/.claude/agents/core/researcher.md +136 -0
  19. package/.claude/agents/core/reviewer.md +272 -0
  20. package/.claude/agents/core/tester.md +266 -0
  21. package/.claude/agents/data/ml/data-ml-model.md +193 -0
  22. package/.claude/agents/development/backend/dev-backend-api.md +142 -0
  23. package/.claude/agents/devops/ci-cd/ops-cicd-github.md +164 -0
  24. package/.claude/agents/documentation/api-docs/docs-api-openapi.md +174 -0
  25. package/.claude/agents/flow-nexus/app-store.md +88 -0
  26. package/.claude/agents/flow-nexus/authentication.md +69 -0
  27. package/.claude/agents/flow-nexus/challenges.md +81 -0
  28. package/.claude/agents/flow-nexus/neural-network.md +88 -0
  29. package/.claude/agents/flow-nexus/payments.md +83 -0
  30. package/.claude/agents/flow-nexus/sandbox.md +76 -0
  31. package/.claude/agents/flow-nexus/swarm.md +76 -0
  32. package/.claude/agents/flow-nexus/user-tools.md +96 -0
  33. package/.claude/agents/flow-nexus/workflow.md +84 -0
  34. package/.claude/agents/github/code-review-swarm.md +538 -0
  35. package/.claude/agents/github/github-modes.md +173 -0
  36. package/.claude/agents/github/issue-tracker.md +319 -0
  37. package/.claude/agents/github/multi-repo-swarm.md +553 -0
  38. package/.claude/agents/github/pr-manager.md +191 -0
  39. package/.claude/agents/github/project-board-sync.md +509 -0
  40. package/.claude/agents/github/release-manager.md +367 -0
  41. package/.claude/agents/github/release-swarm.md +583 -0
  42. package/.claude/agents/github/repo-architect.md +398 -0
  43. package/.claude/agents/github/swarm-issue.md +573 -0
  44. package/.claude/agents/github/swarm-pr.md +428 -0
  45. package/.claude/agents/github/sync-coordinator.md +452 -0
  46. package/.claude/agents/github/workflow-automation.md +635 -0
  47. package/.claude/agents/goal/goal-planner.md +73 -0
  48. package/.claude/agents/neural/safla-neural.md +74 -0
  49. package/.claude/agents/optimization/README.md +250 -0
  50. package/.claude/agents/optimization/benchmark-suite.md +665 -0
  51. package/.claude/agents/optimization/load-balancer.md +431 -0
  52. package/.claude/agents/optimization/performance-monitor.md +672 -0
  53. package/.claude/agents/optimization/resource-allocator.md +674 -0
  54. package/.claude/agents/optimization/topology-optimizer.md +808 -0
  55. package/.claude/agents/sparc/architecture.md +472 -0
  56. package/.claude/agents/sparc/pseudocode.md +318 -0
  57. package/.claude/agents/sparc/refinement.md +525 -0
  58. package/.claude/agents/sparc/specification.md +276 -0
  59. package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +226 -0
  60. package/.claude/agents/sublinear/consciousness-evolution-agent.md +499 -0
  61. package/.claude/agents/sublinear/matrix-solver-agent.md +113 -0
  62. package/.claude/agents/sublinear/nanosecond-scheduler-agent.md +644 -0
  63. package/.claude/agents/sublinear/pagerank-agent.md +699 -0
  64. package/.claude/agents/sublinear/phi-calculator-agent.md +749 -0
  65. package/.claude/agents/sublinear/psycho-symbolic-agent.md +543 -0
  66. package/.claude/agents/sublinear/sublinear.md +816 -0
  67. package/.claude/agents/sublinear/temporal-advantage-agent.md +360 -0
  68. package/.claude/agents/swarm/README.md +190 -0
  69. package/.claude/agents/swarm/adaptive-coordinator.md +396 -0
  70. package/.claude/agents/swarm/hierarchical-coordinator.md +300 -0
  71. package/.claude/agents/swarm/mesh-coordinator.md +435 -0
  72. package/.claude/agents/templates/automation-smart-agent.md +205 -0
  73. package/.claude/agents/templates/coordinator-swarm-init.md +90 -0
  74. package/.claude/agents/templates/github-pr-manager.md +177 -0
  75. package/.claude/agents/templates/implementer-sparc-coder.md +259 -0
  76. package/.claude/agents/templates/memory-coordinator.md +187 -0
  77. package/.claude/agents/templates/migration-plan.md +746 -0
  78. package/.claude/agents/templates/orchestrator-task.md +139 -0
  79. package/.claude/agents/templates/performance-analyzer.md +199 -0
  80. package/.claude/agents/templates/sparc-coordinator.md +183 -0
  81. package/.claude/agents/testing/e2e/playwright-agent.md +249 -0
  82. package/.claude/agents/testing/unit/tdd-london-swarm.md +244 -0
  83. package/.claude/agents/testing/validation/production-validator.md +395 -0
  84. package/.claude/commands/agents/README.md +10 -0
  85. package/.claude/commands/agents/agent-capabilities.md +21 -0
  86. package/.claude/commands/agents/agent-coordination.md +28 -0
  87. package/.claude/commands/agents/agent-spawning.md +28 -0
  88. package/.claude/commands/agents/agent-types.md +26 -0
  89. package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +54 -0
  90. package/.claude/commands/analysis/README.md +9 -0
  91. package/.claude/commands/analysis/bottleneck-detect.md +162 -0
  92. package/.claude/commands/analysis/performance-bottlenecks.md +59 -0
  93. package/.claude/commands/analysis/performance-report.md +25 -0
  94. package/.claude/commands/analysis/token-efficiency.md +45 -0
  95. package/.claude/commands/analysis/token-usage.md +25 -0
  96. package/.claude/commands/automation/README.md +9 -0
  97. package/.claude/commands/automation/auto-agent.md +122 -0
  98. package/.claude/commands/automation/self-healing.md +106 -0
  99. package/.claude/commands/automation/session-memory.md +90 -0
  100. package/.claude/commands/automation/smart-agents.md +73 -0
  101. package/.claude/commands/automation/smart-spawn.md +25 -0
  102. package/.claude/commands/automation/workflow-select.md +25 -0
  103. package/.claude/commands/coordination/README.md +9 -0
  104. package/.claude/commands/coordination/agent-spawn.md +25 -0
  105. package/.claude/commands/coordination/init.md +44 -0
  106. package/.claude/commands/coordination/orchestrate.md +43 -0
  107. package/.claude/commands/coordination/spawn.md +45 -0
  108. package/.claude/commands/coordination/swarm-init.md +85 -0
  109. package/.claude/commands/coordination/task-orchestrate.md +25 -0
  110. package/.claude/commands/flow-nexus/app-store.md +124 -0
  111. package/.claude/commands/flow-nexus/challenges.md +120 -0
  112. package/.claude/commands/flow-nexus/login-registration.md +65 -0
  113. package/.claude/commands/flow-nexus/neural-network.md +134 -0
  114. package/.claude/commands/flow-nexus/payments.md +116 -0
  115. package/.claude/commands/flow-nexus/sandbox.md +83 -0
  116. package/.claude/commands/flow-nexus/swarm.md +87 -0
  117. package/.claude/commands/flow-nexus/user-tools.md +152 -0
  118. package/.claude/commands/flow-nexus/workflow.md +115 -0
  119. package/.claude/commands/github/README.md +11 -0
  120. package/.claude/commands/github/code-review-swarm.md +514 -0
  121. package/.claude/commands/github/code-review.md +25 -0
  122. package/.claude/commands/github/github-modes.md +147 -0
  123. package/.claude/commands/github/github-swarm.md +121 -0
  124. package/.claude/commands/github/issue-tracker.md +292 -0
  125. package/.claude/commands/github/issue-triage.md +25 -0
  126. package/.claude/commands/github/multi-repo-swarm.md +519 -0
  127. package/.claude/commands/github/pr-enhance.md +26 -0
  128. package/.claude/commands/github/pr-manager.md +170 -0
  129. package/.claude/commands/github/project-board-sync.md +471 -0
  130. package/.claude/commands/github/release-manager.md +338 -0
  131. package/.claude/commands/github/release-swarm.md +544 -0
  132. package/.claude/commands/github/repo-analyze.md +25 -0
  133. package/.claude/commands/github/repo-architect.md +367 -0
  134. package/.claude/commands/github/swarm-issue.md +482 -0
  135. package/.claude/commands/github/swarm-pr.md +285 -0
  136. package/.claude/commands/github/sync-coordinator.md +301 -0
  137. package/.claude/commands/github/workflow-automation.md +442 -0
  138. package/.claude/commands/hive-mind/README.md +17 -0
  139. package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -0
  140. package/.claude/commands/hive-mind/hive-mind-init.md +18 -0
  141. package/.claude/commands/hive-mind/hive-mind-memory.md +8 -0
  142. package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -0
  143. package/.claude/commands/hive-mind/hive-mind-resume.md +8 -0
  144. package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -0
  145. package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -0
  146. package/.claude/commands/hive-mind/hive-mind-status.md +8 -0
  147. package/.claude/commands/hive-mind/hive-mind-stop.md +8 -0
  148. package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -0
  149. package/.claude/commands/hive-mind/hive-mind.md +27 -0
  150. package/.claude/commands/hooks/README.md +11 -0
  151. package/.claude/commands/hooks/overview.md +58 -0
  152. package/.claude/commands/hooks/post-edit.md +117 -0
  153. package/.claude/commands/hooks/post-task.md +112 -0
  154. package/.claude/commands/hooks/pre-edit.md +113 -0
  155. package/.claude/commands/hooks/pre-task.md +111 -0
  156. package/.claude/commands/hooks/session-end.md +118 -0
  157. package/.claude/commands/hooks/setup.md +103 -0
  158. package/.claude/commands/memory/README.md +9 -0
  159. package/.claude/commands/memory/memory-persist.md +25 -0
  160. package/.claude/commands/memory/memory-search.md +25 -0
  161. package/.claude/commands/memory/memory-usage.md +25 -0
  162. package/.claude/commands/memory/neural.md +47 -0
  163. package/.claude/commands/memory/usage.md +46 -0
  164. package/.claude/commands/monitoring/README.md +9 -0
  165. package/.claude/commands/monitoring/agent-metrics.md +25 -0
  166. package/.claude/commands/monitoring/agents.md +44 -0
  167. package/.claude/commands/monitoring/real-time-view.md +25 -0
  168. package/.claude/commands/monitoring/status.md +46 -0
  169. package/.claude/commands/monitoring/swarm-monitor.md +25 -0
  170. package/.claude/commands/optimization/README.md +9 -0
  171. package/.claude/commands/optimization/auto-topology.md +62 -0
  172. package/.claude/commands/optimization/cache-manage.md +25 -0
  173. package/.claude/commands/optimization/parallel-execute.md +25 -0
  174. package/.claude/commands/optimization/parallel-execution.md +50 -0
  175. package/.claude/commands/optimization/topology-optimize.md +25 -0
  176. package/.claude/commands/pair/README.md +261 -0
  177. package/.claude/commands/pair/commands.md +546 -0
  178. package/.claude/commands/pair/config.md +510 -0
  179. package/.claude/commands/pair/examples.md +512 -0
  180. package/.claude/commands/pair/modes.md +348 -0
  181. package/.claude/commands/pair/session.md +407 -0
  182. package/.claude/commands/pair/start.md +209 -0
  183. package/.claude/commands/sparc/analyzer.md +52 -0
  184. package/.claude/commands/sparc/architect.md +53 -0
  185. package/.claude/commands/sparc/batch-executor.md +54 -0
  186. package/.claude/commands/sparc/coder.md +54 -0
  187. package/.claude/commands/sparc/debugger.md +54 -0
  188. package/.claude/commands/sparc/designer.md +53 -0
  189. package/.claude/commands/sparc/documenter.md +54 -0
  190. package/.claude/commands/sparc/innovator.md +54 -0
  191. package/.claude/commands/sparc/memory-manager.md +54 -0
  192. package/.claude/commands/sparc/optimizer.md +54 -0
  193. package/.claude/commands/sparc/orchestrator.md +132 -0
  194. package/.claude/commands/sparc/researcher.md +54 -0
  195. package/.claude/commands/sparc/reviewer.md +54 -0
  196. package/.claude/commands/sparc/sparc-modes.md +174 -0
  197. package/.claude/commands/sparc/swarm-coordinator.md +54 -0
  198. package/.claude/commands/sparc/tdd.md +54 -0
  199. package/.claude/commands/sparc/tester.md +54 -0
  200. package/.claude/commands/sparc/workflow-manager.md +54 -0
  201. package/.claude/commands/stream-chain/pipeline.md +121 -0
  202. package/.claude/commands/stream-chain/run.md +70 -0
  203. package/.claude/commands/swarm/README.md +15 -0
  204. package/.claude/commands/swarm/analysis.md +95 -0
  205. package/.claude/commands/swarm/development.md +96 -0
  206. package/.claude/commands/swarm/examples.md +168 -0
  207. package/.claude/commands/swarm/maintenance.md +102 -0
  208. package/.claude/commands/swarm/optimization.md +117 -0
  209. package/.claude/commands/swarm/research.md +136 -0
  210. package/.claude/commands/swarm/swarm-analysis.md +8 -0
  211. package/.claude/commands/swarm/swarm-background.md +8 -0
  212. package/.claude/commands/swarm/swarm-init.md +19 -0
  213. package/.claude/commands/swarm/swarm-modes.md +8 -0
  214. package/.claude/commands/swarm/swarm-monitor.md +8 -0
  215. package/.claude/commands/swarm/swarm-spawn.md +19 -0
  216. package/.claude/commands/swarm/swarm-status.md +8 -0
  217. package/.claude/commands/swarm/swarm-strategies.md +8 -0
  218. package/.claude/commands/swarm/swarm.md +27 -0
  219. package/.claude/commands/swarm/testing.md +131 -0
  220. package/.claude/commands/testing/playwright-e2e.md +288 -0
  221. package/.claude/commands/training/README.md +9 -0
  222. package/.claude/commands/training/model-update.md +25 -0
  223. package/.claude/commands/training/neural-patterns.md +74 -0
  224. package/.claude/commands/training/neural-train.md +25 -0
  225. package/.claude/commands/training/pattern-learn.md +25 -0
  226. package/.claude/commands/training/specialization.md +63 -0
  227. package/.claude/commands/truth/start.md +143 -0
  228. package/.claude/commands/verify/check.md +50 -0
  229. package/.claude/commands/verify/start.md +128 -0
  230. package/.claude/commands/workflows/README.md +9 -0
  231. package/.claude/commands/workflows/development.md +78 -0
  232. package/.claude/commands/workflows/research.md +63 -0
  233. package/.claude/commands/workflows/workflow-create.md +25 -0
  234. package/.claude/commands/workflows/workflow-execute.md +25 -0
  235. package/.claude/commands/workflows/workflow-export.md +25 -0
  236. package/.claude/helpers/checkpoint-manager.sh +251 -0
  237. package/.claude/helpers/github-safe.js +106 -0
  238. package/.claude/helpers/github-setup.sh +28 -0
  239. package/.claude/helpers/quick-start.sh +19 -0
  240. package/.claude/helpers/setup-mcp.sh +18 -0
  241. package/.claude/helpers/standard-checkpoint-hooks.sh +179 -0
  242. package/.claude/settings.json +112 -0
  243. package/.claude/settings.local.json +10 -0
  244. package/CHANGELOG.md +1517 -0
  245. package/LICENSE +21 -0
  246. package/README.md +338 -0
  247. package/dist/src/adapters/cliffy-node.js +70 -0
  248. package/dist/src/adapters/cliffy-node.js.map +1 -0
  249. package/dist/src/agents/agent-loader.js +208 -0
  250. package/dist/src/agents/agent-loader.js.map +1 -0
  251. package/dist/src/agents/agent-manager.js +1786 -0
  252. package/dist/src/agents/agent-manager.js.map +1 -0
  253. package/dist/src/agents/agent-registry.js +356 -0
  254. package/dist/src/agents/agent-registry.js.map +1 -0
  255. package/dist/src/agents/agent-validator.js +273 -0
  256. package/dist/src/agents/agent-validator.js.map +1 -0
  257. package/dist/src/agents/github/agent-factory.js +553 -0
  258. package/dist/src/agents/github/agent-factory.js.map +1 -0
  259. package/dist/src/agents/github/compatibility/legacy-agent-mappings.js +307 -0
  260. package/dist/src/agents/github/compatibility/legacy-agent-mappings.js.map +1 -0
  261. package/dist/src/agents/github/compatibility/legacy-agent-proxy.js +334 -0
  262. package/dist/src/agents/github/compatibility/legacy-agent-proxy.js.map +1 -0
  263. package/dist/src/agents/github/core/github-collaboration-manager.js +796 -0
  264. package/dist/src/agents/github/core/github-collaboration-manager.js.map +1 -0
  265. package/dist/src/agents/github/core/github-integration-manager.js +546 -0
  266. package/dist/src/agents/github/core/github-integration-manager.js.map +1 -0
  267. package/dist/src/agents/github/core/github-release-coordinator.js +718 -0
  268. package/dist/src/agents/github/core/github-release-coordinator.js.map +1 -0
  269. package/dist/src/agents/github/index.js +68 -0
  270. package/dist/src/agents/github/index.js.map +1 -0
  271. package/dist/src/agents/github/types/index.js +6 -0
  272. package/dist/src/agents/github/types/index.js.map +1 -0
  273. package/dist/src/agents/github/utils/error-handling.js +496 -0
  274. package/dist/src/agents/github/utils/error-handling.js.map +1 -0
  275. package/dist/src/agents/github/utils/github-client.js +158 -0
  276. package/dist/src/agents/github/utils/github-client.js.map +1 -0
  277. package/dist/src/agents/github/utils/hook-integration.js +450 -0
  278. package/dist/src/agents/github/utils/hook-integration.js.map +1 -0
  279. package/dist/src/agents/github/utils/performance-optimizer.js +501 -0
  280. package/dist/src/agents/github/utils/performance-optimizer.js.map +1 -0
  281. package/dist/src/agents/hierarchical-coordinator.js +775 -0
  282. package/dist/src/agents/hierarchical-coordinator.js.map +1 -0
  283. package/dist/src/agents/lifecycle-manager.js +613 -0
  284. package/dist/src/agents/lifecycle-manager.js.map +1 -0
  285. package/dist/src/agents/mesh-coordinator.js +580 -0
  286. package/dist/src/agents/mesh-coordinator.js.map +1 -0
  287. package/dist/src/agents/simple-agent.js +89 -0
  288. package/dist/src/agents/simple-agent.js.map +1 -0
  289. package/dist/src/agents/task-agent-integration.js +240 -0
  290. package/dist/src/agents/task-agent-integration.js.map +1 -0
  291. package/dist/src/api/auth-service.js +474 -0
  292. package/dist/src/api/auth-service.js.map +1 -0
  293. package/dist/src/api/claude-api-errors.js +171 -0
  294. package/dist/src/api/claude-api-errors.js.map +1 -0
  295. package/dist/src/api/claude-client-enhanced.js +473 -0
  296. package/dist/src/api/claude-client-enhanced.js.map +1 -0
  297. package/dist/src/api/claude-client.js +527 -0
  298. package/dist/src/api/claude-client.js.map +1 -0
  299. package/dist/src/api/database-service.js +666 -0
  300. package/dist/src/api/database-service.js.map +1 -0
  301. package/dist/src/api/swarm-api.js +585 -0
  302. package/dist/src/api/swarm-api.js.map +1 -0
  303. package/dist/src/automation/test-pipeline/E2ETestGenerator.js +448 -0
  304. package/dist/src/automation/test-pipeline/E2ETestGenerator.js.map +1 -0
  305. package/dist/src/automation/test-pipeline/PerformanceMonitor.js +572 -0
  306. package/dist/src/automation/test-pipeline/PerformanceMonitor.js.map +1 -0
  307. package/dist/src/automation/test-pipeline/PipelineValidator.js +654 -0
  308. package/dist/src/automation/test-pipeline/PipelineValidator.js.map +1 -0
  309. package/dist/src/automation/test-pipeline/RegressionTestManager.js +545 -0
  310. package/dist/src/automation/test-pipeline/RegressionTestManager.js.map +1 -0
  311. package/dist/src/automation/test-pipeline/SwarmTestCoordinator.js +450 -0
  312. package/dist/src/automation/test-pipeline/SwarmTestCoordinator.js.map +1 -0
  313. package/dist/src/automation/test-pipeline/TestDataManager.js +708 -0
  314. package/dist/src/automation/test-pipeline/TestDataManager.js.map +1 -0
  315. package/dist/src/automation/test-pipeline/TestReportingSystem.js +527 -0
  316. package/dist/src/automation/test-pipeline/TestReportingSystem.js.map +1 -0
  317. package/dist/src/automation/test-pipeline/utils/chrome-mcp-integration.js +353 -0
  318. package/dist/src/automation/test-pipeline/utils/chrome-mcp-integration.js.map +1 -0
  319. package/dist/src/automation/test-pipeline/utils/swarm-coordinator.js +448 -0
  320. package/dist/src/automation/test-pipeline/utils/swarm-coordinator.js.map +1 -0
  321. package/dist/src/ci-cd/deployment-orchestrator.js +477 -0
  322. package/dist/src/ci-cd/deployment-orchestrator.js.map +1 -0
  323. package/dist/src/ci-cd/github-actions-templates.js +972 -0
  324. package/dist/src/ci-cd/github-actions-templates.js.map +1 -0
  325. package/dist/src/ci-cd/performance/PerformanceGate.js +383 -0
  326. package/dist/src/ci-cd/performance/PerformanceGate.js.map +1 -0
  327. package/dist/src/cli/agents/analyst.js +788 -0
  328. package/dist/src/cli/agents/analyst.js.map +1 -0
  329. package/dist/src/cli/agents/architect.js +846 -0
  330. package/dist/src/cli/agents/architect.js.map +1 -0
  331. package/dist/src/cli/agents/base-agent.js +437 -0
  332. package/dist/src/cli/agents/base-agent.js.map +1 -0
  333. package/dist/src/cli/agents/capabilities.js +701 -0
  334. package/dist/src/cli/agents/capabilities.js.map +1 -0
  335. package/dist/src/cli/agents/coder.js +936 -0
  336. package/dist/src/cli/agents/coder.js.map +1 -0
  337. package/dist/src/cli/agents/coordinator.js +489 -0
  338. package/dist/src/cli/agents/coordinator.js.map +1 -0
  339. package/dist/src/cli/agents/hive-agents.js +708 -0
  340. package/dist/src/cli/agents/hive-agents.js.map +1 -0
  341. package/dist/src/cli/agents/index.js +299 -0
  342. package/dist/src/cli/agents/index.js.map +1 -0
  343. package/dist/src/cli/agents/researcher.js +388 -0
  344. package/dist/src/cli/agents/researcher.js.map +1 -0
  345. package/dist/src/cli/agents/tester.js +634 -0
  346. package/dist/src/cli/agents/tester.js.map +1 -0
  347. package/dist/src/cli/cli-core.js +264 -0
  348. package/dist/src/cli/cli-core.js.map +1 -0
  349. package/dist/src/cli/commands/advanced-memory-commands.js +834 -0
  350. package/dist/src/cli/commands/advanced-memory-commands.js.map +1 -0
  351. package/dist/src/cli/commands/agent-simple.js +346 -0
  352. package/dist/src/cli/commands/agent-simple.js.map +1 -0
  353. package/dist/src/cli/commands/agent.js +368 -0
  354. package/dist/src/cli/commands/agent.js.map +1 -0
  355. package/dist/src/cli/commands/claude-api.js +237 -0
  356. package/dist/src/cli/commands/claude-api.js.map +1 -0
  357. package/dist/src/cli/commands/claude.js +132 -0
  358. package/dist/src/cli/commands/claude.js.map +1 -0
  359. package/dist/src/cli/commands/config-integration.js +395 -0
  360. package/dist/src/cli/commands/config-integration.js.map +1 -0
  361. package/dist/src/cli/commands/config.js +67 -0
  362. package/dist/src/cli/commands/config.js.map +1 -0
  363. package/dist/src/cli/commands/enterprise.js +1523 -0
  364. package/dist/src/cli/commands/enterprise.js.map +1 -0
  365. package/dist/src/cli/commands/goal-init.js +262 -0
  366. package/dist/src/cli/commands/goal-init.js.map +1 -0
  367. package/dist/src/cli/commands/help-new.js +276 -0
  368. package/dist/src/cli/commands/help-new.js.map +1 -0
  369. package/dist/src/cli/commands/help.js +1055 -0
  370. package/dist/src/cli/commands/help.js.map +1 -0
  371. package/dist/src/cli/commands/hive-mind/index.js +20 -0
  372. package/dist/src/cli/commands/hive-mind/index.js.map +1 -0
  373. package/dist/src/cli/commands/hive-mind/init.js +58 -0
  374. package/dist/src/cli/commands/hive-mind/init.js.map +1 -0
  375. package/dist/src/cli/commands/hive-mind/optimize-memory.js +362 -0
  376. package/dist/src/cli/commands/hive-mind/optimize-memory.js.map +1 -0
  377. package/dist/src/cli/commands/hive-mind/pause.js +73 -0
  378. package/dist/src/cli/commands/hive-mind/pause.js.map +1 -0
  379. package/dist/src/cli/commands/hive-mind/ps.js +104 -0
  380. package/dist/src/cli/commands/hive-mind/ps.js.map +1 -0
  381. package/dist/src/cli/commands/hive-mind/resume.js +56 -0
  382. package/dist/src/cli/commands/hive-mind/resume.js.map +1 -0
  383. package/dist/src/cli/commands/hive-mind/spawn.js +242 -0
  384. package/dist/src/cli/commands/hive-mind/spawn.js.map +1 -0
  385. package/dist/src/cli/commands/hive-mind/status.js +250 -0
  386. package/dist/src/cli/commands/hive-mind/status.js.map +1 -0
  387. package/dist/src/cli/commands/hive-mind/stop.js +116 -0
  388. package/dist/src/cli/commands/hive-mind/stop.js.map +1 -0
  389. package/dist/src/cli/commands/hive-mind/task.js +302 -0
  390. package/dist/src/cli/commands/hive-mind/task.js.map +1 -0
  391. package/dist/src/cli/commands/hive-mind/wizard.js +705 -0
  392. package/dist/src/cli/commands/hive-mind/wizard.js.map +1 -0
  393. package/dist/src/cli/commands/hive.js +506 -0
  394. package/dist/src/cli/commands/hive.js.map +1 -0
  395. package/dist/src/cli/commands/hook-types.js +5 -0
  396. package/dist/src/cli/commands/hook-types.js.map +1 -0
  397. package/dist/src/cli/commands/hook-validator.js +177 -0
  398. package/dist/src/cli/commands/hook-validator.js.map +1 -0
  399. package/dist/src/cli/commands/hook.js +303 -0
  400. package/dist/src/cli/commands/hook.js.map +1 -0
  401. package/dist/src/cli/commands/index.js +2745 -0
  402. package/dist/src/cli/commands/index.js.map +1 -0
  403. package/dist/src/cli/commands/maestro.js +242 -0
  404. package/dist/src/cli/commands/maestro.js.map +1 -0
  405. package/dist/src/cli/commands/mcp.js +148 -0
  406. package/dist/src/cli/commands/mcp.js.map +1 -0
  407. package/dist/src/cli/commands/memory.js +193 -0
  408. package/dist/src/cli/commands/memory.js.map +1 -0
  409. package/dist/src/cli/commands/migrate.js +107 -0
  410. package/dist/src/cli/commands/migrate.js.map +1 -0
  411. package/dist/src/cli/commands/monitor.js +574 -0
  412. package/dist/src/cli/commands/monitor.js.map +1 -0
  413. package/dist/src/cli/commands/neural-init.js +211 -0
  414. package/dist/src/cli/commands/neural-init.js.map +1 -0
  415. package/dist/src/cli/commands/ruv-swarm.js +555 -0
  416. package/dist/src/cli/commands/ruv-swarm.js.map +1 -0
  417. package/dist/src/cli/commands/session.js +517 -0
  418. package/dist/src/cli/commands/session.js.map +1 -0
  419. package/dist/src/cli/commands/sparc.js +486 -0
  420. package/dist/src/cli/commands/sparc.js.map +1 -0
  421. package/dist/src/cli/commands/start/event-emitter.js +35 -0
  422. package/dist/src/cli/commands/start/event-emitter.js.map +1 -0
  423. package/dist/src/cli/commands/start/index.js +9 -0
  424. package/dist/src/cli/commands/start/index.js.map +1 -0
  425. package/dist/src/cli/commands/start/process-manager.js +294 -0
  426. package/dist/src/cli/commands/start/process-manager.js.map +1 -0
  427. package/dist/src/cli/commands/start/process-ui-simple.js +322 -0
  428. package/dist/src/cli/commands/start/process-ui-simple.js.map +1 -0
  429. package/dist/src/cli/commands/start/process-ui.js +5 -0
  430. package/dist/src/cli/commands/start/process-ui.js.map +1 -0
  431. package/dist/src/cli/commands/start/start-command.js +463 -0
  432. package/dist/src/cli/commands/start/start-command.js.map +1 -0
  433. package/dist/src/cli/commands/start/system-monitor.js +268 -0
  434. package/dist/src/cli/commands/start/system-monitor.js.map +1 -0
  435. package/dist/src/cli/commands/start/types.js +22 -0
  436. package/dist/src/cli/commands/start/types.js.map +1 -0
  437. package/dist/src/cli/commands/start.js +6 -0
  438. package/dist/src/cli/commands/start.js.map +1 -0
  439. package/dist/src/cli/commands/status.js +328 -0
  440. package/dist/src/cli/commands/status.js.map +1 -0
  441. package/dist/src/cli/commands/swarm-spawn.js +56 -0
  442. package/dist/src/cli/commands/swarm-spawn.js.map +1 -0
  443. package/dist/src/cli/commands/swarm.js +567 -0
  444. package/dist/src/cli/commands/swarm.js.map +1 -0
  445. package/dist/src/cli/commands/task.js +44 -0
  446. package/dist/src/cli/commands/task.js.map +1 -0
  447. package/dist/src/cli/commands/validate-integration.js +122 -0
  448. package/dist/src/cli/commands/validate-integration.js.map +1 -0
  449. package/dist/src/cli/commands/verification.js +351 -0
  450. package/dist/src/cli/commands/verification.js.map +1 -0
  451. package/dist/src/cli/commands/workflow.js +615 -0
  452. package/dist/src/cli/commands/workflow.js.map +1 -0
  453. package/dist/src/cli/completion.js +578 -0
  454. package/dist/src/cli/completion.js.map +1 -0
  455. package/dist/src/cli/consolidated/ConsolidatedCLI.js +379 -0
  456. package/dist/src/cli/consolidated/ConsolidatedCLI.js.map +1 -0
  457. package/dist/src/cli/consolidated/core/CommandHandlers.js +833 -0
  458. package/dist/src/cli/consolidated/core/CommandHandlers.js.map +1 -0
  459. package/dist/src/cli/consolidated/core/TierManager.js +291 -0
  460. package/dist/src/cli/consolidated/core/TierManager.js.map +1 -0
  461. package/dist/src/cli/consolidated/help/InteractiveHelp.js +714 -0
  462. package/dist/src/cli/consolidated/help/InteractiveHelp.js.map +1 -0
  463. package/dist/src/cli/consolidated/index.js +62 -0
  464. package/dist/src/cli/consolidated/index.js.map +1 -0
  465. package/dist/src/cli/consolidated/intelligence/IntelligenceEngine.js +457 -0
  466. package/dist/src/cli/consolidated/intelligence/IntelligenceEngine.js.map +1 -0
  467. package/dist/src/cli/consolidated/routing/CommandRouter.js +526 -0
  468. package/dist/src/cli/consolidated/routing/CommandRouter.js.map +1 -0
  469. package/dist/src/cli/consolidated/utils/IntelligentDefaults.js +729 -0
  470. package/dist/src/cli/consolidated/utils/IntelligentDefaults.js.map +1 -0
  471. package/dist/src/cli/consolidated/utils/PerformanceOptimizer.js +416 -0
  472. package/dist/src/cli/consolidated/utils/PerformanceOptimizer.js.map +1 -0
  473. package/dist/src/cli/formatter.js +284 -0
  474. package/dist/src/cli/formatter.js.map +1 -0
  475. package/dist/src/cli/help-formatter.js +111 -0
  476. package/dist/src/cli/help-formatter.js.map +1 -0
  477. package/dist/src/cli/index-remote.js +125 -0
  478. package/dist/src/cli/index-remote.js.map +1 -0
  479. package/dist/src/cli/index.js +159 -0
  480. package/dist/src/cli/index.js.map +1 -0
  481. package/dist/src/cli/init/batch-tools.js +388 -0
  482. package/dist/src/cli/init/batch-tools.js.map +1 -0
  483. package/dist/src/cli/init/claude-config.js +401 -0
  484. package/dist/src/cli/init/claude-config.js.map +1 -0
  485. package/dist/src/cli/init/directory-structure.js +146 -0
  486. package/dist/src/cli/init/directory-structure.js.map +1 -0
  487. package/dist/src/cli/init/index.js +52 -0
  488. package/dist/src/cli/init/index.js.map +1 -0
  489. package/dist/src/cli/init/sparc-environment.js +543 -0
  490. package/dist/src/cli/init/sparc-environment.js.map +1 -0
  491. package/dist/src/cli/init/swarm-commands.js +796 -0
  492. package/dist/src/cli/init/swarm-commands.js.map +1 -0
  493. package/dist/src/cli/init/utils.js +15 -0
  494. package/dist/src/cli/init/utils.js.map +1 -0
  495. package/dist/src/cli/maestro-cli-bridge.js +426 -0
  496. package/dist/src/cli/maestro-cli-bridge.js.map +1 -0
  497. package/dist/src/cli/main.js +26 -0
  498. package/dist/src/cli/main.js.map +1 -0
  499. package/dist/src/cli/node-repl.js +652 -0
  500. package/dist/src/cli/node-repl.js.map +1 -0
  501. package/dist/src/cli/repl.js +1078 -0
  502. package/dist/src/cli/repl.js.map +1 -0
  503. package/dist/src/cli/simple-cli.js +3026 -0
  504. package/dist/src/cli/simple-cli.js.map +1 -0
  505. package/dist/src/cli/simple-mcp.js +87 -0
  506. package/dist/src/cli/simple-mcp.js.map +1 -0
  507. package/dist/src/cli/simple-orchestrator.js +857 -0
  508. package/dist/src/cli/simple-orchestrator.js.map +1 -0
  509. package/dist/src/cli/ui/compatible-ui.js +322 -0
  510. package/dist/src/cli/ui/compatible-ui.js.map +1 -0
  511. package/dist/src/cli/ui/fallback-handler.js +156 -0
  512. package/dist/src/cli/ui/fallback-handler.js.map +1 -0
  513. package/dist/src/cli/ui/index.js +32 -0
  514. package/dist/src/cli/ui/index.js.map +1 -0
  515. package/dist/src/cli/utils/environment-detector.js +228 -0
  516. package/dist/src/cli/utils/environment-detector.js.map +1 -0
  517. package/dist/src/cli/utils/prompt-defaults.js +234 -0
  518. package/dist/src/cli/utils/prompt-defaults.js.map +1 -0
  519. package/dist/src/cli/validation-helper.js +66 -0
  520. package/dist/src/cli/validation-helper.js.map +1 -0
  521. package/dist/src/communication/message-bus.js +1007 -0
  522. package/dist/src/communication/message-bus.js.map +1 -0
  523. package/dist/src/communication/reliable-communication-manager.js +374 -0
  524. package/dist/src/communication/reliable-communication-manager.js.map +1 -0
  525. package/dist/src/config/ai/decision-tree-generator.js +763 -0
  526. package/dist/src/config/ai/decision-tree-generator.js.map +1 -0
  527. package/dist/src/config/ai/project-detection-engine.js +1081 -0
  528. package/dist/src/config/ai/project-detection-engine.js.map +1 -0
  529. package/dist/src/config/config-manager.js +1285 -0
  530. package/dist/src/config/config-manager.js.map +1 -0
  531. package/dist/src/config/consent-manager.js +433 -0
  532. package/dist/src/config/consent-manager.js.map +1 -0
  533. package/dist/src/config/core/intelligent-configuration-manager.js +674 -0
  534. package/dist/src/config/core/intelligent-configuration-manager.js.map +1 -0
  535. package/dist/src/config/index.js +110 -0
  536. package/dist/src/config/index.js.map +1 -0
  537. package/dist/src/config/integration/hooks-integration.js +548 -0
  538. package/dist/src/config/integration/hooks-integration.js.map +1 -0
  539. package/dist/src/config/migration/config-migration.js +285 -0
  540. package/dist/src/config/migration/config-migration.js.map +1 -0
  541. package/dist/src/config/migration/version-migration-engine.js +984 -0
  542. package/dist/src/config/migration/version-migration-engine.js.map +1 -0
  543. package/dist/src/config/migration-manager.js +529 -0
  544. package/dist/src/config/migration-manager.js.map +1 -0
  545. package/dist/src/config/ruv-swarm-config.js +332 -0
  546. package/dist/src/config/ruv-swarm-config.js.map +1 -0
  547. package/dist/src/config/ruv-swarm-integration.js +285 -0
  548. package/dist/src/config/ruv-swarm-integration.js.map +1 -0
  549. package/dist/src/config/storage/multi-tier-storage.js +626 -0
  550. package/dist/src/config/storage/multi-tier-storage.js.map +1 -0
  551. package/dist/src/config/test-migration-fixer.js +332 -0
  552. package/dist/src/config/test-migration-fixer.js.map +1 -0
  553. package/dist/src/config/ui/progressive-disclosure-engine.js +876 -0
  554. package/dist/src/config/ui/progressive-disclosure-engine.js.map +1 -0
  555. package/dist/src/config/utils/config-export-import.js +454 -0
  556. package/dist/src/config/utils/config-export-import.js.map +1 -0
  557. package/dist/src/config/utils/zero-config-setup.js +238 -0
  558. package/dist/src/config/utils/zero-config-setup.js.map +1 -0
  559. package/dist/src/config/validation/config-validator.js +462 -0
  560. package/dist/src/config/validation/config-validator.js.map +1 -0
  561. package/dist/src/config/web-portal-config.js +343 -0
  562. package/dist/src/config/web-portal-config.js.map +1 -0
  563. package/dist/src/config/zero-config-setup.js +294 -0
  564. package/dist/src/config/zero-config-setup.js.map +1 -0
  565. package/dist/src/constants/agent-types.js +51 -0
  566. package/dist/src/constants/agent-types.js.map +1 -0
  567. package/dist/src/coordination/advanced-scheduler.js +370 -0
  568. package/dist/src/coordination/advanced-scheduler.js.map +1 -0
  569. package/dist/src/coordination/advanced-task-executor.js +481 -0
  570. package/dist/src/coordination/advanced-task-executor.js.map +1 -0
  571. package/dist/src/coordination/background-executor.js +366 -0
  572. package/dist/src/coordination/background-executor.js.map +1 -0
  573. package/dist/src/coordination/circuit-breaker.js +286 -0
  574. package/dist/src/coordination/circuit-breaker.js.map +1 -0
  575. package/dist/src/coordination/conflict-resolution.js +348 -0
  576. package/dist/src/coordination/conflict-resolution.js.map +1 -0
  577. package/dist/src/coordination/dependency-graph.js +398 -0
  578. package/dist/src/coordination/dependency-graph.js.map +1 -0
  579. package/dist/src/coordination/hive-orchestrator.js +309 -0
  580. package/dist/src/coordination/hive-orchestrator.js.map +1 -0
  581. package/dist/src/coordination/hive-protocol.js +363 -0
  582. package/dist/src/coordination/hive-protocol.js.map +1 -0
  583. package/dist/src/coordination/index.js +21 -0
  584. package/dist/src/coordination/index.js.map +1 -0
  585. package/dist/src/coordination/load-balancer.js +737 -0
  586. package/dist/src/coordination/load-balancer.js.map +1 -0
  587. package/dist/src/coordination/manager.js +360 -0
  588. package/dist/src/coordination/manager.js.map +1 -0
  589. package/dist/src/coordination/messaging.js +221 -0
  590. package/dist/src/coordination/messaging.js.map +1 -0
  591. package/dist/src/coordination/metrics.js +415 -0
  592. package/dist/src/coordination/metrics.js.map +1 -0
  593. package/dist/src/coordination/resources.js +276 -0
  594. package/dist/src/coordination/resources.js.map +1 -0
  595. package/dist/src/coordination/scheduler.js +322 -0
  596. package/dist/src/coordination/scheduler.js.map +1 -0
  597. package/dist/src/coordination/swarm-coordinator.js +585 -0
  598. package/dist/src/coordination/swarm-coordinator.js.map +1 -0
  599. package/dist/src/coordination/swarm-monitor.js +359 -0
  600. package/dist/src/coordination/swarm-monitor.js.map +1 -0
  601. package/dist/src/coordination/work-stealing.js +164 -0
  602. package/dist/src/coordination/work-stealing.js.map +1 -0
  603. package/dist/src/core/agent-manager.js +80 -0
  604. package/dist/src/core/agent-manager.js.map +1 -0
  605. package/dist/src/core/config.js +1221 -0
  606. package/dist/src/core/config.js.map +1 -0
  607. package/dist/src/core/event-bus.js +136 -0
  608. package/dist/src/core/event-bus.js.map +1 -0
  609. package/dist/src/core/index.js +6 -0
  610. package/dist/src/core/index.js.map +1 -0
  611. package/dist/src/core/json-persistence.js +112 -0
  612. package/dist/src/core/json-persistence.js.map +1 -0
  613. package/dist/src/core/logger.js +245 -0
  614. package/dist/src/core/logger.js.map +1 -0
  615. package/dist/src/core/orchestrator-fixed.js +236 -0
  616. package/dist/src/core/orchestrator-fixed.js.map +1 -0
  617. package/dist/src/core/orchestrator.js +1136 -0
  618. package/dist/src/core/orchestrator.js.map +1 -0
  619. package/dist/src/core/persistence.js +185 -0
  620. package/dist/src/core/persistence.js.map +1 -0
  621. package/dist/src/core/project-manager.js +80 -0
  622. package/dist/src/core/project-manager.js.map +1 -0
  623. package/dist/src/core/version.js +35 -0
  624. package/dist/src/core/version.js.map +1 -0
  625. package/dist/src/crdt/types.js +509 -0
  626. package/dist/src/crdt/types.js.map +1 -0
  627. package/dist/src/enterprise/analytics-manager.js +1133 -0
  628. package/dist/src/enterprise/analytics-manager.js.map +1 -0
  629. package/dist/src/enterprise/audit-manager.js +1112 -0
  630. package/dist/src/enterprise/audit-manager.js.map +1 -0
  631. package/dist/src/enterprise/cloud-manager.js +886 -0
  632. package/dist/src/enterprise/cloud-manager.js.map +1 -0
  633. package/dist/src/enterprise/deployment-manager.js +963 -0
  634. package/dist/src/enterprise/deployment-manager.js.map +1 -0
  635. package/dist/src/enterprise/index.js +8 -0
  636. package/dist/src/enterprise/index.js.map +1 -0
  637. package/dist/src/enterprise/project-manager.js +577 -0
  638. package/dist/src/enterprise/project-manager.js.map +1 -0
  639. package/dist/src/enterprise/security-manager.js +987 -0
  640. package/dist/src/enterprise/security-manager.js.map +1 -0
  641. package/dist/src/feature-flags/cli/Phase4CLI.js +463 -0
  642. package/dist/src/feature-flags/cli/Phase4CLI.js.map +1 -0
  643. package/dist/src/feature-flags/core/FeatureFlagManager.js +324 -0
  644. package/dist/src/feature-flags/core/FeatureFlagManager.js.map +1 -0
  645. package/dist/src/feature-flags/index.js +237 -0
  646. package/dist/src/feature-flags/index.js.map +1 -0
  647. package/dist/src/feature-flags/monitoring/RolloutMonitor.js +275 -0
  648. package/dist/src/feature-flags/monitoring/RolloutMonitor.js.map +1 -0
  649. package/dist/src/feature-flags/rollout/RolloutController.js +301 -0
  650. package/dist/src/feature-flags/rollout/RolloutController.js.map +1 -0
  651. package/dist/src/feature-flags/validation/HookInterceptor.js +310 -0
  652. package/dist/src/feature-flags/validation/HookInterceptor.js.map +1 -0
  653. package/dist/src/feature-flags/validation/TruthBasedValidator.js +263 -0
  654. package/dist/src/feature-flags/validation/TruthBasedValidator.js.map +1 -0
  655. package/dist/src/hive-mind/core/Agent.js +569 -0
  656. package/dist/src/hive-mind/core/Agent.js.map +1 -0
  657. package/dist/src/hive-mind/core/Communication.js +411 -0
  658. package/dist/src/hive-mind/core/Communication.js.map +1 -0
  659. package/dist/src/hive-mind/core/DatabaseManager.js +599 -0
  660. package/dist/src/hive-mind/core/DatabaseManager.js.map +1 -0
  661. package/dist/src/hive-mind/core/HiveMind.js +575 -0
  662. package/dist/src/hive-mind/core/HiveMind.js.map +1 -0
  663. package/dist/src/hive-mind/core/Memory.js +1159 -0
  664. package/dist/src/hive-mind/core/Memory.js.map +1 -0
  665. package/dist/src/hive-mind/core/MemoryMonitor.js +525 -0
  666. package/dist/src/hive-mind/core/MemoryMonitor.js.map +1 -0
  667. package/dist/src/hive-mind/core/Queen.js +753 -0
  668. package/dist/src/hive-mind/core/Queen.js.map +1 -0
  669. package/dist/src/hive-mind/index.js +21 -0
  670. package/dist/src/hive-mind/index.js.map +1 -0
  671. package/dist/src/hive-mind/integration/ConsensusEngine.js +460 -0
  672. package/dist/src/hive-mind/integration/ConsensusEngine.js.map +1 -0
  673. package/dist/src/hive-mind/integration/MCPToolWrapper.js +243 -0
  674. package/dist/src/hive-mind/integration/MCPToolWrapper.js.map +1 -0
  675. package/dist/src/hive-mind/integration/SwarmOrchestrator.js +812 -0
  676. package/dist/src/hive-mind/integration/SwarmOrchestrator.js.map +1 -0
  677. package/dist/src/hive-mind/types.js +9 -0
  678. package/dist/src/hive-mind/types.js.map +1 -0
  679. package/dist/src/hooks/index.js +197 -0
  680. package/dist/src/hooks/index.js.map +1 -0
  681. package/dist/src/index.js +11 -0
  682. package/dist/src/index.js.map +1 -0
  683. package/dist/src/integration/mock-components.js +362 -0
  684. package/dist/src/integration/mock-components.js.map +1 -0
  685. package/dist/src/integration/system-integration.js +428 -0
  686. package/dist/src/integration/system-integration.js.map +1 -0
  687. package/dist/src/integration/types.js +5 -0
  688. package/dist/src/integration/types.js.map +1 -0
  689. package/dist/src/lifecycle/communication-protocols.js +568 -0
  690. package/dist/src/lifecycle/communication-protocols.js.map +1 -0
  691. package/dist/src/lifecycle/dependency-tracker.js +799 -0
  692. package/dist/src/lifecycle/dependency-tracker.js.map +1 -0
  693. package/dist/src/lifecycle/memory-schema.js +622 -0
  694. package/dist/src/lifecycle/memory-schema.js.map +1 -0
  695. package/dist/src/maestro/maestro-swarm-coordinator.js +504 -0
  696. package/dist/src/maestro/maestro-swarm-coordinator.js.map +1 -0
  697. package/dist/src/maestro/maestro-types.js +3 -0
  698. package/dist/src/maestro/maestro-types.js.map +1 -0
  699. package/dist/src/maestro/tests/native-hive-mind-integration.test.js +382 -0
  700. package/dist/src/maestro/tests/native-hive-mind-integration.test.js.map +1 -0
  701. package/dist/src/mcp/auth.js +347 -0
  702. package/dist/src/mcp/auth.js.map +1 -0
  703. package/dist/src/mcp/claude-code-wrapper.js +717 -0
  704. package/dist/src/mcp/claude-code-wrapper.js.map +1 -0
  705. package/dist/src/mcp/claude-flow-tools.js +1365 -0
  706. package/dist/src/mcp/claude-flow-tools.js.map +1 -0
  707. package/dist/src/mcp/client.js +201 -0
  708. package/dist/src/mcp/client.js.map +1 -0
  709. package/dist/src/mcp/index.js +192 -0
  710. package/dist/src/mcp/index.js.map +1 -0
  711. package/dist/src/mcp/integrate-wrapper.js +85 -0
  712. package/dist/src/mcp/integrate-wrapper.js.map +1 -0
  713. package/dist/src/mcp/lifecycle-manager.js +348 -0
  714. package/dist/src/mcp/lifecycle-manager.js.map +1 -0
  715. package/dist/src/mcp/load-balancer.js +386 -0
  716. package/dist/src/mcp/load-balancer.js.map +1 -0
  717. package/dist/src/mcp/orchestration-integration.js +800 -0
  718. package/dist/src/mcp/orchestration-integration.js.map +1 -0
  719. package/dist/src/mcp/performance-monitor.js +489 -0
  720. package/dist/src/mcp/performance-monitor.js.map +1 -0
  721. package/dist/src/mcp/protocol-manager.js +376 -0
  722. package/dist/src/mcp/protocol-manager.js.map +1 -0
  723. package/dist/src/mcp/recovery/connection-health-monitor.js +240 -0
  724. package/dist/src/mcp/recovery/connection-health-monitor.js.map +1 -0
  725. package/dist/src/mcp/recovery/connection-state-manager.js +309 -0
  726. package/dist/src/mcp/recovery/connection-state-manager.js.map +1 -0
  727. package/dist/src/mcp/recovery/fallback-coordinator.js +288 -0
  728. package/dist/src/mcp/recovery/fallback-coordinator.js.map +1 -0
  729. package/dist/src/mcp/recovery/index.js +10 -0
  730. package/dist/src/mcp/recovery/index.js.map +1 -0
  731. package/dist/src/mcp/recovery/reconnection-manager.js +219 -0
  732. package/dist/src/mcp/recovery/reconnection-manager.js.map +1 -0
  733. package/dist/src/mcp/recovery/recovery-manager.js +262 -0
  734. package/dist/src/mcp/recovery/recovery-manager.js.map +1 -0
  735. package/dist/src/mcp/router.js +220 -0
  736. package/dist/src/mcp/router.js.map +1 -0
  737. package/dist/src/mcp/ruv-swarm-tools.js +671 -0
  738. package/dist/src/mcp/ruv-swarm-tools.js.map +1 -0
  739. package/dist/src/mcp/server-with-wrapper.js +32 -0
  740. package/dist/src/mcp/server-with-wrapper.js.map +1 -0
  741. package/dist/src/mcp/server-wrapper-mode.js +26 -0
  742. package/dist/src/mcp/server-wrapper-mode.js.map +1 -0
  743. package/dist/src/mcp/server.js +539 -0
  744. package/dist/src/mcp/server.js.map +1 -0
  745. package/dist/src/mcp/session-manager.js +338 -0
  746. package/dist/src/mcp/session-manager.js.map +1 -0
  747. package/dist/src/mcp/sparc-modes.js +455 -0
  748. package/dist/src/mcp/sparc-modes.js.map +1 -0
  749. package/dist/src/mcp/swarm-tools.js +903 -0
  750. package/dist/src/mcp/swarm-tools.js.map +1 -0
  751. package/dist/src/mcp/tests/mcp-integration.test.js +493 -0
  752. package/dist/src/mcp/tests/mcp-integration.test.js.map +1 -0
  753. package/dist/src/mcp/tools.js +426 -0
  754. package/dist/src/mcp/tools.js.map +1 -0
  755. package/dist/src/mcp/transports/base.js +5 -0
  756. package/dist/src/mcp/transports/base.js.map +1 -0
  757. package/dist/src/mcp/transports/http.js +414 -0
  758. package/dist/src/mcp/transports/http.js.map +1 -0
  759. package/dist/src/mcp/transports/stdio.js +217 -0
  760. package/dist/src/mcp/transports/stdio.js.map +1 -0
  761. package/dist/src/memory/advanced-memory-manager.js +1522 -0
  762. package/dist/src/memory/advanced-memory-manager.js.map +1 -0
  763. package/dist/src/memory/backends/base.js +5 -0
  764. package/dist/src/memory/backends/base.js.map +1 -0
  765. package/dist/src/memory/backends/markdown.js +235 -0
  766. package/dist/src/memory/backends/markdown.js.map +1 -0
  767. package/dist/src/memory/backends/sqlite.js +295 -0
  768. package/dist/src/memory/backends/sqlite.js.map +1 -0
  769. package/dist/src/memory/cache.js +177 -0
  770. package/dist/src/memory/cache.js.map +1 -0
  771. package/dist/src/memory/distributed-memory.js +745 -0
  772. package/dist/src/memory/distributed-memory.js.map +1 -0
  773. package/dist/src/memory/indexer.js +184 -0
  774. package/dist/src/memory/indexer.js.map +1 -0
  775. package/dist/src/memory/manager.js +457 -0
  776. package/dist/src/memory/manager.js.map +1 -0
  777. package/dist/src/memory/sqlite-enhanced-backend.js +529 -0
  778. package/dist/src/memory/sqlite-enhanced-backend.js.map +1 -0
  779. package/dist/src/memory/swarm-memory.js +446 -0
  780. package/dist/src/memory/swarm-memory.js.map +1 -0
  781. package/dist/src/migration/index.js +94 -0
  782. package/dist/src/migration/index.js.map +1 -0
  783. package/dist/src/migration/logger.js +110 -0
  784. package/dist/src/migration/logger.js.map +1 -0
  785. package/dist/src/migration/migration-analyzer.js +255 -0
  786. package/dist/src/migration/migration-analyzer.js.map +1 -0
  787. package/dist/src/migration/migration-runner.js +511 -0
  788. package/dist/src/migration/migration-runner.js.map +1 -0
  789. package/dist/src/migration/migration-validator.js +272 -0
  790. package/dist/src/migration/migration-validator.js.map +1 -0
  791. package/dist/src/migration/progress-reporter.js +139 -0
  792. package/dist/src/migration/progress-reporter.js.map +1 -0
  793. package/dist/src/migration/rollback-manager.js +310 -0
  794. package/dist/src/migration/rollback-manager.js.map +1 -0
  795. package/dist/src/migration/tests/migration-system.test.js +9 -0
  796. package/dist/src/migration/tests/migration-system.test.js.map +1 -0
  797. package/dist/src/migration/types.js +5 -0
  798. package/dist/src/migration/types.js.map +1 -0
  799. package/dist/src/monitoring/diagnostics.js +532 -0
  800. package/dist/src/monitoring/diagnostics.js.map +1 -0
  801. package/dist/src/monitoring/health-check.js +355 -0
  802. package/dist/src/monitoring/health-check.js.map +1 -0
  803. package/dist/src/monitoring/phase4/analytics/consensus-tracker.js +764 -0
  804. package/dist/src/monitoring/phase4/analytics/consensus-tracker.js.map +1 -0
  805. package/dist/src/monitoring/phase4/analytics/performance-assessor.js +859 -0
  806. package/dist/src/monitoring/phase4/analytics/performance-assessor.js.map +1 -0
  807. package/dist/src/monitoring/phase4/analytics/truth-score-analyzer.js +667 -0
  808. package/dist/src/monitoring/phase4/analytics/truth-score-analyzer.js.map +1 -0
  809. package/dist/src/monitoring/phase4/dashboard/monitoring-dashboard.js +1008 -0
  810. package/dist/src/monitoring/phase4/dashboard/monitoring-dashboard.js.map +1 -0
  811. package/dist/src/monitoring/phase4/rollout-decision-engine.js +849 -0
  812. package/dist/src/monitoring/phase4/rollout-decision-engine.js.map +1 -0
  813. package/dist/src/monitoring/real-time-feedback-system.js +688 -0
  814. package/dist/src/monitoring/real-time-feedback-system.js.map +1 -0
  815. package/dist/src/monitoring/real-time-monitor.js +981 -0
  816. package/dist/src/monitoring/real-time-monitor.js.map +1 -0
  817. package/dist/src/monitoring/regression/RegressionDetector.js +525 -0
  818. package/dist/src/monitoring/regression/RegressionDetector.js.map +1 -0
  819. package/dist/src/neural/NeuralDomainMapper.js +1137 -0
  820. package/dist/src/neural/NeuralDomainMapper.js.map +1 -0
  821. package/dist/src/neural/index.js +418 -0
  822. package/dist/src/neural/index.js.map +1 -0
  823. package/dist/src/neural/integration.js +590 -0
  824. package/dist/src/neural/integration.js.map +1 -0
  825. package/dist/src/providers/anthropic-provider.js +245 -0
  826. package/dist/src/providers/anthropic-provider.js.map +1 -0
  827. package/dist/src/providers/base-provider.js +389 -0
  828. package/dist/src/providers/base-provider.js.map +1 -0
  829. package/dist/src/providers/cohere-provider.js +405 -0
  830. package/dist/src/providers/cohere-provider.js.map +1 -0
  831. package/dist/src/providers/google-provider.js +376 -0
  832. package/dist/src/providers/google-provider.js.map +1 -0
  833. package/dist/src/providers/index.js +18 -0
  834. package/dist/src/providers/index.js.map +1 -0
  835. package/dist/src/providers/ollama-provider.js +400 -0
  836. package/dist/src/providers/ollama-provider.js.map +1 -0
  837. package/dist/src/providers/openai-provider.js +364 -0
  838. package/dist/src/providers/openai-provider.js.map +1 -0
  839. package/dist/src/providers/provider-manager.js +487 -0
  840. package/dist/src/providers/provider-manager.js.map +1 -0
  841. package/dist/src/providers/types.js +55 -0
  842. package/dist/src/providers/types.js.map +1 -0
  843. package/dist/src/providers/utils.js +343 -0
  844. package/dist/src/providers/utils.js.map +1 -0
  845. package/dist/src/quality-gates/automated-review-system.js +645 -0
  846. package/dist/src/quality-gates/automated-review-system.js.map +1 -0
  847. package/dist/src/resources/resource-manager.js +1275 -0
  848. package/dist/src/resources/resource-manager.js.map +1 -0
  849. package/dist/src/rollback/recovery-manager.js +1065 -0
  850. package/dist/src/rollback/recovery-manager.js.map +1 -0
  851. package/dist/src/services/agent-manager.js +308 -0
  852. package/dist/src/services/agent-manager.js.map +1 -0
  853. package/dist/src/services/agentic-flow-hooks/hook-manager.js +506 -0
  854. package/dist/src/services/agentic-flow-hooks/hook-manager.js.map +1 -0
  855. package/dist/src/services/agentic-flow-hooks/index.js +322 -0
  856. package/dist/src/services/agentic-flow-hooks/index.js.map +1 -0
  857. package/dist/src/services/agentic-flow-hooks/llm-hooks.js +445 -0
  858. package/dist/src/services/agentic-flow-hooks/llm-hooks.js.map +1 -0
  859. package/dist/src/services/agentic-flow-hooks/memory-hooks.js +558 -0
  860. package/dist/src/services/agentic-flow-hooks/memory-hooks.js.map +1 -0
  861. package/dist/src/services/agentic-flow-hooks/neural-hooks.js +595 -0
  862. package/dist/src/services/agentic-flow-hooks/neural-hooks.js.map +1 -0
  863. package/dist/src/services/agentic-flow-hooks/performance-hooks.js +640 -0
  864. package/dist/src/services/agentic-flow-hooks/performance-hooks.js.map +1 -0
  865. package/dist/src/services/agentic-flow-hooks/types.js +8 -0
  866. package/dist/src/services/agentic-flow-hooks/types.js.map +1 -0
  867. package/dist/src/services/agentic-flow-hooks/workflow-hooks.js +746 -0
  868. package/dist/src/services/agentic-flow-hooks/workflow-hooks.js.map +1 -0
  869. package/dist/src/services/performance-metrics-collector.js +529 -0
  870. package/dist/src/services/performance-metrics-collector.js.map +1 -0
  871. package/dist/src/services/swarm-coordinator.js +431 -0
  872. package/dist/src/services/swarm-coordinator.js.map +1 -0
  873. package/dist/src/services/swarm-memory-manager.js +513 -0
  874. package/dist/src/services/swarm-memory-manager.js.map +1 -0
  875. package/dist/src/services/swarm-relaunch-manager.js +408 -0
  876. package/dist/src/services/swarm-relaunch-manager.js.map +1 -0
  877. package/dist/src/services/task-handoff-service.js +361 -0
  878. package/dist/src/services/task-handoff-service.js.map +1 -0
  879. package/dist/src/swarm/__tests__/integration.test.js +229 -0
  880. package/dist/src/swarm/__tests__/integration.test.js.map +1 -0
  881. package/dist/src/swarm/__tests__/prompt-copier.test.js +346 -0
  882. package/dist/src/swarm/__tests__/prompt-copier.test.js.map +1 -0
  883. package/dist/src/swarm/advanced-orchestrator.js +1093 -0
  884. package/dist/src/swarm/advanced-orchestrator.js.map +1 -0
  885. package/dist/src/swarm/claude-code-interface.js +959 -0
  886. package/dist/src/swarm/claude-code-interface.js.map +1 -0
  887. package/dist/src/swarm/claude-flow-executor.js +218 -0
  888. package/dist/src/swarm/claude-flow-executor.js.map +1 -0
  889. package/dist/src/swarm/coordinator.js +3001 -0
  890. package/dist/src/swarm/coordinator.js.map +1 -0
  891. package/dist/src/swarm/direct-executor.js +1169 -0
  892. package/dist/src/swarm/direct-executor.js.map +1 -0
  893. package/dist/src/swarm/executor-v2.js +312 -0
  894. package/dist/src/swarm/executor-v2.js.map +1 -0
  895. package/dist/src/swarm/executor.js +813 -0
  896. package/dist/src/swarm/executor.js.map +1 -0
  897. package/dist/src/swarm/hive-mind-integration.js +700 -0
  898. package/dist/src/swarm/hive-mind-integration.js.map +1 -0
  899. package/dist/src/swarm/index.js +43 -0
  900. package/dist/src/swarm/index.js.map +1 -0
  901. package/dist/src/swarm/json-output-aggregator.js +269 -0
  902. package/dist/src/swarm/json-output-aggregator.js.map +1 -0
  903. package/dist/src/swarm/mcp-integration-wrapper.js +623 -0
  904. package/dist/src/swarm/mcp-integration-wrapper.js.map +1 -0
  905. package/dist/src/swarm/memory.js +1119 -0
  906. package/dist/src/swarm/memory.js.map +1 -0
  907. package/dist/src/swarm/optimizations/__tests__/optimization.test.js +350 -0
  908. package/dist/src/swarm/optimizations/__tests__/optimization.test.js.map +1 -0
  909. package/dist/src/swarm/optimizations/async-file-manager.js +273 -0
  910. package/dist/src/swarm/optimizations/async-file-manager.js.map +1 -0
  911. package/dist/src/swarm/optimizations/circular-buffer.js +148 -0
  912. package/dist/src/swarm/optimizations/circular-buffer.js.map +1 -0
  913. package/dist/src/swarm/optimizations/connection-pool.js +239 -0
  914. package/dist/src/swarm/optimizations/connection-pool.js.map +1 -0
  915. package/dist/src/swarm/optimizations/index.js +30 -0
  916. package/dist/src/swarm/optimizations/index.js.map +1 -0
  917. package/dist/src/swarm/optimizations/optimized-executor.js +318 -0
  918. package/dist/src/swarm/optimizations/optimized-executor.js.map +1 -0
  919. package/dist/src/swarm/optimizations/ttl-map.js +223 -0
  920. package/dist/src/swarm/optimizations/ttl-map.js.map +1 -0
  921. package/dist/src/swarm/prompt-cli.js +202 -0
  922. package/dist/src/swarm/prompt-cli.js.map +1 -0
  923. package/dist/src/swarm/prompt-copier-enhanced.js +193 -0
  924. package/dist/src/swarm/prompt-copier-enhanced.js.map +1 -0
  925. package/dist/src/swarm/prompt-copier.js +376 -0
  926. package/dist/src/swarm/prompt-copier.js.map +1 -0
  927. package/dist/src/swarm/prompt-manager.js +287 -0
  928. package/dist/src/swarm/prompt-manager.js.map +1 -0
  929. package/dist/src/swarm/prompt-utils.js +299 -0
  930. package/dist/src/swarm/prompt-utils.js.map +1 -0
  931. package/dist/src/swarm/result-aggregator.js +713 -0
  932. package/dist/src/swarm/result-aggregator.js.map +1 -0
  933. package/dist/src/swarm/sparc-executor.js +1557 -0
  934. package/dist/src/swarm/sparc-executor.js.map +1 -0
  935. package/dist/src/swarm/strategies/auto.js +751 -0
  936. package/dist/src/swarm/strategies/auto.js.map +1 -0
  937. package/dist/src/swarm/strategies/base.js +117 -0
  938. package/dist/src/swarm/strategies/base.js.map +1 -0
  939. package/dist/src/swarm/strategies/research.js +911 -0
  940. package/dist/src/swarm/strategies/research.js.map +1 -0
  941. package/dist/src/swarm/strategies/strategy-metrics-patch.js +4 -0
  942. package/dist/src/swarm/strategies/strategy-metrics-patch.js.map +1 -0
  943. package/dist/src/swarm/types.js +54 -0
  944. package/dist/src/swarm/types.js.map +1 -0
  945. package/dist/src/swarm/workers/copy-worker.js +58 -0
  946. package/dist/src/swarm/workers/copy-worker.js.map +1 -0
  947. package/dist/src/swarm-fullstack/adapters/chrome-mcp-adapter.js +412 -0
  948. package/dist/src/swarm-fullstack/adapters/chrome-mcp-adapter.js.map +1 -0
  949. package/dist/src/swarm-fullstack/adapters/shadcn-mcp-adapter.js +560 -0
  950. package/dist/src/swarm-fullstack/adapters/shadcn-mcp-adapter.js.map +1 -0
  951. package/dist/src/swarm-fullstack/cli/fullstack-cli.js +582 -0
  952. package/dist/src/swarm-fullstack/cli/fullstack-cli.js.map +1 -0
  953. package/dist/src/swarm-fullstack/config/fullstack-config.js +369 -0
  954. package/dist/src/swarm-fullstack/config/fullstack-config.js.map +1 -0
  955. package/dist/src/swarm-fullstack/core/dynamic-agent-spawner.js +687 -0
  956. package/dist/src/swarm-fullstack/core/dynamic-agent-spawner.js.map +1 -0
  957. package/dist/src/swarm-fullstack/core/enhanced-swarm-message-router.js +589 -0
  958. package/dist/src/swarm-fullstack/core/enhanced-swarm-message-router.js.map +1 -0
  959. package/dist/src/swarm-fullstack/core/fullstack-orchestrator.js +538 -0
  960. package/dist/src/swarm-fullstack/core/fullstack-orchestrator.js.map +1 -0
  961. package/dist/src/swarm-fullstack/types/index.js +8 -0
  962. package/dist/src/swarm-fullstack/types/index.js.map +1 -0
  963. package/dist/src/task/commands.js +130 -0
  964. package/dist/src/task/commands.js.map +1 -0
  965. package/dist/src/task/coordination.js +737 -0
  966. package/dist/src/task/coordination.js.map +1 -0
  967. package/dist/src/task/engine.js +490 -0
  968. package/dist/src/task/engine.js.map +1 -0
  969. package/dist/src/task/index.js +269 -0
  970. package/dist/src/task/index.js.map +1 -0
  971. package/dist/src/task/types.js +5 -0
  972. package/dist/src/task/types.js.map +1 -0
  973. package/dist/src/terminal/adapters/base.js +5 -0
  974. package/dist/src/terminal/adapters/base.js.map +1 -0
  975. package/dist/src/terminal/adapters/native.js +473 -0
  976. package/dist/src/terminal/adapters/native.js.map +1 -0
  977. package/dist/src/terminal/adapters/vscode.js +285 -0
  978. package/dist/src/terminal/adapters/vscode.js.map +1 -0
  979. package/dist/src/terminal/manager.js +237 -0
  980. package/dist/src/terminal/manager.js.map +1 -0
  981. package/dist/src/terminal/pool.js +209 -0
  982. package/dist/src/terminal/pool.js.map +1 -0
  983. package/dist/src/terminal/session.js +211 -0
  984. package/dist/src/terminal/session.js.map +1 -0
  985. package/dist/src/terminal/vscode-bridge.js +186 -0
  986. package/dist/src/terminal/vscode-bridge.js.map +1 -0
  987. package/dist/src/testing/performance/PerformanceTestRunner.js +401 -0
  988. package/dist/src/testing/performance/PerformanceTestRunner.js.map +1 -0
  989. package/dist/src/testing-integration/chrome-mcp-integration.js +556 -0
  990. package/dist/src/testing-integration/chrome-mcp-integration.js.map +1 -0
  991. package/dist/src/testing-integration/continuous-test-runner.js +509 -0
  992. package/dist/src/testing-integration/continuous-test-runner.js.map +1 -0
  993. package/dist/src/tests/validation-consistency.test.js +52 -0
  994. package/dist/src/tests/validation-consistency.test.js.map +1 -0
  995. package/dist/src/topology/adaptive-coordinator.js +691 -0
  996. package/dist/src/topology/adaptive-coordinator.js.map +1 -0
  997. package/dist/src/topology/communication-bridge.js +551 -0
  998. package/dist/src/topology/communication-bridge.js.map +1 -0
  999. package/dist/src/topology/enhanced-hierarchical-coordinator.js +1732 -0
  1000. package/dist/src/topology/enhanced-hierarchical-coordinator.js.map +1 -0
  1001. package/dist/src/topology/enhanced-mesh-coordinator.js +1271 -0
  1002. package/dist/src/topology/enhanced-mesh-coordinator.js.map +1 -0
  1003. package/dist/src/topology/topology-manager.js +797 -0
  1004. package/dist/src/topology/topology-manager.js.map +1 -0
  1005. package/dist/src/topology/types.js +8 -0
  1006. package/dist/src/topology/types.js.map +1 -0
  1007. package/dist/src/types/agent-lifecycle-types.js +172 -0
  1008. package/dist/src/types/agent-lifecycle-types.js.map +1 -0
  1009. package/dist/src/types/agent-types.js +11 -0
  1010. package/dist/src/types/agent-types.js.map +1 -0
  1011. package/dist/src/types/cliffy.d.js +9 -0
  1012. package/dist/src/types/cliffy.d.js.map +1 -0
  1013. package/dist/src/types/global.d.js +5 -0
  1014. package/dist/src/types/global.d.js.map +1 -0
  1015. package/dist/src/types/index.js +16 -0
  1016. package/dist/src/types/index.js.map +1 -0
  1017. package/dist/src/types/mcp.d.js +3 -0
  1018. package/dist/src/types/mcp.d.js.map +1 -0
  1019. package/dist/src/types/vscode.d.js +4 -0
  1020. package/dist/src/types/vscode.d.js.map +1 -0
  1021. package/dist/src/ui/hive-dashboard.js +284 -0
  1022. package/dist/src/ui/hive-dashboard.js.map +1 -0
  1023. package/dist/src/utils/error-handler.js +27 -0
  1024. package/dist/src/utils/error-handler.js.map +1 -0
  1025. package/dist/src/utils/errors.js +195 -0
  1026. package/dist/src/utils/errors.js.map +1 -0
  1027. package/dist/src/utils/formatters.js +66 -0
  1028. package/dist/src/utils/formatters.js.map +1 -0
  1029. package/dist/src/utils/helpers.js +451 -0
  1030. package/dist/src/utils/helpers.js.map +1 -0
  1031. package/dist/src/utils/paths.js +43 -0
  1032. package/dist/src/utils/paths.js.map +1 -0
  1033. package/dist/src/utils/type-guards.js +119 -0
  1034. package/dist/src/utils/type-guards.js.map +1 -0
  1035. package/dist/src/utils/types.js +38 -0
  1036. package/dist/src/utils/types.js.map +1 -0
  1037. package/dist/src/verification/agent-scorer.js +633 -0
  1038. package/dist/src/verification/agent-scorer.js.map +1 -0
  1039. package/dist/src/verification/alert-manager.js +1126 -0
  1040. package/dist/src/verification/alert-manager.js.map +1 -0
  1041. package/dist/src/verification/api/types/index.js +6 -0
  1042. package/dist/src/verification/api/types/index.js.map +1 -0
  1043. package/dist/src/verification/checkpoint-manager.js +519 -0
  1044. package/dist/src/verification/checkpoint-manager.js.map +1 -0
  1045. package/dist/src/verification/cli-integration.js +500 -0
  1046. package/dist/src/verification/cli-integration.js.map +1 -0
  1047. package/dist/src/verification/conflict-resolver.js +534 -0
  1048. package/dist/src/verification/conflict-resolver.js.map +1 -0
  1049. package/dist/src/verification/crdt-coordinator.js +506 -0
  1050. package/dist/src/verification/crdt-coordinator.js.map +1 -0
  1051. package/dist/src/verification/dashboard-exporter.js +876 -0
  1052. package/dist/src/verification/dashboard-exporter.js.map +1 -0
  1053. package/dist/src/verification/demo.js +320 -0
  1054. package/dist/src/verification/demo.js.map +1 -0
  1055. package/dist/src/verification/examples.js +508 -0
  1056. package/dist/src/verification/examples.js.map +1 -0
  1057. package/dist/src/verification/hooks.js +961 -0
  1058. package/dist/src/verification/hooks.js.map +1 -0
  1059. package/dist/src/verification/index.js +73 -0
  1060. package/dist/src/verification/index.js.map +1 -0
  1061. package/dist/src/verification/interfaces.js +7 -0
  1062. package/dist/src/verification/interfaces.js.map +1 -0
  1063. package/dist/src/verification/memory-manager.js +510 -0
  1064. package/dist/src/verification/memory-manager.js.map +1 -0
  1065. package/dist/src/verification/middleware.js +579 -0
  1066. package/dist/src/verification/middleware.js.map +1 -0
  1067. package/dist/src/verification/rollback-engine.js +511 -0
  1068. package/dist/src/verification/rollback-engine.js.map +1 -0
  1069. package/dist/src/verification/rollback.js +1710 -0
  1070. package/dist/src/verification/rollback.js.map +1 -0
  1071. package/dist/src/verification/security-bypass-test.js +704 -0
  1072. package/dist/src/verification/security-bypass-test.js.map +1 -0
  1073. package/dist/src/verification/security.js +1125 -0
  1074. package/dist/src/verification/security.js.map +1 -0
  1075. package/dist/src/verification/simple-hooks.js +189 -0
  1076. package/dist/src/verification/simple-hooks.js.map +1 -0
  1077. package/dist/src/verification/system-tracker.js +657 -0
  1078. package/dist/src/verification/system-tracker.js.map +1 -0
  1079. package/dist/src/verification/telemetry.js +922 -0
  1080. package/dist/src/verification/telemetry.js.map +1 -0
  1081. package/dist/src/verification/test-verification.js +43 -0
  1082. package/dist/src/verification/test-verification.js.map +1 -0
  1083. package/dist/src/verification/tests/e2e/verification-pipeline.test.js +1027 -0
  1084. package/dist/src/verification/tests/e2e/verification-pipeline.test.js.map +1 -0
  1085. package/dist/src/verification/tests/integration/cross-agent-communication.test.js +638 -0
  1086. package/dist/src/verification/tests/integration/cross-agent-communication.test.js.map +1 -0
  1087. package/dist/src/verification/tests/mocks/false-reporting-scenarios.test.js +1029 -0
  1088. package/dist/src/verification/tests/mocks/false-reporting-scenarios.test.js.map +1 -0
  1089. package/dist/src/verification/tests/performance/verification-overhead.test.js +587 -0
  1090. package/dist/src/verification/tests/performance/verification-overhead.test.js.map +1 -0
  1091. package/dist/src/verification/tests/unit/truth-scoring.test.js +579 -0
  1092. package/dist/src/verification/tests/unit/truth-scoring.test.js.map +1 -0
  1093. package/dist/src/verification/tests.js +611 -0
  1094. package/dist/src/verification/tests.js.map +1 -0
  1095. package/dist/src/verification/truth-scorer.js +584 -0
  1096. package/dist/src/verification/truth-scorer.js.map +1 -0
  1097. package/dist/src/verification/types.js +56 -0
  1098. package/dist/src/verification/types.js.map +1 -0
  1099. package/dist/src/verification/verification-pipeline.js +884 -0
  1100. package/dist/src/verification/verification-pipeline.js.map +1 -0
  1101. package/dist/src/web/messaging/agent-status-tracker.js +447 -0
  1102. package/dist/src/web/messaging/agent-status-tracker.js.map +1 -0
  1103. package/dist/src/web/messaging/human-intervention-system.js +298 -0
  1104. package/dist/src/web/messaging/human-intervention-system.js.map +1 -0
  1105. package/dist/src/web/messaging/message-filter.js +289 -0
  1106. package/dist/src/web/messaging/message-filter.js.map +1 -0
  1107. package/dist/src/web/messaging/swarm-message-router.js +320 -0
  1108. package/dist/src/web/messaging/swarm-message-router.js.map +1 -0
  1109. package/dist/src/web/messaging/transparency-logger.js +415 -0
  1110. package/dist/src/web/messaging/transparency-logger.js.map +1 -0
  1111. package/dist/src/web/portal-server.js +440 -0
  1112. package/dist/src/web/portal-server.js.map +1 -0
  1113. package/dist/src/web/server.js +311 -0
  1114. package/dist/src/web/server.js.map +1 -0
  1115. package/dist/src/web/websocket/websocket-manager.js +509 -0
  1116. package/dist/src/web/websocket/websocket-manager.js.map +1 -0
  1117. package/dist/src/workflows/feature-lifecycle-manager.js +386 -0
  1118. package/dist/src/workflows/feature-lifecycle-manager.js.map +1 -0
  1119. package/dist/src/workflows/fullstack-coordination-manager.js +801 -0
  1120. package/dist/src/workflows/fullstack-coordination-manager.js.map +1 -0
  1121. package/dist/src/workflows/iterative-development-orchestrator.js +1128 -0
  1122. package/dist/src/workflows/iterative-development-orchestrator.js.map +1 -0
  1123. package/dist/src/workflows/progressive-rollout-manager.js +710 -0
  1124. package/dist/src/workflows/progressive-rollout-manager.js.map +1 -0
  1125. package/package.json +264 -0
  1126. package/scripts/README.md +339 -0
  1127. package/scripts/post-install-claude-md.js +50 -0
  1128. package/src/commands/dependency-recommendations.js +551 -0
  1129. package/src/commands/suggest-improvements.js +492 -0
  1130. package/src/commands/suggest-templates.js +916 -0
  1131. package/src/npx/claude-md-protection.js +169 -0
  1132. package/wiki/INDEX.md +264 -0
  1133. package/wiki/NAVIGATION.md +270 -0
  1134. package/wiki/README.md +101 -0
  1135. package/wiki/accessibility/README.md +103 -0
  1136. package/wiki/accessibility/assistive-tech/screen-reader-support.md +912 -0
  1137. package/wiki/accessibility/automation/agent-testing-automation.md +880 -0
  1138. package/wiki/accessibility/guidelines/wcag-compliance.md +278 -0
  1139. package/wiki/accessibility/i18n/internationalization-strategies.md +1022 -0
  1140. package/wiki/accessibility/motor-accessibility/keyboard-navigation.md +1182 -0
  1141. package/wiki/accessibility/patterns/inclusive-design-patterns.md +715 -0
  1142. package/wiki/accessibility/testing/automated-testing.md +665 -0
  1143. package/wiki/accessibility/visual-design/color-contrast.md +926 -0
  1144. package/wiki/accessibility/workflows/accessibility-first-development.md +916 -0
  1145. package/wiki/accessibility/workflows/inclusive-design-review.md +835 -0
  1146. package/wiki/api-reference/README.md +565 -0
  1147. package/wiki/api-reference/agent-management-api.md +931 -0
  1148. package/wiki/api-reference/cli-api.md +630 -0
  1149. package/wiki/api-reference/configuration-api.md +1355 -0
  1150. package/wiki/api-reference/examples-code-samples.md +2241 -0
  1151. package/wiki/api-reference/hooks-coordination-api.md +1406 -0
  1152. package/wiki/api-reference/mcp-tool-specifications.md +944 -0
  1153. package/wiki/api-reference/plugin-development.md +1695 -0
  1154. package/wiki/api-reference/technical-architecture.md +1729 -0
  1155. package/wiki/command-reference/README.md +305 -0
  1156. package/wiki/command-reference/agent-commands.md +571 -0
  1157. package/wiki/command-reference/cli-commands.md +516 -0
  1158. package/wiki/command-reference/command-syntax.md +676 -0
  1159. package/wiki/command-reference/expert/README.md +616 -0
  1160. package/wiki/command-reference/expert-tier.md +791 -0
  1161. package/wiki/command-reference/intermediate/README.md +628 -0
  1162. package/wiki/command-reference/intermediate-tier.md +1024 -0
  1163. package/wiki/command-reference/mcp-integration.md +412 -0
  1164. package/wiki/command-reference/mcp-tools/README.md +1743 -0
  1165. package/wiki/command-reference/mcp-tools/dual-access-workflows.md +911 -0
  1166. package/wiki/command-reference/mcp-tools/index.md +201 -0
  1167. package/wiki/command-reference/mcp-tools/integration-patterns.md +830 -0
  1168. package/wiki/command-reference/mcp-tools/quick-reference.md +383 -0
  1169. package/wiki/command-reference/mcp-tools/session-management.md +1183 -0
  1170. package/wiki/command-reference/mcp-tools/task-tool-integration.md +827 -0
  1171. package/wiki/command-reference/novice/README.md +661 -0
  1172. package/wiki/command-reference/novice-tier.md +1142 -0
  1173. package/wiki/command-reference/progression-guide.md +772 -0
  1174. package/wiki/command-reference/troubleshooting.md +803 -0
  1175. package/wiki/command-reference/workflows.md +752 -0
  1176. package/wiki/community/README.md +328 -0
  1177. package/wiki/community/contributing/README.md +623 -0
  1178. package/wiki/community/contributing/code-of-conduct.md +388 -0
  1179. package/wiki/community/contributing/collaboration-workflows.md +1 -0
  1180. package/wiki/community/contributing/issue-reporting.md +1 -0
  1181. package/wiki/community/contributing/onboarding-guide.md +1 -0
  1182. package/wiki/community/contributing/recognition-system.md +1 -0
  1183. package/wiki/community/discussions/README.md +54 -0
  1184. package/wiki/community/learning-resources.md +476 -0
  1185. package/wiki/community/showcase/README.md +1 -0
  1186. package/wiki/core-concepts/README.md +656 -0
  1187. package/wiki/core-concepts/agent-feedback-hooks/README.md +298 -0
  1188. package/wiki/core-concepts/agents/README.md +392 -0
  1189. package/wiki/core-concepts/agents/agent-creation-guide.md +431 -0
  1190. package/wiki/core-concepts/agents.md +301 -0
  1191. package/wiki/core-concepts/architecture.md +227 -0
  1192. package/wiki/core-concepts/hooks-lifecycle/README.md +543 -0
  1193. package/wiki/core-concepts/integration.md +507 -0
  1194. package/wiki/core-concepts/memory-system/README.md +521 -0
  1195. package/wiki/core-concepts/performance.md +463 -0
  1196. package/wiki/core-concepts/sparc-methodology/README.md +465 -0
  1197. package/wiki/core-concepts/sparc-workflow.md +407 -0
  1198. package/wiki/core-concepts/swarm-coordination/README.md +525 -0
  1199. package/wiki/core-concepts/swarm-coordination.md +453 -0
  1200. package/wiki/cost-optimization/enterprise-cost-management.md +1356 -0
  1201. package/wiki/deployment/enterprise-deployment-patterns.md +1739 -0
  1202. package/wiki/enterprise-architecture/enterprise-architecture-overview.md +348 -0
  1203. package/wiki/enterprise-architecture/enterprise-scaling-patterns.md +1184 -0
  1204. package/wiki/examples/README.md +288 -0
  1205. package/wiki/examples/automation/cicd-pipeline/README.md +1265 -0
  1206. package/wiki/examples/basic/hello-world/README.md +434 -0
  1207. package/wiki/examples/basic-projects/README.md +427 -0
  1208. package/wiki/examples/enterprise-integration/README.md +602 -0
  1209. package/wiki/examples/integration-patterns.md +825 -0
  1210. package/wiki/examples/legacy-migration/README.md +656 -0
  1211. package/wiki/examples/multi-cloud/README.md +1071 -0
  1212. package/wiki/examples/performance-benchmarks.md +729 -0
  1213. package/wiki/examples/performance-optimization/README.md +1214 -0
  1214. package/wiki/examples/projects/rest-api/README.md +845 -0
  1215. package/wiki/examples/real-time-collaboration/README.md +1092 -0
  1216. package/wiki/examples/scenarios/ecommerce/README.md +1273 -0
  1217. package/wiki/examples/swarm-patterns.md +1026 -0
  1218. package/wiki/examples/templates/download-system.md +993 -0
  1219. package/wiki/examples/templates/javascript/README.md +487 -0
  1220. package/wiki/examples/templates/javascript/package.json +119 -0
  1221. package/wiki/examples/troubleshooting/README.md +1317 -0
  1222. package/wiki/examples/utilities/patterns/README.md +1347 -0
  1223. package/wiki/examples/videos/01-setup.md +403 -0
  1224. package/wiki/examples/workflow-automation/README.md +1023 -0
  1225. package/wiki/getting-started/README.md +398 -0
  1226. package/wiki/getting-started/benefits.md +451 -0
  1227. package/wiki/getting-started/claude-code-mcp/README.md +319 -0
  1228. package/wiki/getting-started/claude-code-mcp/setup.md +431 -0
  1229. package/wiki/getting-started/claude-code-mcp/usage-examples.md +501 -0
  1230. package/wiki/getting-started/cli-access/README.md +300 -0
  1231. package/wiki/getting-started/cli-access/first-commands.md +319 -0
  1232. package/wiki/getting-started/installation/README.md +469 -0
  1233. package/wiki/getting-started/installation/troubleshooting.md +617 -0
  1234. package/wiki/getting-started/learning-path.md +494 -0
  1235. package/wiki/getting-started/learning-plan-generator.md +434 -0
  1236. package/wiki/getting-started/quick-start/README.md +255 -0
  1237. package/wiki/getting-started/quick-start/cli-tutorial.md +680 -0
  1238. package/wiki/getting-started/quick-start/mcp-tutorial.md +544 -0
  1239. package/wiki/governance/multi-project-coordination.md +820 -0
  1240. package/wiki/languages/README.md +349 -0
  1241. package/wiki/languages/go/README.md +124 -0
  1242. package/wiki/languages/go/examples/README.md +1066 -0
  1243. package/wiki/languages/go/frameworks/README.md +708 -0
  1244. package/wiki/languages/go/integration/README.md +748 -0
  1245. package/wiki/languages/go/microservices/README.md +1185 -0
  1246. package/wiki/languages/go/performance/README.md +1310 -0
  1247. package/wiki/languages/go/setup/README.md +397 -0
  1248. package/wiki/languages/go/systems/README.md +1116 -0
  1249. package/wiki/languages/go/testing/README.md +999 -0
  1250. package/wiki/languages/java/README.md +217 -0
  1251. package/wiki/languages/java/claude-flow-integration.md +1220 -0
  1252. package/wiki/languages/java/enterprise-java.md +1247 -0
  1253. package/wiki/languages/java/examples.md +1712 -0
  1254. package/wiki/languages/java/microservices.md +1600 -0
  1255. package/wiki/languages/java/performance.md +1122 -0
  1256. package/wiki/languages/java/project-setup.md +504 -0
  1257. package/wiki/languages/java/spring-boot.md +756 -0
  1258. package/wiki/languages/java/testing.md +1323 -0
  1259. package/wiki/languages/javascript/README.md +575 -0
  1260. package/wiki/languages/javascript/api/README.md +1445 -0
  1261. package/wiki/languages/javascript/backend/README.md +748 -0
  1262. package/wiki/languages/javascript/frontend/README.md +1048 -0
  1263. package/wiki/languages/javascript/integration.md +1107 -0
  1264. package/wiki/languages/javascript/setup/README.md +438 -0
  1265. package/wiki/languages/javascript/testing/README.md +1775 -0
  1266. package/wiki/languages/python/README.md +1002 -0
  1267. package/wiki/languages/python/data-science/README.md +1317 -0
  1268. package/wiki/languages/python/examples/README.md +911 -0
  1269. package/wiki/languages/python/integration.md +1515 -0
  1270. package/wiki/languages/python/mcp-integration.md +843 -0
  1271. package/wiki/languages/python/setup/README.md +622 -0
  1272. package/wiki/languages/python/testing/README.md +1680 -0
  1273. package/wiki/languages/python/web-development/README.md +974 -0
  1274. package/wiki/languages/rust/README.md +936 -0
  1275. package/wiki/languages/rust/examples/cli-mcp-workflows.md +850 -0
  1276. package/wiki/languages/rust/examples/rest-api.md +1927 -0
  1277. package/wiki/languages/rust/setup/cargo-integration.md +780 -0
  1278. package/wiki/languages/rust/testing/quality-validation.md +1098 -0
  1279. package/wiki/languages/rust/web-development/axum.md +1497 -0
  1280. package/wiki/languages/rust/workflows/systems-programming.md +1189 -0
  1281. package/wiki/languages/typescript/README.md +581 -0
  1282. package/wiki/languages/typescript/automation.md +1070 -0
  1283. package/wiki/languages/typescript/coordination.md +971 -0
  1284. package/wiki/languages/typescript/enterprise.md +1368 -0
  1285. package/wiki/languages/typescript/frameworks.md +970 -0
  1286. package/wiki/languages/typescript/migration.md +1384 -0
  1287. package/wiki/languages/typescript/patterns.md +694 -0
  1288. package/wiki/languages/typescript/performance.md +1195 -0
  1289. package/wiki/languages/typescript/setup.md +516 -0
  1290. package/wiki/languages/typescript/workflows.md +481 -0
  1291. package/wiki/monitoring/enterprise-observability.md +1141 -0
  1292. package/wiki/security/enterprise-security-framework.md +1174 -0
  1293. package/wiki/team-coordination/team-scaling-strategies.md +1486 -0
  1294. package/wiki/troubleshooting/README.md +654 -0
  1295. package/wiki/troubleshooting/common-issues/README.md +659 -0
  1296. package/wiki/troubleshooting/common-issues.md +458 -0
  1297. package/wiki/troubleshooting/error-resolution.md +763 -0
  1298. package/wiki/troubleshooting/performance-optimization.md +540 -0
  1299. package/wiki/tutorials/README.md +607 -0
  1300. package/wiki/tutorials/advanced/01-multi-agent-orchestration-patterns.md +585 -0
  1301. package/wiki/tutorials/advanced/02-enterprise-architecture-development.md +661 -0
  1302. package/wiki/tutorials/advanced/03-advanced-sparc-methodology.md +595 -0
  1303. package/wiki/tutorials/advanced/04-performance-optimization-workflows.md +613 -0
  1304. package/wiki/tutorials/advanced/05-custom-agent-development.md +681 -0
  1305. package/wiki/tutorials/advanced/06-legacy-system-integration.md +574 -0
  1306. package/wiki/tutorials/advanced/07-production-deployment-monitoring.md +684 -0
  1307. package/wiki/tutorials/advanced/08-enterprise-scenarios.md +700 -0
  1308. package/wiki/tutorials/advanced/README.md +577 -0
  1309. package/wiki/tutorials/advanced/performance-optimization.md +476 -0
  1310. package/wiki/tutorials/advanced/swarm-orchestration.md +627 -0
  1311. package/wiki/tutorials/beginner/01-first-project.md +532 -0
  1312. package/wiki/tutorials/beginner/02-basic-workflows.md +523 -0
  1313. package/wiki/tutorials/beginner/03-simple-automation.md +641 -0
  1314. package/wiki/tutorials/beginner/04-quality-testing.md +984 -0
  1315. package/wiki/tutorials/beginner/README.md +388 -0
  1316. package/wiki/tutorials/exercises/ecommerce-platform.md +1370 -0
  1317. package/wiki/tutorials/intermediate/01-multi-agent-teams.md +961 -0
  1318. package/wiki/tutorials/intermediate/README.md +452 -0
  1319. package/wiki/tutorials/intermediate/optimization.md +402 -0
  1320. package/wiki/tutorials/skill-assessment.md +522 -0
  1321. package/wiki/tutorials/skill-competency-matrix.md +548 -0
  1322. package/wiki/tutorials/troubleshooting/command-cheatsheet.md +425 -0
  1323. package/wiki/tutorials/troubleshooting/setup-issues.md +717 -0
  1324. package/wiki/video-tutorials/README.md +202 -0
  1325. package/wiki/video-tutorials/accessibility/README.md +1349 -0
  1326. package/wiki/video-tutorials/community/README.md +1366 -0
  1327. package/wiki/video-tutorials/content-organization/README.md +1295 -0
  1328. package/wiki/video-tutorials/distribution/README.md +1093 -0
  1329. package/wiki/video-tutorials/editing/README.md +751 -0
  1330. package/wiki/video-tutorials/interactive/README.md +1151 -0
  1331. package/wiki/video-tutorials/multi-language/README.md +1384 -0
  1332. package/wiki/video-tutorials/planning/README.md +461 -0
  1333. package/wiki/video-tutorials/recording/README.md +619 -0
  1334. package/wiki/video-tutorials/technical-specs/README.md +1018 -0
@@ -0,0 +1,1323 @@
1
+ # Java Testing Strategies with JUnit, TestNG, and Spring Test
2
+
3
+ This comprehensive guide covers modern Java testing strategies, including unit testing, integration testing, test automation, and Claude Flow integration for robust test-driven development.
4
+
5
+ ## Quick Start
6
+
7
+ ### Basic JUnit 5 Test
8
+
9
+ ```java
10
+ @DisplayName("User Service Tests")
11
+ class UserServiceTest {
12
+
13
+ @Test
14
+ @DisplayName("Should create user with valid data")
15
+ void shouldCreateUserWithValidData() {
16
+ // Given, When, Then
17
+ }
18
+ }
19
+ ```
20
+
21
+ ### With Claude Flow Integration
22
+
23
+ ```bash
24
+ # Generate comprehensive test suite with agents
25
+ npx claude-flow sparc run tester "Create comprehensive Java test suite with JUnit 5"
26
+
27
+ # Setup test automation
28
+ npx claude-flow sparc batch tester,coder "Implement test automation with TestNG and Spring Test"
29
+ ```
30
+
31
+ ## JUnit 5 Testing
32
+
33
+ ### 1. Basic Test Structure
34
+
35
+ ```java
36
+ @ExtendWith(MockitoExtension.class)
37
+ @DisplayName("User Service Unit Tests")
38
+ class UserServiceTest {
39
+
40
+ @Mock
41
+ private UserRepository userRepository;
42
+
43
+ @Mock
44
+ private UserMapper userMapper;
45
+
46
+ @Mock
47
+ private ApplicationEventPublisher eventPublisher;
48
+
49
+ @InjectMocks
50
+ private UserService userService;
51
+
52
+ @Nested
53
+ @DisplayName("User Creation Tests")
54
+ class UserCreationTests {
55
+
56
+ @Test
57
+ @DisplayName("Should create user successfully with valid data")
58
+ void shouldCreateUserSuccessfully() {
59
+ // Given
60
+ CreateUserRequest request = CreateUserRequest.builder()
61
+ .email("john.doe@example.com")
62
+ .firstName("John")
63
+ .lastName("Doe")
64
+ .build();
65
+
66
+ User user = new User();
67
+ User savedUser = new User();
68
+ savedUser.setId(1L);
69
+ savedUser.setEmail("john.doe@example.com");
70
+
71
+ UserDto expectedDto = UserDto.builder()
72
+ .id(1L)
73
+ .email("john.doe@example.com")
74
+ .firstName("John")
75
+ .lastName("Doe")
76
+ .build();
77
+
78
+ when(userMapper.toEntity(request)).thenReturn(user);
79
+ when(userRepository.save(user)).thenReturn(savedUser);
80
+ when(userMapper.toDto(savedUser)).thenReturn(expectedDto);
81
+
82
+ // When
83
+ UserDto result = userService.createUser(request);
84
+
85
+ // Then
86
+ assertThat(result).isNotNull();
87
+ assertThat(result.getId()).isEqualTo(1L);
88
+ assertThat(result.getEmail()).isEqualTo("john.doe@example.com");
89
+
90
+ verify(userRepository).save(user);
91
+ verify(eventPublisher).publishEvent(any(UserCreatedEvent.class));
92
+ }
93
+
94
+ @Test
95
+ @DisplayName("Should throw exception when email already exists")
96
+ void shouldThrowExceptionWhenEmailExists() {
97
+ // Given
98
+ CreateUserRequest request = CreateUserRequest.builder()
99
+ .email("existing@example.com")
100
+ .firstName("John")
101
+ .lastName("Doe")
102
+ .build();
103
+
104
+ when(userRepository.existsByEmail("existing@example.com")).thenReturn(true);
105
+
106
+ // When & Then
107
+ assertThatThrownBy(() -> userService.createUser(request))
108
+ .isInstanceOf(EmailAlreadyExistsException.class)
109
+ .hasMessage("Email already exists: existing@example.com");
110
+
111
+ verify(userRepository, never()).save(any(User.class));
112
+ verify(eventPublisher, never()).publishEvent(any());
113
+ }
114
+
115
+ @ParameterizedTest
116
+ @DisplayName("Should validate email format")
117
+ @ValueSource(strings = {"invalid-email", "@example.com", "test@", "test..test@example.com"})
118
+ void shouldValidateEmailFormat(String invalidEmail) {
119
+ // Given
120
+ CreateUserRequest request = CreateUserRequest.builder()
121
+ .email(invalidEmail)
122
+ .firstName("John")
123
+ .lastName("Doe")
124
+ .build();
125
+
126
+ // When & Then
127
+ assertThatThrownBy(() -> userService.createUser(request))
128
+ .isInstanceOf(InvalidEmailException.class);
129
+ }
130
+
131
+ @ParameterizedTest
132
+ @DisplayName("Should handle various valid email formats")
133
+ @CsvSource({
134
+ "test@example.com, John, Doe",
135
+ "user.name@domain.co.uk, Jane, Smith",
136
+ "user+tag@example.org, Bob, Johnson"
137
+ })
138
+ void shouldHandleValidEmailFormats(String email, String firstName, String lastName) {
139
+ // Given
140
+ CreateUserRequest request = CreateUserRequest.builder()
141
+ .email(email)
142
+ .firstName(firstName)
143
+ .lastName(lastName)
144
+ .build();
145
+
146
+ User user = new User();
147
+ User savedUser = new User();
148
+ savedUser.setId(1L);
149
+
150
+ when(userMapper.toEntity(request)).thenReturn(user);
151
+ when(userRepository.save(user)).thenReturn(savedUser);
152
+ when(userMapper.toDto(savedUser)).thenReturn(new UserDto());
153
+
154
+ // When & Then
155
+ assertThatCode(() -> userService.createUser(request))
156
+ .doesNotThrowAnyException();
157
+ }
158
+ }
159
+
160
+ @Nested
161
+ @DisplayName("User Retrieval Tests")
162
+ class UserRetrievalTests {
163
+
164
+ @Test
165
+ @DisplayName("Should find user by ID")
166
+ void shouldFindUserById() {
167
+ // Given
168
+ Long userId = 1L;
169
+ User user = createTestUser(userId, "test@example.com");
170
+ UserDto expectedDto = createTestUserDto(userId, "test@example.com");
171
+
172
+ when(userRepository.findById(userId)).thenReturn(Optional.of(user));
173
+ when(userMapper.toDto(user)).thenReturn(expectedDto);
174
+
175
+ // When
176
+ Optional<UserDto> result = userService.findById(userId);
177
+
178
+ // Then
179
+ assertThat(result).isPresent();
180
+ assertThat(result.get().getId()).isEqualTo(userId);
181
+ assertThat(result.get().getEmail()).isEqualTo("test@example.com");
182
+ }
183
+
184
+ @Test
185
+ @DisplayName("Should return empty when user not found")
186
+ void shouldReturnEmptyWhenUserNotFound() {
187
+ // Given
188
+ Long userId = 999L;
189
+ when(userRepository.findById(userId)).thenReturn(Optional.empty());
190
+
191
+ // When
192
+ Optional<UserDto> result = userService.findById(userId);
193
+
194
+ // Then
195
+ assertThat(result).isEmpty();
196
+ }
197
+
198
+ @Test
199
+ @DisplayName("Should find users with pagination")
200
+ void shouldFindUsersWithPagination() {
201
+ // Given
202
+ Pageable pageable = PageRequest.of(0, 10);
203
+ List<User> users = Arrays.asList(
204
+ createTestUser(1L, "user1@example.com"),
205
+ createTestUser(2L, "user2@example.com")
206
+ );
207
+ Page<User> userPage = new PageImpl<>(users, pageable, 2);
208
+
209
+ when(userRepository.findAll(pageable)).thenReturn(userPage);
210
+ when(userMapper.toDto(any(User.class))).thenAnswer(invocation -> {
211
+ User user = invocation.getArgument(0);
212
+ return createTestUserDto(user.getId(), user.getEmail());
213
+ });
214
+
215
+ // When
216
+ Page<UserDto> result = userService.findAll(pageable);
217
+
218
+ // Then
219
+ assertThat(result.getContent()).hasSize(2);
220
+ assertThat(result.getTotalElements()).isEqualTo(2);
221
+ assertThat(result.getNumber()).isEqualTo(0);
222
+ assertThat(result.getSize()).isEqualTo(10);
223
+ }
224
+ }
225
+
226
+ @Test
227
+ @DisplayName("Should handle concurrent user creation")
228
+ @Timeout(value = 5, unit = TimeUnit.SECONDS)
229
+ void shouldHandleConcurrentUserCreation() throws InterruptedException {
230
+ // Given
231
+ int numberOfThreads = 10;
232
+ ExecutorService executor = Executors.newFixedThreadPool(numberOfThreads);
233
+ CountDownLatch latch = new CountDownLatch(numberOfThreads);
234
+ AtomicInteger successCount = new AtomicInteger(0);
235
+
236
+ // When
237
+ for (int i = 0; i < numberOfThreads; i++) {
238
+ final int index = i;
239
+ executor.submit(() -> {
240
+ try {
241
+ CreateUserRequest request = CreateUserRequest.builder()
242
+ .email("user" + index + "@example.com")
243
+ .firstName("User")
244
+ .lastName("" + index)
245
+ .build();
246
+
247
+ // Setup mocks for each thread
248
+ setupMocksForUser(request, (long) index);
249
+
250
+ userService.createUser(request);
251
+ successCount.incrementAndGet();
252
+ } catch (Exception e) {
253
+ // Expected in some cases due to concurrency
254
+ } finally {
255
+ latch.countDown();
256
+ }
257
+ });
258
+ }
259
+
260
+ // Then
261
+ latch.await();
262
+ executor.shutdown();
263
+
264
+ assertThat(successCount.get()).isGreaterThan(0);
265
+ }
266
+
267
+ // Helper methods
268
+ private User createTestUser(Long id, String email) {
269
+ User user = new User();
270
+ user.setId(id);
271
+ user.setEmail(email);
272
+ user.setFirstName("Test");
273
+ user.setLastName("User");
274
+ return user;
275
+ }
276
+
277
+ private UserDto createTestUserDto(Long id, String email) {
278
+ return UserDto.builder()
279
+ .id(id)
280
+ .email(email)
281
+ .firstName("Test")
282
+ .lastName("User")
283
+ .build();
284
+ }
285
+ }
286
+ ```
287
+
288
+ ### 2. Advanced JUnit 5 Features
289
+
290
+ ```java
291
+ @ExtendWith({MockitoExtension.class, TestInstanceExtension.class})
292
+ @TestInstance(TestInstance.Lifecycle.PER_CLASS)
293
+ class AdvancedUserServiceTest {
294
+
295
+ @TempDir
296
+ Path tempDir;
297
+
298
+ @RegisterExtension
299
+ static WireMockExtension wireMock = WireMockExtension.newInstance()
300
+ .options(wireMockConfig().port(8089))
301
+ .build();
302
+
303
+ @BeforeAll
304
+ void setUpAll() {
305
+ // Setup shared resources
306
+ }
307
+
308
+ @AfterAll
309
+ void tearDownAll() {
310
+ // Cleanup shared resources
311
+ }
312
+
313
+ @RepeatedTest(value = 5, name = "Attempt {currentRepetition} of {totalRepetitions}")
314
+ @DisplayName("Should handle repeated operations")
315
+ void shouldHandleRepeatedOperations(RepetitionInfo repetitionInfo) {
316
+ // Test logic that needs to be repeated
317
+ int currentRepetition = repetitionInfo.getCurrentRepetition();
318
+ assertThat(currentRepetition).isBetween(1, 5);
319
+ }
320
+
321
+ @Test
322
+ @EnabledOnOs(OS.LINUX)
323
+ @EnabledIfEnvironmentVariable(named = "ENV", matches = "test")
324
+ void shouldRunOnLinuxInTestEnvironment() {
325
+ // Test that only runs on Linux in test environment
326
+ }
327
+
328
+ @Test
329
+ @DisabledIfSystemProperty(named = "java.version", matches = "11.*")
330
+ void shouldSkipOnJava11() {
331
+ // Test that skips on Java 11
332
+ }
333
+
334
+ @ParameterizedTest
335
+ @MethodSource("userCreationData")
336
+ @DisplayName("Should create users with various data combinations")
337
+ void shouldCreateUsersWithVariousData(String email, String firstName, String lastName, boolean shouldSucceed) {
338
+ // Given
339
+ CreateUserRequest request = CreateUserRequest.builder()
340
+ .email(email)
341
+ .firstName(firstName)
342
+ .lastName(lastName)
343
+ .build();
344
+
345
+ // When & Then
346
+ if (shouldSucceed) {
347
+ assertThatCode(() -> userService.createUser(request))
348
+ .doesNotThrowAnyException();
349
+ } else {
350
+ assertThatThrownBy(() -> userService.createUser(request))
351
+ .isInstanceOf(ValidationException.class);
352
+ }
353
+ }
354
+
355
+ static Stream<Arguments> userCreationData() {
356
+ return Stream.of(
357
+ Arguments.of("valid@example.com", "John", "Doe", true),
358
+ Arguments.of("invalid-email", "John", "Doe", false),
359
+ Arguments.of("valid@example.com", "", "Doe", false),
360
+ Arguments.of("valid@example.com", "John", "", false),
361
+ Arguments.of("another@example.com", "Jane", "Smith", true)
362
+ );
363
+ }
364
+
365
+ @Test
366
+ @DisplayName("Should create temporary file for user data export")
367
+ void shouldCreateTemporaryFileForExport() throws IOException {
368
+ // Given
369
+ Path exportFile = tempDir.resolve("users-export.csv");
370
+
371
+ // When
372
+ userService.exportUsersToFile(exportFile);
373
+
374
+ // Then
375
+ assertThat(Files.exists(exportFile)).isTrue();
376
+ assertThat(Files.size(exportFile)).isGreaterThan(0);
377
+ }
378
+ }
379
+ ```
380
+
381
+ ## TestNG Testing
382
+
383
+ ### 1. TestNG Test Classes
384
+
385
+ ```java
386
+ @Test
387
+ public class UserServiceTestNG {
388
+
389
+ private UserService userService;
390
+ private UserRepository userRepository;
391
+
392
+ @BeforeClass
393
+ public void setUpClass() {
394
+ // Class-level setup
395
+ MockitoAnnotations.openMocks(this);
396
+ }
397
+
398
+ @BeforeMethod
399
+ public void setUp() {
400
+ userRepository = mock(UserRepository.class);
401
+ userService = new UserService(userRepository);
402
+ }
403
+
404
+ @Test(description = "Should create user with valid data")
405
+ public void shouldCreateUserWithValidData() {
406
+ // Given
407
+ CreateUserRequest request = new CreateUserRequest("test@example.com", "John", "Doe");
408
+ User savedUser = new User();
409
+ savedUser.setId(1L);
410
+
411
+ when(userRepository.save(any(User.class))).thenReturn(savedUser);
412
+
413
+ // When
414
+ User result = userService.createUser(request);
415
+
416
+ // Then
417
+ Assert.assertNotNull(result);
418
+ Assert.assertEquals(result.getId(), Long.valueOf(1));
419
+ }
420
+
421
+ @Test(dataProvider = "invalidEmails", expectedExceptions = InvalidEmailException.class)
422
+ public void shouldThrowExceptionForInvalidEmails(String invalidEmail) {
423
+ // Given
424
+ CreateUserRequest request = new CreateUserRequest(invalidEmail, "John", "Doe");
425
+
426
+ // When & Then
427
+ userService.createUser(request);
428
+ }
429
+
430
+ @DataProvider(name = "invalidEmails")
431
+ public Object[][] invalidEmailData() {
432
+ return new Object[][] {
433
+ {"invalid-email"},
434
+ {"@example.com"},
435
+ {"test@"},
436
+ {""}
437
+ };
438
+ }
439
+
440
+ @Test(dataProvider = "validUserData")
441
+ public void shouldCreateUsersWithValidData(String email, String firstName, String lastName) {
442
+ // Given
443
+ CreateUserRequest request = new CreateUserRequest(email, firstName, lastName);
444
+ User savedUser = new User();
445
+ savedUser.setId(1L);
446
+
447
+ when(userRepository.save(any(User.class))).thenReturn(savedUser);
448
+
449
+ // When
450
+ User result = userService.createUser(request);
451
+
452
+ // Then
453
+ Assert.assertNotNull(result);
454
+ Assert.assertEquals(result.getEmail(), email);
455
+ }
456
+
457
+ @DataProvider(name = "validUserData")
458
+ public Object[][] validUserData() {
459
+ return new Object[][] {
460
+ {"john@example.com", "John", "Doe"},
461
+ {"jane@example.com", "Jane", "Smith"},
462
+ {"bob@example.com", "Bob", "Johnson"}
463
+ };
464
+ }
465
+
466
+ @Test(groups = {"integration"}, dependsOnMethods = {"shouldCreateUserWithValidData"})
467
+ public void shouldFindCreatedUser() {
468
+ // Integration test logic
469
+ }
470
+
471
+ @Test(groups = {"performance"}, threadPoolSize = 10, invocationCount = 100)
472
+ public void shouldHandleConcurrentRequests() {
473
+ // Performance test logic
474
+ }
475
+
476
+ @Test(timeOut = 5000)
477
+ public void shouldCompleteWithinTimeout() {
478
+ // Test that must complete within 5 seconds
479
+ }
480
+
481
+ @AfterMethod
482
+ public void tearDown() {
483
+ // Method-level cleanup
484
+ }
485
+
486
+ @AfterClass
487
+ public void tearDownClass() {
488
+ // Class-level cleanup
489
+ }
490
+ }
491
+ ```
492
+
493
+ ### 2. TestNG Configuration
494
+
495
+ ```xml
496
+ <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
497
+ <suite name="UserServiceTestSuite" parallel="methods" thread-count="5">
498
+ <parameter name="environment" value="test"/>
499
+
500
+ <test name="UnitTests">
501
+ <groups>
502
+ <run>
503
+ <include name="unit"/>
504
+ </run>
505
+ </groups>
506
+ <classes>
507
+ <class name="com.example.service.UserServiceTestNG"/>
508
+ <class name="com.example.repository.UserRepositoryTestNG"/>
509
+ </classes>
510
+ </test>
511
+
512
+ <test name="IntegrationTests">
513
+ <groups>
514
+ <run>
515
+ <include name="integration"/>
516
+ </run>
517
+ </groups>
518
+ <classes>
519
+ <class name="com.example.integration.UserIntegrationTestNG"/>
520
+ </classes>
521
+ </test>
522
+
523
+ <test name="PerformanceTests">
524
+ <groups>
525
+ <run>
526
+ <include name="performance"/>
527
+ </run>
528
+ </groups>
529
+ <classes>
530
+ <class name="com.example.performance.UserPerformanceTestNG"/>
531
+ </classes>
532
+ </test>
533
+ </suite>
534
+ ```
535
+
536
+ ## Spring Test Integration
537
+
538
+ ### 1. Spring Boot Test Slices
539
+
540
+ ```java
541
+ // Web Layer Testing
542
+ @WebMvcTest(UserController.class)
543
+ class UserControllerTest {
544
+
545
+ @Autowired
546
+ private MockMvc mockMvc;
547
+
548
+ @MockBean
549
+ private UserService userService;
550
+
551
+ @Test
552
+ @DisplayName("Should return user when found")
553
+ void shouldReturnUserWhenFound() throws Exception {
554
+ // Given
555
+ Long userId = 1L;
556
+ UserDto userDto = UserDto.builder()
557
+ .id(userId)
558
+ .email("test@example.com")
559
+ .firstName("John")
560
+ .lastName("Doe")
561
+ .build();
562
+
563
+ when(userService.findById(userId)).thenReturn(Optional.of(userDto));
564
+
565
+ // When & Then
566
+ mockMvc.perform(get("/api/users/{id}", userId)
567
+ .contentType(MediaType.APPLICATION_JSON))
568
+ .andExpect(status().isOk())
569
+ .andExpect(jsonPath("$.id").value(userId))
570
+ .andExpect(jsonPath("$.email").value("test@example.com"))
571
+ .andExpect(jsonPath("$.firstName").value("John"))
572
+ .andExpect(jsonPath("$.lastName").value("Doe"));
573
+
574
+ verify(userService).findById(userId);
575
+ }
576
+
577
+ @Test
578
+ @DisplayName("Should return 404 when user not found")
579
+ void shouldReturn404WhenUserNotFound() throws Exception {
580
+ // Given
581
+ Long userId = 999L;
582
+ when(userService.findById(userId)).thenReturn(Optional.empty());
583
+
584
+ // When & Then
585
+ mockMvc.perform(get("/api/users/{id}", userId)
586
+ .contentType(MediaType.APPLICATION_JSON))
587
+ .andExpect(status().isNotFound());
588
+ }
589
+
590
+ @Test
591
+ @DisplayName("Should create user with valid data")
592
+ void shouldCreateUserWithValidData() throws Exception {
593
+ // Given
594
+ CreateUserRequest request = CreateUserRequest.builder()
595
+ .email("new@example.com")
596
+ .firstName("Jane")
597
+ .lastName("Smith")
598
+ .build();
599
+
600
+ UserDto createdUser = UserDto.builder()
601
+ .id(1L)
602
+ .email("new@example.com")
603
+ .firstName("Jane")
604
+ .lastName("Smith")
605
+ .build();
606
+
607
+ when(userService.createUser(any(CreateUserRequest.class))).thenReturn(createdUser);
608
+
609
+ // When & Then
610
+ mockMvc.perform(post("/api/users")
611
+ .contentType(MediaType.APPLICATION_JSON)
612
+ .content(asJsonString(request)))
613
+ .andExpect(status().isCreated())
614
+ .andExpect(header().exists("Location"))
615
+ .andExpected(jsonPath("$.id").value(1))
616
+ .andExpected(jsonPath("$.email").value("new@example.com"));
617
+ }
618
+
619
+ @Test
620
+ @DisplayName("Should return validation errors for invalid data")
621
+ void shouldReturnValidationErrorsForInvalidData() throws Exception {
622
+ // Given
623
+ CreateUserRequest request = CreateUserRequest.builder()
624
+ .email("invalid-email")
625
+ .firstName("")
626
+ .lastName("")
627
+ .build();
628
+
629
+ // When & Then
630
+ mockMvc.perform(post("/api/users")
631
+ .contentType(MediaType.APPLICATION_JSON)
632
+ .content(asJsonString(request)))
633
+ .andExpect(status().isBadRequest())
634
+ .andExpect(jsonPath("$.errors").isArray())
635
+ .andExpected(jsonPath("$.errors", hasSize(greaterThan(0))));
636
+ }
637
+
638
+ private String asJsonString(Object obj) throws JsonProcessingException {
639
+ ObjectMapper mapper = new ObjectMapper();
640
+ return mapper.writeValueAsString(obj);
641
+ }
642
+ }
643
+
644
+ // Data Layer Testing
645
+ @DataJpaTest
646
+ class UserRepositoryTest {
647
+
648
+ @Autowired
649
+ private TestEntityManager entityManager;
650
+
651
+ @Autowired
652
+ private UserRepository userRepository;
653
+
654
+ @Test
655
+ @DisplayName("Should find user by email")
656
+ void shouldFindUserByEmail() {
657
+ // Given
658
+ User user = new User();
659
+ user.setEmail("test@example.com");
660
+ user.setFirstName("John");
661
+ user.setLastName("Doe");
662
+ entityManager.persistAndFlush(user);
663
+
664
+ // When
665
+ Optional<User> found = userRepository.findByEmail("test@example.com");
666
+
667
+ // Then
668
+ assertThat(found).isPresent();
669
+ assertThat(found.get().getEmail()).isEqualTo("test@example.com");
670
+ }
671
+
672
+ @Test
673
+ @DisplayName("Should return empty when email not found")
674
+ void shouldReturnEmptyWhenEmailNotFound() {
675
+ // When
676
+ Optional<User> found = userRepository.findByEmail("nonexistent@example.com");
677
+
678
+ // Then
679
+ assertThat(found).isEmpty();
680
+ }
681
+
682
+ @Test
683
+ @DisplayName("Should find active users")
684
+ void shouldFindActiveUsers() {
685
+ // Given
686
+ User activeUser = createUser("active@example.com", true);
687
+ User inactiveUser = createUser("inactive@example.com", false);
688
+ entityManager.persistAndFlush(activeUser);
689
+ entityManager.persistAndFlush(inactiveUser);
690
+
691
+ // When
692
+ List<User> activeUsers = userRepository.findByActiveTrue();
693
+
694
+ // Then
695
+ assertThat(activeUsers).hasSize(1);
696
+ assertThat(activeUsers.get(0).getEmail()).isEqualTo("active@example.com");
697
+ }
698
+
699
+ @Test
700
+ @DisplayName("Should count users by status")
701
+ void shouldCountUsersByStatus() {
702
+ // Given
703
+ entityManager.persistAndFlush(createUser("user1@example.com", true));
704
+ entityManager.persistAndFlush(createUser("user2@example.com", true));
705
+ entityManager.persistAndFlush(createUser("user3@example.com", false));
706
+
707
+ // When
708
+ long activeCount = userRepository.countByActiveTrue();
709
+ long inactiveCount = userRepository.countByActiveFalse();
710
+
711
+ // Then
712
+ assertThat(activeCount).isEqualTo(2);
713
+ assertThat(inactiveCount).isEqualTo(1);
714
+ }
715
+
716
+ private User createUser(String email, boolean active) {
717
+ User user = new User();
718
+ user.setEmail(email);
719
+ user.setFirstName("Test");
720
+ user.setLastName("User");
721
+ user.setActive(active);
722
+ return user;
723
+ }
724
+ }
725
+
726
+ // Service Layer Testing
727
+ @SpringBootTest
728
+ @Transactional
729
+ class UserServiceIntegrationTest {
730
+
731
+ @Autowired
732
+ private UserService userService;
733
+
734
+ @Autowired
735
+ private UserRepository userRepository;
736
+
737
+ @MockBean
738
+ private ApplicationEventPublisher eventPublisher;
739
+
740
+ @Test
741
+ @DisplayName("Should create and persist user")
742
+ void shouldCreateAndPersistUser() {
743
+ // Given
744
+ CreateUserRequest request = CreateUserRequest.builder()
745
+ .email("integration@example.com")
746
+ .firstName("Integration")
747
+ .lastName("Test")
748
+ .build();
749
+
750
+ // When
751
+ UserDto created = userService.createUser(request);
752
+
753
+ // Then
754
+ assertThat(created).isNotNull();
755
+ assertThat(created.getId()).isNotNull();
756
+
757
+ // Verify persistence
758
+ Optional<User> persisted = userRepository.findById(created.getId());
759
+ assertThat(persisted).isPresent();
760
+ assertThat(persisted.get().getEmail()).isEqualTo("integration@example.com");
761
+
762
+ // Verify event publication
763
+ verify(eventPublisher).publishEvent(any(UserCreatedEvent.class));
764
+ }
765
+
766
+ @Test
767
+ @DisplayName("Should rollback transaction on failure")
768
+ @Rollback
769
+ void shouldRollbackTransactionOnFailure() {
770
+ // Given
771
+ CreateUserRequest request = CreateUserRequest.builder()
772
+ .email("rollback@example.com")
773
+ .firstName("Rollback")
774
+ .lastName("Test")
775
+ .build();
776
+
777
+ // Mock to throw exception after save
778
+ doThrow(new RuntimeException("Simulated failure"))
779
+ .when(eventPublisher).publishEvent(any());
780
+
781
+ // When & Then
782
+ assertThatThrownBy(() -> userService.createUser(request))
783
+ .isInstanceOf(RuntimeException.class)
784
+ .hasMessage("Simulated failure");
785
+
786
+ // Verify rollback
787
+ Optional<User> user = userRepository.findByEmail("rollback@example.com");
788
+ assertThat(user).isEmpty();
789
+ }
790
+ }
791
+ ```
792
+
793
+ ### 2. Test Containers Integration
794
+
795
+ ```java
796
+ @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
797
+ @Testcontainers
798
+ class UserControllerIntegrationTest {
799
+
800
+ @Container
801
+ static PostgreSQLContainer<?> postgres = new PostgreSQLContainer<>("postgres:15")
802
+ .withDatabaseName("testdb")
803
+ .withUsername("test")
804
+ .withPassword("test");
805
+
806
+ @Container
807
+ static GenericContainer<?> redis = new GenericContainer<>("redis:7-alpine")
808
+ .withExposedPorts(6379);
809
+
810
+ @Autowired
811
+ private TestRestTemplate restTemplate;
812
+
813
+ @Autowired
814
+ private UserRepository userRepository;
815
+
816
+ @DynamicPropertySource
817
+ static void configureProperties(DynamicPropertyRegistry registry) {
818
+ registry.add("spring.datasource.url", postgres::getJdbcUrl);
819
+ registry.add("spring.datasource.username", postgres::getUsername);
820
+ registry.add("spring.datasource.password", postgres::getPassword);
821
+
822
+ registry.add("spring.redis.host", redis::getHost);
823
+ registry.add("spring.redis.port", redis::getFirstMappedPort);
824
+ }
825
+
826
+ @Test
827
+ @DisplayName("Should create user end-to-end")
828
+ void shouldCreateUserEndToEnd() {
829
+ // Given
830
+ CreateUserRequest request = CreateUserRequest.builder()
831
+ .email("e2e@example.com")
832
+ .firstName("End")
833
+ .lastName("ToEnd")
834
+ .build();
835
+
836
+ // When
837
+ ResponseEntity<UserDto> response = restTemplate.postForEntity(
838
+ "/api/users", request, UserDto.class);
839
+
840
+ // Then
841
+ assertThat(response.getStatusCode()).isEqualTo(HttpStatus.CREATED);
842
+ assertThat(response.getBody()).isNotNull();
843
+ assertThat(response.getBody().getEmail()).isEqualTo("e2e@example.com");
844
+
845
+ // Verify in database
846
+ Optional<User> user = userRepository.findByEmail("e2e@example.com");
847
+ assertThat(user).isPresent();
848
+ }
849
+
850
+ @Test
851
+ @DisplayName("Should handle database constraints")
852
+ void shouldHandleDatabaseConstraints() {
853
+ // Given - Create user first
854
+ CreateUserRequest request = CreateUserRequest.builder()
855
+ .email("duplicate@example.com")
856
+ .firstName("First")
857
+ .lastName("User")
858
+ .build();
859
+
860
+ restTemplate.postForEntity("/api/users", request, UserDto.class);
861
+
862
+ // When - Try to create duplicate
863
+ CreateUserRequest duplicateRequest = CreateUserRequest.builder()
864
+ .email("duplicate@example.com")
865
+ .firstName("Second")
866
+ .lastName("User")
867
+ .build();
868
+
869
+ ResponseEntity<ErrorResponse> response = restTemplate.postForEntity(
870
+ "/api/users", duplicateRequest, ErrorResponse.class);
871
+
872
+ // Then
873
+ assertThat(response.getStatusCode()).isEqualTo(HttpStatus.CONFLICT);
874
+ assertThat(response.getBody().getMessage()).contains("Email already exists");
875
+ }
876
+ }
877
+ ```
878
+
879
+ ## Performance Testing
880
+
881
+ ### 1. JMH Benchmarks
882
+
883
+ ```java
884
+ @BenchmarkMode(Mode.AverageTime)
885
+ @OutputTimeUnit(TimeUnit.MICROSECONDS)
886
+ @State(Scope.Benchmark)
887
+ @Fork(value = 2, jvmArgs = {"-Xms2G", "-Xmx2G"})
888
+ @Warmup(iterations = 3)
889
+ @Measurement(iterations = 5)
890
+ public class UserServiceBenchmark {
891
+
892
+ private UserService userService;
893
+ private CreateUserRequest request;
894
+
895
+ @Setup
896
+ public void setup() {
897
+ UserRepository userRepository = mock(UserRepository.class);
898
+ userService = new UserService(userRepository);
899
+
900
+ request = CreateUserRequest.builder()
901
+ .email("benchmark@example.com")
902
+ .firstName("Benchmark")
903
+ .lastName("Test")
904
+ .build();
905
+
906
+ when(userRepository.save(any(User.class))).thenAnswer(invocation -> {
907
+ User user = invocation.getArgument(0);
908
+ user.setId(1L);
909
+ return user;
910
+ });
911
+ }
912
+
913
+ @Benchmark
914
+ public UserDto benchmarkUserCreation() {
915
+ return userService.createUser(request);
916
+ }
917
+
918
+ @Benchmark
919
+ @Group("concurrent")
920
+ @GroupThreads(4)
921
+ public UserDto benchmarkConcurrentUserCreation() {
922
+ return userService.createUser(request);
923
+ }
924
+
925
+ public static void main(String[] args) throws RunnerException {
926
+ Options opt = new OptionsBuilder()
927
+ .include(UserServiceBenchmark.class.getSimpleName())
928
+ .build();
929
+
930
+ new Runner(opt).run();
931
+ }
932
+ }
933
+ ```
934
+
935
+ ### 2. Load Testing with Gatling
936
+
937
+ ```java
938
+ public class UserApiLoadTest extends Simulation {
939
+
940
+ HttpProtocolBuilder httpProtocol = http
941
+ .baseUrl("http://localhost:8080")
942
+ .acceptHeader("application/json")
943
+ .contentTypeHeader("application/json");
944
+
945
+ ScenarioBuilder createUserScenario = scenario("Create User Load Test")
946
+ .feed(csv("users.csv").random())
947
+ .exec(http("Create User")
948
+ .post("/api/users")
949
+ .body(StringBody(session -> {
950
+ String email = session.getString("email");
951
+ String firstName = session.getString("firstName");
952
+ String lastName = session.getString("lastName");
953
+
954
+ return String.format(
955
+ "{\"email\":\"%s\",\"firstName\":\"%s\",\"lastName\":\"%s\"}",
956
+ email, firstName, lastName);
957
+ }))
958
+ .check(status().is(201))
959
+ .check(jsonPath("$.id").saveAs("userId")))
960
+ .pause(1, 3);
961
+
962
+ ScenarioBuilder getUserScenario = scenario("Get User Load Test")
963
+ .exec(http("Get User")
964
+ .get("/api/users/${userId}")
965
+ .check(status().is(200)));
966
+
967
+ {
968
+ setUp(
969
+ createUserScenario.inject(
970
+ rampUsersPerSec(1).to(10).during(Duration.ofMinutes(2)),
971
+ constantUsersPerSec(10).during(Duration.ofMinutes(5)),
972
+ rampUsersPerSec(10).to(1).during(Duration.ofMinutes(2))
973
+ ),
974
+ getUserScenario.inject(
975
+ constantUsersPerSec(20).during(Duration.ofMinutes(9))
976
+ )
977
+ ).protocols(httpProtocol)
978
+ .assertions(
979
+ global().responseTime().max().lt(2000),
980
+ global().successfulRequests().percent().gt(95.0)
981
+ );
982
+ }
983
+ }
984
+ ```
985
+
986
+ ## Test Automation with Claude Flow
987
+
988
+ ### 1. Automated Test Generation
989
+
990
+ ```bash
991
+ # Generate comprehensive test suite
992
+ npx claude-flow sparc run tester "Generate JUnit 5 test suite for UserService with 90% coverage"
993
+
994
+ # Create integration tests
995
+ npx claude-flow sparc run tester "Create Spring Boot integration tests with TestContainers"
996
+
997
+ # Generate performance tests
998
+ npx claude-flow sparc run tester "Create JMH benchmarks and Gatling load tests"
999
+
1000
+ # Setup test automation pipeline
1001
+ npx claude-flow sparc batch tester,coder "Create automated test pipeline with Maven/Gradle"
1002
+ ```
1003
+
1004
+ ### 2. MCP Integration for Test Coordination
1005
+
1006
+ ```bash
1007
+ # Initialize testing swarm
1008
+ npx claude-flow mcp swarm_init --topology star --max-agents 5
1009
+
1010
+ # Spawn testing specialists
1011
+ npx claude-flow mcp agent_spawn --type tester --capabilities "junit5,mockito,spring-test"
1012
+ npx claude-flow mcp agent_spawn --type tester --capabilities "testng,integration-testing"
1013
+ npx claude-flow mcp agent_spawn --type tester --capabilities "performance-testing,jmh,gatling"
1014
+ npx claude-flow mcp agent_spawn --type reviewer --capabilities "test-quality,coverage-analysis"
1015
+
1016
+ # Orchestrate test development
1017
+ npx claude-flow mcp task_orchestrate --task "Create comprehensive Java test suite" --strategy parallel
1018
+ ```
1019
+
1020
+ ### 3. Test Configuration Management
1021
+
1022
+ ```java
1023
+ @TestConfiguration
1024
+ public class TestConfig {
1025
+
1026
+ @Bean
1027
+ @Primary
1028
+ public Clock testClock() {
1029
+ return Clock.fixed(Instant.parse("2023-12-01T10:00:00Z"), ZoneOffset.UTC);
1030
+ }
1031
+
1032
+ @Bean
1033
+ @Primary
1034
+ public UserRepository mockUserRepository() {
1035
+ return Mockito.mock(UserRepository.class);
1036
+ }
1037
+
1038
+ @TestComponent
1039
+ public static class TestDataBuilder {
1040
+
1041
+ public User buildTestUser() {
1042
+ return User.builder()
1043
+ .email("test@example.com")
1044
+ .firstName("Test")
1045
+ .lastName("User")
1046
+ .active(true)
1047
+ .createdAt(LocalDateTime.now())
1048
+ .build();
1049
+ }
1050
+
1051
+ public CreateUserRequest buildCreateUserRequest() {
1052
+ return CreateUserRequest.builder()
1053
+ .email("new@example.com")
1054
+ .firstName("New")
1055
+ .lastName("User")
1056
+ .build();
1057
+ }
1058
+ }
1059
+ }
1060
+ ```
1061
+
1062
+ ## Test Data Management
1063
+
1064
+ ### 1. Test Data Builders
1065
+
1066
+ ```java
1067
+ public class UserTestDataBuilder {
1068
+
1069
+ private String email = "test@example.com";
1070
+ private String firstName = "Test";
1071
+ private String lastName = "User";
1072
+ private boolean active = true;
1073
+ private LocalDateTime createdAt = LocalDateTime.now();
1074
+
1075
+ public static UserTestDataBuilder aUser() {
1076
+ return new UserTestDataBuilder();
1077
+ }
1078
+
1079
+ public UserTestDataBuilder withEmail(String email) {
1080
+ this.email = email;
1081
+ return this;
1082
+ }
1083
+
1084
+ public UserTestDataBuilder withName(String firstName, String lastName) {
1085
+ this.firstName = firstName;
1086
+ this.lastName = lastName;
1087
+ return this;
1088
+ }
1089
+
1090
+ public UserTestDataBuilder inactive() {
1091
+ this.active = false;
1092
+ return this;
1093
+ }
1094
+
1095
+ public UserTestDataBuilder createdAt(LocalDateTime createdAt) {
1096
+ this.createdAt = createdAt;
1097
+ return this;
1098
+ }
1099
+
1100
+ public User build() {
1101
+ User user = new User();
1102
+ user.setEmail(email);
1103
+ user.setFirstName(firstName);
1104
+ user.setLastName(lastName);
1105
+ user.setActive(active);
1106
+ user.setCreatedAt(createdAt);
1107
+ return user;
1108
+ }
1109
+
1110
+ public CreateUserRequest buildRequest() {
1111
+ return CreateUserRequest.builder()
1112
+ .email(email)
1113
+ .firstName(firstName)
1114
+ .lastName(lastName)
1115
+ .build();
1116
+ }
1117
+ }
1118
+
1119
+ // Usage in tests
1120
+ @Test
1121
+ void shouldCreateInactiveUser() {
1122
+ // Given
1123
+ User user = aUser()
1124
+ .withEmail("inactive@example.com")
1125
+ .withName("Inactive", "User")
1126
+ .inactive()
1127
+ .build();
1128
+
1129
+ // Test logic
1130
+ }
1131
+ ```
1132
+
1133
+ ### 2. Test Fixtures
1134
+
1135
+ ```java
1136
+ @TestInstance(TestInstance.Lifecycle.PER_CLASS)
1137
+ class UserServiceTestWithFixtures {
1138
+
1139
+ @RegisterExtension
1140
+ static DatabaseExtension database = new DatabaseExtension();
1141
+
1142
+ private TestFixtures fixtures;
1143
+
1144
+ @BeforeAll
1145
+ void setupFixtures() {
1146
+ fixtures = TestFixtures.builder()
1147
+ .withUsers(10)
1148
+ .withDepartments(3)
1149
+ .withRoles(5)
1150
+ .build();
1151
+
1152
+ fixtures.load(database.getDataSource());
1153
+ }
1154
+
1155
+ @Test
1156
+ void shouldFindUsersFromFixtures() {
1157
+ // Test using pre-loaded fixture data
1158
+ List<User> users = userService.findAll();
1159
+ assertThat(users).hasSize(10);
1160
+ }
1161
+
1162
+ @AfterAll
1163
+ void cleanupFixtures() {
1164
+ fixtures.cleanup();
1165
+ }
1166
+ }
1167
+ ```
1168
+
1169
+ ## Test Quality and Coverage
1170
+
1171
+ ### 1. Coverage Configuration
1172
+
1173
+ ```xml
1174
+ <!-- Maven Surefire and JaCoCo configuration -->
1175
+ <plugin>
1176
+ <groupId>org.jacoco</groupId>
1177
+ <artifactId>jacoco-maven-plugin</artifactId>
1178
+ <version>0.8.10</version>
1179
+ <executions>
1180
+ <execution>
1181
+ <goals>
1182
+ <goal>prepare-agent</goal>
1183
+ </goals>
1184
+ </execution>
1185
+ <execution>
1186
+ <id>report</id>
1187
+ <phase>test</phase>
1188
+ <goals>
1189
+ <goal>report</goal>
1190
+ </goals>
1191
+ </execution>
1192
+ <execution>
1193
+ <id>check</id>
1194
+ <goals>
1195
+ <goal>check</goal>
1196
+ </goals>
1197
+ <configuration>
1198
+ <rules>
1199
+ <rule>
1200
+ <element>CLASS</element>
1201
+ <limits>
1202
+ <limit>
1203
+ <counter>LINE</counter>
1204
+ <value>COVEREDRATIO</value>
1205
+ <minimum>0.80</minimum>
1206
+ </limit>
1207
+ <limit>
1208
+ <counter>BRANCH</counter>
1209
+ <value>COVEREDRATIO</value>
1210
+ <minimum>0.70</minimum>
1211
+ </limit>
1212
+ </limits>
1213
+ </rule>
1214
+ </rules>
1215
+ </configuration>
1216
+ </execution>
1217
+ </executions>
1218
+ </plugin>
1219
+ ```
1220
+
1221
+ ### 2. Mutation Testing
1222
+
1223
+ ```xml
1224
+ <plugin>
1225
+ <groupId>org.pitest</groupId>
1226
+ <artifactId>pitest-maven</artifactId>
1227
+ <version>1.14.4</version>
1228
+ <configuration>
1229
+ <targetClasses>
1230
+ <param>com.example.service.*</param>
1231
+ </targetClasses>
1232
+ <targetTests>
1233
+ <param>com.example.service.*Test</param>
1234
+ </targetTests>
1235
+ <mutationThreshold>80</mutationThreshold>
1236
+ <coverageThreshold>90</coverageThreshold>
1237
+ </configuration>
1238
+ </plugin>
1239
+ ```
1240
+
1241
+ ## Best Practices
1242
+
1243
+ ### 1. Test Organization
1244
+
1245
+ ```java
1246
+ // Use nested classes for logical grouping
1247
+ @DisplayName("User Service Tests")
1248
+ class UserServiceTest {
1249
+
1250
+ @Nested
1251
+ @DisplayName("When creating users")
1252
+ class UserCreation {
1253
+ // Creation tests
1254
+ }
1255
+
1256
+ @Nested
1257
+ @DisplayName("When finding users")
1258
+ class UserRetrieval {
1259
+ // Retrieval tests
1260
+ }
1261
+
1262
+ @Nested
1263
+ @DisplayName("When updating users")
1264
+ class UserUpdate {
1265
+ // Update tests
1266
+ }
1267
+ }
1268
+ ```
1269
+
1270
+ ### 2. Test Naming Conventions
1271
+
1272
+ ```java
1273
+ // Use descriptive test names
1274
+ @Test
1275
+ @DisplayName("Should throw EmailAlreadyExistsException when creating user with existing email")
1276
+ void shouldThrowEmailAlreadyExistsExceptionWhenCreatingUserWithExistingEmail() {
1277
+ // Test implementation
1278
+ }
1279
+
1280
+ // Follow Given-When-Then structure
1281
+ @Test
1282
+ void shouldCalculateCorrectAge() {
1283
+ // Given
1284
+ LocalDate birthDate = LocalDate.of(1990, 1, 1);
1285
+ LocalDate currentDate = LocalDate.of(2023, 1, 1);
1286
+
1287
+ // When
1288
+ int age = userService.calculateAge(birthDate, currentDate);
1289
+
1290
+ // Then
1291
+ assertThat(age).isEqualTo(33);
1292
+ }
1293
+ ```
1294
+
1295
+ ### 3. Test Independence
1296
+
1297
+ ```java
1298
+ // Each test should be independent
1299
+ @TestMethodOrder(OrderAnnotation.class)
1300
+ class UserServiceOrderedTest {
1301
+
1302
+ // Avoid test dependencies
1303
+ @Test
1304
+ @Order(1)
1305
+ void test1() {
1306
+ // Independent test
1307
+ }
1308
+
1309
+ @Test
1310
+ @Order(2)
1311
+ void test2() {
1312
+ // Independent test (not depending on test1)
1313
+ }
1314
+ }
1315
+ ```
1316
+
1317
+ ## Next Steps
1318
+
1319
+ - [Performance Optimization](performance.md)
1320
+ - [Microservices Development](microservices.md)
1321
+ - [Claude Flow Agent Coordination](claude-flow-integration.md)
1322
+ - [Spring Boot Development](spring-boot.md)
1323
+ - [Enterprise Java Development](enterprise-java.md)