claude-code-templates 1.21.13 → 1.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (811) hide show
  1. package/README.md +79 -77
  2. package/{cli-tool/bin → bin}/create-claude-config.js +2 -0
  3. package/package.json +79 -21
  4. package/{cli-tool/src → src}/analytics-web/chats_mobile.html +17 -16
  5. package/{cli-tool/src → src}/console-bridge.js +3 -3
  6. package/{cli-tool/src → src}/index.js +130 -10
  7. package/src/plugin-dashboard-web/app.js +806 -0
  8. package/src/plugin-dashboard-web/index.html +292 -0
  9. package/src/plugin-dashboard-web/styles.css +1781 -0
  10. package/src/plugin-dashboard.js +689 -0
  11. package/src/security-audit.js +164 -0
  12. package/src/validation/ARCHITECTURE.md +309 -0
  13. package/src/validation/BaseValidator.js +152 -0
  14. package/src/validation/README.md +543 -0
  15. package/src/validation/ValidationOrchestrator.js +305 -0
  16. package/src/validation/validators/IntegrityValidator.js +338 -0
  17. package/src/validation/validators/ProvenanceValidator.js +399 -0
  18. package/src/validation/validators/ReferenceValidator.js +373 -0
  19. package/src/validation/validators/SemanticValidator.js +449 -0
  20. package/src/validation/validators/StructuralValidator.js +376 -0
  21. package/.claude/agents/agent-expert.md +0 -477
  22. package/.claude/agents/cli-ui-designer.md +0 -405
  23. package/.claude/agents/command-expert.md +0 -421
  24. package/.claude/agents/docusaurus-expert.md +0 -173
  25. package/.claude/agents/frontend-developer.md +0 -32
  26. package/.claude/agents/mcp-expert.md +0 -258
  27. package/.claude/commands/lint.md +0 -111
  28. package/.claude/commands/test.md +0 -73
  29. package/.claude/settings.local.json +0 -56
  30. package/.env.example +0 -26
  31. package/.github/WORKFLOWS_REFERENCE.md +0 -88
  32. package/.github/workflows/deploy-docusaurus.yml +0 -31
  33. package/.github/workflows/deploy.yml +0 -33
  34. package/.github/workflows/publish-package.yml +0 -125
  35. package/.mcp.json +0 -4
  36. package/AGENTS.md +0 -4
  37. package/CLAUDE.md +0 -482
  38. package/CLAUDE_JOBS_README.md +0 -148
  39. package/CODE_OF_CONDUCT.md +0 -82
  40. package/CONTRIBUTING.md +0 -505
  41. package/DEPLOYMENT.md +0 -60
  42. package/LICENSE +0 -21
  43. package/ROADMAP.md +0 -278
  44. package/SECURITY.md +0 -65
  45. package/api/index.html +0 -1
  46. package/api/package.json +0 -7
  47. package/api/track-download-supabase.js +0 -150
  48. package/cli-tool/Makefile +0 -102
  49. package/cli-tool/README.md +0 -126
  50. package/cli-tool/TESTING.md +0 -262
  51. package/cli-tool/components/agents/ai-specialists/ai-ethics-advisor.md +0 -195
  52. package/cli-tool/components/agents/ai-specialists/hackathon-ai-strategist.md +0 -46
  53. package/cli-tool/components/agents/ai-specialists/llms-maintainer.md +0 -94
  54. package/cli-tool/components/agents/ai-specialists/model-evaluator.md +0 -150
  55. package/cli-tool/components/agents/ai-specialists/prompt-engineer.md +0 -112
  56. package/cli-tool/components/agents/ai-specialists/search-specialist.md +0 -59
  57. package/cli-tool/components/agents/ai-specialists/task-decomposition-expert.md +0 -97
  58. package/cli-tool/components/agents/api-graphql/graphql-architect.md +0 -208
  59. package/cli-tool/components/agents/api-graphql/graphql-performance-optimizer.md +0 -357
  60. package/cli-tool/components/agents/api-graphql/graphql-security-specialist.md +0 -519
  61. package/cli-tool/components/agents/blockchain-web3/smart-contract-auditor.md +0 -32
  62. package/cli-tool/components/agents/blockchain-web3/smart-contract-specialist.md +0 -32
  63. package/cli-tool/components/agents/blockchain-web3/web3-integration-specialist.md +0 -32
  64. package/cli-tool/components/agents/business-marketing/business-analyst.md +0 -194
  65. package/cli-tool/components/agents/business-marketing/content-marketer.md +0 -36
  66. package/cli-tool/components/agents/business-marketing/customer-support.md +0 -36
  67. package/cli-tool/components/agents/business-marketing/legal-advisor.md +0 -50
  68. package/cli-tool/components/agents/business-marketing/marketing-attribution-analyst.md +0 -352
  69. package/cli-tool/components/agents/business-marketing/payment-integration.md +0 -33
  70. package/cli-tool/components/agents/business-marketing/product-strategist.md +0 -212
  71. package/cli-tool/components/agents/business-marketing/risk-manager.md +0 -42
  72. package/cli-tool/components/agents/business-marketing/sales-automator.md +0 -36
  73. package/cli-tool/components/agents/data-ai/ai-engineer.md +0 -33
  74. package/cli-tool/components/agents/data-ai/computer-vision-engineer.md +0 -562
  75. package/cli-tool/components/agents/data-ai/data-engineer.md +0 -33
  76. package/cli-tool/components/agents/data-ai/data-scientist.md +0 -337
  77. package/cli-tool/components/agents/data-ai/ml-engineer.md +0 -33
  78. package/cli-tool/components/agents/data-ai/mlops-engineer.md +0 -58
  79. package/cli-tool/components/agents/data-ai/nlp-engineer.md +0 -680
  80. package/cli-tool/components/agents/data-ai/quant-analyst.md +0 -33
  81. package/cli-tool/components/agents/database/database-admin.md +0 -33
  82. package/cli-tool/components/agents/database/database-architect.md +0 -590
  83. package/cli-tool/components/agents/database/database-optimization.md +0 -33
  84. package/cli-tool/components/agents/database/database-optimizer.md +0 -33
  85. package/cli-tool/components/agents/database/neon-auth-specialist.md +0 -175
  86. package/cli-tool/components/agents/database/neon-database-architect.md +0 -141
  87. package/cli-tool/components/agents/database/neon-expert.md +0 -846
  88. package/cli-tool/components/agents/database/nosql-specialist.md +0 -708
  89. package/cli-tool/components/agents/database/supabase-schema-architect.md +0 -138
  90. package/cli-tool/components/agents/deep-research-team/academic-researcher.md +0 -33
  91. package/cli-tool/components/agents/deep-research-team/agent-overview.md +0 -235
  92. package/cli-tool/components/agents/deep-research-team/competitive-intelligence-analyst.md +0 -530
  93. package/cli-tool/components/agents/deep-research-team/data-analyst.md +0 -112
  94. package/cli-tool/components/agents/deep-research-team/fact-checker.md +0 -553
  95. package/cli-tool/components/agents/deep-research-team/query-clarifier.md +0 -73
  96. package/cli-tool/components/agents/deep-research-team/report-generator.md +0 -108
  97. package/cli-tool/components/agents/deep-research-team/research-brief-generator.md +0 -108
  98. package/cli-tool/components/agents/deep-research-team/research-coordinator.md +0 -94
  99. package/cli-tool/components/agents/deep-research-team/research-orchestrator.md +0 -119
  100. package/cli-tool/components/agents/deep-research-team/research-synthesizer.md +0 -109
  101. package/cli-tool/components/agents/deep-research-team/technical-researcher.md +0 -95
  102. package/cli-tool/components/agents/development-team/backend-architect.md +0 -31
  103. package/cli-tool/components/agents/development-team/cli-ui-designer.md +0 -405
  104. package/cli-tool/components/agents/development-team/devops-engineer.md +0 -886
  105. package/cli-tool/components/agents/development-team/frontend-developer.md +0 -32
  106. package/cli-tool/components/agents/development-team/fullstack-developer.md +0 -1205
  107. package/cli-tool/components/agents/development-team/ios-developer.md +0 -36
  108. package/cli-tool/components/agents/development-team/mobile-developer.md +0 -33
  109. package/cli-tool/components/agents/development-team/ui-ux-designer.md +0 -36
  110. package/cli-tool/components/agents/development-tools/code-reviewer.md +0 -30
  111. package/cli-tool/components/agents/development-tools/command-expert.md +0 -422
  112. package/cli-tool/components/agents/development-tools/context-manager.md +0 -65
  113. package/cli-tool/components/agents/development-tools/debugger.md +0 -31
  114. package/cli-tool/components/agents/development-tools/dx-optimizer.md +0 -64
  115. package/cli-tool/components/agents/development-tools/error-detective.md +0 -33
  116. package/cli-tool/components/agents/development-tools/mcp-expert.md +0 -259
  117. package/cli-tool/components/agents/development-tools/performance-profiler.md +0 -799
  118. package/cli-tool/components/agents/development-tools/test-engineer.md +0 -936
  119. package/cli-tool/components/agents/devops-infrastructure/cloud-architect.md +0 -33
  120. package/cli-tool/components/agents/devops-infrastructure/deployment-engineer.md +0 -33
  121. package/cli-tool/components/agents/devops-infrastructure/devops-troubleshooter.md +0 -33
  122. package/cli-tool/components/agents/devops-infrastructure/monitoring-specialist.md +0 -36
  123. package/cli-tool/components/agents/devops-infrastructure/network-engineer.md +0 -33
  124. package/cli-tool/components/agents/devops-infrastructure/security-engineer.md +0 -971
  125. package/cli-tool/components/agents/devops-infrastructure/terraform-specialist.md +0 -36
  126. package/cli-tool/components/agents/devops-infrastructure/vercel-deployment-specialist.md +0 -357
  127. package/cli-tool/components/agents/documentation/api-documenter.md +0 -33
  128. package/cli-tool/components/agents/documentation/changelog-generator.md +0 -37
  129. package/cli-tool/components/agents/documentation/docusaurus-expert.md +0 -175
  130. package/cli-tool/components/agents/documentation/technical-writer.md +0 -37
  131. package/cli-tool/components/agents/expert-advisors/agent-expert.md +0 -491
  132. package/cli-tool/components/agents/expert-advisors/architect-review.md +0 -50
  133. package/cli-tool/components/agents/expert-advisors/dependency-manager.md +0 -45
  134. package/cli-tool/components/agents/expert-advisors/documentation-expert.md +0 -47
  135. package/cli-tool/components/agents/ffmpeg-clip-team/audio-mixer.md +0 -37
  136. package/cli-tool/components/agents/ffmpeg-clip-team/audio-quality-controller.md +0 -100
  137. package/cli-tool/components/agents/ffmpeg-clip-team/podcast-content-analyzer.md +0 -60
  138. package/cli-tool/components/agents/ffmpeg-clip-team/podcast-metadata-specialist.md +0 -46
  139. package/cli-tool/components/agents/ffmpeg-clip-team/podcast-transcriber.md +0 -68
  140. package/cli-tool/components/agents/ffmpeg-clip-team/social-media-clip-creator.md +0 -69
  141. package/cli-tool/components/agents/ffmpeg-clip-team/timestamp-precision-specialist.md +0 -98
  142. package/cli-tool/components/agents/ffmpeg-clip-team/video-editor.md +0 -37
  143. package/cli-tool/components/agents/game-development/3d-artist.md +0 -37
  144. package/cli-tool/components/agents/game-development/game-designer.md +0 -37
  145. package/cli-tool/components/agents/game-development/unity-game-developer.md +0 -110
  146. package/cli-tool/components/agents/game-development/unreal-engine-developer.md +0 -128
  147. package/cli-tool/components/agents/git/git-flow-manager.md +0 -329
  148. package/cli-tool/components/agents/mcp-dev-team/mcp-deployment-orchestrator.md +0 -101
  149. package/cli-tool/components/agents/mcp-dev-team/mcp-integration-engineer.md +0 -37
  150. package/cli-tool/components/agents/mcp-dev-team/mcp-protocol-specialist.md +0 -37
  151. package/cli-tool/components/agents/mcp-dev-team/mcp-registry-navigator.md +0 -112
  152. package/cli-tool/components/agents/mcp-dev-team/mcp-security-auditor.md +0 -70
  153. package/cli-tool/components/agents/mcp-dev-team/mcp-server-architect.md +0 -74
  154. package/cli-tool/components/agents/mcp-dev-team/mcp-testing-engineer.md +0 -106
  155. package/cli-tool/components/agents/modernization/architecture-modernizer.md +0 -37
  156. package/cli-tool/components/agents/modernization/cloud-migration-specialist.md +0 -37
  157. package/cli-tool/components/agents/modernization/legacy-modernizer.md +0 -33
  158. package/cli-tool/components/agents/obsidian-ops-team/Scripts/daily_notes_connector.py +0 -306
  159. package/cli-tool/components/agents/obsidian-ops-team/Scripts/enhance_tag_standardizer.py +0 -343
  160. package/cli-tool/components/agents/obsidian-ops-team/Scripts/find_keyword_connections.py +0 -216
  161. package/cli-tool/components/agents/obsidian-ops-team/Scripts/fix_quoted_tags.py +0 -82
  162. package/cli-tool/components/agents/obsidian-ops-team/Scripts/implement_entity_connections.py +0 -195
  163. package/cli-tool/components/agents/obsidian-ops-team/Scripts/link_suggester.py +0 -301
  164. package/cli-tool/components/agents/obsidian-ops-team/Scripts/metadata_adder.py +0 -197
  165. package/cli-tool/components/agents/obsidian-ops-team/Scripts/moc_generator.py +0 -296
  166. package/cli-tool/components/agents/obsidian-ops-team/Scripts/parse_keyword_connections.py +0 -122
  167. package/cli-tool/components/agents/obsidian-ops-team/Scripts/tag_standardizer.py +0 -387
  168. package/cli-tool/components/agents/obsidian-ops-team/connection-agent.md +0 -67
  169. package/cli-tool/components/agents/obsidian-ops-team/content-curator.md +0 -81
  170. package/cli-tool/components/agents/obsidian-ops-team/metadata-agent.md +0 -51
  171. package/cli-tool/components/agents/obsidian-ops-team/moc-agent.md +0 -112
  172. package/cli-tool/components/agents/obsidian-ops-team/review-agent.md +0 -94
  173. package/cli-tool/components/agents/obsidian-ops-team/tag-agent.md +0 -92
  174. package/cli-tool/components/agents/obsidian-ops-team/vault-optimizer.md +0 -76
  175. package/cli-tool/components/agents/ocr-extraction-team/document-structure-analyzer.md +0 -37
  176. package/cli-tool/components/agents/ocr-extraction-team/markdown-syntax-formatter.md +0 -58
  177. package/cli-tool/components/agents/ocr-extraction-team/ocr-grammar-fixer.md +0 -36
  178. package/cli-tool/components/agents/ocr-extraction-team/ocr-preprocessing-optimizer.md +0 -37
  179. package/cli-tool/components/agents/ocr-extraction-team/ocr-quality-assurance.md +0 -62
  180. package/cli-tool/components/agents/ocr-extraction-team/text-comparison-validator.md +0 -60
  181. package/cli-tool/components/agents/ocr-extraction-team/visual-analysis-ocr.md +0 -52
  182. package/cli-tool/components/agents/performance-testing/load-testing-specialist.md +0 -37
  183. package/cli-tool/components/agents/performance-testing/performance-engineer.md +0 -33
  184. package/cli-tool/components/agents/performance-testing/react-performance-optimization.md +0 -65
  185. package/cli-tool/components/agents/performance-testing/test-automator.md +0 -33
  186. package/cli-tool/components/agents/performance-testing/web-vitals-optimizer.md +0 -37
  187. package/cli-tool/components/agents/podcast-creator-team/academic-research-synthesizer.md +0 -61
  188. package/cli-tool/components/agents/podcast-creator-team/comprehensive-researcher.md +0 -49
  189. package/cli-tool/components/agents/podcast-creator-team/episode-orchestrator.md +0 -52
  190. package/cli-tool/components/agents/podcast-creator-team/guest-outreach-coordinator.md +0 -37
  191. package/cli-tool/components/agents/podcast-creator-team/market-research-analyst.md +0 -54
  192. package/cli-tool/components/agents/podcast-creator-team/podcast-editor.md +0 -37
  193. package/cli-tool/components/agents/podcast-creator-team/podcast-trend-scout.md +0 -60
  194. package/cli-tool/components/agents/podcast-creator-team/project-supervisor-orchestrator.md +0 -48
  195. package/cli-tool/components/agents/podcast-creator-team/seo-podcast-optimizer.md +0 -58
  196. package/cli-tool/components/agents/podcast-creator-team/social-media-copywriter.md +0 -57
  197. package/cli-tool/components/agents/podcast-creator-team/twitter-ai-influencer-manager.md +0 -62
  198. package/cli-tool/components/agents/programming-languages/c-pro.md +0 -36
  199. package/cli-tool/components/agents/programming-languages/c-sharp-pro.md +0 -40
  200. package/cli-tool/components/agents/programming-languages/cpp-pro.md +0 -39
  201. package/cli-tool/components/agents/programming-languages/golang-pro.md +0 -33
  202. package/cli-tool/components/agents/programming-languages/javascript-pro.md +0 -36
  203. package/cli-tool/components/agents/programming-languages/php-pro.md +0 -44
  204. package/cli-tool/components/agents/programming-languages/python-pro.md +0 -33
  205. package/cli-tool/components/agents/programming-languages/rust-pro.md +0 -36
  206. package/cli-tool/components/agents/programming-languages/shell-scripting-pro.md +0 -38
  207. package/cli-tool/components/agents/programming-languages/sql-pro.md +0 -36
  208. package/cli-tool/components/agents/programming-languages/typescript-pro.md +0 -38
  209. package/cli-tool/components/agents/realtime/supabase-realtime-optimizer.md +0 -193
  210. package/cli-tool/components/agents/security/api-security-audit.md +0 -93
  211. package/cli-tool/components/agents/security/compliance-specialist.md +0 -37
  212. package/cli-tool/components/agents/security/incident-responder.md +0 -75
  213. package/cli-tool/components/agents/security/penetration-tester.md +0 -37
  214. package/cli-tool/components/agents/security/security-auditor.md +0 -33
  215. package/cli-tool/components/agents/web-tools/nextjs-architecture-expert.md +0 -194
  216. package/cli-tool/components/agents/web-tools/react-performance-optimizer.md +0 -425
  217. package/cli-tool/components/agents/web-tools/seo-analyzer.md +0 -37
  218. package/cli-tool/components/agents/web-tools/url-context-validator.md +0 -61
  219. package/cli-tool/components/agents/web-tools/url-link-extractor.md +0 -59
  220. package/cli-tool/components/agents/web-tools/web-accessibility-checker.md +0 -37
  221. package/cli-tool/components/commands/automation/act.md +0 -57
  222. package/cli-tool/components/commands/automation/ci-pipeline.md +0 -378
  223. package/cli-tool/components/commands/automation/husky.md +0 -130
  224. package/cli-tool/components/commands/automation/workflow-orchestrator.md +0 -576
  225. package/cli-tool/components/commands/database/supabase-backup-manager.md +0 -37
  226. package/cli-tool/components/commands/database/supabase-data-explorer.md +0 -37
  227. package/cli-tool/components/commands/database/supabase-migration-assistant.md +0 -37
  228. package/cli-tool/components/commands/database/supabase-performance-optimizer.md +0 -37
  229. package/cli-tool/components/commands/database/supabase-realtime-monitor.md +0 -37
  230. package/cli-tool/components/commands/database/supabase-schema-sync.md +0 -37
  231. package/cli-tool/components/commands/database/supabase-security-audit.md +0 -37
  232. package/cli-tool/components/commands/database/supabase-type-generator.md +0 -37
  233. package/cli-tool/components/commands/deployment/add-changelog.md +0 -92
  234. package/cli-tool/components/commands/deployment/blue-green-deployment.md +0 -824
  235. package/cli-tool/components/commands/deployment/changelog-demo-command.md +0 -43
  236. package/cli-tool/components/commands/deployment/ci-setup.md +0 -323
  237. package/cli-tool/components/commands/deployment/containerize-application.md +0 -93
  238. package/cli-tool/components/commands/deployment/deployment-monitoring.md +0 -1228
  239. package/cli-tool/components/commands/deployment/hotfix-deploy.md +0 -283
  240. package/cli-tool/components/commands/deployment/prepare-release.md +0 -357
  241. package/cli-tool/components/commands/deployment/rollback-deploy.md +0 -145
  242. package/cli-tool/components/commands/deployment/setup-automated-releases.md +0 -143
  243. package/cli-tool/components/commands/deployment/setup-kubernetes-deployment.md +0 -93
  244. package/cli-tool/components/commands/documentation/create-architecture-documentation.md +0 -95
  245. package/cli-tool/components/commands/documentation/create-onboarding-guide.md +0 -93
  246. package/cli-tool/components/commands/documentation/doc-api.md +0 -242
  247. package/cli-tool/components/commands/documentation/docs-maintenance.md +0 -119
  248. package/cli-tool/components/commands/documentation/generate-api-documentation.md +0 -97
  249. package/cli-tool/components/commands/documentation/interactive-documentation.md +0 -133
  250. package/cli-tool/components/commands/documentation/load-llms-txt.md +0 -39
  251. package/cli-tool/components/commands/documentation/migration-guide.md +0 -250
  252. package/cli-tool/components/commands/documentation/troubleshooting-guide.md +0 -370
  253. package/cli-tool/components/commands/documentation/update-docs.md +0 -107
  254. package/cli-tool/components/commands/game-development/game-analytics-integration.md +0 -128
  255. package/cli-tool/components/commands/game-development/game-asset-pipeline.md +0 -108
  256. package/cli-tool/components/commands/game-development/game-performance-profiler.md +0 -78
  257. package/cli-tool/components/commands/game-development/game-testing-framework.md +0 -112
  258. package/cli-tool/components/commands/game-development/unity-project-setup.md +0 -190
  259. package/cli-tool/components/commands/git/feature.md +0 -196
  260. package/cli-tool/components/commands/git/finish.md +0 -528
  261. package/cli-tool/components/commands/git/flow-status.md +0 -438
  262. package/cli-tool/components/commands/git/hotfix.md +0 -456
  263. package/cli-tool/components/commands/git/release.md +0 -381
  264. package/cli-tool/components/commands/git-workflow/branch-cleanup.md +0 -181
  265. package/cli-tool/components/commands/git-workflow/commit.md +0 -167
  266. package/cli-tool/components/commands/git-workflow/create-pr.md +0 -19
  267. package/cli-tool/components/commands/git-workflow/create-pull-request.md +0 -126
  268. package/cli-tool/components/commands/git-workflow/create-worktrees.md +0 -174
  269. package/cli-tool/components/commands/git-workflow/fix-github-issue.md +0 -13
  270. package/cli-tool/components/commands/git-workflow/git-bisect-helper.md +0 -261
  271. package/cli-tool/components/commands/git-workflow/pr-review.md +0 -76
  272. package/cli-tool/components/commands/git-workflow/update-branch-name.md +0 -9
  273. package/cli-tool/components/commands/nextjs-vercel/nextjs-api-tester.md +0 -480
  274. package/cli-tool/components/commands/nextjs-vercel/nextjs-bundle-analyzer.md +0 -406
  275. package/cli-tool/components/commands/nextjs-vercel/nextjs-component-generator.md +0 -489
  276. package/cli-tool/components/commands/nextjs-vercel/nextjs-middleware-creator.md +0 -712
  277. package/cli-tool/components/commands/nextjs-vercel/nextjs-migration-helper.md +0 -778
  278. package/cli-tool/components/commands/nextjs-vercel/nextjs-performance-audit.md +0 -653
  279. package/cli-tool/components/commands/nextjs-vercel/nextjs-scaffold.md +0 -237
  280. package/cli-tool/components/commands/nextjs-vercel/vercel-deploy-optimize.md +0 -341
  281. package/cli-tool/components/commands/nextjs-vercel/vercel-edge-function.md +0 -810
  282. package/cli-tool/components/commands/nextjs-vercel/vercel-env-sync.md +0 -666
  283. package/cli-tool/components/commands/orchestration/archive.md +0 -414
  284. package/cli-tool/components/commands/orchestration/commit.md +0 -305
  285. package/cli-tool/components/commands/orchestration/find.md +0 -272
  286. package/cli-tool/components/commands/orchestration/log.md +0 -355
  287. package/cli-tool/components/commands/orchestration/move.md +0 -220
  288. package/cli-tool/components/commands/orchestration/optimize.md +0 -375
  289. package/cli-tool/components/commands/orchestration/remove.md +0 -301
  290. package/cli-tool/components/commands/orchestration/report.md +0 -292
  291. package/cli-tool/components/commands/orchestration/resume.md +0 -256
  292. package/cli-tool/components/commands/orchestration/start.md +0 -169
  293. package/cli-tool/components/commands/orchestration/status.md +0 -219
  294. package/cli-tool/components/commands/orchestration/sync.md +0 -294
  295. package/cli-tool/components/commands/performance/add-performance-monitoring.md +0 -84
  296. package/cli-tool/components/commands/performance/implement-caching-strategy.md +0 -84
  297. package/cli-tool/components/commands/performance/optimize-api-performance.md +0 -119
  298. package/cli-tool/components/commands/performance/optimize-build.md +0 -139
  299. package/cli-tool/components/commands/performance/optimize-bundle-size.md +0 -84
  300. package/cli-tool/components/commands/performance/optimize-database-performance.md +0 -84
  301. package/cli-tool/components/commands/performance/optimize-memory-usage.md +0 -91
  302. package/cli-tool/components/commands/performance/performance-audit.md +0 -89
  303. package/cli-tool/components/commands/performance/setup-cdn-optimization.md +0 -84
  304. package/cli-tool/components/commands/performance/system-behavior-simulator.md +0 -415
  305. package/cli-tool/components/commands/project-management/add-package.md +0 -90
  306. package/cli-tool/components/commands/project-management/add-to-changelog.md +0 -37
  307. package/cli-tool/components/commands/project-management/create-feature.md +0 -130
  308. package/cli-tool/components/commands/project-management/create-jtbd.md +0 -37
  309. package/cli-tool/components/commands/project-management/create-prd.md +0 -36
  310. package/cli-tool/components/commands/project-management/create-prp.md +0 -37
  311. package/cli-tool/components/commands/project-management/init-project.md +0 -80
  312. package/cli-tool/components/commands/project-management/milestone-tracker.md +0 -44
  313. package/cli-tool/components/commands/project-management/pac-configure.md +0 -32
  314. package/cli-tool/components/commands/project-management/pac-create-epic.md +0 -41
  315. package/cli-tool/components/commands/project-management/pac-create-ticket.md +0 -42
  316. package/cli-tool/components/commands/project-management/pac-update-status.md +0 -39
  317. package/cli-tool/components/commands/project-management/pac-validate.md +0 -35
  318. package/cli-tool/components/commands/project-management/project-health-check.md +0 -58
  319. package/cli-tool/components/commands/project-management/project-timeline-simulator.md +0 -37
  320. package/cli-tool/components/commands/project-management/project-to-linear.md +0 -38
  321. package/cli-tool/components/commands/project-management/release.md +0 -31
  322. package/cli-tool/components/commands/project-management/todo.md +0 -62
  323. package/cli-tool/components/commands/security/add-authentication-system.md +0 -34
  324. package/cli-tool/components/commands/security/dependency-audit.md +0 -32
  325. package/cli-tool/components/commands/security/penetration-test.md +0 -40
  326. package/cli-tool/components/commands/security/secrets-scanner.md +0 -39
  327. package/cli-tool/components/commands/security/security-audit.md +0 -82
  328. package/cli-tool/components/commands/security/security-hardening.md +0 -33
  329. package/cli-tool/components/commands/setup/create-database-migrations.md +0 -35
  330. package/cli-tool/components/commands/setup/design-database-schema.md +0 -37
  331. package/cli-tool/components/commands/setup/design-rest-api.md +0 -37
  332. package/cli-tool/components/commands/setup/implement-graphql-api.md +0 -37
  333. package/cli-tool/components/commands/setup/migrate-to-typescript.md +0 -37
  334. package/cli-tool/components/commands/setup/setup-ci-cd-pipeline.md +0 -37
  335. package/cli-tool/components/commands/setup/setup-development-environment.md +0 -37
  336. package/cli-tool/components/commands/setup/setup-docker-containers.md +0 -37
  337. package/cli-tool/components/commands/setup/setup-formatting.md +0 -37
  338. package/cli-tool/components/commands/setup/setup-linting.md +0 -37
  339. package/cli-tool/components/commands/setup/setup-monitoring-observability.md +0 -37
  340. package/cli-tool/components/commands/setup/setup-monorepo.md +0 -37
  341. package/cli-tool/components/commands/setup/setup-rate-limiting.md +0 -37
  342. package/cli-tool/components/commands/setup/update-dependencies.md +0 -35
  343. package/cli-tool/components/commands/simulation/business-scenario-explorer.md +0 -37
  344. package/cli-tool/components/commands/simulation/constraint-modeler.md +0 -37
  345. package/cli-tool/components/commands/simulation/decision-tree-explorer.md +0 -37
  346. package/cli-tool/components/commands/simulation/digital-twin-creator.md +0 -37
  347. package/cli-tool/components/commands/simulation/future-scenario-generator.md +0 -37
  348. package/cli-tool/components/commands/simulation/market-response-modeler.md +0 -37
  349. package/cli-tool/components/commands/simulation/monte-carlo-simulator.md +0 -37
  350. package/cli-tool/components/commands/simulation/simulation-calibrator.md +0 -37
  351. package/cli-tool/components/commands/simulation/system-dynamics-modeler.md +0 -37
  352. package/cli-tool/components/commands/simulation/timeline-compressor.md +0 -37
  353. package/cli-tool/components/commands/svelte/svelte:a11y.md +0 -105
  354. package/cli-tool/components/commands/svelte/svelte:component.md +0 -81
  355. package/cli-tool/components/commands/svelte/svelte:debug.md +0 -48
  356. package/cli-tool/components/commands/svelte/svelte:migrate.md +0 -79
  357. package/cli-tool/components/commands/svelte/svelte:optimize.md +0 -99
  358. package/cli-tool/components/commands/svelte/svelte:scaffold.md +0 -89
  359. package/cli-tool/components/commands/svelte/svelte:storybook-migrate.md +0 -204
  360. package/cli-tool/components/commands/svelte/svelte:storybook-mock.md +0 -213
  361. package/cli-tool/components/commands/svelte/svelte:storybook-setup.md +0 -113
  362. package/cli-tool/components/commands/svelte/svelte:storybook-story.md +0 -145
  363. package/cli-tool/components/commands/svelte/svelte:storybook-troubleshoot.md +0 -191
  364. package/cli-tool/components/commands/svelte/svelte:storybook.md +0 -48
  365. package/cli-tool/components/commands/svelte/svelte:test-coverage.md +0 -77
  366. package/cli-tool/components/commands/svelte/svelte:test-fix.md +0 -74
  367. package/cli-tool/components/commands/svelte/svelte:test-setup.md +0 -85
  368. package/cli-tool/components/commands/svelte/svelte:test.md +0 -60
  369. package/cli-tool/components/commands/sync/bidirectional-sync.md +0 -37
  370. package/cli-tool/components/commands/sync/bulk-import-issues.md +0 -37
  371. package/cli-tool/components/commands/sync/cross-reference-manager.md +0 -37
  372. package/cli-tool/components/commands/sync/issue-to-linear-task.md +0 -37
  373. package/cli-tool/components/commands/sync/linear-task-to-issue.md +0 -37
  374. package/cli-tool/components/commands/sync/sync-automation-setup.md +0 -37
  375. package/cli-tool/components/commands/sync/sync-conflict-resolver.md +0 -37
  376. package/cli-tool/components/commands/sync/sync-health-monitor.md +0 -37
  377. package/cli-tool/components/commands/sync/sync-issues-to-linear.md +0 -37
  378. package/cli-tool/components/commands/sync/sync-linear-to-issues.md +0 -37
  379. package/cli-tool/components/commands/sync/sync-migration-assistant.md +0 -37
  380. package/cli-tool/components/commands/sync/sync-pr-to-task.md +0 -37
  381. package/cli-tool/components/commands/sync/sync-status.md +0 -391
  382. package/cli-tool/components/commands/sync/task-from-pr.md +0 -37
  383. package/cli-tool/components/commands/team/architecture-review.md +0 -37
  384. package/cli-tool/components/commands/team/decision-quality-analyzer.md +0 -37
  385. package/cli-tool/components/commands/team/dependency-mapper.md +0 -37
  386. package/cli-tool/components/commands/team/estimate-assistant.md +0 -37
  387. package/cli-tool/components/commands/team/issue-triage.md +0 -37
  388. package/cli-tool/components/commands/team/memory-spring-cleaning.md +0 -37
  389. package/cli-tool/components/commands/team/migration-assistant.md +0 -37
  390. package/cli-tool/components/commands/team/retrospective-analyzer.md +0 -37
  391. package/cli-tool/components/commands/team/session-learning-capture.md +0 -37
  392. package/cli-tool/components/commands/team/sprint-planning.md +0 -189
  393. package/cli-tool/components/commands/team/standup-report.md +0 -37
  394. package/cli-tool/components/commands/team/team-knowledge-mapper.md +0 -37
  395. package/cli-tool/components/commands/team/team-velocity-tracker.md +0 -37
  396. package/cli-tool/components/commands/team/team-workload-balancer.md +0 -37
  397. package/cli-tool/components/commands/testing/add-mutation-testing.md +0 -37
  398. package/cli-tool/components/commands/testing/add-property-based-testing.md +0 -37
  399. package/cli-tool/components/commands/testing/e2e-setup.md +0 -37
  400. package/cli-tool/components/commands/testing/generate-test-cases.md +0 -37
  401. package/cli-tool/components/commands/testing/generate-tests.md +0 -82
  402. package/cli-tool/components/commands/testing/setup-comprehensive-testing.md +0 -37
  403. package/cli-tool/components/commands/testing/setup-load-testing.md +0 -37
  404. package/cli-tool/components/commands/testing/setup-visual-testing.md +0 -37
  405. package/cli-tool/components/commands/testing/test-automation-orchestrator.md +0 -37
  406. package/cli-tool/components/commands/testing/test-changelog-automation.md +0 -37
  407. package/cli-tool/components/commands/testing/test-coverage.md +0 -37
  408. package/cli-tool/components/commands/testing/test-quality-analyzer.md +0 -37
  409. package/cli-tool/components/commands/testing/testing_plan_integration.md +0 -37
  410. package/cli-tool/components/commands/testing/write-tests.md +0 -37
  411. package/cli-tool/components/commands/utilities/all-tools.md +0 -31
  412. package/cli-tool/components/commands/utilities/architecture-scenario-explorer.md +0 -375
  413. package/cli-tool/components/commands/utilities/check-file.md +0 -53
  414. package/cli-tool/components/commands/utilities/clean-branches.md +0 -243
  415. package/cli-tool/components/commands/utilities/clean.md +0 -1
  416. package/cli-tool/components/commands/utilities/code-permutation-tester.md +0 -341
  417. package/cli-tool/components/commands/utilities/code-review.md +0 -70
  418. package/cli-tool/components/commands/utilities/code-to-task.md +0 -583
  419. package/cli-tool/components/commands/utilities/context-prime.md +0 -1
  420. package/cli-tool/components/commands/utilities/debug-error.md +0 -121
  421. package/cli-tool/components/commands/utilities/directory-deep-dive.md +0 -34
  422. package/cli-tool/components/commands/utilities/explain-code.md +0 -194
  423. package/cli-tool/components/commands/utilities/fix-issue.md +0 -85
  424. package/cli-tool/components/commands/utilities/generate-linear-worklog.md +0 -113
  425. package/cli-tool/components/commands/utilities/git-status.md +0 -39
  426. package/cli-tool/components/commands/utilities/initref.md +0 -3
  427. package/cli-tool/components/commands/utilities/prime.md +0 -41
  428. package/cli-tool/components/commands/utilities/refactor-code.md +0 -116
  429. package/cli-tool/components/commands/utilities/ultra-think.md +0 -153
  430. package/cli-tool/components/hooks/HOOK_PATTERNS_COMPRESSED.json +0 -1
  431. package/cli-tool/components/hooks/automation/agents-md-loader.json +0 -17
  432. package/cli-tool/components/hooks/automation/build-on-change.json +0 -16
  433. package/cli-tool/components/hooks/automation/dependency-checker.json +0 -16
  434. package/cli-tool/components/hooks/automation/deployment-health-monitor.json +0 -29
  435. package/cli-tool/components/hooks/automation/discord-detailed-notifications.json +0 -26
  436. package/cli-tool/components/hooks/automation/discord-error-notifications.json +0 -37
  437. package/cli-tool/components/hooks/automation/discord-notifications.json +0 -25
  438. package/cli-tool/components/hooks/automation/simple-notifications.json +0 -16
  439. package/cli-tool/components/hooks/automation/slack-detailed-notifications.json +0 -26
  440. package/cli-tool/components/hooks/automation/slack-error-notifications.json +0 -37
  441. package/cli-tool/components/hooks/automation/slack-notifications.json +0 -25
  442. package/cli-tool/components/hooks/automation/telegram-detailed-notifications.json +0 -26
  443. package/cli-tool/components/hooks/automation/telegram-error-notifications.json +0 -37
  444. package/cli-tool/components/hooks/automation/telegram-notifications.json +0 -25
  445. package/cli-tool/components/hooks/automation/vercel-auto-deploy.json +0 -17
  446. package/cli-tool/components/hooks/automation/vercel-environment-sync.json +0 -29
  447. package/cli-tool/components/hooks/development-tools/change-tracker.json +0 -25
  448. package/cli-tool/components/hooks/development-tools/command-logger.json +0 -16
  449. package/cli-tool/components/hooks/development-tools/file-backup.json +0 -16
  450. package/cli-tool/components/hooks/development-tools/lint-on-save.json +0 -16
  451. package/cli-tool/components/hooks/development-tools/nextjs-code-quality-enforcer.json +0 -17
  452. package/cli-tool/components/hooks/development-tools/smart-formatting.json +0 -16
  453. package/cli-tool/components/hooks/git/conventional-commits.json +0 -16
  454. package/cli-tool/components/hooks/git/conventional-commits.py +0 -84
  455. package/cli-tool/components/hooks/git/prevent-direct-push.json +0 -16
  456. package/cli-tool/components/hooks/git/prevent-direct-push.py +0 -86
  457. package/cli-tool/components/hooks/git/validate-branch-name.json +0 -16
  458. package/cli-tool/components/hooks/git/validate-branch-name.py +0 -96
  459. package/cli-tool/components/hooks/git-workflow/auto-git-add.json +0 -16
  460. package/cli-tool/components/hooks/git-workflow/smart-commit.json +0 -25
  461. package/cli-tool/components/hooks/performance/performance-budget-guard.json +0 -27
  462. package/cli-tool/components/hooks/performance/performance-monitor.json +0 -27
  463. package/cli-tool/components/hooks/post-tool/format-javascript-files.json +0 -16
  464. package/cli-tool/components/hooks/post-tool/format-python-files.json +0 -16
  465. package/cli-tool/components/hooks/post-tool/git-add-changes.json +0 -25
  466. package/cli-tool/components/hooks/post-tool/run-tests-after-changes.json +0 -16
  467. package/cli-tool/components/hooks/pre-tool/backup-before-edit.json +0 -16
  468. package/cli-tool/components/hooks/pre-tool/notify-before-bash.json +0 -16
  469. package/cli-tool/components/hooks/pre-tool/update-search-year.json +0 -17
  470. package/cli-tool/components/hooks/security/file-protection.json +0 -16
  471. package/cli-tool/components/hooks/security/security-scanner.json +0 -16
  472. package/cli-tool/components/hooks/testing/test-runner.json +0 -16
  473. package/cli-tool/components/mcps/browser_automation/browser-use-mcp-server.json +0 -20
  474. package/cli-tool/components/mcps/browser_automation/browsermcp.json +0 -9
  475. package/cli-tool/components/mcps/browser_automation/mcp-server-browserbase.json +0 -14
  476. package/cli-tool/components/mcps/browser_automation/mcp-server-playwright.json +0 -9
  477. package/cli-tool/components/mcps/browser_automation/playwright-mcp-server.json +0 -9
  478. package/cli-tool/components/mcps/browser_automation/playwright-mcp.json +0 -11
  479. package/cli-tool/components/mcps/database/mysql-integration.json +0 -12
  480. package/cli-tool/components/mcps/database/neon.json +0 -9
  481. package/cli-tool/components/mcps/database/postgresql-integration.json +0 -12
  482. package/cli-tool/components/mcps/database/supabase.json +0 -17
  483. package/cli-tool/components/mcps/deepgraph/deepgraph-nextjs.json +0 -13
  484. package/cli-tool/components/mcps/deepgraph/deepgraph-react.json +0 -13
  485. package/cli-tool/components/mcps/deepgraph/deepgraph-typescript.json +0 -13
  486. package/cli-tool/components/mcps/deepgraph/deepgraph-vue.json +0 -13
  487. package/cli-tool/components/mcps/devtools/azure-kubernetes-service.json +0 -11
  488. package/cli-tool/components/mcps/devtools/box.json +0 -14
  489. package/cli-tool/components/mcps/devtools/circleci.json +0 -13
  490. package/cli-tool/components/mcps/devtools/codacy.json +0 -12
  491. package/cli-tool/components/mcps/devtools/context7.json +0 -9
  492. package/cli-tool/components/mcps/devtools/dynatrace.json +0 -13
  493. package/cli-tool/components/mcps/devtools/elasticsearch.json +0 -18
  494. package/cli-tool/components/mcps/devtools/figma-dev-mode.json +0 -8
  495. package/cli-tool/components/mcps/devtools/firecrawl.json +0 -12
  496. package/cli-tool/components/mcps/devtools/firefly-mcp.json +0 -13
  497. package/cli-tool/components/mcps/devtools/huggingface.json +0 -11
  498. package/cli-tool/components/mcps/devtools/imagesorcery.json +0 -11
  499. package/cli-tool/components/mcps/devtools/ios-simulator-mcp.json +0 -9
  500. package/cli-tool/components/mcps/devtools/jfrog.json +0 -8
  501. package/cli-tool/components/mcps/devtools/just-mcp.json +0 -9
  502. package/cli-tool/components/mcps/devtools/launchdarkly.json +0 -12
  503. package/cli-tool/components/mcps/devtools/leetcode.json +0 -8
  504. package/cli-tool/components/mcps/devtools/logfire.json +0 -9
  505. package/cli-tool/components/mcps/devtools/markitdown.json +0 -14
  506. package/cli-tool/components/mcps/devtools/mcp-server-atlassian-bitbucket.json +0 -9
  507. package/cli-tool/components/mcps/devtools/mcp-server-trello.json +0 -12
  508. package/cli-tool/components/mcps/devtools/microsoft-clarity.json +0 -11
  509. package/cli-tool/components/mcps/devtools/microsoft-dev-box.json +0 -9
  510. package/cli-tool/components/mcps/devtools/mongodb.json +0 -12
  511. package/cli-tool/components/mcps/devtools/postman.json +0 -12
  512. package/cli-tool/components/mcps/devtools/sentry.json +0 -8
  513. package/cli-tool/components/mcps/devtools/serena.json +0 -9
  514. package/cli-tool/components/mcps/devtools/stripe.json +0 -12
  515. package/cli-tool/components/mcps/devtools/terraform.json +0 -14
  516. package/cli-tool/components/mcps/devtools/webflow.json +0 -8
  517. package/cli-tool/components/mcps/filesystem/filesystem-access.json +0 -13
  518. package/cli-tool/components/mcps/integration/github-integration.json +0 -12
  519. package/cli-tool/components/mcps/integration/memory-integration.json +0 -9
  520. package/cli-tool/components/mcps/marketing/facebook-ads-mcp-server.json +0 -13
  521. package/cli-tool/components/mcps/marketing/google-ads-mcp-server.json +0 -11
  522. package/cli-tool/components/mcps/productivity/monday.json +0 -14
  523. package/cli-tool/components/mcps/productivity/notion.json +0 -12
  524. package/cli-tool/components/mcps/web/web-fetch.json +0 -9
  525. package/cli-tool/components/settings/api/bedrock-configuration.json +0 -7
  526. package/cli-tool/components/settings/api/corporate-proxy.json +0 -7
  527. package/cli-tool/components/settings/api/custom-headers.json +0 -6
  528. package/cli-tool/components/settings/api/vertex-configuration.json +0 -17
  529. package/cli-tool/components/settings/authentication/api-key-helper.json +0 -7
  530. package/cli-tool/components/settings/authentication/force-claudeai-login.json +0 -4
  531. package/cli-tool/components/settings/authentication/force-console-login.json +0 -4
  532. package/cli-tool/components/settings/cleanup/retention-7-days.json +0 -4
  533. package/cli-tool/components/settings/cleanup/retention-90-days.json +0 -4
  534. package/cli-tool/components/settings/environment/bash-timeouts.json +0 -8
  535. package/cli-tool/components/settings/environment/development-utils.json +0 -8
  536. package/cli-tool/components/settings/environment/performance-optimization.json +0 -8
  537. package/cli-tool/components/settings/environment/privacy-focused.json +0 -10
  538. package/cli-tool/components/settings/git/git-flow-settings.json +0 -79
  539. package/cli-tool/components/settings/global/aws-credentials.json +0 -5
  540. package/cli-tool/components/settings/global/custom-model.json +0 -7
  541. package/cli-tool/components/settings/global/git-commit-settings.json +0 -4
  542. package/cli-tool/components/settings/mcp/disable-risky-servers.json +0 -8
  543. package/cli-tool/components/settings/mcp/enable-all-project-servers.json +0 -4
  544. package/cli-tool/components/settings/mcp/enable-specific-servers.json +0 -8
  545. package/cli-tool/components/settings/mcp/mcp-timeouts.json +0 -8
  546. package/cli-tool/components/settings/model/use-haiku.json +0 -4
  547. package/cli-tool/components/settings/model/use-sonnet.json +0 -4
  548. package/cli-tool/components/settings/permissions/additional-directories.json +0 -11
  549. package/cli-tool/components/settings/permissions/allow-git-operations.json +0 -14
  550. package/cli-tool/components/settings/permissions/allow-npm-commands.json +0 -11
  551. package/cli-tool/components/settings/permissions/deny-sensitive-files.json +0 -11
  552. package/cli-tool/components/settings/permissions/development-mode.json +0 -31
  553. package/cli-tool/components/settings/permissions/read-only-mode.json +0 -18
  554. package/cli-tool/components/settings/statusline/asset-pipeline-controller-statusline.json +0 -7
  555. package/cli-tool/components/settings/statusline/bug-circus-statusline.json +0 -7
  556. package/cli-tool/components/settings/statusline/code-casino-statusline.json +0 -7
  557. package/cli-tool/components/settings/statusline/code-spaceship-statusline.json +0 -7
  558. package/cli-tool/components/settings/statusline/colorful-statusline.json +0 -7
  559. package/cli-tool/components/settings/statusline/command-statusline.json +0 -8
  560. package/cli-tool/components/settings/statusline/context-monitor.json +0 -7
  561. package/cli-tool/components/settings/statusline/context-monitor.py +0 -236
  562. package/cli-tool/components/settings/statusline/data-ocean-statusline.json +0 -7
  563. package/cli-tool/components/settings/statusline/emotion-theater-statusline.json +0 -7
  564. package/cli-tool/components/settings/statusline/game-performance-monitor-statusline.json +0 -7
  565. package/cli-tool/components/settings/statusline/git-branch-statusline.json +0 -7
  566. package/cli-tool/components/settings/statusline/git-flow-status.json +0 -7
  567. package/cli-tool/components/settings/statusline/minimal-statusline.json +0 -7
  568. package/cli-tool/components/settings/statusline/multiplatform-build-status-statusline.json +0 -7
  569. package/cli-tool/components/settings/statusline/neon-database-dev.json +0 -7
  570. package/cli-tool/components/settings/statusline/neon-database-resources.json +0 -7
  571. package/cli-tool/components/settings/statusline/productivity-rainbow-statusline.json +0 -7
  572. package/cli-tool/components/settings/statusline/programmer-tamagotchi-statusline.json +0 -7
  573. package/cli-tool/components/settings/statusline/programming-fitness-tracker-statusline.json +0 -7
  574. package/cli-tool/components/settings/statusline/project-info-statusline.json +0 -7
  575. package/cli-tool/components/settings/statusline/rpg-status-bar-statusline.json +0 -7
  576. package/cli-tool/components/settings/statusline/time-statusline.json +0 -7
  577. package/cli-tool/components/settings/statusline/unity-project-dashboard-statusline.json +0 -7
  578. package/cli-tool/components/settings/statusline/vercel-deployment-monitor.json +0 -7
  579. package/cli-tool/components/settings/statusline/vercel-error-alert-system.json +0 -7
  580. package/cli-tool/components/settings/statusline/vercel-multi-env-status.json +0 -7
  581. package/cli-tool/components/settings/statusline/virtual-code-garden-statusline.json +0 -7
  582. package/cli-tool/components/settings/statusline/zero-config-deployment-monitor.json +0 -7
  583. package/cli-tool/components/settings/telemetry/custom-telemetry.json +0 -7
  584. package/cli-tool/components/settings/telemetry/disable-telemetry.json +0 -6
  585. package/cli-tool/components/settings/telemetry/enable-telemetry.json +0 -6
  586. package/cli-tool/docs_to_claude/ANALYTICS_STATE_DETECTION.md +0 -183
  587. package/cli-tool/docs_to_claude/ARCHITECTURE.md +0 -472
  588. package/cli-tool/docs_to_claude/BLOG_WRITING_GUIDE.md +0 -438
  589. package/cli-tool/docs_to_claude/CLAUDE_DATA_STRUCTURE.md +0 -400
  590. package/cli-tool/docs_to_claude/COMMANDS_GUIDE.md +0 -1035
  591. package/cli-tool/docs_to_claude/CONVERSATION_STATE_IMPROVEMENTS.md +0 -154
  592. package/cli-tool/docs_to_claude/DEBUG_TYPING_DETECTION.md +0 -95
  593. package/cli-tool/docs_to_claude/DOWNLOAD_TRACKING.md +0 -291
  594. package/cli-tool/docs_to_claude/ENHANCED_STATE_DETECTION.md +0 -122
  595. package/cli-tool/docs_to_claude/HEALTH_CHECK_IMPLEMENTATION.md +0 -135
  596. package/cli-tool/docs_to_claude/HOOKS_GUIDE.md +0 -1249
  597. package/cli-tool/docs_to_claude/STATUSLINE_GUIDE.md +0 -1123
  598. package/cli-tool/docs_to_claude/SUBAGENTS_GUIDE.md +0 -566
  599. package/cli-tool/docs_to_claude/SUB_AGENTS.md +0 -329
  600. package/cli-tool/jest.config.js +0 -84
  601. package/cli-tool/package-lock.json +0 -5471
  602. package/cli-tool/package.json +0 -96
  603. package/cli-tool/templates/common/.claude/commands/git-workflow.md +0 -239
  604. package/cli-tool/templates/common/.claude/commands/project-setup.md +0 -316
  605. package/cli-tool/templates/common/.mcp.json +0 -41
  606. package/cli-tool/templates/common/CLAUDE.md +0 -109
  607. package/cli-tool/templates/common/README.md +0 -96
  608. package/cli-tool/templates/go/.mcp.json +0 -78
  609. package/cli-tool/templates/go/README.md +0 -25
  610. package/cli-tool/templates/javascript-typescript/.claude/commands/api-endpoint.md +0 -51
  611. package/cli-tool/templates/javascript-typescript/.claude/commands/debug.md +0 -52
  612. package/cli-tool/templates/javascript-typescript/.claude/commands/lint.md +0 -48
  613. package/cli-tool/templates/javascript-typescript/.claude/commands/npm-scripts.md +0 -48
  614. package/cli-tool/templates/javascript-typescript/.claude/commands/refactor.md +0 -55
  615. package/cli-tool/templates/javascript-typescript/.claude/commands/test.md +0 -61
  616. package/cli-tool/templates/javascript-typescript/.claude/commands/typescript-migrate.md +0 -51
  617. package/cli-tool/templates/javascript-typescript/.claude/settings.json +0 -142
  618. package/cli-tool/templates/javascript-typescript/.mcp.json +0 -80
  619. package/cli-tool/templates/javascript-typescript/CLAUDE.md +0 -185
  620. package/cli-tool/templates/javascript-typescript/README.md +0 -259
  621. package/cli-tool/templates/javascript-typescript/examples/angular-app/.claude/commands/components.md +0 -63
  622. package/cli-tool/templates/javascript-typescript/examples/angular-app/.claude/commands/services.md +0 -62
  623. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/api-endpoint.md +0 -46
  624. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/database.md +0 -56
  625. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/middleware.md +0 -61
  626. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/route.md +0 -57
  627. package/cli-tool/templates/javascript-typescript/examples/node-api/CLAUDE.md +0 -102
  628. package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/component.md +0 -29
  629. package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/hooks.md +0 -44
  630. package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/state-management.md +0 -45
  631. package/cli-tool/templates/javascript-typescript/examples/react-app/CLAUDE.md +0 -81
  632. package/cli-tool/templates/javascript-typescript/examples/react-app/agents/react-performance-optimization.md +0 -530
  633. package/cli-tool/templates/javascript-typescript/examples/react-app/agents/react-state-management.md +0 -295
  634. package/cli-tool/templates/javascript-typescript/examples/vue-app/.claude/commands/components.md +0 -46
  635. package/cli-tool/templates/javascript-typescript/examples/vue-app/.claude/commands/composables.md +0 -51
  636. package/cli-tool/templates/python/.claude/commands/lint.md +0 -111
  637. package/cli-tool/templates/python/.claude/commands/test.md +0 -73
  638. package/cli-tool/templates/python/.claude/settings.json +0 -153
  639. package/cli-tool/templates/python/.mcp.json +0 -78
  640. package/cli-tool/templates/python/CLAUDE.md +0 -276
  641. package/cli-tool/templates/python/examples/django-app/.claude/commands/admin.md +0 -264
  642. package/cli-tool/templates/python/examples/django-app/.claude/commands/django-model.md +0 -124
  643. package/cli-tool/templates/python/examples/django-app/.claude/commands/views.md +0 -222
  644. package/cli-tool/templates/python/examples/django-app/CLAUDE.md +0 -313
  645. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/api-endpoints.md +0 -513
  646. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/auth.md +0 -775
  647. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/database.md +0 -657
  648. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/deployment.md +0 -160
  649. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/testing.md +0 -927
  650. package/cli-tool/templates/python/examples/fastapi-app/CLAUDE.md +0 -229
  651. package/cli-tool/templates/python/examples/flask-app/.claude/commands/app-factory.md +0 -384
  652. package/cli-tool/templates/python/examples/flask-app/.claude/commands/blueprint.md +0 -243
  653. package/cli-tool/templates/python/examples/flask-app/.claude/commands/database.md +0 -410
  654. package/cli-tool/templates/python/examples/flask-app/.claude/commands/deployment.md +0 -620
  655. package/cli-tool/templates/python/examples/flask-app/.claude/commands/flask-route.md +0 -217
  656. package/cli-tool/templates/python/examples/flask-app/.claude/commands/testing.md +0 -559
  657. package/cli-tool/templates/python/examples/flask-app/CLAUDE.md +0 -391
  658. package/cli-tool/templates/ruby/.claude/commands/model.md +0 -360
  659. package/cli-tool/templates/ruby/.claude/commands/test.md +0 -480
  660. package/cli-tool/templates/ruby/.claude/settings.json +0 -146
  661. package/cli-tool/templates/ruby/.mcp.json +0 -83
  662. package/cli-tool/templates/ruby/CLAUDE.md +0 -284
  663. package/cli-tool/templates/ruby/examples/rails-app/.claude/commands/authentication.md +0 -490
  664. package/cli-tool/templates/ruby/examples/rails-app/CLAUDE.md +0 -376
  665. package/cli-tool/templates/rust/.mcp.json +0 -78
  666. package/cli-tool/templates/rust/README.md +0 -26
  667. package/cli-tool/test-commands.sh +0 -85
  668. package/cli-tool/test-detailed.sh +0 -267
  669. package/dev-server.js +0 -46
  670. package/docs/CNAME +0 -1
  671. package/docs/README.md +0 -49
  672. package/docs/_config.yml +0 -43
  673. package/docs/api/agents.json +0 -942
  674. package/docs/blog/assets/aitmpl-nextjs-search.png +0 -0
  675. package/docs/blog/assets/aitmpl-supabase-search.png +0 -0
  676. package/docs/blog/assets/e2b-claude-code-sandbox-cover.png +0 -0
  677. package/docs/blog/assets/nextjs-vercel-claude-code-templates-cover.png +0 -0
  678. package/docs/blog/assets/supabase-claude-code-templates-cover.png +0 -0
  679. package/docs/blog/e2b-claude-code-sandbox/index.html +0 -908
  680. package/docs/blog/index.html +0 -274
  681. package/docs/blog/nextjs-vercel-claude-code-integration/index.html +0 -1032
  682. package/docs/blog/supabase-claude-code-integration/index.html +0 -848
  683. package/docs/claude-jobs.json +0 -163
  684. package/docs/component.html +0 -506
  685. package/docs/components-metadata.json +0 -303
  686. package/docs/components.json +0 -4952
  687. package/docs/css/blog.css +0 -821
  688. package/docs/css/component-page.css +0 -1063
  689. package/docs/css/stack-page.css +0 -776
  690. package/docs/css/styles.css +0 -4540
  691. package/docs/css/trending.css +0 -1441
  692. package/docs/css/workflows-modal.css +0 -739
  693. package/docs/css/workflows.css +0 -1234
  694. package/docs/download-stats.html +0 -527
  695. package/docs/index.html +0 -627
  696. package/docs/jobs.html +0 -1059
  697. package/docs/js/carousel.js +0 -177
  698. package/docs/js/cart-manager.js +0 -658
  699. package/docs/js/component-page.js +0 -808
  700. package/docs/js/data-loader.js +0 -633
  701. package/docs/js/generate-search-data.js +0 -82
  702. package/docs/js/index-events.js +0 -1812
  703. package/docs/js/modal-helpers.js +0 -345
  704. package/docs/js/script.js +0 -2167
  705. package/docs/js/search-functionality.js +0 -1165
  706. package/docs/js/stack-router.js +0 -561
  707. package/docs/js/trending.js +0 -752
  708. package/docs/js/utils.js +0 -43
  709. package/docs/js/workflows-events.js +0 -1146
  710. package/docs/js/workflows.js +0 -627
  711. package/docs/robots.txt +0 -28
  712. package/docs/sandbox-interface.html +0 -1418
  713. package/docs/sitemap.xml +0 -193
  714. package/docs/static/img/logo.png +0 -0
  715. package/docs/static/img/logo.svg +0 -23
  716. package/docs/trending-data.json +0 -885
  717. package/docs/trending.html +0 -238
  718. package/docs/vercel.json +0 -36
  719. package/docs/workflows.html +0 -391
  720. package/docu/README.md +0 -41
  721. package/docu/docs/cli-options.md +0 -90
  722. package/docu/docs/components/agents.md +0 -113
  723. package/docu/docs/components/commands.md +0 -90
  724. package/docu/docs/components/hooks.md +0 -114
  725. package/docu/docs/components/mcps.md +0 -109
  726. package/docu/docs/components/overview.md +0 -73
  727. package/docu/docs/components/settings.md +0 -105
  728. package/docu/docs/components/templates.md +0 -119
  729. package/docu/docs/intro.md +0 -40
  730. package/docu/docs/safety-features.md +0 -13
  731. package/docu/docs/support.md +0 -13
  732. package/docu/docs/tools/analytics.md +0 -23
  733. package/docu/docs/tools/chats.md +0 -33
  734. package/docu/docs/tools/health-check.md +0 -60
  735. package/docu/docs/tools/overview.md +0 -39
  736. package/docu/docs/tools/sandbox.md +0 -61
  737. package/docu/docs/tools/tunnel.md +0 -38
  738. package/docu/docusaurus.config.ts +0 -169
  739. package/docu/package-lock.json +0 -16185
  740. package/docu/package.json +0 -47
  741. package/docu/sidebars.ts +0 -49
  742. package/docu/src/components/HomepageFeatures/index.tsx +0 -82
  743. package/docu/src/components/HomepageFeatures/styles.module.css +0 -131
  744. package/docu/src/css/custom.css +0 -849
  745. package/docu/src/pages/index.module.css +0 -111
  746. package/docu/src/pages/index.tsx +0 -65
  747. package/docu/src/pages/markdown-page.md +0 -7
  748. package/docu/static/img/favicon.ico +0 -0
  749. package/docu/static/img/logo.svg +0 -23
  750. package/docu/tsconfig.json +0 -8
  751. package/docu/vercel.json +0 -11
  752. package/generate_agents_api.py +0 -65
  753. package/generate_claude_jobs.py +0 -985
  754. package/generate_components_json.py +0 -391
  755. package/social-preview.png +0 -0
  756. package/test_serpapi.py +0 -36
  757. package/vercel.json +0 -111
  758. /package/{cli-tool/components → components}/sandbox/README.md +0 -0
  759. /package/{cli-tool/components → components}/sandbox/e2b/.env.example +0 -0
  760. /package/{cli-tool/components → components}/sandbox/e2b/SANDBOX_DEBUGGING.md +0 -0
  761. /package/{cli-tool/components → components}/sandbox/e2b/claude-code-sandbox.md +0 -0
  762. /package/{cli-tool/components → components}/sandbox/e2b/e2b-launcher.py +0 -0
  763. /package/{cli-tool/components → components}/sandbox/e2b/e2b-monitor.py +0 -0
  764. /package/{cli-tool/components → components}/sandbox/e2b/requirements.txt +0 -0
  765. /package/{cli-tool/src → src}/agents.js +0 -0
  766. /package/{cli-tool/src → src}/analytics/core/AgentAnalyzer.js +0 -0
  767. /package/{cli-tool/src → src}/analytics/core/ConversationAnalyzer.js +0 -0
  768. /package/{cli-tool/src → src}/analytics/core/FileWatcher.js +0 -0
  769. /package/{cli-tool/src → src}/analytics/core/ProcessDetector.js +0 -0
  770. /package/{cli-tool/src → src}/analytics/core/SessionAnalyzer.js +0 -0
  771. /package/{cli-tool/src → src}/analytics/core/StateCalculator.js +0 -0
  772. /package/{cli-tool/src → src}/analytics/data/DataCache.js +0 -0
  773. /package/{cli-tool/src → src}/analytics/notifications/NotificationManager.js +0 -0
  774. /package/{cli-tool/src → src}/analytics/notifications/WebSocketServer.js +0 -0
  775. /package/{cli-tool/src → src}/analytics/utils/PerformanceMonitor.js +0 -0
  776. /package/{cli-tool/src → src}/analytics-web/FRONT_ARCHITECTURE.md +0 -0
  777. /package/{cli-tool/src → src}/analytics-web/assets/js/main.js.deprecated +0 -0
  778. /package/{cli-tool/src → src}/analytics-web/components/ActivityHeatmap.js +0 -0
  779. /package/{cli-tool/src → src}/analytics-web/components/AgentAnalytics.js +0 -0
  780. /package/{cli-tool/src → src}/analytics-web/components/App.js +0 -0
  781. /package/{cli-tool/src → src}/analytics-web/components/Charts.js +0 -0
  782. /package/{cli-tool/src → src}/analytics-web/components/ConversationTable.js +0 -0
  783. /package/{cli-tool/src → src}/analytics-web/components/DashboardPage.js +0 -0
  784. /package/{cli-tool/src → src}/analytics-web/components/HeaderComponent.js +0 -0
  785. /package/{cli-tool/src → src}/analytics-web/components/SessionTimer.js +0 -0
  786. /package/{cli-tool/src → src}/analytics-web/components/Sidebar.js +0 -0
  787. /package/{cli-tool/src → src}/analytics-web/components/ToolDisplay.js +0 -0
  788. /package/{cli-tool/src → src}/analytics-web/index.html +0 -0
  789. /package/{cli-tool/src → src}/analytics-web/index.html.original +0 -0
  790. /package/{cli-tool/src → src}/analytics-web/services/DataService.js +0 -0
  791. /package/{cli-tool/src → src}/analytics-web/services/StateService.js +0 -0
  792. /package/{cli-tool/src → src}/analytics-web/services/WebSocketService.js +0 -0
  793. /package/{cli-tool/src → src}/analytics.js +0 -0
  794. /package/{docu/static/.nojekyll → src/analytics.log} +0 -0
  795. /package/{cli-tool/src → src}/chats-mobile.js +0 -0
  796. /package/{cli-tool/src → src}/claude-api-proxy.js +0 -0
  797. /package/{cli-tool/src → src}/command-scanner.js +0 -0
  798. /package/{cli-tool/src → src}/command-stats.js +0 -0
  799. /package/{cli-tool/src → src}/file-operations.js +0 -0
  800. /package/{cli-tool/src → src}/health-check.js +0 -0
  801. /package/{cli-tool/src → src}/hook-scanner.js +0 -0
  802. /package/{cli-tool/src → src}/hook-stats.js +0 -0
  803. /package/{cli-tool/src → src}/mcp-stats.js +0 -0
  804. /package/{cli-tool/src → src}/prompts.js +0 -0
  805. /package/{cli-tool/src → src}/sandbox-interface.html +0 -0
  806. /package/{cli-tool/src → src}/sandbox-server.js +0 -0
  807. /package/{cli-tool/src → src}/sdk/global-agent-manager.js +0 -0
  808. /package/{cli-tool/src → src}/templates.js +0 -0
  809. /package/{cli-tool/src → src}/test-console-bridge.js +0 -0
  810. /package/{cli-tool/src → src}/tracking-service.js +0 -0
  811. /package/{cli-tool/src → src}/utils.js +0 -0
