claude-flow-novice 1.3.0 → 1.3.2

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 (305) hide show
  1. package/.claude-flow-novice/preferences/generation.json +147 -0
  2. package/.claude-flow-novice/preferences/language-configs/javascript.json +51 -0
  3. package/.claude-flow-novice/preferences/language-configs/python.json +50 -0
  4. package/.claude-flow-novice/preferences/language-configs/rust.json +237 -0
  5. package/.claude-flow-novice/preferences/language-configs/typescript.json +54 -0
  6. package/.claude-flow-novice/preferences/project-local.json +91 -0
  7. package/.claude-flow-novice/preferences/resource-delegation.json +120 -0
  8. package/.claude-flow-novice/preferences/team-shared.json +195 -0
  9. package/.claude-flow-novice/preferences/user-global.json +247 -0
  10. package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-JAVASCRIPT.md +769 -0
  11. package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-PYTHON.md +1214 -0
  12. package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-RUST.md +475 -0
  13. package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-TYPESCRIPT.md +851 -0
  14. package/.claude-flow-novice/templates/claude-md-templates/README.md +263 -0
  15. package/CLAUDE.md +81 -0
  16. package/README-NPM.md +0 -0
  17. package/package.json +11 -7
  18. package/scripts/build/README.md +167 -0
  19. package/scripts/build/build-config.js +27 -0
  20. package/scripts/build/build-prompt-copier.sh +30 -0
  21. package/scripts/build/performance-monitor.js +869 -0
  22. package/scripts/build/prepare-publish.js +150 -0
  23. package/scripts/build/typescript-fixer.js +621 -0
  24. package/scripts/build/unified-builder.sh +428 -0
  25. package/scripts/build/update-bin-version.js +32 -0
  26. package/scripts/dev/README.md +264 -0
  27. package/scripts/dev/claude-flow-wrapper.sh +35 -0
  28. package/scripts/dev/claude-monitor.py +419 -0
  29. package/scripts/dev/claude-sparc.sh +562 -0
  30. package/scripts/dev/claude-wrapper.sh +17 -0
  31. package/scripts/dev/demo-phase3-compliance.js +172 -0
  32. package/scripts/dev/demo-task-system.ts +224 -0
  33. package/scripts/dev/deployment-validator.js +315 -0
  34. package/scripts/dev/spawn-claude-terminal.sh +32 -0
  35. package/scripts/dev/start-portal.sh +506 -0
  36. package/scripts/dev/start-web-ui.js +15 -0
  37. package/scripts/dev/stop-portal.sh +311 -0
  38. package/scripts/dev/validate-examples.ts +288 -0
  39. package/scripts/dev/validate-phase2.cjs +451 -0
  40. package/scripts/dev/validate-phase2.js +785 -0
  41. package/scripts/dev/validate-phase3.cjs +208 -0
  42. package/scripts/dev/validate-security-remediation.js +1 -0
  43. package/scripts/legacy/README.md +272 -0
  44. package/scripts/legacy/batch-fix-ts.sh +54 -0
  45. package/scripts/legacy/build-migration.sh +105 -0
  46. package/scripts/legacy/build-monitor.js +209 -0
  47. package/scripts/legacy/build-with-filter.sh +84 -0
  48. package/scripts/legacy/build-workaround.sh +71 -0
  49. package/scripts/legacy/fix-ts-advanced.js +358 -0
  50. package/scripts/legacy/fix-ts-final.sh +50 -0
  51. package/scripts/legacy/fix-ts-targeted.sh +49 -0
  52. package/scripts/legacy/fix-typescript-errors.js +305 -0
  53. package/scripts/legacy/force-build.sh +63 -0
  54. package/scripts/legacy/optimize-performance.js +400 -0
  55. package/scripts/legacy/performance-monitor.js +263 -0
  56. package/scripts/legacy/performance-monitoring.js +532 -0
  57. package/scripts/legacy/performance-test-runner.js +645 -0
  58. package/scripts/legacy/quick-fix-ts.js +281 -0
  59. package/scripts/legacy/safe-build.sh +63 -0
  60. package/scripts/migration/README.md +434 -0
  61. package/scripts/migration/install-arm64.js +78 -0
  62. package/scripts/migration/install.js +83 -0
  63. package/scripts/migration/migrate-hooks.js +173 -0
  64. package/scripts/migration/migration-examples.ts +318 -0
  65. package/scripts/optimization/build-optimizer.js +438 -0
  66. package/scripts/optimization/config-validator.js +761 -0
  67. package/scripts/optimization/test-optimization.js +432 -0
  68. package/scripts/optimization/unified-activation.js +839 -0
  69. package/scripts/performance/ACTIVATION_COMMANDS.md +292 -0
  70. package/scripts/performance/sqlite-enhanced-activation.sh +583 -0
  71. package/scripts/performance/test-enhanced-backend.sh +504 -0
  72. package/scripts/performance-test-runner.js +698 -0
  73. package/scripts/security/README.md +339 -0
  74. package/scripts/security/install-git-hooks.sh +132 -0
  75. package/scripts/security/ruv-swarm-safe.js +74 -0
  76. package/scripts/test/README.md +236 -0
  77. package/scripts/test/check-links.ts +274 -0
  78. package/scripts/test/check-performance-regression.ts +168 -0
  79. package/scripts/test/coverage-report.ts +692 -0
  80. package/scripts/test/generate-swarm-tests.js +633 -0
  81. package/scripts/test/integration-test-validation.cjs +253 -0
  82. package/scripts/test/load-test-swarm.js +576 -0
  83. package/scripts/test/run-phase3-compliance-tests.js +427 -0
  84. package/scripts/test/test-batch-tasks.ts +29 -0
  85. package/scripts/test/test-byzantine-resolution.js +246 -0
  86. package/scripts/test/test-claude-spawn-options.sh +63 -0
  87. package/scripts/test/test-cli-wizard.js +331 -0
  88. package/scripts/test/test-comprehensive.js +401 -0
  89. package/scripts/test/test-coordination-features.ts +238 -0
  90. package/scripts/test/test-fallback-systems.js +276 -0
  91. package/scripts/test/test-init-command.ts +302 -0
  92. package/scripts/test/test-mcp.ts +251 -0
  93. package/scripts/test/test-runner.ts +568 -0
  94. package/scripts/test/test-swarm-integration.sh +92 -0
  95. package/scripts/test/test-swarm.ts +142 -0
  96. package/scripts/test/validation-summary.ts +408 -0
  97. package/scripts/utils/README.md +261 -0
  98. package/scripts/utils/clean-build-artifacts.sh +94 -0
  99. package/scripts/utils/cleanup-root.sh +69 -0
  100. package/scripts/utils/fix-cliffy-imports.js +307 -0
  101. package/scripts/utils/fix-duplicate-imports.js +114 -0
  102. package/scripts/utils/fix-error-handling.cjs +70 -0
  103. package/scripts/utils/fix-import-paths.js +104 -0
  104. package/scripts/utils/fix-imports.js +116 -0
  105. package/scripts/utils/fix-shebang.js +78 -0
  106. package/scripts/utils/fix-test-modules.js +27 -0
  107. package/scripts/utils/fix-timezone-issue-246.js +200 -0
  108. package/scripts/utils/fix-ts-comprehensive.py +182 -0
  109. package/scripts/utils/fix-ts-targeted-batch.js +250 -0
  110. package/scripts/utils/remove-benchmark-conflicts.sh +140 -0
  111. package/scripts/utils/simple-test-fixer.js +190 -0
  112. package/scripts/utils/validate-metrics-structure.cjs +144 -0
  113. package/scripts/verify-mcp-server.js +86 -0
  114. package/src/cli/simple-commands/__tests__/agent.test.js +291 -0
  115. package/src/cli/simple-commands/__tests__/memory.test.js +8 -0
  116. package/src/cli/simple-commands/__tests__/swarm.test.js +371 -0
  117. package/src/cli/simple-commands/__tests__/task.test.js +8 -0
  118. package/src/cli/simple-commands/agent.js +216 -0
  119. package/src/cli/simple-commands/analysis.js +570 -0
  120. package/src/cli/simple-commands/automation-executor.js +1603 -0
  121. package/src/cli/simple-commands/automation.js +627 -0
  122. package/src/cli/simple-commands/batch-manager.js +338 -0
  123. package/src/cli/simple-commands/claude-telemetry.js +311 -0
  124. package/src/cli/simple-commands/claude-track.js +102 -0
  125. package/src/cli/simple-commands/concurrent-display.js +348 -0
  126. package/src/cli/simple-commands/config.js +319 -0
  127. package/src/cli/simple-commands/coordination.js +307 -0
  128. package/src/cli/simple-commands/enhanced-ui-views.js +654 -0
  129. package/src/cli/simple-commands/enhanced-webui-complete.js +1038 -0
  130. package/src/cli/simple-commands/fix-hook-variables.js +363 -0
  131. package/src/cli/simple-commands/github/gh-coordinator.js +605 -0
  132. package/src/cli/simple-commands/github/github-api.js +624 -0
  133. package/src/cli/simple-commands/github/init.js +543 -0
  134. package/src/cli/simple-commands/github.js +377 -0
  135. package/src/cli/simple-commands/goal.js +145 -0
  136. package/src/cli/simple-commands/hive-mind/auto-save-middleware.js +311 -0
  137. package/src/cli/simple-commands/hive-mind/communication.js +740 -0
  138. package/src/cli/simple-commands/hive-mind/core.js +1031 -0
  139. package/src/cli/simple-commands/hive-mind/db-optimizer.js +872 -0
  140. package/src/cli/simple-commands/hive-mind/mcp-wrapper.js +1364 -0
  141. package/src/cli/simple-commands/hive-mind/memory.js +1292 -0
  142. package/src/cli/simple-commands/hive-mind/performance-optimizer.js +618 -0
  143. package/src/cli/simple-commands/hive-mind/performance-test.js +373 -0
  144. package/src/cli/simple-commands/hive-mind/queen.js +809 -0
  145. package/src/cli/simple-commands/hive-mind/session-manager.js +1223 -0
  146. package/src/cli/simple-commands/hive-mind-optimize.js +361 -0
  147. package/src/cli/simple-commands/hive-mind-wizard.js +281 -0
  148. package/src/cli/simple-commands/hive-mind.js +3112 -0
  149. package/src/cli/simple-commands/hive.js +140 -0
  150. package/src/cli/simple-commands/hook-safety.js +671 -0
  151. package/src/cli/simple-commands/hooks.js +1268 -0
  152. package/src/cli/simple-commands/init/.claude/checkpoints/1756224542.json +7 -0
  153. package/src/cli/simple-commands/init/.claude/checkpoints/1756224544.json +8 -0
  154. package/src/cli/simple-commands/init/README.md +106 -0
  155. package/src/cli/simple-commands/init/VALIDATION_ROLLBACK.md +488 -0
  156. package/src/cli/simple-commands/init/agent-copier.js +347 -0
  157. package/src/cli/simple-commands/init/batch-init.js +663 -0
  158. package/src/cli/simple-commands/init/claude-commands/claude-flow-commands.js +438 -0
  159. package/src/cli/simple-commands/init/claude-commands/optimized-claude-flow-commands.js +876 -0
  160. package/src/cli/simple-commands/init/claude-commands/optimized-slash-commands.js +356 -0
  161. package/src/cli/simple-commands/init/claude-commands/optimized-sparc-commands.js +501 -0
  162. package/src/cli/simple-commands/init/claude-commands/slash-commands.js +57 -0
  163. package/src/cli/simple-commands/init/claude-commands/sparc-commands.js +296 -0
  164. package/src/cli/simple-commands/init/copy-revised-templates.js +175 -0
  165. package/src/cli/simple-commands/init/executable-wrapper.js +122 -0
  166. package/src/cli/simple-commands/init/gitignore-updater.js +137 -0
  167. package/src/cli/simple-commands/init/help.js +110 -0
  168. package/src/cli/simple-commands/init/hive-mind-init.js +749 -0
  169. package/src/cli/simple-commands/init/index.js +1953 -0
  170. package/src/cli/simple-commands/init/performance-monitor.js +344 -0
  171. package/src/cli/simple-commands/init/rollback/backup-manager.js +542 -0
  172. package/src/cli/simple-commands/init/rollback/index.js +399 -0
  173. package/src/cli/simple-commands/init/rollback/recovery-manager.js +778 -0
  174. package/src/cli/simple-commands/init/rollback/rollback-executor.js +521 -0
  175. package/src/cli/simple-commands/init/rollback/state-tracker.js +486 -0
  176. package/src/cli/simple-commands/init/sparc/roo-readme.js +61 -0
  177. package/src/cli/simple-commands/init/sparc/roomodes-config.js +102 -0
  178. package/src/cli/simple-commands/init/sparc/workflows.js +40 -0
  179. package/src/cli/simple-commands/init/sparc-structure.js +68 -0
  180. package/src/cli/simple-commands/init/template-copier.js +640 -0
  181. package/src/cli/simple-commands/init/templates/CLAUDE.md +1185 -0
  182. package/src/cli/simple-commands/init/templates/CLAUDE.md.optimized +265 -0
  183. package/src/cli/simple-commands/init/templates/claude-flow-universal +81 -0
  184. package/src/cli/simple-commands/init/templates/claude-flow.bat +18 -0
  185. package/src/cli/simple-commands/init/templates/claude-flow.ps1 +24 -0
  186. package/src/cli/simple-commands/init/templates/claude-md.js +1101 -0
  187. package/src/cli/simple-commands/init/templates/commands/analysis/bottleneck-detect.md +162 -0
  188. package/src/cli/simple-commands/init/templates/commands/automation/auto-agent.md +122 -0
  189. package/src/cli/simple-commands/init/templates/commands/coordination/swarm-init.md +85 -0
  190. package/src/cli/simple-commands/init/templates/commands/github/github-swarm.md +121 -0
  191. package/src/cli/simple-commands/init/templates/commands/helpers/standard-checkpoint-hooks.sh +179 -0
  192. package/src/cli/simple-commands/init/templates/commands/hooks/notification.md +113 -0
  193. package/src/cli/simple-commands/init/templates/commands/hooks/post-command.md +116 -0
  194. package/src/cli/simple-commands/init/templates/commands/hooks/post-edit.md +117 -0
  195. package/src/cli/simple-commands/init/templates/commands/hooks/post-task.md +112 -0
  196. package/src/cli/simple-commands/init/templates/commands/hooks/pre-command.md +113 -0
  197. package/src/cli/simple-commands/init/templates/commands/hooks/pre-edit.md +113 -0
  198. package/src/cli/simple-commands/init/templates/commands/hooks/pre-search.md +112 -0
  199. package/src/cli/simple-commands/init/templates/commands/hooks/pre-task.md +111 -0
  200. package/src/cli/simple-commands/init/templates/commands/hooks/session-end.md +118 -0
  201. package/src/cli/simple-commands/init/templates/commands/hooks/session-restore.md +118 -0
  202. package/src/cli/simple-commands/init/templates/commands/hooks/session-start.md +117 -0
  203. package/src/cli/simple-commands/init/templates/coordination-md.js +340 -0
  204. package/src/cli/simple-commands/init/templates/coordination.md +16 -0
  205. package/src/cli/simple-commands/init/templates/enhanced-templates.js +2347 -0
  206. package/src/cli/simple-commands/init/templates/github-safe-enhanced.js +331 -0
  207. package/src/cli/simple-commands/init/templates/github-safe.js +106 -0
  208. package/src/cli/simple-commands/init/templates/memory-bank-md.js +259 -0
  209. package/src/cli/simple-commands/init/templates/memory-bank.md +16 -0
  210. package/src/cli/simple-commands/init/templates/readme-files.js +72 -0
  211. package/src/cli/simple-commands/init/templates/safe-hook-patterns.js +430 -0
  212. package/src/cli/simple-commands/init/templates/settings.json +109 -0
  213. package/src/cli/simple-commands/init/templates/settings.json.enhanced +35 -0
  214. package/src/cli/simple-commands/init/templates/sparc-modes.js +1401 -0
  215. package/src/cli/simple-commands/init/templates/verification-claude-md.js +432 -0
  216. package/src/cli/simple-commands/init/validation/config-validator.js +354 -0
  217. package/src/cli/simple-commands/init/validation/health-checker.js +599 -0
  218. package/src/cli/simple-commands/init/validation/index.js +388 -0
  219. package/src/cli/simple-commands/init/validation/mode-validator.js +387 -0
  220. package/src/cli/simple-commands/init/validation/post-init-validator.js +390 -0
  221. package/src/cli/simple-commands/init/validation/pre-init-validator.js +290 -0
  222. package/src/cli/simple-commands/init/validation/test-runner.js +488 -0
  223. package/src/cli/simple-commands/init.js +4 -0
  224. package/src/cli/simple-commands/mcp-health.js +163 -0
  225. package/src/cli/simple-commands/mcp-integration-layer.js +689 -0
  226. package/src/cli/simple-commands/mcp.js +420 -0
  227. package/src/cli/simple-commands/memory-consolidation.js +631 -0
  228. package/src/cli/simple-commands/memory.js +345 -0
  229. package/src/cli/simple-commands/migrate-hooks.js +63 -0
  230. package/src/cli/simple-commands/monitor.js +417 -0
  231. package/src/cli/simple-commands/neural.js +148 -0
  232. package/src/cli/simple-commands/pair-autofix-only.js +755 -0
  233. package/src/cli/simple-commands/pair-basic.js +751 -0
  234. package/src/cli/simple-commands/pair-old.js +623 -0
  235. package/src/cli/simple-commands/pair-working.js +849 -0
  236. package/src/cli/simple-commands/pair.js +849 -0
  237. package/src/cli/simple-commands/performance-hooks.js +149 -0
  238. package/src/cli/simple-commands/performance-metrics.js +601 -0
  239. package/src/cli/simple-commands/process-ui-enhanced.js +821 -0
  240. package/src/cli/simple-commands/process-ui.js +274 -0
  241. package/src/cli/simple-commands/realtime-update-system.js +659 -0
  242. package/src/cli/simple-commands/sparc/architecture.js +1750 -0
  243. package/src/cli/simple-commands/sparc/commands.js +575 -0
  244. package/src/cli/simple-commands/sparc/completion.js +1831 -0
  245. package/src/cli/simple-commands/sparc/coordinator.js +1045 -0
  246. package/src/cli/simple-commands/sparc/index.js +321 -0
  247. package/src/cli/simple-commands/sparc/phase-base.js +430 -0
  248. package/src/cli/simple-commands/sparc/pseudocode.js +984 -0
  249. package/src/cli/simple-commands/sparc/refinement.js +1856 -0
  250. package/src/cli/simple-commands/sparc/specification.js +736 -0
  251. package/src/cli/simple-commands/sparc-modes/architect.js +125 -0
  252. package/src/cli/simple-commands/sparc-modes/ask.js +126 -0
  253. package/src/cli/simple-commands/sparc-modes/code.js +148 -0
  254. package/src/cli/simple-commands/sparc-modes/debug.js +112 -0
  255. package/src/cli/simple-commands/sparc-modes/devops.js +137 -0
  256. package/src/cli/simple-commands/sparc-modes/docs-writer.js +38 -0
  257. package/src/cli/simple-commands/sparc-modes/generic.js +34 -0
  258. package/src/cli/simple-commands/sparc-modes/index.js +201 -0
  259. package/src/cli/simple-commands/sparc-modes/integration.js +55 -0
  260. package/src/cli/simple-commands/sparc-modes/mcp.js +38 -0
  261. package/src/cli/simple-commands/sparc-modes/monitoring.js +38 -0
  262. package/src/cli/simple-commands/sparc-modes/optimization.js +38 -0
  263. package/src/cli/simple-commands/sparc-modes/security-review.js +130 -0
  264. package/src/cli/simple-commands/sparc-modes/sparc-orchestrator.js +167 -0
  265. package/src/cli/simple-commands/sparc-modes/spec-pseudocode.js +38 -0
  266. package/src/cli/simple-commands/sparc-modes/supabase-admin.js +149 -0
  267. package/src/cli/simple-commands/sparc-modes/swarm.js +436 -0
  268. package/src/cli/simple-commands/sparc-modes/tdd.js +112 -0
  269. package/src/cli/simple-commands/sparc-modes/tutorial.js +277 -0
  270. package/src/cli/simple-commands/sparc.js +530 -0
  271. package/src/cli/simple-commands/start-ui.js +147 -0
  272. package/src/cli/simple-commands/start-wrapper.js +285 -0
  273. package/src/cli/simple-commands/start.js +2 -0
  274. package/src/cli/simple-commands/status.js +303 -0
  275. package/src/cli/simple-commands/stream-chain-clean.js +221 -0
  276. package/src/cli/simple-commands/stream-chain-fixed.js +89 -0
  277. package/src/cli/simple-commands/stream-chain-real.js +408 -0
  278. package/src/cli/simple-commands/stream-chain-working.js +323 -0
  279. package/src/cli/simple-commands/stream-chain.js +491 -0
  280. package/src/cli/simple-commands/stream-processor.js +340 -0
  281. package/src/cli/simple-commands/swarm-executor.js +253 -0
  282. package/src/cli/simple-commands/swarm-metrics-integration.js +371 -0
  283. package/src/cli/simple-commands/swarm-ui.js +741 -0
  284. package/src/cli/simple-commands/swarm-webui-integration.js +311 -0
  285. package/src/cli/simple-commands/swarm.js +2277 -0
  286. package/src/cli/simple-commands/task.js +228 -0
  287. package/src/cli/simple-commands/templates/mle-star-workflow.json +294 -0
  288. package/src/cli/simple-commands/timestamp-fix.js +104 -0
  289. package/src/cli/simple-commands/token-tracker.js +372 -0
  290. package/src/cli/simple-commands/tool-execution-framework.js +555 -0
  291. package/src/cli/simple-commands/train-and-stream.js +354 -0
  292. package/src/cli/simple-commands/training-pipeline.js +874 -0
  293. package/src/cli/simple-commands/training.js +288 -0
  294. package/src/cli/simple-commands/verification-hooks.js +336 -0
  295. package/src/cli/simple-commands/verification-integration.js +464 -0
  296. package/src/cli/simple-commands/verification-training-integration.js +646 -0
  297. package/src/cli/simple-commands/verification.js +551 -0
  298. package/src/cli/simple-commands/web-server.js +929 -0
  299. package/src/cli/simple-commands/webui-validator.js +136 -0
  300. package/src/language/README.md +503 -0
  301. package/src/language/claude-md-generator.js +618 -0
  302. package/src/language/cli.js +422 -0
  303. package/src/language/example.js +347 -0
  304. package/src/language/integration-system.js +619 -0
  305. package/src/language/language-detector.js +581 -0
