claude-code-templates 1.21.13 → 1.22.0

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