@@ -1,1146 +0,0 @@
1
- // Workflows Events - Handles events specific to workflows.html
2
-
3
- class WorkflowManager {
4
- constructor() {
5
- this.workflowState = {
6
- agents: [], // New hierarchical structure: [{agent: {...}, subItems: []}]
7
- steps: [], // Legacy support
8
- properties: {
9
- name: '',
10
- description: '',
11
- tags: [],
12
- prompt: ''
13
- },
14
- components: {
15
- agents: [],
16
- commands: [],
17
- mcps: []
18
- }
19
- };
20
- }
21
-
22
- async init() {
23
- try {
24
- await this.loadComponents();
25
- this.setupEventListeners();
26
- this.initializeDragAndDrop();
27
- this.renderComponentsList();
28
- console.log('Workflow Builder initialized successfully');
29
- } catch (error) {
30
- console.error('Error initializing Workflow Builder:', error);
31
- this.showError('Failed to load components. Please refresh the page.');
32
- }
33
- }
34
-
35
- async loadComponents() {
36
- this.workflowState.components = await window.dataLoader.loadComponents();
37
- }
38
-
39
- setupEventListeners() {
40
- // Search functionality
41
- const searchInput = document.getElementById('componentSearch');
42
- if (searchInput) {
43
- searchInput.addEventListener('input', (e) => this.handleComponentSearch(e));
44
- }
45
-
46
- // Canvas actions
47
- const previewBtn = document.getElementById('previewWorkflow');
48
- if (previewBtn) {
49
- previewBtn.addEventListener('click', () => this.previewWorkflow());
50
- }
51
-
52
- const clearBtn = document.getElementById('clearCanvas');
53
- if (clearBtn) {
54
- clearBtn.addEventListener('click', () => this.clearWorkflow());
55
- }
56
-
57
- const generateBtn = document.getElementById('generateWorkflow');
58
- if (generateBtn) {
59
- generateBtn.addEventListener('click', () => this.openPropertiesModal());
60
- }
61
-
62
- // Properties modal
63
- const closePropertiesBtn = document.getElementById('closePropertiesModal');
64
- if (closePropertiesBtn) {
65
- closePropertiesBtn.addEventListener('click', () => this.closePropertiesModal());
66
- }
67
-
68
- const savePropertiesBtn = document.getElementById('saveWorkflowProperties');
69
- if (savePropertiesBtn) {
70
- savePropertiesBtn.addEventListener('click', () => this.saveAndGenerateWorkflow());
71
- }
72
-
73
- // Category accordion toggle
74
- document.querySelectorAll('.category-card-header').forEach(header => {
75
- header.addEventListener('click', () => {
76
- header.parentElement.classList.toggle('expanded');
77
- });
78
- });
79
-
80
- // Sub-folders toggle
81
- document.addEventListener('click', (event) => {
82
- const header = event.target.closest('.tree-node-header');
83
- if (header) {
84
- const children = header.nextElementSibling;
85
- if (children && children.classList.contains('tree-children')) {
86
- header.classList.toggle('expanded');
87
- children.classList.toggle('expanded');
88
- }
89
- }
90
- });
91
- }
92
-
93
- renderComponentsList() {
94
- ['agents', 'commands', 'mcps'].forEach(type => {
95
- this.renderComponentsListByType(type, this.workflowState.components[type]);
96
- });
97
- }
98
-
99
- renderComponentsListByType(type, components) {
100
- const container = document.getElementById(`${type}-tree`);
101
- const countElement = document.getElementById(`${type}-count`);
102
-
103
- if (!container || !countElement) return;
104
-
105
- countElement.textContent = components.length;
106
- container.innerHTML = '';
107
-
108
- const groupedComponents = components.reduce((acc, component) => {
109
- const category = component.category === 'root' ? 'general' : component.category;
110
- if (!acc[category]) acc[category] = [];
111
- acc[category].push(component);
112
- return acc;
113
- }, {});
114
-
115
- Object.entries(groupedComponents).forEach(([category, categoryComponents]) => {
116
- const folderElement = this.createTreeFolder(category, categoryComponents, type);
117
- container.appendChild(folderElement);
118
- });
119
- }
120
-
121
- createTreeFolder(category, components, type) {
122
- const folderElement = document.createElement('div');
123
- folderElement.className = 'tree-node';
124
- const folderId = `${type}-${category.replace(/[^a-z0-9]/gi, '_').toLowerCase()}`;
125
-
126
- folderElement.innerHTML = `
127
- <div class="tree-node-header" data-folder="${folderId}">
128
- <span class="tree-icon folder-icon">📁</span>
129
- <span class="tree-label">${category}</span>
130
- <span class="tree-count">${components.length}</span>
131
- <span class="tree-arrow">▶</span>
132
- </div>
133
- <div class="tree-children" id="${folderId}"></div>
134
- `;
135
-
136
- const childrenContainer = folderElement.querySelector('.tree-children');
137
- components.forEach(component => {
138
- const fileElement = this.createTreeFile(component);
139
- childrenContainer.appendChild(fileElement);
140
- });
141
-
142
- return folderElement;
143
- }
144
-
145
- createTreeFile(component) {
146
- const element = document.createElement('div');
147
- element.className = 'tree-file';
148
- element.draggable = true;
149
- element.dataset.componentType = component.type;
150
- element.dataset.componentName = component.name;
151
- element.dataset.componentPath = component.path;
152
- element.dataset.componentCategory = component.category;
153
-
154
- const fileIcon = this.getFileIcon(component.type);
155
-
156
- element.innerHTML = `
157
- <div class="tree-file-header">
158
- <span class="tree-icon file-icon">${fileIcon}</span>
159
- <span class="tree-file-name">${component.name}</span>
160
- <div class="tree-file-actions">
161
- <button class="tree-action-btn" title="View Details" onclick="showWorkflowComponentDetails('${component.type}', '${component.name}', '${component.path}', '${component.category}')">ℹ️</button>
162
- <button class="tree-action-btn" title="Add to Workflow" onclick="addComponentFromButton(event)">➕</button>
163
- </div>
164
- </div>
165
- `;
166
-
167
- return element;
168
- }
169
-
170
- getFileIcon(type) {
171
- const icons = { 'agent': '📄', 'command': '⚡', 'mcp': '⚙️' };
172
- return icons[type] || '📄';
173
- }
174
-
175
- initializeDragAndDrop() {
176
- const workflowSteps = document.getElementById('workflowSteps');
177
- if (!workflowSteps) return;
178
-
179
- document.addEventListener('dragstart', (event) => {
180
- if (event.target.closest('.tree-file')) {
181
- this.handleDragStart(event);
182
- }
183
- });
184
-
185
- // Main drop zone
186
- workflowSteps.addEventListener('dragover', this.handleDragOver);
187
- workflowSteps.addEventListener('drop', (e) => this.handleDrop(e));
188
-
189
- // Enhanced drag enter/leave for better highlighting
190
- workflowSteps.addEventListener('dragenter', (e) => {
191
- e.preventDefault();
192
- const dropZone = e.target.closest('.drop-zone');
193
- const subDropZone = e.target.closest('.sub-item-drop-zone');
194
- const addItemBtn = e.target.closest('.add-agent-btn');
195
-
196
- if (dropZone && !subDropZone) {
197
- dropZone.classList.add('drag-over');
198
- } else if (subDropZone) {
199
- subDropZone.classList.add('drag-over');
200
- } else if (addItemBtn) {
201
- addItemBtn.classList.add('drag-over');
202
- }
203
- });
204
-
205
- workflowSteps.addEventListener('dragleave', (e) => {
206
- const dropZone = e.target.closest('.drop-zone');
207
- const subDropZone = e.target.closest('.sub-item-drop-zone');
208
- const addItemBtn = e.target.closest('.add-agent-btn');
209
-
210
- // Only remove if we're actually leaving the zone
211
- if (dropZone && !dropZone.contains(e.relatedTarget)) {
212
- dropZone.classList.remove('drag-over');
213
- }
214
- if (subDropZone && !subDropZone.contains(e.relatedTarget)) {
215
- subDropZone.classList.remove('drag-over');
216
- }
217
- if (addItemBtn && !addItemBtn.contains(e.relatedTarget)) {
218
- addItemBtn.classList.remove('drag-over');
219
- }
220
- });
221
-
222
- // Clean up drag-over class when drag ends
223
- document.addEventListener('dragend', () => {
224
- document.querySelectorAll('.drag-over').forEach(el => {
225
- el.classList.remove('drag-over');
226
- });
227
- });
228
- }
229
-
230
- handleDragStart(event) {
231
- const treeFile = event.target.closest('.tree-file');
232
- const componentData = { ...treeFile.dataset };
233
- event.dataTransfer.setData('application/json', JSON.stringify(componentData));
234
- event.dataTransfer.effectAllowed = 'copy';
235
- }
236
-
237
- handleDragOver(event) {
238
- event.preventDefault();
239
- event.dataTransfer.dropEffect = 'copy';
240
- }
241
-
242
- handleDrop(event) {
243
- event.preventDefault();
244
-
245
- // Don't handle drops on sub-item drop zones - those are handled by dropOnAgent
246
- if (event.target.closest('.sub-item-drop-zone')) {
247
- return;
248
- }
249
-
250
- event.target.closest('.drop-zone')?.classList.remove('drag-over');
251
- try {
252
- const componentData = JSON.parse(event.dataTransfer.getData('application/json'));
253
- this.addWorkflowStep(componentData);
254
- } catch (error) {
255
- console.error('Error handling drop:', error);
256
- }
257
- }
258
-
259
- addWorkflowStep(componentData, targetAgentId = null) {
260
- // Ensure agents array is initialized
261
- if (!this.workflowState.agents) {
262
- this.workflowState.agents = [];
263
- }
264
-
265
- const step = {
266
- id: `step_${Date.now()}`,
267
- type: componentData.componentType,
268
- name: componentData.componentName,
269
- path: componentData.componentPath,
270
- category: componentData.componentCategory,
271
- description: `Execute ${componentData.componentName}`,
272
- icon: this.getComponentIcon(componentData.componentType)
273
- };
274
-
275
- if (step.type === 'agent') {
276
- // Add as new agent
277
- this.workflowState.agents.push({
278
- agent: step,
279
- subItems: [],
280
- isMainLevel: true
281
- });
282
- } else if (targetAgentId && (step.type === 'command' || step.type === 'mcp')) {
283
- // Add as sub-item to specific agent - DON'T add to main flow
284
- const agentIndex = this.workflowState.agents.findIndex(a => a.agent.id === targetAgentId);
285
- if (agentIndex !== -1) {
286
- this.workflowState.agents[agentIndex].subItems.push(step);
287
- // Don't add to steps array - it's a sub-item
288
- this.renderWorkflowSteps();
289
- this.updateWorkflowStats();
290
- return;
291
- }
292
- } else if (step.type === 'command' || step.type === 'mcp') {
293
- // Add command/MCP as main level item (no sub-items)
294
- this.workflowState.agents.push({
295
- agent: step,
296
- subItems: null, // null indicates no sub-items allowed
297
- isMainLevel: true
298
- });
299
- }
300
-
301
- // Maintain legacy steps array for backwards compatibility (only for main level items)
302
- this.workflowState.steps.push(step);
303
-
304
- this.renderWorkflowSteps();
305
- this.updateWorkflowStats();
306
- }
307
-
308
- getComponentIcon(type) {
309
- const icons = { 'agent': '🤖', 'command': '⚡', 'mcp': '🔌' };
310
- return icons[type] || '📦';
311
- }
312
-
313
- renderWorkflowSteps() {
314
- const container = document.getElementById('workflowSteps');
315
- if (!container) return;
316
-
317
- const dropZone = container.querySelector('.drop-zone');
318
- const existingAgents = container.querySelectorAll('.workflow-agent');
319
- const existingSteps = container.querySelectorAll('.workflow-step');
320
- const existingIndicators = container.querySelectorAll('.add-agent-indicator');
321
- existingAgents.forEach(agent => agent.remove());
322
- existingSteps.forEach(step => step.remove());
323
- existingIndicators.forEach(indicator => indicator.remove());
324
-
325
- const agents = this.workflowState.agents || [];
326
- if (agents.length > 0) {
327
- if (dropZone) dropZone.style.display = 'none';
328
-
329
- agents.forEach((agentData, index) => {
330
- const mainStepNumber = index + 1;
331
- const agentElement = document.createElement('div');
332
- agentElement.className = 'workflow-agent';
333
- agentElement.dataset.agentId = agentData.agent.id;
334
- agentElement.dataset.stepNumber = mainStepNumber;
335
-
336
- // Check if this is a command/MCP in main flow (no sub-items)
337
- if (agentData.subItems === null) {
338
- // Simple command/MCP item (no sub-items allowed)
339
- agentElement.innerHTML = `
340
- <div class="step-number">${mainStepNumber}</div>
341
- <div class="agent-header">
342
- <div class="step-icon">${agentData.agent.icon}</div>
343
- <div class="step-content">
344
- <div class="step-name">${agentData.agent.name}</div>
345
- <div class="step-type">${agentData.agent.type}</div>
346
- </div>
347
- <div class="agent-actions">
348
- <button class="agent-action" onclick="showWorkflowComponentDetails('${agentData.agent.type}', '${agentData.agent.name.replace(/'/g, "\\'")}')" title="Details">ℹ️</button>
349
- <button class="agent-action" onclick="removeAgent('${agentData.agent.id}')" title="Remove">🗑️</button>
350
- </div>
351
- </div>
352
- `;
353
- } else {
354
- // Agent with potential sub-items
355
- const subItemsHtml = agentData.subItems.map((subItem, subIndex) => `
356
- <div class="sub-item" data-sub-item-id="${subItem.id}">
357
- <div class="step-number">${mainStepNumber}.${subIndex + 1}</div>
358
- <div class="step-icon">${subItem.icon}</div>
359
- <div class="step-content">
360
- <div class="step-name">${subItem.name}</div>
361
- <div class="step-type">${subItem.type}</div>
362
- </div>
363
- <div class="agent-actions">
364
- <button class="sub-item-action" onclick="showWorkflowComponentDetails('${subItem.type}', '${subItem.name.replace(/'/g, "\\'")}')" title="Details">ℹ️</button>
365
- <button class="sub-item-action" onclick="removeSubItem('${agentData.agent.id}', '${subItem.id}')" title="Remove">🗑️</button>
366
- </div>
367
- </div>
368
- `).join('');
369
-
370
- agentElement.innerHTML = `
371
- <div class="step-number">${mainStepNumber}</div>
372
- <div class="agent-header">
373
- <div class="step-icon">${agentData.agent.icon}</div>
374
- <div class="step-content">
375
- <div class="step-name">${agentData.agent.name}</div>
376
- <div class="step-type">${agentData.agent.type}</div>
377
- </div>
378
- <div class="agent-actions">
379
- <button class="agent-action" onclick="showWorkflowComponentDetails('${agentData.agent.type}', '${agentData.agent.name.replace(/'/g, "\\'")}')" title="Details">ℹ️</button>
380
- <button class="agent-action" onclick="removeAgent('${agentData.agent.id}')" title="Remove">🗑️</button>
381
- </div>
382
- </div>
383
- <div class="agent-content">
384
- <div class="agent-sub-items">
385
- ${subItemsHtml}
386
- <div class="sub-item-drop-zone" data-agent-id="${agentData.agent.id}"
387
- ondrop="dropOnAgent(event, '${agentData.agent.id}')"
388
- ondragover="allowDrop(event)"
389
- ondragenter="event.preventDefault(); event.target.classList.add('drag-over')"
390
- ondragleave="if (!event.target.contains(event.relatedTarget)) event.target.classList.remove('drag-over')">
391
- Drop commands or MCPs here
392
- </div>
393
- </div>
394
- </div>
395
- `;
396
- }
397
- container.appendChild(agentElement);
398
- });
399
-
400
- // Add one "add item" indicator at the end of all agents
401
- const addAgentIndicator = document.createElement('div');
402
- addAgentIndicator.className = 'add-agent-indicator';
403
- addAgentIndicator.innerHTML = `
404
- <div class="add-agent-btn"
405
- onclick="scrollToDropZone()"
406
- ondrop="dropOnAddItem(event)"
407
- ondragover="allowDrop(event)">
408
- <svg viewBox="0 0 24 24" fill="currentColor">
409
- <path d="M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4M11,7H13V11H17V13H13V17H11V13H7V11H11V7Z"/>
410
- </svg>
411
- Add Next Item
412
- </div>
413
- `;
414
- container.appendChild(addAgentIndicator);
415
- } else {
416
- if (dropZone) dropZone.style.display = 'flex';
417
- }
418
- }
419
-
420
- updateWorkflowStats() {
421
- const stats = { agents: 0, commands: 0, mcps: 0 };
422
- let totalStepsCount = 0;
423
-
424
- // Count from hierarchical structure
425
- const agents = this.workflowState.agents || [];
426
- agents.forEach(agentData => {
427
- const agentType = agentData.agent.type;
428
- if (agentType === 'agent') {
429
- stats.agents++;
430
- } else if (agentType === 'command') {
431
- stats.commands++;
432
- } else if (agentType === 'mcp') {
433
- stats.mcps++;
434
- }
435
- totalStepsCount++; // Count main level item
436
-
437
- // Count sub-items (commands/MCPs inside agents)
438
- if (agentData.subItems && agentData.subItems.length > 0) {
439
- agentData.subItems.forEach(subItem => {
440
- totalStepsCount++; // Count each sub-item for total
441
-
442
- // Count sub-items in their respective categories
443
- if (subItem.type === 'command') {
444
- stats.commands++;
445
- } else if (subItem.type === 'mcp') {
446
- stats.mcps++;
447
- }
448
- });
449
- }
450
- });
451
-
452
- const agentCount = document.getElementById('agentCount');
453
- const commandCount = document.getElementById('commandCount');
454
- const mcpCount = document.getElementById('mcpCount');
455
- const totalSteps = document.getElementById('totalSteps');
456
-
457
- if (agentCount) agentCount.textContent = stats.agents;
458
- if (commandCount) commandCount.textContent = stats.commands;
459
- if (mcpCount) mcpCount.textContent = stats.mcps;
460
- if (totalSteps) totalSteps.textContent = totalStepsCount;
461
- }
462
-
463
- handleComponentSearch(event) {
464
- const searchTerm = event.target.value.toLowerCase();
465
- document.querySelectorAll('.tree-file').forEach(file => {
466
- const match = file.dataset.componentName.toLowerCase().includes(searchTerm);
467
- file.style.display = match ? '' : 'none';
468
- });
469
- }
470
-
471
- clearWorkflow() {
472
- if (confirm('Are you sure you want to clear the workflow?')) {
473
- this.workflowState.steps = [];
474
- this.workflowState.agents = [];
475
- this.renderWorkflowSteps();
476
- this.updateWorkflowStats();
477
- }
478
- }
479
-
480
- openPropertiesModal() {
481
- const agents = this.workflowState.agents || [];
482
- if (agents.length === 0) {
483
- this.showError('Add at least one agent to the workflow.');
484
- return;
485
- }
486
- const modal = document.getElementById('propertiesModal');
487
- if (modal) modal.style.display = 'block';
488
- }
489
-
490
- closePropertiesModal() {
491
- const modal = document.getElementById('propertiesModal');
492
- if (modal) modal.style.display = 'none';
493
- }
494
-
495
- saveAndGenerateWorkflow() {
496
- const nameInput = document.getElementById('workflowName');
497
- const descInput = document.getElementById('workflowDescription');
498
- const tagsInput = document.getElementById('workflowTags');
499
- const promptInput = document.getElementById('workflowPrompt');
500
-
501
- if (nameInput) this.workflowState.properties.name = nameInput.value;
502
- if (descInput) this.workflowState.properties.description = descInput.value;
503
- if (tagsInput) {
504
- this.workflowState.properties.tags = tagsInput.value.split(',').map(t => t.trim());
505
- }
506
- if (promptInput) this.workflowState.properties.prompt = promptInput.value.trim();
507
-
508
- if (!this.workflowState.properties.name) {
509
- this.showError('Workflow name is required.');
510
- return;
511
- }
512
-
513
- this.closePropertiesModal();
514
- this.generateWorkflow();
515
- }
516
-
517
- async generateWorkflow() {
518
- try {
519
- const workflowCommand = await this.generateWorkflowHash();
520
- const yamlContent = this.generateWorkflowYAML();
521
- this.showGenerateModal(workflowCommand, yamlContent);
522
- } catch (error) {
523
- console.error('Error generating workflow:', error);
524
- this.showError('Failed to generate workflow.');
525
- }
526
- }
527
-
528
- async generateWorkflowHash() {
529
- // NEW APPROACH: Generate component-based command instead of embedded hash
530
- const agents = this.workflowState.steps.filter(step => step.type === 'agent').map(step => step.path.replace(/\.md$/, ''));
531
- const commands = this.workflowState.steps.filter(step => step.type === 'command').map(step => step.path.replace(/\.md$/, ''));
532
- const mcps = this.workflowState.steps.filter(step => step.type === 'mcp').map(step => step.path.replace(/\.json$/, ''));
533
-
534
- // Generate YAML and encode it
535
- const yamlContent = this.generateWorkflowYAML();
536
- const encodedYaml = btoa(unescape(encodeURIComponent(yamlContent)));
537
-
538
- // Build command components for Method 1 (full command with embedded YAML)
539
- const commandParts = [];
540
-
541
- if (agents.length > 0) {
542
- commandParts.push(`--agent ${agents.join(',')}`);
543
- }
544
-
545
- if (commands.length > 0) {
546
- commandParts.push(`--command ${commands.join(',')}`);
547
- }
548
-
549
- if (mcps.length > 0) {
550
- commandParts.push(`--mcp ${mcps.join(',')}`);
551
- }
552
-
553
- // Add prompt parameter if provided
554
- if (this.workflowState.properties.prompt) {
555
- commandParts.push(`--prompt "${this.workflowState.properties.prompt}"`);
556
- }
557
-
558
- // Method 1: Full command with embedded YAML
559
- const fullCommand = `npx claude-code-templates@latest ${commandParts.join(' ')} --workflow ${encodedYaml}`;
560
-
561
- // Method 2: Components only command (without embedded YAML)
562
- // Remove prompt from components-only command since YAML isn't included
563
- const componentsParts = commandParts.filter(part => !part.startsWith('--prompt'));
564
- const componentsOnlyCommand = componentsParts.length > 0 ?
565
- `npx claude-code-templates@latest ${componentsParts.join(' ')}` :
566
- '# No components to install';
567
-
568
- // Create a short hash for reference
569
- const shortHash = CryptoJS.SHA256(fullCommand).toString(CryptoJS.enc.Hex).substring(0, 8);
570
-
571
- // Store locally for reference
572
- localStorage.setItem(`workflow_${shortHash}`, JSON.stringify({
573
- fullCommand: fullCommand,
574
- componentsCommand: componentsOnlyCommand,
575
- yaml: yamlContent,
576
- metadata: this.workflowState.properties,
577
- timestamp: new Date().toISOString()
578
- }));
579
-
580
- return {
581
- fullCommand: fullCommand,
582
- componentsCommand: componentsOnlyCommand,
583
- yaml: yamlContent
584
- };
585
- }
586
-
587
- // Simple and reliable string compression with Unicode support
588
- compressString(str) {
589
- try {
590
- // Simple approach: remove redundant whitespace and use efficient encoding
591
- let compressed = str
592
- // Remove unnecessary whitespace
593
- .replace(/\s+/g, ' ')
594
- // Remove whitespace around common JSON characters
595
- .replace(/\s*([{}[\]:,])\s*/g, '$1')
596
- // Remove quotes around simple keys (where safe)
597
- .replace(/"([a-zA-Z_][a-zA-Z0-9_]*)"\s*:/g, '$1:');
598
-
599
- // Use proper Unicode-safe Base64 encoding
600
- return btoa(unescape(encodeURIComponent(compressed)));
601
-
602
- } catch (error) {
603
- console.warn('Compression failed, using fallback:', error);
604
- // Last resort: just encode the original string
605
- try {
606
- return btoa(unescape(encodeURIComponent(str)));
607
- } catch (finalError) {
608
- // If even that fails, return the original string (will cause error later)
609
- console.error('All encoding methods failed:', finalError);
610
- return str;
611
- }
612
- }
613
- }
614
-
615
- // Decompress string (for CLI)
616
- decompressString(compressed) {
617
- try {
618
- // Since we're using simple Base64 encoding, just decode it
619
- return decodeURIComponent(escape(atob(compressed)));
620
- } catch (error) {
621
- throw new Error('Failed to decompress data: ' + error.message);
622
- }
623
- }
624
-
625
- async getComponentsData() {
626
- const componentsData = {};
627
-
628
- // Group components by type and get their full content
629
- for (const step of this.workflowState.steps) {
630
- if (!componentsData[step.type]) {
631
- componentsData[step.type] = [];
632
- }
633
-
634
- // Find the component in the loaded data
635
- const componentsList = this.workflowState.components[step.type + 's'] || [];
636
- const fullComponent = componentsList.find(c => c.name === step.name);
637
-
638
- if (fullComponent) {
639
- componentsData[step.type].push({
640
- name: step.name,
641
- path: step.path,
642
- category: step.category,
643
- content: fullComponent.content,
644
- type: step.type
645
- });
646
- }
647
- }
648
-
649
- return componentsData;
650
- }
651
-
652
- generateWorkflowYAML() {
653
- // Ensure agents array exists and has valid structure
654
- const agents = this.workflowState.agents || [];
655
- const totalSteps = agents.reduce((total, agent) => total + 1 + (agent.subItems ? agent.subItems.length : 0), 0);
656
-
657
- const promptComment = this.workflowState.properties.prompt
658
- ? `# Initial Prompt: ${this.workflowState.properties.prompt}\n`
659
- : '';
660
-
661
- return `# Workflow: ${this.workflowState.properties.name}
662
- # Description: ${this.workflowState.properties.description}
663
- ${promptComment}# Generated: ${new Date().toISOString()}
664
- # Agents: ${agents.length} total
665
- # Components: ${totalSteps} total
666
-
667
- name: "${this.workflowState.properties.name}"
668
- description: "${this.workflowState.properties.description}"
669
- tags: [${this.workflowState.properties.tags.map(tag => `"${tag}"`).join(', ')}]
670
- version: "2.0.0"${this.workflowState.properties.prompt ? '\nprompt: "' + this.workflowState.properties.prompt + '"' : ''}
671
-
672
- # Hierarchical workflow structure: Agents → Commands/MCPs
673
- agents:
674
- ${agents.map((agentData, i) => ` - agent: ${i + 1}
675
- type: ${agentData.agent.type}
676
- name: "${agentData.agent.name}"
677
- path: "${agentData.agent.type === 'mcp' ? `.mcp.json#${agentData.agent.name}` : `.claude/${agentData.agent.type}s/${agentData.agent.path}`}"
678
- category: "${agentData.agent.category}"
679
- description: "${agentData.agent.description}"
680
- tasks:${(agentData.subItems && agentData.subItems.length > 0) ? agentData.subItems.map((subItem, j) => `
681
- - task: ${j + 1}
682
- type: ${subItem.type}
683
- name: "${subItem.name}"
684
- path: "${subItem.type === 'mcp' ? `.mcp.json#${subItem.name}` : `.claude/${subItem.type}s/${subItem.path}`}"
685
- category: "${subItem.category}"
686
- description: "${subItem.description}"`).join('') : `
687
- - task: 1
688
- type: "default"
689
- name: "No specific tasks assigned"
690
- description: "This agent has no specific commands or MCPs assigned"`}`).join('\n')}
691
-
692
- execution:
693
- mode: "hierarchical"
694
- on_error: "stop"
695
- sequence: "agent-by-agent"
696
-
697
- components:
698
- agents: [${agents.filter(a => a.agent.type === 'agent').map(a => `".claude/agents/${a.agent.path}"`).join(', ')}]
699
- commands: [${[...agents.filter(a => a.agent.type === 'command').map(a => `".claude/commands/${a.agent.path}"`), ...agents.flatMap(a => (a.subItems || []).filter(s => s.type === 'command').map(s => `".claude/commands/${s.path}`))].join(', ')}]
700
- mcps: [${[...agents.filter(a => a.agent.type === 'mcp').map(a => `".mcp.json#${a.agent.name}"`), ...agents.flatMap(a => (a.subItems || []).filter(s => s.type === 'mcp').map(s => `".mcp.json#${s.name}`))].join(', ')}]
701
-
702
- # Instructions for Claude Code:
703
- # This hierarchical workflow contains ${agents.length} agents with their assigned tasks.
704
- # Each agent should be loaded first, then its associated commands and MCPs should be executed in sequence.`;
705
- }
706
-
707
- showGenerateModal(commandData, yaml) {
708
- const { fullCommand, componentsCommand } = commandData;
709
-
710
- const fullCommandEl = document.getElementById('fullCommand');
711
- const componentsOnlyCommandEl = document.getElementById('componentsOnlyCommand');
712
- const yamlEl = document.getElementById('yamlContent');
713
- const workflowFileNameEl = document.getElementById('workflowFileName');
714
- const modal = document.getElementById('generateModal');
715
-
716
- if (fullCommandEl) fullCommandEl.textContent = fullCommand;
717
- if (componentsOnlyCommandEl) componentsOnlyCommandEl.textContent = componentsCommand;
718
- if (yamlEl) yamlEl.textContent = yaml;
719
-
720
- // Update workflow file name dynamically
721
- if (workflowFileNameEl) {
722
- const workflowName = this.workflowState.properties.name || 'workflow';
723
- const fileName = `${workflowName.replace(/[^a-z0-9]/gi, '-').toLowerCase()}.yaml`;
724
- workflowFileNameEl.textContent = fileName;
725
- }
726
-
727
- // Show prompt indicator if prompt is provided
728
- const promptIndicator = document.getElementById('promptIndicator');
729
- const promptText = document.getElementById('promptText');
730
- if (promptIndicator && promptText) {
731
- if (this.workflowState.properties.prompt) {
732
- promptText.textContent = `"${this.workflowState.properties.prompt}"`;
733
- promptIndicator.style.display = 'flex';
734
- } else {
735
- promptIndicator.style.display = 'none';
736
- }
737
- }
738
-
739
- if (modal) modal.style.display = 'block';
740
-
741
- // Setup close modal functionality
742
- const closeModalBtn = document.getElementById('closeModal');
743
- if (closeModalBtn) {
744
- closeModalBtn.onclick = () => modal.style.display = 'none';
745
- }
746
-
747
- // Close modal when clicking outside
748
- window.onclick = (event) => {
749
- if (event.target === modal) {
750
- modal.style.display = 'none';
751
- }
752
- };
753
-
754
- // Add copy functionality to the buttons in the modal
755
- const copyFullCommandBtn = document.getElementById('copyFullCommand');
756
- if (copyFullCommandBtn) {
757
- copyFullCommandBtn.onclick = () => copyToClipboard(fullCommand, 'Full command copied!');
758
- }
759
-
760
- const copyComponentsCommandBtn = document.getElementById('copyComponentsCommand');
761
- if (copyComponentsCommandBtn) {
762
- copyComponentsCommandBtn.onclick = () => copyToClipboard(componentsCommand, 'Components command copied!');
763
- }
764
-
765
- // Original YAML buttons (in accordion)
766
- const copyYamlBtn = document.getElementById('copyYaml');
767
- if (copyYamlBtn) {
768
- copyYamlBtn.onclick = () => copyToClipboard(yamlEl.textContent, 'YAML content copied!');
769
- }
770
-
771
- const downloadYamlBtn = document.getElementById('downloadYaml');
772
- if (downloadYamlBtn) {
773
- downloadYamlBtn.onclick = () => {
774
- const filename = `${this.workflowState.properties.name.replace(/[^a-z0-9]/gi, '-').toLowerCase() || 'workflow'}.yaml`;
775
- const blob = new Blob([yaml], { type: 'text/yaml' });
776
- const url = URL.createObjectURL(blob);
777
- const a = document.createElement('a');
778
- a.href = url;
779
- a.download = filename;
780
- document.body.appendChild(a);
781
- a.click();
782
- document.body.removeChild(a);
783
- URL.revokeObjectURL(url);
784
- showNotification('YAML downloaded successfully!', 'success');
785
- };
786
- }
787
-
788
- // Manual method YAML buttons
789
- const copyYamlManualBtn = document.getElementById('copyYamlManual');
790
- if (copyYamlManualBtn) {
791
- copyYamlManualBtn.onclick = () => copyToClipboard(yamlEl.textContent, 'YAML content copied!');
792
- }
793
-
794
- const downloadYamlManualBtn = document.getElementById('downloadYamlManual');
795
- if (downloadYamlManualBtn) {
796
- downloadYamlManualBtn.onclick = () => {
797
- const filename = `${this.workflowState.properties.name.replace(/[^a-z0-9]/gi, '-').toLowerCase() || 'workflow'}.yaml`;
798
- const blob = new Blob([yaml], { type: 'text/yaml' });
799
- const url = URL.createObjectURL(blob);
800
- const a = document.createElement('a');
801
- a.href = url;
802
- a.download = filename;
803
- document.body.appendChild(a);
804
- a.click();
805
- document.body.removeChild(a);
806
- URL.revokeObjectURL(url);
807
- showNotification('YAML downloaded successfully!', 'success');
808
- };
809
- }
810
-
811
- const shareWorkflowBtn = document.getElementById('shareWorkflow');
812
- if (shareWorkflowBtn) {
813
- shareWorkflowBtn.onclick = () => {
814
- // For the new approach, we share the command directly
815
- navigator.clipboard.writeText(fullCommand).then(() => {
816
- showNotification('Installation command copied to clipboard!', 'success');
817
- }).catch(err => {
818
- console.error('Failed to copy command: ', err);
819
- showNotification('Failed to copy command', 'error');
820
- });
821
- };
822
- }
823
- }
824
-
825
- previewWorkflow() {
826
- const agents = this.workflowState.agents || [];
827
- if (agents.length === 0) {
828
- this.showError('Add at least one component to preview the workflow.');
829
- return;
830
- }
831
-
832
- // Set default properties if not set
833
- if (!this.workflowState.properties.name) {
834
- this.workflowState.properties.name = 'Untitled Workflow';
835
- }
836
- if (!this.workflowState.properties.description) {
837
- this.workflowState.properties.description = 'Generated workflow preview';
838
- }
839
- if (!this.workflowState.properties.tags.length) {
840
- this.workflowState.properties.tags = ['preview'];
841
- }
842
-
843
- // Generate YAML content
844
- const yamlContent = this.generateWorkflowYAML();
845
-
846
- // Show in modal
847
- this.showPreviewModal(yamlContent);
848
- }
849
-
850
- showPreviewModal(yamlContent) {
851
- const modal = document.getElementById('previewModal');
852
- const yamlElement = document.getElementById('previewYamlContent');
853
- const lineNumbersElement = document.getElementById('previewLineNumbers');
854
-
855
- if (!modal || !yamlElement || !lineNumbersElement) return;
856
-
857
- // Apply syntax highlighting to YAML content
858
- const highlightedYaml = this.highlightYaml(yamlContent);
859
- yamlElement.innerHTML = highlightedYaml;
860
- yamlElement.className = 'yaml-syntax';
861
-
862
- // Generate line numbers
863
- const lines = yamlContent.split('\n');
864
- lineNumbersElement.innerHTML = lines.map((_, index) =>
865
- `<span>${index + 1}</span>`
866
- ).join('');
867
-
868
- // Show modal
869
- modal.style.display = 'block';
870
-
871
- // Setup event listeners
872
- this.setupPreviewModalListeners(yamlContent);
873
- }
874
-
875
- highlightYaml(yamlContent) {
876
- return yamlContent
877
- .split('\n')
878
- .map(line => this.highlightYamlLine(line))
879
- .join('\n');
880
- }
881
-
882
- highlightYamlLine(line) {
883
- // Handle comments (everything after #)
884
- if (line.trim().startsWith('#')) {
885
- return `<span class="yaml-comment">${this.escapeHtml(line)}</span>`;
886
- }
887
-
888
- // Handle lines with comments
889
- const commentIndex = line.indexOf('#');
890
- let mainPart = line;
891
- let commentPart = '';
892
-
893
- if (commentIndex > -1) {
894
- mainPart = line.substring(0, commentIndex);
895
- commentPart = `<span class="yaml-comment">${this.escapeHtml(line.substring(commentIndex))}</span>`;
896
- }
897
-
898
- // Handle key-value pairs
899
- const keyValueMatch = mainPart.match(/^(\s*)([\w-]+)(\s*:\s*)(.*)/);
900
- if (keyValueMatch) {
901
- const [, indent, key, colon, value] = keyValueMatch;
902
-
903
- let highlightedValue = value;
904
-
905
- // Highlight different value types
906
- if (value.trim().match(/^".*"$/)) {
907
- // String in quotes
908
- highlightedValue = `<span class="yaml-string">${this.escapeHtml(value)}</span>`;
909
- } else if (value.trim().match(/^[\d.]+$/)) {
910
- // Numbers
911
- highlightedValue = `<span class="yaml-number">${this.escapeHtml(value)}</span>`;
912
- } else if (value.trim().match(/^(true|false|yes|no|on|off)$/i)) {
913
- // Booleans
914
- highlightedValue = `<span class="yaml-boolean">${this.escapeHtml(value)}</span>`;
915
- } else if (value.trim().match(/^[\w\/-]+\.(md|json|yaml|yml)$/)) {
916
- // File paths
917
- highlightedValue = `<span class="yaml-path">${this.escapeHtml(value)}</span>`;
918
- } else if (value.trim().startsWith('[') && value.trim().endsWith(']')) {
919
- // Arrays
920
- highlightedValue = `<span class="yaml-array">${this.escapeHtml(value)}</span>`;
921
- } else if (value.trim()) {
922
- // Regular strings
923
- highlightedValue = `<span class="yaml-string">${this.escapeHtml(value)}</span>`;
924
- }
925
-
926
- return `${this.escapeHtml(indent)}<span class="yaml-key">${this.escapeHtml(key)}</span><span class="yaml-punctuation">${this.escapeHtml(colon)}</span>${highlightedValue}${commentPart}`;
927
- }
928
-
929
- // Handle list items
930
- const listMatch = mainPart.match(/^(\s*-\s*)(.*)/);
931
- if (listMatch) {
932
- const [, listMarker, content] = listMatch;
933
-
934
- // Check if it's a key-value in list
935
- const listKeyValueMatch = content.match(/^([\w-]+)(\s*:\s*)(.*)/);
936
- if (listKeyValueMatch) {
937
- const [, key, colon, value] = listKeyValueMatch;
938
- let highlightedValue = value;
939
-
940
- if (value.trim().match(/^".*"$/)) {
941
- highlightedValue = `<span class="yaml-string">${this.escapeHtml(value)}</span>`;
942
- } else if (value.trim().match(/^[\d.]+$/)) {
943
- highlightedValue = `<span class="yaml-number">${this.escapeHtml(value)}</span>`;
944
- } else if (value.trim()) {
945
- highlightedValue = `<span class="yaml-string">${this.escapeHtml(value)}</span>`;
946
- }
947
-
948
- return `<span class="yaml-list-item">${this.escapeHtml(listMarker)}</span><span class="yaml-key">${this.escapeHtml(key)}</span><span class="yaml-punctuation">${this.escapeHtml(colon)}</span>${highlightedValue}${commentPart}`;
949
- } else {
950
- return `<span class="yaml-list-item">${this.escapeHtml(listMarker)}</span><span class="yaml-string">${this.escapeHtml(content)}</span>${commentPart}`;
951
- }
952
- }
953
-
954
- // Handle section headers (main keys without indentation)
955
- const sectionMatch = mainPart.match(/^([\w-]+)(\s*:\s*)(.*)/);
956
- if (sectionMatch && !mainPart.startsWith(' ')) {
957
- const [, key, colon, value] = sectionMatch;
958
- return `<span class="yaml-section">${this.escapeHtml(key)}</span><span class="yaml-punctuation">${this.escapeHtml(colon)}</span><span class="yaml-string">${this.escapeHtml(value)}</span>${commentPart}`;
959
- }
960
-
961
- // Default: return line as is
962
- return `${this.escapeHtml(mainPart)}${commentPart}`;
963
- }
964
-
965
- escapeHtml(text) {
966
- const div = document.createElement('div');
967
- div.textContent = text;
968
- return div.innerHTML;
969
- }
970
-
971
- setupPreviewModalListeners(yamlContent) {
972
- // Close modal events
973
- const closeBtn = document.getElementById('closePreviewModal');
974
- const closeModalBtn = document.getElementById('closePreviewModalBtn');
975
- const modal = document.getElementById('previewModal');
976
-
977
- if (closeBtn) {
978
- closeBtn.onclick = () => modal.style.display = 'none';
979
- }
980
- if (closeModalBtn) {
981
- closeModalBtn.onclick = () => modal.style.display = 'none';
982
- }
983
-
984
- // Copy YAML
985
- const copyBtn = document.getElementById('copyPreviewYaml');
986
- if (copyBtn) {
987
- copyBtn.onclick = () => {
988
- navigator.clipboard.writeText(yamlContent).then(() => {
989
- showNotification('YAML copied to clipboard!', 'success');
990
- }).catch(() => {
991
- showNotification('Failed to copy YAML', 'error');
992
- });
993
- };
994
- }
995
-
996
- // Download YAML
997
- const downloadBtn = document.getElementById('downloadPreviewYaml');
998
- if (downloadBtn) {
999
- downloadBtn.onclick = () => {
1000
- const filename = `${this.workflowState.properties.name.replace(/[^a-z0-9]/gi, '-').toLowerCase() || 'workflow'}-preview.yaml`;
1001
- const blob = new Blob([yamlContent], { type: 'text/yaml' });
1002
- const url = URL.createObjectURL(blob);
1003
- const a = document.createElement('a');
1004
- a.href = url;
1005
- a.download = filename;
1006
- document.body.appendChild(a);
1007
- a.click();
1008
- document.body.removeChild(a);
1009
- URL.revokeObjectURL(url);
1010
- showNotification('YAML downloaded successfully!', 'success');
1011
- };
1012
- }
1013
-
1014
- // Close modal when clicking outside
1015
- window.onclick = (event) => {
1016
- if (event.target === modal) {
1017
- modal.style.display = 'none';
1018
- }
1019
- };
1020
- }
1021
-
1022
- showError(message) {
1023
- showNotification(message, 'error');
1024
- }
1025
- }
1026
-
1027
- // Global functions for workflow events (called from onclick)
1028
- function showWorkflowComponentDetails(type, name, path, category) {
1029
- const component = window.dataLoader.findComponent(name, type);
1030
- if (component) {
1031
- showComponentModal(component);
1032
- } else {
1033
- console.warn('Component not found:', type, name);
1034
- }
1035
- }
1036
-
1037
- function addComponentFromButton(event) {
1038
- const treeFile = event.target.closest('.tree-file');
1039
- const componentData = { ...treeFile.dataset };
1040
- if (window.workflowManager) {
1041
- window.workflowManager.addWorkflowStep(componentData);
1042
- }
1043
- }
1044
-
1045
- function removeWorkflowStep(stepId) {
1046
- if (window.workflowManager) {
1047
- window.workflowManager.workflowState.steps =
1048
- window.workflowManager.workflowState.steps.filter(step => step.id !== stepId);
1049
- window.workflowManager.renderWorkflowSteps();
1050
- window.workflowManager.updateWorkflowStats();
1051
- }
1052
- }
1053
-
1054
- function removeAgent(agentId) {
1055
- if (window.workflowManager && confirm('Remove this agent and all its associated commands/MCPs?')) {
1056
- // Remove from agents array
1057
- window.workflowManager.workflowState.agents =
1058
- window.workflowManager.workflowState.agents.filter(agentData => agentData.agent.id !== agentId);
1059
-
1060
- // Remove from legacy steps array
1061
- window.workflowManager.workflowState.steps =
1062
- window.workflowManager.workflowState.steps.filter(step => step.id !== agentId);
1063
-
1064
- window.workflowManager.renderWorkflowSteps();
1065
- window.workflowManager.updateWorkflowStats();
1066
- }
1067
- }
1068
-
1069
- function removeSubItem(agentId, subItemId) {
1070
- if (window.workflowManager) {
1071
- const agentIndex = window.workflowManager.workflowState.agents.findIndex(
1072
- agentData => agentData.agent.id === agentId
1073
- );
1074
- if (agentIndex !== -1) {
1075
- window.workflowManager.workflowState.agents[agentIndex].subItems =
1076
- window.workflowManager.workflowState.agents[agentIndex].subItems.filter(
1077
- subItem => subItem.id !== subItemId
1078
- );
1079
-
1080
- // Remove from legacy steps array
1081
- window.workflowManager.workflowState.steps =
1082
- window.workflowManager.workflowState.steps.filter(step => step.id !== subItemId);
1083
-
1084
- window.workflowManager.renderWorkflowSteps();
1085
- window.workflowManager.updateWorkflowStats();
1086
- }
1087
- }
1088
- }
1089
-
1090
- // Helper function to scroll to drop zone
1091
- function scrollToDropZone() {
1092
- const dropZone = document.querySelector('.drop-zone');
1093
- if (dropZone) {
1094
- dropZone.scrollIntoView({ behavior: 'smooth', block: 'center' });
1095
- // Add a brief highlight effect
1096
- dropZone.classList.add('drag-over');
1097
- setTimeout(() => {
1098
- dropZone.classList.remove('drag-over');
1099
- }, 1000);
1100
- }
1101
- }
1102
-
1103
- // Helper functions for drag and drop
1104
- function allowDrop(event) {
1105
- event.preventDefault();
1106
- }
1107
-
1108
- function dropOnAgent(event, agentId) {
1109
- event.preventDefault();
1110
- event.stopPropagation(); // Prevent the main drop handler from also firing
1111
-
1112
- // Remove drag-over class
1113
- event.target.classList.remove('drag-over');
1114
-
1115
- try {
1116
- const componentData = JSON.parse(event.dataTransfer.getData('application/json'));
1117
- if (componentData.componentType === 'command' || componentData.componentType === 'mcp') {
1118
- window.workflowManager.addWorkflowStep(componentData, agentId);
1119
- }
1120
- } catch (error) {
1121
- console.error('Error handling agent drop:', error);
1122
- }
1123
- }
1124
-
1125
- function dropOnAddItem(event) {
1126
- event.preventDefault();
1127
- event.stopPropagation(); // Prevent the main drop handler from also firing
1128
-
1129
- // Remove drag-over class
1130
- event.target.classList.remove('drag-over');
1131
- event.target.closest('.add-agent-btn')?.classList.remove('drag-over');
1132
-
1133
- try {
1134
- const componentData = JSON.parse(event.dataTransfer.getData('application/json'));
1135
- // Add as main level item (no targetAgentId)
1136
- window.workflowManager.addWorkflowStep(componentData);
1137
- } catch (error) {
1138
- console.error('Error handling add item drop:', error);
1139
- }
1140
- }
1141
-
1142
- // Initialize when DOM is ready
1143
- document.addEventListener('DOMContentLoaded', () => {
1144
- window.workflowManager = new WorkflowManager();
1145
- window.workflowManager.init();
1146
- });