@@ -0,0 +1,347 @@
1
+ // agent-copier.js - Copy all agent files during initialization
2
+ import { promises as fs } from 'fs';
3
+ import { join, dirname } from 'path';
4
+ import { fileURLToPath } from 'url';
5
+
6
+ const __filename = fileURLToPath(import.meta.url);
7
+ const __dirname = dirname(__filename);
8
+
9
+ /**
10
+ * Copy all agent files from the installed package to project directory
11
+ */
12
+ export async function copyAgentFiles(targetDir, options = {}) {
13
+ const { force = false, dryRun = false } = options;
14
+
15
+ // Path to agent files - try multiple locations
16
+ const packageAgentsDir = join(__dirname, '../../../../.claude/agents'); // From npm package
17
+ const localAgentsDir = '/workspaces/claude-code-flow/.claude/agents'; // Local development
18
+ const cwdAgentsDir = join(process.cwd(), '.claude/agents'); // Current working directory
19
+
20
+ let sourceAgentsDir;
21
+
22
+ // Try local development first, then package, then cwd
23
+ try {
24
+ await fs.access(localAgentsDir);
25
+ sourceAgentsDir = localAgentsDir;
26
+ console.log(' 📁 Using local development agent files');
27
+ } catch {
28
+ try {
29
+ await fs.access(packageAgentsDir);
30
+ sourceAgentsDir = packageAgentsDir;
31
+ console.log(' 📁 Using packaged agent files');
32
+ } catch {
33
+ try {
34
+ await fs.access(cwdAgentsDir);
35
+ sourceAgentsDir = cwdAgentsDir;
36
+ console.log(' 📁 Using current directory agent files');
37
+ } catch {
38
+ console.log(' ⚠️ No agent files found in any location');
39
+ return { success: false, error: 'Agent files not found' };
40
+ }
41
+ }
42
+ }
43
+ const targetAgentsDir = join(targetDir, '.claude/agents');
44
+
45
+ console.log('📁 Copying agent system files...');
46
+ console.log(` 📂 Source: ${sourceAgentsDir}`);
47
+ console.log(` 📂 Target: ${targetAgentsDir}`);
48
+
49
+ try {
50
+ // Create target directory
51
+ if (!dryRun) {
52
+ await fs.mkdir(targetAgentsDir, { recursive: true });
53
+ }
54
+
55
+ const copiedFiles = [];
56
+ const errors = [];
57
+
58
+ // Recursively copy all agent files
59
+ async function copyRecursive(srcDir, destDir) {
60
+ const items = await fs.readdir(srcDir, { withFileTypes: true });
61
+
62
+ for (const item of items) {
63
+ const srcPath = join(srcDir, item.name);
64
+ const destPath = join(destDir, item.name);
65
+
66
+ if (item.isDirectory()) {
67
+ if (!dryRun) {
68
+ await fs.mkdir(destPath, { recursive: true });
69
+ }
70
+ await copyRecursive(srcPath, destPath);
71
+ } else if (item.isFile() && item.name.endsWith('.md')) {
72
+ try {
73
+ // Check if file already exists
74
+ let shouldCopy = force;
75
+ if (!force) {
76
+ try {
77
+ await fs.access(destPath);
78
+ // File exists, skip unless force is true
79
+ continue;
80
+ } catch {
81
+ // File doesn't exist, safe to copy
82
+ shouldCopy = true;
83
+ }
84
+ }
85
+
86
+ if (shouldCopy && !dryRun) {
87
+ const content = await fs.readFile(srcPath, 'utf8');
88
+ await fs.writeFile(destPath, content, 'utf8');
89
+ copiedFiles.push(destPath.replace(targetDir + '/', ''));
90
+ } else if (dryRun) {
91
+ copiedFiles.push(destPath.replace(targetDir + '/', ''));
92
+ }
93
+ } catch (err) {
94
+ errors.push(`Failed to copy ${item.name}: ${err.message}`);
95
+ }
96
+ }
97
+ }
98
+ }
99
+
100
+ await copyRecursive(sourceAgentsDir, targetAgentsDir);
101
+
102
+ if (!dryRun && copiedFiles.length > 0) {
103
+ console.log(` ✅ Copied ${copiedFiles.length} agent files`);
104
+ console.log(' 📋 Agent system initialized with 64 specialized agents');
105
+ console.log(
106
+ ' 🎯 Available categories: Core, Swarm, Consensus, Performance, GitHub, SPARC, Testing',
107
+ );
108
+ } else if (dryRun) {
109
+ console.log(` [DRY RUN] Would copy ${copiedFiles.length} agent files`);
110
+ }
111
+
112
+ if (errors.length > 0) {
113
+ console.log(' ⚠️ Some agent files could not be copied:');
114
+ errors.forEach((error) => console.log(` - ${error}`));
115
+ }
116
+
117
+ return {
118
+ success: true,
119
+ copiedFiles,
120
+ errors,
121
+ totalAgents: copiedFiles.length,
122
+ };
123
+ } catch (err) {
124
+ console.log(` ❌ Failed to copy agent files: ${err.message}`);
125
+ return {
126
+ success: false,
127
+ error: err.message,
128
+ copiedFiles: [],
129
+ errors: [err.message],
130
+ };
131
+ }
132
+ }
133
+
134
+ /**
135
+ * Create agent directories structure
136
+ */
137
+ export async function createAgentDirectories(targetDir, dryRun = false) {
138
+ const agentDirs = [
139
+ '.claude',
140
+ '.claude/agents',
141
+ '.claude/agents/core',
142
+ '.claude/agents/swarm',
143
+ '.claude/agents/hive-mind',
144
+ '.claude/agents/consensus',
145
+ '.claude/agents/optimization',
146
+ '.claude/agents/github',
147
+ '.claude/agents/sparc',
148
+ '.claude/agents/testing',
149
+ '.claude/agents/testing/unit',
150
+ '.claude/agents/testing/validation',
151
+ '.claude/agents/templates',
152
+ '.claude/agents/analysis',
153
+ '.claude/agents/analysis/code-review',
154
+ '.claude/agents/architecture',
155
+ '.claude/agents/architecture/system-design',
156
+ '.claude/agents/data',
157
+ '.claude/agents/data/ml',
158
+ '.claude/agents/development',
159
+ '.claude/agents/development/backend',
160
+ '.claude/agents/devops',
161
+ '.claude/agents/devops/ci-cd',
162
+ '.claude/agents/documentation',
163
+ '.claude/agents/documentation/api-docs',
164
+ '.claude/agents/specialized',
165
+ '.claude/agents/specialized/mobile',
166
+ '.claude/agents/flow-nexus',
167
+ '.claude/commands',
168
+ '.claude/commands/flow-nexus',
169
+ ];
170
+
171
+ if (dryRun) {
172
+ console.log(` [DRY RUN] Would create ${agentDirs.length} agent directories`);
173
+ return;
174
+ }
175
+
176
+ for (const dir of agentDirs) {
177
+ await fs.mkdir(join(targetDir, dir), { recursive: true });
178
+ }
179
+
180
+ console.log(` ✅ Created ${agentDirs.length} agent directories`);
181
+ }
182
+
183
+ /**
184
+ * Validate agent system after copying
185
+ */
186
+ /**
187
+ * Copy all command files from the installed package to project directory
188
+ */
189
+ export async function copyCommandFiles(targetDir, options = {}) {
190
+ const { force = false, dryRun = false } = options;
191
+
192
+ // Path to command files - try multiple locations
193
+ const packageCommandsDir = join(__dirname, '../../../../.claude/commands'); // From npm package
194
+ const localCommandsDir = '/workspaces/claude-code-flow/.claude/commands'; // Local development
195
+ const cwdCommandsDir = join(process.cwd(), '.claude/commands'); // Current working directory
196
+
197
+ let sourceCommandsDir;
198
+
199
+ // Try local development first, then package, then cwd
200
+ try {
201
+ await fs.access(localCommandsDir);
202
+ sourceCommandsDir = localCommandsDir;
203
+ console.log(' 📁 Using local development command files');
204
+ } catch {
205
+ try {
206
+ await fs.access(packageCommandsDir);
207
+ sourceCommandsDir = packageCommandsDir;
208
+ console.log(' 📁 Using packaged command files');
209
+ } catch {
210
+ try {
211
+ await fs.access(cwdCommandsDir);
212
+ sourceCommandsDir = cwdCommandsDir;
213
+ console.log(' 📁 Using current directory command files');
214
+ } catch {
215
+ console.log(' ⚠️ No command files found in any location');
216
+ return { success: false, error: 'Command files not found' };
217
+ }
218
+ }
219
+ }
220
+
221
+ const targetCommandsDir = join(targetDir, '.claude/commands');
222
+
223
+ console.log('📁 Copying command system files...');
224
+ console.log(` 📂 Source: ${sourceCommandsDir}`);
225
+ console.log(` 📂 Target: ${targetCommandsDir}`);
226
+
227
+ try {
228
+ // Create target directory
229
+ if (!dryRun) {
230
+ await fs.mkdir(targetCommandsDir, { recursive: true });
231
+ }
232
+
233
+ const copiedFiles = [];
234
+ const errors = [];
235
+
236
+ // Recursively copy all command files
237
+ async function copyRecursive(srcDir, destDir) {
238
+ const items = await fs.readdir(srcDir, { withFileTypes: true });
239
+
240
+ for (const item of items) {
241
+ const srcPath = join(srcDir, item.name);
242
+ const destPath = join(destDir, item.name);
243
+
244
+ if (item.isDirectory()) {
245
+ if (!dryRun) {
246
+ await fs.mkdir(destPath, { recursive: true });
247
+ }
248
+ await copyRecursive(srcPath, destPath);
249
+ } else if (item.isFile() && item.name.endsWith('.md')) {
250
+ try {
251
+ // Check if file already exists
252
+ let shouldCopy = force;
253
+ if (!force) {
254
+ try {
255
+ await fs.access(destPath);
256
+ // File exists, skip unless force is true
257
+ continue;
258
+ } catch {
259
+ // File doesn't exist, safe to copy
260
+ shouldCopy = true;
261
+ }
262
+ }
263
+
264
+ if (shouldCopy && !dryRun) {
265
+ const content = await fs.readFile(srcPath, 'utf8');
266
+ await fs.writeFile(destPath, content, 'utf8');
267
+ copiedFiles.push(destPath.replace(targetDir + '/', ''));
268
+ } else if (dryRun) {
269
+ copiedFiles.push(destPath.replace(targetDir + '/', ''));
270
+ }
271
+ } catch (err) {
272
+ errors.push(`Failed to copy ${item.name}: ${err.message}`);
273
+ }
274
+ }
275
+ }
276
+ }
277
+
278
+ await copyRecursive(sourceCommandsDir, targetCommandsDir);
279
+
280
+ if (!dryRun && copiedFiles.length > 0) {
281
+ console.log(` ✅ Copied ${copiedFiles.length} command files`);
282
+ console.log(' 📋 Command system initialized with comprehensive documentation');
283
+ console.log(
284
+ ' 🎯 Available categories: Analysis, Automation, GitHub, Hooks, Memory, Flow Nexus',
285
+ );
286
+ } else if (dryRun) {
287
+ console.log(` [DRY RUN] Would copy ${copiedFiles.length} command files`);
288
+ }
289
+
290
+ if (errors.length > 0) {
291
+ console.log(' ⚠️ Some command files could not be copied:');
292
+ errors.forEach((error) => console.log(` - ${error}`));
293
+ }
294
+
295
+ return {
296
+ success: true,
297
+ copiedFiles,
298
+ errors,
299
+ totalCommands: copiedFiles.length,
300
+ };
301
+ } catch (err) {
302
+ console.log(` ❌ Failed to copy command files: ${err.message}`);
303
+ return {
304
+ success: false,
305
+ error: err.message,
306
+ copiedFiles: [],
307
+ errors: [err.message],
308
+ };
309
+ }
310
+ }
311
+
312
+ export async function validateAgentSystem(targetDir) {
313
+ const agentsDir = join(targetDir, '.claude/agents');
314
+
315
+ try {
316
+ const categories = await fs.readdir(agentsDir, { withFileTypes: true });
317
+ const agentCategories = categories
318
+ .filter((item) => item.isDirectory())
319
+ .map((item) => item.name);
320
+
321
+ let totalAgents = 0;
322
+ for (const category of agentCategories) {
323
+ const categoryPath = join(agentsDir, category);
324
+ const items = await fs.readdir(categoryPath, { withFileTypes: true });
325
+ const agentFiles = items.filter((item) => item.isFile() && item.name.endsWith('.md'));
326
+ totalAgents += agentFiles.length;
327
+ }
328
+
329
+ console.log(' 🔍 Agent system validation:');
330
+ console.log(` • Categories: ${agentCategories.length}`);
331
+ console.log(` • Total agents: ${totalAgents}`);
332
+ console.log(` • Categories: ${agentCategories.join(', ')}`);
333
+
334
+ return {
335
+ valid: totalAgents > 50, // Should have at least 50+ agents
336
+ categories: agentCategories.length,
337
+ totalAgents,
338
+ categoryNames: agentCategories,
339
+ };
340
+ } catch (err) {
341
+ console.log(` ⚠️ Agent system validation failed: ${err.message}`);
342
+ return {
343
+ valid: false,
344
+ error: err.message,
345
+ };
346
+ }
347
+ }