claude-code-templates 1.21.1 → 1.21.3

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