claude-code-templates 1.21.1 → 1.21.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (743) hide show
  1. package/README.md +79 -77
  2. package/package.json +86 -19
  3. package/.claude/agents/agent-expert.md +0 -477
  4. package/.claude/agents/cli-ui-designer.md +0 -405
  5. package/.claude/agents/command-expert.md +0 -421
  6. package/.claude/agents/docusaurus-expert.md +0 -51
  7. package/.claude/agents/mcp-expert.md +0 -258
  8. package/.claude/commands/lint.md +0 -111
  9. package/.claude/commands/test.md +0 -73
  10. package/.claude/settings.local.json +0 -34
  11. package/.github/WORKFLOWS_REFERENCE.md +0 -88
  12. package/.github/workflows/deploy-docusaurus.yml +0 -31
  13. package/.github/workflows/deploy.yml +0 -33
  14. package/.github/workflows/publish-package.yml +0 -125
  15. package/.mcp.json +0 -4
  16. package/CLAUDE.md +0 -482
  17. package/CODE_OF_CONDUCT.md +0 -82
  18. package/CONTRIBUTING.md +0 -505
  19. package/DEPLOYMENT.md +0 -60
  20. package/LICENSE +0 -21
  21. package/ROADMAP.md +0 -278
  22. package/SECURITY.md +0 -65
  23. package/api/index.html +0 -1
  24. package/api/package.json +0 -7
  25. package/api/track-download-supabase.js +0 -150
  26. package/cli-tool/Makefile +0 -102
  27. package/cli-tool/README.md +0 -126
  28. package/cli-tool/TESTING.md +0 -262
  29. package/cli-tool/components/agents/ai-specialists/ai-ethics-advisor.md +0 -195
  30. package/cli-tool/components/agents/ai-specialists/hackathon-ai-strategist.md +0 -46
  31. package/cli-tool/components/agents/ai-specialists/llms-maintainer.md +0 -94
  32. package/cli-tool/components/agents/ai-specialists/model-evaluator.md +0 -150
  33. package/cli-tool/components/agents/ai-specialists/prompt-engineer.md +0 -112
  34. package/cli-tool/components/agents/ai-specialists/search-specialist.md +0 -59
  35. package/cli-tool/components/agents/ai-specialists/task-decomposition-expert.md +0 -97
  36. package/cli-tool/components/agents/api-graphql/graphql-architect.md +0 -208
  37. package/cli-tool/components/agents/api-graphql/graphql-performance-optimizer.md +0 -357
  38. package/cli-tool/components/agents/api-graphql/graphql-security-specialist.md +0 -519
  39. package/cli-tool/components/agents/blockchain-web3/smart-contract-auditor.md +0 -32
  40. package/cli-tool/components/agents/blockchain-web3/smart-contract-specialist.md +0 -32
  41. package/cli-tool/components/agents/blockchain-web3/web3-integration-specialist.md +0 -32
  42. package/cli-tool/components/agents/business-marketing/business-analyst.md +0 -194
  43. package/cli-tool/components/agents/business-marketing/content-marketer.md +0 -36
  44. package/cli-tool/components/agents/business-marketing/customer-support.md +0 -36
  45. package/cli-tool/components/agents/business-marketing/legal-advisor.md +0 -50
  46. package/cli-tool/components/agents/business-marketing/marketing-attribution-analyst.md +0 -352
  47. package/cli-tool/components/agents/business-marketing/payment-integration.md +0 -33
  48. package/cli-tool/components/agents/business-marketing/product-strategist.md +0 -212
  49. package/cli-tool/components/agents/business-marketing/risk-manager.md +0 -42
  50. package/cli-tool/components/agents/business-marketing/sales-automator.md +0 -36
  51. package/cli-tool/components/agents/data-ai/ai-engineer.md +0 -33
  52. package/cli-tool/components/agents/data-ai/computer-vision-engineer.md +0 -562
  53. package/cli-tool/components/agents/data-ai/data-engineer.md +0 -33
  54. package/cli-tool/components/agents/data-ai/data-scientist.md +0 -337
  55. package/cli-tool/components/agents/data-ai/ml-engineer.md +0 -33
  56. package/cli-tool/components/agents/data-ai/mlops-engineer.md +0 -58
  57. package/cli-tool/components/agents/data-ai/nlp-engineer.md +0 -680
  58. package/cli-tool/components/agents/data-ai/quant-analyst.md +0 -33
  59. package/cli-tool/components/agents/database/database-admin.md +0 -33
  60. package/cli-tool/components/agents/database/database-architect.md +0 -590
  61. package/cli-tool/components/agents/database/database-optimization.md +0 -33
  62. package/cli-tool/components/agents/database/database-optimizer.md +0 -33
  63. package/cli-tool/components/agents/database/nosql-specialist.md +0 -708
  64. package/cli-tool/components/agents/database/supabase-schema-architect.md +0 -138
  65. package/cli-tool/components/agents/deep-research-team/academic-researcher.md +0 -33
  66. package/cli-tool/components/agents/deep-research-team/agent-overview.md +0 -235
  67. package/cli-tool/components/agents/deep-research-team/competitive-intelligence-analyst.md +0 -530
  68. package/cli-tool/components/agents/deep-research-team/data-analyst.md +0 -112
  69. package/cli-tool/components/agents/deep-research-team/fact-checker.md +0 -553
  70. package/cli-tool/components/agents/deep-research-team/query-clarifier.md +0 -73
  71. package/cli-tool/components/agents/deep-research-team/report-generator.md +0 -108
  72. package/cli-tool/components/agents/deep-research-team/research-brief-generator.md +0 -108
  73. package/cli-tool/components/agents/deep-research-team/research-coordinator.md +0 -94
  74. package/cli-tool/components/agents/deep-research-team/research-orchestrator.md +0 -119
  75. package/cli-tool/components/agents/deep-research-team/research-synthesizer.md +0 -109
  76. package/cli-tool/components/agents/deep-research-team/technical-researcher.md +0 -95
  77. package/cli-tool/components/agents/development-team/backend-architect.md +0 -31
  78. package/cli-tool/components/agents/development-team/cli-ui-designer.md +0 -405
  79. package/cli-tool/components/agents/development-team/devops-engineer.md +0 -886
  80. package/cli-tool/components/agents/development-team/frontend-developer.md +0 -32
  81. package/cli-tool/components/agents/development-team/fullstack-developer.md +0 -1205
  82. package/cli-tool/components/agents/development-team/ios-developer.md +0 -36
  83. package/cli-tool/components/agents/development-team/mobile-developer.md +0 -33
  84. package/cli-tool/components/agents/development-team/ui-ux-designer.md +0 -36
  85. package/cli-tool/components/agents/development-tools/code-reviewer.md +0 -30
  86. package/cli-tool/components/agents/development-tools/command-expert.md +0 -422
  87. package/cli-tool/components/agents/development-tools/context-manager.md +0 -65
  88. package/cli-tool/components/agents/development-tools/debugger.md +0 -31
  89. package/cli-tool/components/agents/development-tools/dx-optimizer.md +0 -64
  90. package/cli-tool/components/agents/development-tools/error-detective.md +0 -33
  91. package/cli-tool/components/agents/development-tools/mcp-expert.md +0 -259
  92. package/cli-tool/components/agents/development-tools/performance-profiler.md +0 -799
  93. package/cli-tool/components/agents/development-tools/test-engineer.md +0 -936
  94. package/cli-tool/components/agents/devops-infrastructure/cloud-architect.md +0 -33
  95. package/cli-tool/components/agents/devops-infrastructure/deployment-engineer.md +0 -33
  96. package/cli-tool/components/agents/devops-infrastructure/devops-troubleshooter.md +0 -33
  97. package/cli-tool/components/agents/devops-infrastructure/monitoring-specialist.md +0 -36
  98. package/cli-tool/components/agents/devops-infrastructure/network-engineer.md +0 -33
  99. package/cli-tool/components/agents/devops-infrastructure/security-engineer.md +0 -971
  100. package/cli-tool/components/agents/devops-infrastructure/terraform-specialist.md +0 -36
  101. package/cli-tool/components/agents/devops-infrastructure/vercel-deployment-specialist.md +0 -357
  102. package/cli-tool/components/agents/documentation/api-documenter.md +0 -33
  103. package/cli-tool/components/agents/documentation/changelog-generator.md +0 -37
  104. package/cli-tool/components/agents/documentation/docusaurus-expert.md +0 -52
  105. package/cli-tool/components/agents/documentation/technical-writer.md +0 -37
  106. package/cli-tool/components/agents/expert-advisors/agent-expert.md +0 -477
  107. package/cli-tool/components/agents/expert-advisors/architect-review.md +0 -50
  108. package/cli-tool/components/agents/expert-advisors/dependency-manager.md +0 -45
  109. package/cli-tool/components/agents/expert-advisors/documentation-expert.md +0 -47
  110. package/cli-tool/components/agents/ffmpeg-clip-team/audio-mixer.md +0 -37
  111. package/cli-tool/components/agents/ffmpeg-clip-team/audio-quality-controller.md +0 -100
  112. package/cli-tool/components/agents/ffmpeg-clip-team/podcast-content-analyzer.md +0 -60
  113. package/cli-tool/components/agents/ffmpeg-clip-team/podcast-metadata-specialist.md +0 -46
  114. package/cli-tool/components/agents/ffmpeg-clip-team/podcast-transcriber.md +0 -68
  115. package/cli-tool/components/agents/ffmpeg-clip-team/social-media-clip-creator.md +0 -69
  116. package/cli-tool/components/agents/ffmpeg-clip-team/timestamp-precision-specialist.md +0 -98
  117. package/cli-tool/components/agents/ffmpeg-clip-team/video-editor.md +0 -37
  118. package/cli-tool/components/agents/game-development/3d-artist.md +0 -37
  119. package/cli-tool/components/agents/game-development/game-designer.md +0 -37
  120. package/cli-tool/components/agents/game-development/unity-game-developer.md +0 -110
  121. package/cli-tool/components/agents/game-development/unreal-engine-developer.md +0 -128
  122. package/cli-tool/components/agents/mcp-dev-team/mcp-deployment-orchestrator.md +0 -101
  123. package/cli-tool/components/agents/mcp-dev-team/mcp-integration-engineer.md +0 -37
  124. package/cli-tool/components/agents/mcp-dev-team/mcp-protocol-specialist.md +0 -37
  125. package/cli-tool/components/agents/mcp-dev-team/mcp-registry-navigator.md +0 -112
  126. package/cli-tool/components/agents/mcp-dev-team/mcp-security-auditor.md +0 -70
  127. package/cli-tool/components/agents/mcp-dev-team/mcp-server-architect.md +0 -74
  128. package/cli-tool/components/agents/mcp-dev-team/mcp-testing-engineer.md +0 -106
  129. package/cli-tool/components/agents/modernization/architecture-modernizer.md +0 -37
  130. package/cli-tool/components/agents/modernization/cloud-migration-specialist.md +0 -37
  131. package/cli-tool/components/agents/modernization/legacy-modernizer.md +0 -33
  132. package/cli-tool/components/agents/obsidian-ops-team/Scripts/daily_notes_connector.py +0 -306
  133. package/cli-tool/components/agents/obsidian-ops-team/Scripts/enhance_tag_standardizer.py +0 -343
  134. package/cli-tool/components/agents/obsidian-ops-team/Scripts/find_keyword_connections.py +0 -216
  135. package/cli-tool/components/agents/obsidian-ops-team/Scripts/fix_quoted_tags.py +0 -82
  136. package/cli-tool/components/agents/obsidian-ops-team/Scripts/implement_entity_connections.py +0 -195
  137. package/cli-tool/components/agents/obsidian-ops-team/Scripts/link_suggester.py +0 -301
  138. package/cli-tool/components/agents/obsidian-ops-team/Scripts/metadata_adder.py +0 -197
  139. package/cli-tool/components/agents/obsidian-ops-team/Scripts/moc_generator.py +0 -296
  140. package/cli-tool/components/agents/obsidian-ops-team/Scripts/parse_keyword_connections.py +0 -122
  141. package/cli-tool/components/agents/obsidian-ops-team/Scripts/tag_standardizer.py +0 -387
  142. package/cli-tool/components/agents/obsidian-ops-team/connection-agent.md +0 -67
  143. package/cli-tool/components/agents/obsidian-ops-team/content-curator.md +0 -81
  144. package/cli-tool/components/agents/obsidian-ops-team/metadata-agent.md +0 -51
  145. package/cli-tool/components/agents/obsidian-ops-team/moc-agent.md +0 -112
  146. package/cli-tool/components/agents/obsidian-ops-team/review-agent.md +0 -94
  147. package/cli-tool/components/agents/obsidian-ops-team/tag-agent.md +0 -92
  148. package/cli-tool/components/agents/obsidian-ops-team/vault-optimizer.md +0 -76
  149. package/cli-tool/components/agents/ocr-extraction-team/document-structure-analyzer.md +0 -37
  150. package/cli-tool/components/agents/ocr-extraction-team/markdown-syntax-formatter.md +0 -58
  151. package/cli-tool/components/agents/ocr-extraction-team/ocr-grammar-fixer.md +0 -36
  152. package/cli-tool/components/agents/ocr-extraction-team/ocr-preprocessing-optimizer.md +0 -37
  153. package/cli-tool/components/agents/ocr-extraction-team/ocr-quality-assurance.md +0 -62
  154. package/cli-tool/components/agents/ocr-extraction-team/text-comparison-validator.md +0 -60
  155. package/cli-tool/components/agents/ocr-extraction-team/visual-analysis-ocr.md +0 -52
  156. package/cli-tool/components/agents/performance-testing/load-testing-specialist.md +0 -37
  157. package/cli-tool/components/agents/performance-testing/performance-engineer.md +0 -33
  158. package/cli-tool/components/agents/performance-testing/react-performance-optimization.md +0 -65
  159. package/cli-tool/components/agents/performance-testing/test-automator.md +0 -33
  160. package/cli-tool/components/agents/performance-testing/web-vitals-optimizer.md +0 -37
  161. package/cli-tool/components/agents/podcast-creator-team/academic-research-synthesizer.md +0 -61
  162. package/cli-tool/components/agents/podcast-creator-team/comprehensive-researcher.md +0 -49
  163. package/cli-tool/components/agents/podcast-creator-team/episode-orchestrator.md +0 -52
  164. package/cli-tool/components/agents/podcast-creator-team/guest-outreach-coordinator.md +0 -37
  165. package/cli-tool/components/agents/podcast-creator-team/market-research-analyst.md +0 -54
  166. package/cli-tool/components/agents/podcast-creator-team/podcast-editor.md +0 -37
  167. package/cli-tool/components/agents/podcast-creator-team/podcast-trend-scout.md +0 -60
  168. package/cli-tool/components/agents/podcast-creator-team/project-supervisor-orchestrator.md +0 -48
  169. package/cli-tool/components/agents/podcast-creator-team/seo-podcast-optimizer.md +0 -58
  170. package/cli-tool/components/agents/podcast-creator-team/social-media-copywriter.md +0 -57
  171. package/cli-tool/components/agents/podcast-creator-team/twitter-ai-influencer-manager.md +0 -62
  172. package/cli-tool/components/agents/programming-languages/c-pro.md +0 -36
  173. package/cli-tool/components/agents/programming-languages/c-sharp-pro.md +0 -40
  174. package/cli-tool/components/agents/programming-languages/cpp-pro.md +0 -39
  175. package/cli-tool/components/agents/programming-languages/golang-pro.md +0 -33
  176. package/cli-tool/components/agents/programming-languages/javascript-pro.md +0 -36
  177. package/cli-tool/components/agents/programming-languages/php-pro.md +0 -44
  178. package/cli-tool/components/agents/programming-languages/python-pro.md +0 -33
  179. package/cli-tool/components/agents/programming-languages/rust-pro.md +0 -36
  180. package/cli-tool/components/agents/programming-languages/shell-scripting-pro.md +0 -38
  181. package/cli-tool/components/agents/programming-languages/sql-pro.md +0 -36
  182. package/cli-tool/components/agents/programming-languages/typescript-pro.md +0 -38
  183. package/cli-tool/components/agents/realtime/supabase-realtime-optimizer.md +0 -193
  184. package/cli-tool/components/agents/security/api-security-audit.md +0 -93
  185. package/cli-tool/components/agents/security/compliance-specialist.md +0 -37
  186. package/cli-tool/components/agents/security/incident-responder.md +0 -75
  187. package/cli-tool/components/agents/security/penetration-tester.md +0 -37
  188. package/cli-tool/components/agents/security/security-auditor.md +0 -33
  189. package/cli-tool/components/agents/web-tools/nextjs-architecture-expert.md +0 -194
  190. package/cli-tool/components/agents/web-tools/react-performance-optimizer.md +0 -425
  191. package/cli-tool/components/agents/web-tools/seo-analyzer.md +0 -37
  192. package/cli-tool/components/agents/web-tools/url-context-validator.md +0 -61
  193. package/cli-tool/components/agents/web-tools/url-link-extractor.md +0 -59
  194. package/cli-tool/components/agents/web-tools/web-accessibility-checker.md +0 -37
  195. package/cli-tool/components/commands/automation/act.md +0 -57
  196. package/cli-tool/components/commands/automation/ci-pipeline.md +0 -378
  197. package/cli-tool/components/commands/automation/husky.md +0 -130
  198. package/cli-tool/components/commands/automation/workflow-orchestrator.md +0 -576
  199. package/cli-tool/components/commands/database/supabase-backup-manager.md +0 -37
  200. package/cli-tool/components/commands/database/supabase-data-explorer.md +0 -37
  201. package/cli-tool/components/commands/database/supabase-migration-assistant.md +0 -37
  202. package/cli-tool/components/commands/database/supabase-performance-optimizer.md +0 -37
  203. package/cli-tool/components/commands/database/supabase-realtime-monitor.md +0 -37
  204. package/cli-tool/components/commands/database/supabase-schema-sync.md +0 -37
  205. package/cli-tool/components/commands/database/supabase-security-audit.md +0 -37
  206. package/cli-tool/components/commands/database/supabase-type-generator.md +0 -37
  207. package/cli-tool/components/commands/deployment/add-changelog.md +0 -92
  208. package/cli-tool/components/commands/deployment/blue-green-deployment.md +0 -824
  209. package/cli-tool/components/commands/deployment/changelog-demo-command.md +0 -43
  210. package/cli-tool/components/commands/deployment/ci-setup.md +0 -323
  211. package/cli-tool/components/commands/deployment/containerize-application.md +0 -93
  212. package/cli-tool/components/commands/deployment/deployment-monitoring.md +0 -1228
  213. package/cli-tool/components/commands/deployment/hotfix-deploy.md +0 -283
  214. package/cli-tool/components/commands/deployment/prepare-release.md +0 -357
  215. package/cli-tool/components/commands/deployment/rollback-deploy.md +0 -145
  216. package/cli-tool/components/commands/deployment/setup-automated-releases.md +0 -143
  217. package/cli-tool/components/commands/deployment/setup-kubernetes-deployment.md +0 -93
  218. package/cli-tool/components/commands/documentation/create-architecture-documentation.md +0 -95
  219. package/cli-tool/components/commands/documentation/create-onboarding-guide.md +0 -93
  220. package/cli-tool/components/commands/documentation/doc-api.md +0 -242
  221. package/cli-tool/components/commands/documentation/docs-maintenance.md +0 -119
  222. package/cli-tool/components/commands/documentation/generate-api-documentation.md +0 -97
  223. package/cli-tool/components/commands/documentation/interactive-documentation.md +0 -133
  224. package/cli-tool/components/commands/documentation/load-llms-txt.md +0 -39
  225. package/cli-tool/components/commands/documentation/migration-guide.md +0 -250
  226. package/cli-tool/components/commands/documentation/troubleshooting-guide.md +0 -370
  227. package/cli-tool/components/commands/documentation/update-docs.md +0 -107
  228. package/cli-tool/components/commands/game-development/game-analytics-integration.md +0 -128
  229. package/cli-tool/components/commands/game-development/game-asset-pipeline.md +0 -108
  230. package/cli-tool/components/commands/game-development/game-performance-profiler.md +0 -78
  231. package/cli-tool/components/commands/game-development/game-testing-framework.md +0 -112
  232. package/cli-tool/components/commands/game-development/unity-project-setup.md +0 -190
  233. package/cli-tool/components/commands/git-workflow/branch-cleanup.md +0 -181
  234. package/cli-tool/components/commands/git-workflow/commit.md +0 -167
  235. package/cli-tool/components/commands/git-workflow/create-pr.md +0 -19
  236. package/cli-tool/components/commands/git-workflow/create-pull-request.md +0 -126
  237. package/cli-tool/components/commands/git-workflow/create-worktrees.md +0 -174
  238. package/cli-tool/components/commands/git-workflow/fix-github-issue.md +0 -13
  239. package/cli-tool/components/commands/git-workflow/git-bisect-helper.md +0 -261
  240. package/cli-tool/components/commands/git-workflow/pr-review.md +0 -76
  241. package/cli-tool/components/commands/git-workflow/update-branch-name.md +0 -9
  242. package/cli-tool/components/commands/nextjs-vercel/nextjs-api-tester.md +0 -480
  243. package/cli-tool/components/commands/nextjs-vercel/nextjs-bundle-analyzer.md +0 -406
  244. package/cli-tool/components/commands/nextjs-vercel/nextjs-component-generator.md +0 -489
  245. package/cli-tool/components/commands/nextjs-vercel/nextjs-middleware-creator.md +0 -712
  246. package/cli-tool/components/commands/nextjs-vercel/nextjs-migration-helper.md +0 -778
  247. package/cli-tool/components/commands/nextjs-vercel/nextjs-performance-audit.md +0 -653
  248. package/cli-tool/components/commands/nextjs-vercel/nextjs-scaffold.md +0 -237
  249. package/cli-tool/components/commands/nextjs-vercel/vercel-deploy-optimize.md +0 -341
  250. package/cli-tool/components/commands/nextjs-vercel/vercel-edge-function.md +0 -810
  251. package/cli-tool/components/commands/nextjs-vercel/vercel-env-sync.md +0 -666
  252. package/cli-tool/components/commands/orchestration/archive.md +0 -414
  253. package/cli-tool/components/commands/orchestration/commit.md +0 -305
  254. package/cli-tool/components/commands/orchestration/find.md +0 -272
  255. package/cli-tool/components/commands/orchestration/log.md +0 -355
  256. package/cli-tool/components/commands/orchestration/move.md +0 -220
  257. package/cli-tool/components/commands/orchestration/optimize.md +0 -375
  258. package/cli-tool/components/commands/orchestration/remove.md +0 -301
  259. package/cli-tool/components/commands/orchestration/report.md +0 -292
  260. package/cli-tool/components/commands/orchestration/resume.md +0 -256
  261. package/cli-tool/components/commands/orchestration/start.md +0 -169
  262. package/cli-tool/components/commands/orchestration/status.md +0 -219
  263. package/cli-tool/components/commands/orchestration/sync.md +0 -294
  264. package/cli-tool/components/commands/performance/add-performance-monitoring.md +0 -84
  265. package/cli-tool/components/commands/performance/implement-caching-strategy.md +0 -84
  266. package/cli-tool/components/commands/performance/optimize-api-performance.md +0 -119
  267. package/cli-tool/components/commands/performance/optimize-build.md +0 -139
  268. package/cli-tool/components/commands/performance/optimize-bundle-size.md +0 -84
  269. package/cli-tool/components/commands/performance/optimize-database-performance.md +0 -84
  270. package/cli-tool/components/commands/performance/optimize-memory-usage.md +0 -91
  271. package/cli-tool/components/commands/performance/performance-audit.md +0 -89
  272. package/cli-tool/components/commands/performance/setup-cdn-optimization.md +0 -84
  273. package/cli-tool/components/commands/performance/system-behavior-simulator.md +0 -415
  274. package/cli-tool/components/commands/project-management/add-package.md +0 -90
  275. package/cli-tool/components/commands/project-management/add-to-changelog.md +0 -37
  276. package/cli-tool/components/commands/project-management/create-feature.md +0 -130
  277. package/cli-tool/components/commands/project-management/create-jtbd.md +0 -37
  278. package/cli-tool/components/commands/project-management/create-prd.md +0 -36
  279. package/cli-tool/components/commands/project-management/create-prp.md +0 -37
  280. package/cli-tool/components/commands/project-management/init-project.md +0 -80
  281. package/cli-tool/components/commands/project-management/milestone-tracker.md +0 -44
  282. package/cli-tool/components/commands/project-management/pac-configure.md +0 -32
  283. package/cli-tool/components/commands/project-management/pac-create-epic.md +0 -41
  284. package/cli-tool/components/commands/project-management/pac-create-ticket.md +0 -42
  285. package/cli-tool/components/commands/project-management/pac-update-status.md +0 -39
  286. package/cli-tool/components/commands/project-management/pac-validate.md +0 -35
  287. package/cli-tool/components/commands/project-management/project-health-check.md +0 -58
  288. package/cli-tool/components/commands/project-management/project-timeline-simulator.md +0 -37
  289. package/cli-tool/components/commands/project-management/project-to-linear.md +0 -38
  290. package/cli-tool/components/commands/project-management/release.md +0 -31
  291. package/cli-tool/components/commands/project-management/todo.md +0 -62
  292. package/cli-tool/components/commands/security/add-authentication-system.md +0 -34
  293. package/cli-tool/components/commands/security/dependency-audit.md +0 -32
  294. package/cli-tool/components/commands/security/penetration-test.md +0 -40
  295. package/cli-tool/components/commands/security/secrets-scanner.md +0 -39
  296. package/cli-tool/components/commands/security/security-audit.md +0 -82
  297. package/cli-tool/components/commands/security/security-hardening.md +0 -33
  298. package/cli-tool/components/commands/setup/create-database-migrations.md +0 -35
  299. package/cli-tool/components/commands/setup/design-database-schema.md +0 -37
  300. package/cli-tool/components/commands/setup/design-rest-api.md +0 -37
  301. package/cli-tool/components/commands/setup/implement-graphql-api.md +0 -37
  302. package/cli-tool/components/commands/setup/migrate-to-typescript.md +0 -37
  303. package/cli-tool/components/commands/setup/setup-ci-cd-pipeline.md +0 -37
  304. package/cli-tool/components/commands/setup/setup-development-environment.md +0 -37
  305. package/cli-tool/components/commands/setup/setup-docker-containers.md +0 -37
  306. package/cli-tool/components/commands/setup/setup-formatting.md +0 -37
  307. package/cli-tool/components/commands/setup/setup-linting.md +0 -37
  308. package/cli-tool/components/commands/setup/setup-monitoring-observability.md +0 -37
  309. package/cli-tool/components/commands/setup/setup-monorepo.md +0 -37
  310. package/cli-tool/components/commands/setup/setup-rate-limiting.md +0 -37
  311. package/cli-tool/components/commands/setup/update-dependencies.md +0 -35
  312. package/cli-tool/components/commands/simulation/business-scenario-explorer.md +0 -37
  313. package/cli-tool/components/commands/simulation/constraint-modeler.md +0 -37
  314. package/cli-tool/components/commands/simulation/decision-tree-explorer.md +0 -37
  315. package/cli-tool/components/commands/simulation/digital-twin-creator.md +0 -37
  316. package/cli-tool/components/commands/simulation/future-scenario-generator.md +0 -37
  317. package/cli-tool/components/commands/simulation/market-response-modeler.md +0 -37
  318. package/cli-tool/components/commands/simulation/monte-carlo-simulator.md +0 -37
  319. package/cli-tool/components/commands/simulation/simulation-calibrator.md +0 -37
  320. package/cli-tool/components/commands/simulation/system-dynamics-modeler.md +0 -37
  321. package/cli-tool/components/commands/simulation/timeline-compressor.md +0 -37
  322. package/cli-tool/components/commands/svelte/svelte:a11y.md +0 -105
  323. package/cli-tool/components/commands/svelte/svelte:component.md +0 -81
  324. package/cli-tool/components/commands/svelte/svelte:debug.md +0 -48
  325. package/cli-tool/components/commands/svelte/svelte:migrate.md +0 -79
  326. package/cli-tool/components/commands/svelte/svelte:optimize.md +0 -99
  327. package/cli-tool/components/commands/svelte/svelte:scaffold.md +0 -89
  328. package/cli-tool/components/commands/svelte/svelte:storybook-migrate.md +0 -204
  329. package/cli-tool/components/commands/svelte/svelte:storybook-mock.md +0 -213
  330. package/cli-tool/components/commands/svelte/svelte:storybook-setup.md +0 -113
  331. package/cli-tool/components/commands/svelte/svelte:storybook-story.md +0 -145
  332. package/cli-tool/components/commands/svelte/svelte:storybook-troubleshoot.md +0 -191
  333. package/cli-tool/components/commands/svelte/svelte:storybook.md +0 -48
  334. package/cli-tool/components/commands/svelte/svelte:test-coverage.md +0 -77
  335. package/cli-tool/components/commands/svelte/svelte:test-fix.md +0 -74
  336. package/cli-tool/components/commands/svelte/svelte:test-setup.md +0 -85
  337. package/cli-tool/components/commands/svelte/svelte:test.md +0 -60
  338. package/cli-tool/components/commands/sync/bidirectional-sync.md +0 -37
  339. package/cli-tool/components/commands/sync/bulk-import-issues.md +0 -37
  340. package/cli-tool/components/commands/sync/cross-reference-manager.md +0 -37
  341. package/cli-tool/components/commands/sync/issue-to-linear-task.md +0 -37
  342. package/cli-tool/components/commands/sync/linear-task-to-issue.md +0 -37
  343. package/cli-tool/components/commands/sync/sync-automation-setup.md +0 -37
  344. package/cli-tool/components/commands/sync/sync-conflict-resolver.md +0 -37
  345. package/cli-tool/components/commands/sync/sync-health-monitor.md +0 -37
  346. package/cli-tool/components/commands/sync/sync-issues-to-linear.md +0 -37
  347. package/cli-tool/components/commands/sync/sync-linear-to-issues.md +0 -37
  348. package/cli-tool/components/commands/sync/sync-migration-assistant.md +0 -37
  349. package/cli-tool/components/commands/sync/sync-pr-to-task.md +0 -37
  350. package/cli-tool/components/commands/sync/sync-status.md +0 -391
  351. package/cli-tool/components/commands/sync/task-from-pr.md +0 -37
  352. package/cli-tool/components/commands/team/architecture-review.md +0 -37
  353. package/cli-tool/components/commands/team/decision-quality-analyzer.md +0 -37
  354. package/cli-tool/components/commands/team/dependency-mapper.md +0 -37
  355. package/cli-tool/components/commands/team/estimate-assistant.md +0 -37
  356. package/cli-tool/components/commands/team/issue-triage.md +0 -37
  357. package/cli-tool/components/commands/team/memory-spring-cleaning.md +0 -37
  358. package/cli-tool/components/commands/team/migration-assistant.md +0 -37
  359. package/cli-tool/components/commands/team/retrospective-analyzer.md +0 -37
  360. package/cli-tool/components/commands/team/session-learning-capture.md +0 -37
  361. package/cli-tool/components/commands/team/sprint-planning.md +0 -189
  362. package/cli-tool/components/commands/team/standup-report.md +0 -37
  363. package/cli-tool/components/commands/team/team-knowledge-mapper.md +0 -37
  364. package/cli-tool/components/commands/team/team-velocity-tracker.md +0 -37
  365. package/cli-tool/components/commands/team/team-workload-balancer.md +0 -37
  366. package/cli-tool/components/commands/testing/add-mutation-testing.md +0 -37
  367. package/cli-tool/components/commands/testing/add-property-based-testing.md +0 -37
  368. package/cli-tool/components/commands/testing/e2e-setup.md +0 -37
  369. package/cli-tool/components/commands/testing/generate-test-cases.md +0 -37
  370. package/cli-tool/components/commands/testing/generate-tests.md +0 -82
  371. package/cli-tool/components/commands/testing/setup-comprehensive-testing.md +0 -37
  372. package/cli-tool/components/commands/testing/setup-load-testing.md +0 -37
  373. package/cli-tool/components/commands/testing/setup-visual-testing.md +0 -37
  374. package/cli-tool/components/commands/testing/test-automation-orchestrator.md +0 -37
  375. package/cli-tool/components/commands/testing/test-changelog-automation.md +0 -37
  376. package/cli-tool/components/commands/testing/test-coverage.md +0 -37
  377. package/cli-tool/components/commands/testing/test-quality-analyzer.md +0 -37
  378. package/cli-tool/components/commands/testing/testing_plan_integration.md +0 -37
  379. package/cli-tool/components/commands/testing/write-tests.md +0 -37
  380. package/cli-tool/components/commands/utilities/all-tools.md +0 -31
  381. package/cli-tool/components/commands/utilities/architecture-scenario-explorer.md +0 -375
  382. package/cli-tool/components/commands/utilities/check-file.md +0 -53
  383. package/cli-tool/components/commands/utilities/clean-branches.md +0 -243
  384. package/cli-tool/components/commands/utilities/clean.md +0 -1
  385. package/cli-tool/components/commands/utilities/code-permutation-tester.md +0 -341
  386. package/cli-tool/components/commands/utilities/code-review.md +0 -70
  387. package/cli-tool/components/commands/utilities/code-to-task.md +0 -583
  388. package/cli-tool/components/commands/utilities/context-prime.md +0 -1
  389. package/cli-tool/components/commands/utilities/debug-error.md +0 -121
  390. package/cli-tool/components/commands/utilities/directory-deep-dive.md +0 -34
  391. package/cli-tool/components/commands/utilities/explain-code.md +0 -194
  392. package/cli-tool/components/commands/utilities/fix-issue.md +0 -85
  393. package/cli-tool/components/commands/utilities/generate-linear-worklog.md +0 -113
  394. package/cli-tool/components/commands/utilities/git-status.md +0 -39
  395. package/cli-tool/components/commands/utilities/initref.md +0 -3
  396. package/cli-tool/components/commands/utilities/prime.md +0 -41
  397. package/cli-tool/components/commands/utilities/refactor-code.md +0 -116
  398. package/cli-tool/components/commands/utilities/ultra-think.md +0 -153
  399. package/cli-tool/components/hooks/HOOK_PATTERNS_COMPRESSED.json +0 -1
  400. package/cli-tool/components/hooks/automation/build-on-change.json +0 -16
  401. package/cli-tool/components/hooks/automation/dependency-checker.json +0 -16
  402. package/cli-tool/components/hooks/automation/deployment-health-monitor.json +0 -29
  403. package/cli-tool/components/hooks/automation/discord-detailed-notifications.json +0 -26
  404. package/cli-tool/components/hooks/automation/discord-error-notifications.json +0 -37
  405. package/cli-tool/components/hooks/automation/discord-notifications.json +0 -25
  406. package/cli-tool/components/hooks/automation/simple-notifications.json +0 -16
  407. package/cli-tool/components/hooks/automation/slack-detailed-notifications.json +0 -26
  408. package/cli-tool/components/hooks/automation/slack-error-notifications.json +0 -37
  409. package/cli-tool/components/hooks/automation/slack-notifications.json +0 -25
  410. package/cli-tool/components/hooks/automation/telegram-detailed-notifications.json +0 -26
  411. package/cli-tool/components/hooks/automation/telegram-error-notifications.json +0 -37
  412. package/cli-tool/components/hooks/automation/telegram-notifications.json +0 -25
  413. package/cli-tool/components/hooks/automation/vercel-auto-deploy.json +0 -17
  414. package/cli-tool/components/hooks/automation/vercel-environment-sync.json +0 -29
  415. package/cli-tool/components/hooks/development-tools/change-tracker.json +0 -25
  416. package/cli-tool/components/hooks/development-tools/command-logger.json +0 -16
  417. package/cli-tool/components/hooks/development-tools/file-backup.json +0 -16
  418. package/cli-tool/components/hooks/development-tools/lint-on-save.json +0 -16
  419. package/cli-tool/components/hooks/development-tools/nextjs-code-quality-enforcer.json +0 -17
  420. package/cli-tool/components/hooks/development-tools/smart-formatting.json +0 -16
  421. package/cli-tool/components/hooks/git-workflow/auto-git-add.json +0 -16
  422. package/cli-tool/components/hooks/git-workflow/smart-commit.json +0 -25
  423. package/cli-tool/components/hooks/performance/performance-budget-guard.json +0 -27
  424. package/cli-tool/components/hooks/performance/performance-monitor.json +0 -27
  425. package/cli-tool/components/hooks/post-tool/format-javascript-files.json +0 -16
  426. package/cli-tool/components/hooks/post-tool/format-python-files.json +0 -16
  427. package/cli-tool/components/hooks/post-tool/git-add-changes.json +0 -25
  428. package/cli-tool/components/hooks/post-tool/run-tests-after-changes.json +0 -16
  429. package/cli-tool/components/hooks/pre-tool/backup-before-edit.json +0 -16
  430. package/cli-tool/components/hooks/pre-tool/notify-before-bash.json +0 -16
  431. package/cli-tool/components/hooks/security/file-protection.json +0 -16
  432. package/cli-tool/components/hooks/security/security-scanner.json +0 -16
  433. package/cli-tool/components/hooks/testing/test-runner.json +0 -16
  434. package/cli-tool/components/mcps/browser_automation/browser-use-mcp-server.json +0 -20
  435. package/cli-tool/components/mcps/browser_automation/browsermcp.json +0 -9
  436. package/cli-tool/components/mcps/browser_automation/mcp-server-browserbase.json +0 -14
  437. package/cli-tool/components/mcps/browser_automation/mcp-server-playwright.json +0 -9
  438. package/cli-tool/components/mcps/browser_automation/playwright-mcp-server.json +0 -9
  439. package/cli-tool/components/mcps/browser_automation/playwright-mcp.json +0 -11
  440. package/cli-tool/components/mcps/database/mysql-integration.json +0 -12
  441. package/cli-tool/components/mcps/database/postgresql-integration.json +0 -12
  442. package/cli-tool/components/mcps/database/supabase.json +0 -17
  443. package/cli-tool/components/mcps/deepgraph/deepgraph-nextjs.json +0 -13
  444. package/cli-tool/components/mcps/deepgraph/deepgraph-react.json +0 -13
  445. package/cli-tool/components/mcps/deepgraph/deepgraph-typescript.json +0 -13
  446. package/cli-tool/components/mcps/deepgraph/deepgraph-vue.json +0 -13
  447. package/cli-tool/components/mcps/devtools/circleci.json +0 -13
  448. package/cli-tool/components/mcps/devtools/context7.json +0 -9
  449. package/cli-tool/components/mcps/devtools/firefly-mcp.json +0 -13
  450. package/cli-tool/components/mcps/devtools/ios-simulator-mcp.json +0 -9
  451. package/cli-tool/components/mcps/devtools/just-mcp.json +0 -9
  452. package/cli-tool/components/mcps/devtools/leetcode.json +0 -8
  453. package/cli-tool/components/mcps/devtools/mcp-server-atlassian-bitbucket.json +0 -9
  454. package/cli-tool/components/mcps/devtools/mcp-server-trello.json +0 -12
  455. package/cli-tool/components/mcps/filesystem/filesystem-access.json +0 -13
  456. package/cli-tool/components/mcps/integration/github-integration.json +0 -12
  457. package/cli-tool/components/mcps/integration/memory-integration.json +0 -9
  458. package/cli-tool/components/mcps/marketing/facebook-ads-mcp-server.json +0 -13
  459. package/cli-tool/components/mcps/marketing/google-ads-mcp-server.json +0 -11
  460. package/cli-tool/components/mcps/web/web-fetch.json +0 -9
  461. package/cli-tool/components/sandbox/README.md +0 -169
  462. package/cli-tool/components/sandbox/e2b/.env.example +0 -10
  463. package/cli-tool/components/sandbox/e2b/SANDBOX_DEBUGGING.md +0 -203
  464. package/cli-tool/components/sandbox/e2b/claude-code-sandbox.md +0 -110
  465. package/cli-tool/components/sandbox/e2b/e2b-launcher.py +0 -355
  466. package/cli-tool/components/sandbox/e2b/e2b-monitor.py +0 -229
  467. package/cli-tool/components/sandbox/e2b/requirements.txt +0 -1
  468. package/cli-tool/components/settings/api/bedrock-configuration.json +0 -7
  469. package/cli-tool/components/settings/api/corporate-proxy.json +0 -7
  470. package/cli-tool/components/settings/api/custom-headers.json +0 -6
  471. package/cli-tool/components/settings/api/vertex-configuration.json +0 -8
  472. package/cli-tool/components/settings/authentication/api-key-helper.json +0 -7
  473. package/cli-tool/components/settings/authentication/force-claudeai-login.json +0 -4
  474. package/cli-tool/components/settings/authentication/force-console-login.json +0 -4
  475. package/cli-tool/components/settings/cleanup/retention-7-days.json +0 -4
  476. package/cli-tool/components/settings/cleanup/retention-90-days.json +0 -4
  477. package/cli-tool/components/settings/environment/bash-timeouts.json +0 -8
  478. package/cli-tool/components/settings/environment/development-utils.json +0 -8
  479. package/cli-tool/components/settings/environment/performance-optimization.json +0 -8
  480. package/cli-tool/components/settings/environment/privacy-focused.json +0 -10
  481. package/cli-tool/components/settings/global/aws-credentials.json +0 -5
  482. package/cli-tool/components/settings/global/custom-model.json +0 -7
  483. package/cli-tool/components/settings/global/git-commit-settings.json +0 -4
  484. package/cli-tool/components/settings/mcp/disable-risky-servers.json +0 -8
  485. package/cli-tool/components/settings/mcp/enable-all-project-servers.json +0 -4
  486. package/cli-tool/components/settings/mcp/enable-specific-servers.json +0 -8
  487. package/cli-tool/components/settings/mcp/mcp-timeouts.json +0 -8
  488. package/cli-tool/components/settings/model/use-haiku.json +0 -4
  489. package/cli-tool/components/settings/model/use-sonnet.json +0 -4
  490. package/cli-tool/components/settings/permissions/additional-directories.json +0 -11
  491. package/cli-tool/components/settings/permissions/allow-git-operations.json +0 -14
  492. package/cli-tool/components/settings/permissions/allow-npm-commands.json +0 -11
  493. package/cli-tool/components/settings/permissions/deny-sensitive-files.json +0 -11
  494. package/cli-tool/components/settings/permissions/development-mode.json +0 -31
  495. package/cli-tool/components/settings/permissions/read-only-mode.json +0 -18
  496. package/cli-tool/components/settings/statusline/asset-pipeline-controller-statusline.json +0 -7
  497. package/cli-tool/components/settings/statusline/bug-circus-statusline.json +0 -7
  498. package/cli-tool/components/settings/statusline/code-casino-statusline.json +0 -7
  499. package/cli-tool/components/settings/statusline/code-spaceship-statusline.json +0 -7
  500. package/cli-tool/components/settings/statusline/colorful-statusline.json +0 -7
  501. package/cli-tool/components/settings/statusline/command-statusline.json +0 -8
  502. package/cli-tool/components/settings/statusline/context-monitor.json +0 -7
  503. package/cli-tool/components/settings/statusline/context-monitor.py +0 -236
  504. package/cli-tool/components/settings/statusline/data-ocean-statusline.json +0 -7
  505. package/cli-tool/components/settings/statusline/emotion-theater-statusline.json +0 -7
  506. package/cli-tool/components/settings/statusline/game-performance-monitor-statusline.json +0 -7
  507. package/cli-tool/components/settings/statusline/git-branch-statusline.json +0 -7
  508. package/cli-tool/components/settings/statusline/minimal-statusline.json +0 -7
  509. package/cli-tool/components/settings/statusline/multiplatform-build-status-statusline.json +0 -7
  510. package/cli-tool/components/settings/statusline/productivity-rainbow-statusline.json +0 -7
  511. package/cli-tool/components/settings/statusline/programmer-tamagotchi-statusline.json +0 -7
  512. package/cli-tool/components/settings/statusline/programming-fitness-tracker-statusline.json +0 -7
  513. package/cli-tool/components/settings/statusline/project-info-statusline.json +0 -7
  514. package/cli-tool/components/settings/statusline/rpg-status-bar-statusline.json +0 -7
  515. package/cli-tool/components/settings/statusline/time-statusline.json +0 -7
  516. package/cli-tool/components/settings/statusline/unity-project-dashboard-statusline.json +0 -7
  517. package/cli-tool/components/settings/statusline/vercel-deployment-monitor.json +0 -7
  518. package/cli-tool/components/settings/statusline/vercel-error-alert-system.json +0 -7
  519. package/cli-tool/components/settings/statusline/vercel-multi-env-status.json +0 -7
  520. package/cli-tool/components/settings/statusline/virtual-code-garden-statusline.json +0 -7
  521. package/cli-tool/components/settings/statusline/zero-config-deployment-monitor.json +0 -7
  522. package/cli-tool/components/settings/telemetry/custom-telemetry.json +0 -7
  523. package/cli-tool/components/settings/telemetry/disable-telemetry.json +0 -6
  524. package/cli-tool/components/settings/telemetry/enable-telemetry.json +0 -6
  525. package/cli-tool/docs_to_claude/ANALYTICS_STATE_DETECTION.md +0 -183
  526. package/cli-tool/docs_to_claude/ARCHITECTURE.md +0 -472
  527. package/cli-tool/docs_to_claude/BLOG_WRITING_GUIDE.md +0 -438
  528. package/cli-tool/docs_to_claude/CLAUDE_DATA_STRUCTURE.md +0 -400
  529. package/cli-tool/docs_to_claude/COMMANDS_GUIDE.md +0 -909
  530. package/cli-tool/docs_to_claude/CONVERSATION_STATE_IMPROVEMENTS.md +0 -154
  531. package/cli-tool/docs_to_claude/DEBUG_TYPING_DETECTION.md +0 -95
  532. package/cli-tool/docs_to_claude/DOWNLOAD_TRACKING.md +0 -291
  533. package/cli-tool/docs_to_claude/ENHANCED_STATE_DETECTION.md +0 -122
  534. package/cli-tool/docs_to_claude/HEALTH_CHECK_IMPLEMENTATION.md +0 -135
  535. package/cli-tool/docs_to_claude/HOOKS_GUIDE.md +0 -1249
  536. package/cli-tool/docs_to_claude/STATUSLINE_GUIDE.md +0 -1123
  537. package/cli-tool/docs_to_claude/SUBAGENTS_GUIDE.md +0 -566
  538. package/cli-tool/docs_to_claude/SUB_AGENTS.md +0 -329
  539. package/cli-tool/jest.config.js +0 -84
  540. package/cli-tool/package-lock.json +0 -5471
  541. package/cli-tool/package.json +0 -95
  542. package/cli-tool/templates/common/.claude/commands/git-workflow.md +0 -239
  543. package/cli-tool/templates/common/.claude/commands/project-setup.md +0 -316
  544. package/cli-tool/templates/common/.mcp.json +0 -41
  545. package/cli-tool/templates/common/CLAUDE.md +0 -109
  546. package/cli-tool/templates/common/README.md +0 -96
  547. package/cli-tool/templates/go/.mcp.json +0 -78
  548. package/cli-tool/templates/go/README.md +0 -25
  549. package/cli-tool/templates/javascript-typescript/.claude/commands/api-endpoint.md +0 -51
  550. package/cli-tool/templates/javascript-typescript/.claude/commands/debug.md +0 -52
  551. package/cli-tool/templates/javascript-typescript/.claude/commands/lint.md +0 -48
  552. package/cli-tool/templates/javascript-typescript/.claude/commands/npm-scripts.md +0 -48
  553. package/cli-tool/templates/javascript-typescript/.claude/commands/refactor.md +0 -55
  554. package/cli-tool/templates/javascript-typescript/.claude/commands/test.md +0 -61
  555. package/cli-tool/templates/javascript-typescript/.claude/commands/typescript-migrate.md +0 -51
  556. package/cli-tool/templates/javascript-typescript/.claude/settings.json +0 -142
  557. package/cli-tool/templates/javascript-typescript/.mcp.json +0 -80
  558. package/cli-tool/templates/javascript-typescript/CLAUDE.md +0 -185
  559. package/cli-tool/templates/javascript-typescript/README.md +0 -259
  560. package/cli-tool/templates/javascript-typescript/examples/angular-app/.claude/commands/components.md +0 -63
  561. package/cli-tool/templates/javascript-typescript/examples/angular-app/.claude/commands/services.md +0 -62
  562. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/api-endpoint.md +0 -46
  563. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/database.md +0 -56
  564. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/middleware.md +0 -61
  565. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/route.md +0 -57
  566. package/cli-tool/templates/javascript-typescript/examples/node-api/CLAUDE.md +0 -102
  567. package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/component.md +0 -29
  568. package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/hooks.md +0 -44
  569. package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/state-management.md +0 -45
  570. package/cli-tool/templates/javascript-typescript/examples/react-app/CLAUDE.md +0 -81
  571. package/cli-tool/templates/javascript-typescript/examples/react-app/agents/react-performance-optimization.md +0 -530
  572. package/cli-tool/templates/javascript-typescript/examples/react-app/agents/react-state-management.md +0 -295
  573. package/cli-tool/templates/javascript-typescript/examples/vue-app/.claude/commands/components.md +0 -46
  574. package/cli-tool/templates/javascript-typescript/examples/vue-app/.claude/commands/composables.md +0 -51
  575. package/cli-tool/templates/python/.claude/commands/lint.md +0 -111
  576. package/cli-tool/templates/python/.claude/commands/test.md +0 -73
  577. package/cli-tool/templates/python/.claude/settings.json +0 -153
  578. package/cli-tool/templates/python/.mcp.json +0 -78
  579. package/cli-tool/templates/python/CLAUDE.md +0 -276
  580. package/cli-tool/templates/python/examples/django-app/.claude/commands/admin.md +0 -264
  581. package/cli-tool/templates/python/examples/django-app/.claude/commands/django-model.md +0 -124
  582. package/cli-tool/templates/python/examples/django-app/.claude/commands/views.md +0 -222
  583. package/cli-tool/templates/python/examples/django-app/CLAUDE.md +0 -313
  584. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/api-endpoints.md +0 -513
  585. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/auth.md +0 -775
  586. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/database.md +0 -657
  587. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/deployment.md +0 -160
  588. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/testing.md +0 -927
  589. package/cli-tool/templates/python/examples/fastapi-app/CLAUDE.md +0 -229
  590. package/cli-tool/templates/python/examples/flask-app/.claude/commands/app-factory.md +0 -384
  591. package/cli-tool/templates/python/examples/flask-app/.claude/commands/blueprint.md +0 -243
  592. package/cli-tool/templates/python/examples/flask-app/.claude/commands/database.md +0 -410
  593. package/cli-tool/templates/python/examples/flask-app/.claude/commands/deployment.md +0 -620
  594. package/cli-tool/templates/python/examples/flask-app/.claude/commands/flask-route.md +0 -217
  595. package/cli-tool/templates/python/examples/flask-app/.claude/commands/testing.md +0 -559
  596. package/cli-tool/templates/python/examples/flask-app/CLAUDE.md +0 -391
  597. package/cli-tool/templates/ruby/.claude/commands/model.md +0 -360
  598. package/cli-tool/templates/ruby/.claude/commands/test.md +0 -480
  599. package/cli-tool/templates/ruby/.claude/settings.json +0 -146
  600. package/cli-tool/templates/ruby/.mcp.json +0 -83
  601. package/cli-tool/templates/ruby/CLAUDE.md +0 -284
  602. package/cli-tool/templates/ruby/examples/rails-app/.claude/commands/authentication.md +0 -490
  603. package/cli-tool/templates/ruby/examples/rails-app/CLAUDE.md +0 -376
  604. package/cli-tool/templates/rust/.mcp.json +0 -78
  605. package/cli-tool/templates/rust/README.md +0 -26
  606. package/cli-tool/test-commands.sh +0 -85
  607. package/cli-tool/test-detailed.sh +0 -267
  608. package/docs/CNAME +0 -1
  609. package/docs/README.md +0 -49
  610. package/docs/_config.yml +0 -43
  611. package/docs/blog/assets/aitmpl-nextjs-search.png +0 -0
  612. package/docs/blog/assets/aitmpl-supabase-search.png +0 -0
  613. package/docs/blog/assets/nextjs-vercel-claude-code-templates-cover.png +0 -0
  614. package/docs/blog/assets/supabase-claude-code-templates-cover.png +0 -0
  615. package/docs/blog/e2b-claude-code-sandbox/index.html +0 -1061
  616. package/docs/blog/index.html +0 -239
  617. package/docs/blog/nextjs-vercel-claude-code-integration/index.html +0 -1021
  618. package/docs/blog/supabase-claude-code-integration/index.html +0 -837
  619. package/docs/components-metadata.json +0 -303
  620. package/docs/components.json +0 -4072
  621. package/docs/css/blog.css +0 -821
  622. package/docs/css/stack-page.css +0 -776
  623. package/docs/css/styles.css +0 -4480
  624. package/docs/css/trending.css +0 -971
  625. package/docs/css/workflows-modal.css +0 -739
  626. package/docs/css/workflows.css +0 -1234
  627. package/docs/download-stats.html +0 -514
  628. package/docs/index.html +0 -634
  629. package/docs/js/carousel.js +0 -177
  630. package/docs/js/cart-manager.js +0 -529
  631. package/docs/js/data-loader.js +0 -626
  632. package/docs/js/generate-search-data.js +0 -82
  633. package/docs/js/index-events.js +0 -1707
  634. package/docs/js/modal-helpers.js +0 -334
  635. package/docs/js/script.js +0 -2167
  636. package/docs/js/search-functionality.js +0 -992
  637. package/docs/js/stack-router.js +0 -561
  638. package/docs/js/trending.js +0 -493
  639. package/docs/js/utils.js +0 -43
  640. package/docs/js/workflows-events.js +0 -1146
  641. package/docs/js/workflows.js +0 -627
  642. package/docs/sandbox-interface.html +0 -1406
  643. package/docs/static/img/logo.svg +0 -23
  644. package/docs/trending-data.json +0 -579
  645. package/docs/trending.html +0 -179
  646. package/docs/workflows.html +0 -379
  647. package/docu/README.md +0 -41
  648. package/docu/docs/analytics/agent-chats-manager.md +0 -33
  649. package/docu/docs/analytics/analysis-tools.md +0 -54
  650. package/docu/docs/analytics/overview.md +0 -48
  651. package/docu/docs/analytics/real-time-monitoring.md +0 -16
  652. package/docu/docs/cli-options.md +0 -90
  653. package/docu/docs/components/agents.md +0 -296
  654. package/docu/docs/components/commands.md +0 -426
  655. package/docu/docs/components/discord-notifications.md +0 -59
  656. package/docu/docs/components/hooks.md +0 -381
  657. package/docu/docs/components/mcps.md +0 -510
  658. package/docu/docs/components/overview.md +0 -287
  659. package/docu/docs/components/settings.md +0 -223
  660. package/docu/docs/components/slack-notifications.md +0 -67
  661. package/docu/docs/components/telegram-notifications.md +0 -73
  662. package/docu/docs/contributing.md +0 -11
  663. package/docu/docs/health-check/overview.md +0 -33
  664. package/docu/docs/intro.md +0 -109
  665. package/docu/docs/project-setup/automation-hooks.md +0 -14
  666. package/docu/docs/project-setup/framework-specific-setup.md +0 -86
  667. package/docu/docs/project-setup/interactive-setup.md +0 -59
  668. package/docu/docs/project-setup/mcp-integration.md +0 -17
  669. package/docu/docs/project-setup/supported-languages-frameworks.md +0 -15
  670. package/docu/docs/project-setup/what-gets-installed.md +0 -176
  671. package/docu/docs/safety-features.md +0 -13
  672. package/docu/docs/support.md +0 -13
  673. package/docu/docs/usage-examples/advanced-options.md +0 -87
  674. package/docu/docs/usage-examples/alternative-commands.md +0 -31
  675. package/docu/docs/usage-examples/framework-specific-quick-setup.md +0 -47
  676. package/docu/docs/usage-examples/interactive-setup.md +0 -16
  677. package/docu/docusaurus.config.ts +0 -163
  678. package/docu/package-lock.json +0 -16185
  679. package/docu/package.json +0 -47
  680. package/docu/sidebars.ts +0 -85
  681. package/docu/src/components/HomepageFeatures/index.tsx +0 -82
  682. package/docu/src/components/HomepageFeatures/styles.module.css +0 -131
  683. package/docu/src/css/custom.css +0 -475
  684. package/docu/src/pages/index.module.css +0 -109
  685. package/docu/src/pages/index.tsx +0 -65
  686. package/docu/src/pages/markdown-page.md +0 -7
  687. package/docu/static/img/favicon.ico +0 -0
  688. package/docu/static/img/logo.svg +0 -23
  689. package/docu/tsconfig.json +0 -8
  690. package/generate_components_json.py +0 -199
  691. package/social-preview.png +0 -0
  692. package/vercel.json +0 -75
  693. /package/{cli-tool/bin → bin}/create-claude-config.js +0 -0
  694. /package/{cli-tool/src → src}/agents.js +0 -0
  695. /package/{cli-tool/src → src}/analytics/core/AgentAnalyzer.js +0 -0
  696. /package/{cli-tool/src → src}/analytics/core/ConversationAnalyzer.js +0 -0
  697. /package/{cli-tool/src → src}/analytics/core/FileWatcher.js +0 -0
  698. /package/{cli-tool/src → src}/analytics/core/ProcessDetector.js +0 -0
  699. /package/{cli-tool/src → src}/analytics/core/SessionAnalyzer.js +0 -0
  700. /package/{cli-tool/src → src}/analytics/core/StateCalculator.js +0 -0
  701. /package/{cli-tool/src → src}/analytics/data/DataCache.js +0 -0
  702. /package/{cli-tool/src → src}/analytics/notifications/NotificationManager.js +0 -0
  703. /package/{cli-tool/src → src}/analytics/notifications/WebSocketServer.js +0 -0
  704. /package/{cli-tool/src → src}/analytics/utils/PerformanceMonitor.js +0 -0
  705. /package/{cli-tool/src → src}/analytics-web/FRONT_ARCHITECTURE.md +0 -0
  706. /package/{cli-tool/src → src}/analytics-web/assets/js/main.js.deprecated +0 -0
  707. /package/{cli-tool/src → src}/analytics-web/chats_mobile.html +0 -0
  708. /package/{cli-tool/src → src}/analytics-web/components/ActivityHeatmap.js +0 -0
  709. /package/{cli-tool/src → src}/analytics-web/components/AgentAnalytics.js +0 -0
  710. /package/{cli-tool/src → src}/analytics-web/components/App.js +0 -0
  711. /package/{cli-tool/src → src}/analytics-web/components/Charts.js +0 -0
  712. /package/{cli-tool/src → src}/analytics-web/components/ConversationTable.js +0 -0
  713. /package/{cli-tool/src → src}/analytics-web/components/DashboardPage.js +0 -0
  714. /package/{cli-tool/src → src}/analytics-web/components/HeaderComponent.js +0 -0
  715. /package/{cli-tool/src → src}/analytics-web/components/SessionTimer.js +0 -0
  716. /package/{cli-tool/src → src}/analytics-web/components/Sidebar.js +0 -0
  717. /package/{cli-tool/src → src}/analytics-web/components/ToolDisplay.js +0 -0
  718. /package/{cli-tool/src → src}/analytics-web/index.html +0 -0
  719. /package/{cli-tool/src → src}/analytics-web/index.html.original +0 -0
  720. /package/{cli-tool/src → src}/analytics-web/services/DataService.js +0 -0
  721. /package/{cli-tool/src → src}/analytics-web/services/StateService.js +0 -0
  722. /package/{cli-tool/src → src}/analytics-web/services/WebSocketService.js +0 -0
  723. /package/{cli-tool/src → src}/analytics.js +0 -0
  724. /package/{docu/static/.nojekyll → src/analytics.log} +0 -0
  725. /package/{cli-tool/src → src}/chats-mobile.js +0 -0
  726. /package/{cli-tool/src → src}/claude-api-proxy.js +0 -0
  727. /package/{cli-tool/src → src}/command-scanner.js +0 -0
  728. /package/{cli-tool/src → src}/command-stats.js +0 -0
  729. /package/{cli-tool/src → src}/console-bridge.js +0 -0
  730. /package/{cli-tool/src → src}/file-operations.js +0 -0
  731. /package/{cli-tool/src → src}/health-check.js +0 -0
  732. /package/{cli-tool/src → src}/hook-scanner.js +0 -0
  733. /package/{cli-tool/src → src}/hook-stats.js +0 -0
  734. /package/{cli-tool/src → src}/index.js +0 -0
  735. /package/{cli-tool/src → src}/mcp-stats.js +0 -0
  736. /package/{cli-tool/src → src}/prompts.js +0 -0
  737. /package/{cli-tool/src → src}/sandbox-server.js +0 -0
  738. /package/{cli-tool/src → src}/sdk/global-agent-manager.js +0 -0
  739. /package/{cli-tool/src → src}/templates.js +0 -0
  740. /package/{cli-tool/src → src}/test-activity-data.json +0 -0
  741. /package/{cli-tool/src → src}/test-console-bridge.js +0 -0
  742. /package/{cli-tool/src → src}/tracking-service.js +0 -0
  743. /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
- });