claude-code-templates 1.21.11 → 1.21.13

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 (797) hide show
  1. package/.claude/agents/agent-expert.md +477 -0
  2. package/.claude/agents/cli-ui-designer.md +405 -0
  3. package/.claude/agents/command-expert.md +421 -0
  4. package/.claude/agents/docusaurus-expert.md +173 -0
  5. package/.claude/agents/frontend-developer.md +32 -0
  6. package/.claude/agents/mcp-expert.md +258 -0
  7. package/.claude/commands/lint.md +111 -0
  8. package/.claude/commands/test.md +73 -0
  9. package/.claude/settings.local.json +56 -0
  10. package/.env.example +26 -0
  11. package/.github/WORKFLOWS_REFERENCE.md +88 -0
  12. package/.github/workflows/deploy-docusaurus.yml +31 -0
  13. package/.github/workflows/deploy.yml +33 -0
  14. package/.github/workflows/publish-package.yml +125 -0
  15. package/.mcp.json +4 -0
  16. package/AGENTS.md +4 -0
  17. package/CLAUDE.md +482 -0
  18. package/CLAUDE_JOBS_README.md +148 -0
  19. package/CODE_OF_CONDUCT.md +82 -0
  20. package/CONTRIBUTING.md +505 -0
  21. package/DEPLOYMENT.md +60 -0
  22. package/LICENSE +21 -0
  23. package/README.md +77 -79
  24. package/ROADMAP.md +278 -0
  25. package/SECURITY.md +65 -0
  26. package/api/index.html +1 -0
  27. package/api/package.json +7 -0
  28. package/api/track-download-supabase.js +150 -0
  29. package/cli-tool/Makefile +102 -0
  30. package/cli-tool/README.md +126 -0
  31. package/cli-tool/TESTING.md +262 -0
  32. package/cli-tool/components/agents/ai-specialists/ai-ethics-advisor.md +195 -0
  33. package/cli-tool/components/agents/ai-specialists/hackathon-ai-strategist.md +46 -0
  34. package/cli-tool/components/agents/ai-specialists/llms-maintainer.md +94 -0
  35. package/cli-tool/components/agents/ai-specialists/model-evaluator.md +150 -0
  36. package/cli-tool/components/agents/ai-specialists/prompt-engineer.md +112 -0
  37. package/cli-tool/components/agents/ai-specialists/search-specialist.md +59 -0
  38. package/cli-tool/components/agents/ai-specialists/task-decomposition-expert.md +97 -0
  39. package/cli-tool/components/agents/api-graphql/graphql-architect.md +208 -0
  40. package/cli-tool/components/agents/api-graphql/graphql-performance-optimizer.md +357 -0
  41. package/cli-tool/components/agents/api-graphql/graphql-security-specialist.md +519 -0
  42. package/cli-tool/components/agents/blockchain-web3/smart-contract-auditor.md +32 -0
  43. package/cli-tool/components/agents/blockchain-web3/smart-contract-specialist.md +32 -0
  44. package/cli-tool/components/agents/blockchain-web3/web3-integration-specialist.md +32 -0
  45. package/cli-tool/components/agents/business-marketing/business-analyst.md +194 -0
  46. package/cli-tool/components/agents/business-marketing/content-marketer.md +36 -0
  47. package/cli-tool/components/agents/business-marketing/customer-support.md +36 -0
  48. package/cli-tool/components/agents/business-marketing/legal-advisor.md +50 -0
  49. package/cli-tool/components/agents/business-marketing/marketing-attribution-analyst.md +352 -0
  50. package/cli-tool/components/agents/business-marketing/payment-integration.md +33 -0
  51. package/cli-tool/components/agents/business-marketing/product-strategist.md +212 -0
  52. package/cli-tool/components/agents/business-marketing/risk-manager.md +42 -0
  53. package/cli-tool/components/agents/business-marketing/sales-automator.md +36 -0
  54. package/cli-tool/components/agents/data-ai/ai-engineer.md +33 -0
  55. package/cli-tool/components/agents/data-ai/computer-vision-engineer.md +562 -0
  56. package/cli-tool/components/agents/data-ai/data-engineer.md +33 -0
  57. package/cli-tool/components/agents/data-ai/data-scientist.md +337 -0
  58. package/cli-tool/components/agents/data-ai/ml-engineer.md +33 -0
  59. package/cli-tool/components/agents/data-ai/mlops-engineer.md +58 -0
  60. package/cli-tool/components/agents/data-ai/nlp-engineer.md +680 -0
  61. package/cli-tool/components/agents/data-ai/quant-analyst.md +33 -0
  62. package/cli-tool/components/agents/database/database-admin.md +33 -0
  63. package/cli-tool/components/agents/database/database-architect.md +590 -0
  64. package/cli-tool/components/agents/database/database-optimization.md +33 -0
  65. package/cli-tool/components/agents/database/database-optimizer.md +33 -0
  66. package/cli-tool/components/agents/database/neon-auth-specialist.md +175 -0
  67. package/cli-tool/components/agents/database/neon-database-architect.md +141 -0
  68. package/cli-tool/components/agents/database/neon-expert.md +846 -0
  69. package/cli-tool/components/agents/database/nosql-specialist.md +708 -0
  70. package/cli-tool/components/agents/database/supabase-schema-architect.md +138 -0
  71. package/cli-tool/components/agents/deep-research-team/academic-researcher.md +33 -0
  72. package/cli-tool/components/agents/deep-research-team/agent-overview.md +235 -0
  73. package/cli-tool/components/agents/deep-research-team/competitive-intelligence-analyst.md +530 -0
  74. package/cli-tool/components/agents/deep-research-team/data-analyst.md +112 -0
  75. package/cli-tool/components/agents/deep-research-team/fact-checker.md +553 -0
  76. package/cli-tool/components/agents/deep-research-team/query-clarifier.md +73 -0
  77. package/cli-tool/components/agents/deep-research-team/report-generator.md +108 -0
  78. package/cli-tool/components/agents/deep-research-team/research-brief-generator.md +108 -0
  79. package/cli-tool/components/agents/deep-research-team/research-coordinator.md +94 -0
  80. package/cli-tool/components/agents/deep-research-team/research-orchestrator.md +119 -0
  81. package/cli-tool/components/agents/deep-research-team/research-synthesizer.md +109 -0
  82. package/cli-tool/components/agents/deep-research-team/technical-researcher.md +95 -0
  83. package/cli-tool/components/agents/development-team/backend-architect.md +31 -0
  84. package/cli-tool/components/agents/development-team/cli-ui-designer.md +405 -0
  85. package/cli-tool/components/agents/development-team/devops-engineer.md +886 -0
  86. package/cli-tool/components/agents/development-team/frontend-developer.md +32 -0
  87. package/cli-tool/components/agents/development-team/fullstack-developer.md +1205 -0
  88. package/cli-tool/components/agents/development-team/ios-developer.md +36 -0
  89. package/cli-tool/components/agents/development-team/mobile-developer.md +33 -0
  90. package/cli-tool/components/agents/development-team/ui-ux-designer.md +36 -0
  91. package/cli-tool/components/agents/development-tools/code-reviewer.md +30 -0
  92. package/cli-tool/components/agents/development-tools/command-expert.md +422 -0
  93. package/cli-tool/components/agents/development-tools/context-manager.md +65 -0
  94. package/cli-tool/components/agents/development-tools/debugger.md +31 -0
  95. package/cli-tool/components/agents/development-tools/dx-optimizer.md +64 -0
  96. package/cli-tool/components/agents/development-tools/error-detective.md +33 -0
  97. package/cli-tool/components/agents/development-tools/mcp-expert.md +259 -0
  98. package/cli-tool/components/agents/development-tools/performance-profiler.md +799 -0
  99. package/cli-tool/components/agents/development-tools/test-engineer.md +936 -0
  100. package/cli-tool/components/agents/devops-infrastructure/cloud-architect.md +33 -0
  101. package/cli-tool/components/agents/devops-infrastructure/deployment-engineer.md +33 -0
  102. package/cli-tool/components/agents/devops-infrastructure/devops-troubleshooter.md +33 -0
  103. package/cli-tool/components/agents/devops-infrastructure/monitoring-specialist.md +36 -0
  104. package/cli-tool/components/agents/devops-infrastructure/network-engineer.md +33 -0
  105. package/cli-tool/components/agents/devops-infrastructure/security-engineer.md +971 -0
  106. package/cli-tool/components/agents/devops-infrastructure/terraform-specialist.md +36 -0
  107. package/cli-tool/components/agents/devops-infrastructure/vercel-deployment-specialist.md +357 -0
  108. package/cli-tool/components/agents/documentation/api-documenter.md +33 -0
  109. package/cli-tool/components/agents/documentation/changelog-generator.md +37 -0
  110. package/cli-tool/components/agents/documentation/docusaurus-expert.md +175 -0
  111. package/cli-tool/components/agents/documentation/technical-writer.md +37 -0
  112. package/cli-tool/components/agents/expert-advisors/agent-expert.md +491 -0
  113. package/cli-tool/components/agents/expert-advisors/architect-review.md +50 -0
  114. package/cli-tool/components/agents/expert-advisors/dependency-manager.md +45 -0
  115. package/cli-tool/components/agents/expert-advisors/documentation-expert.md +47 -0
  116. package/cli-tool/components/agents/ffmpeg-clip-team/audio-mixer.md +37 -0
  117. package/cli-tool/components/agents/ffmpeg-clip-team/audio-quality-controller.md +100 -0
  118. package/cli-tool/components/agents/ffmpeg-clip-team/podcast-content-analyzer.md +60 -0
  119. package/cli-tool/components/agents/ffmpeg-clip-team/podcast-metadata-specialist.md +46 -0
  120. package/cli-tool/components/agents/ffmpeg-clip-team/podcast-transcriber.md +68 -0
  121. package/cli-tool/components/agents/ffmpeg-clip-team/social-media-clip-creator.md +69 -0
  122. package/cli-tool/components/agents/ffmpeg-clip-team/timestamp-precision-specialist.md +98 -0
  123. package/cli-tool/components/agents/ffmpeg-clip-team/video-editor.md +37 -0
  124. package/cli-tool/components/agents/game-development/3d-artist.md +37 -0
  125. package/cli-tool/components/agents/game-development/game-designer.md +37 -0
  126. package/cli-tool/components/agents/game-development/unity-game-developer.md +110 -0
  127. package/cli-tool/components/agents/game-development/unreal-engine-developer.md +128 -0
  128. package/cli-tool/components/agents/git/git-flow-manager.md +329 -0
  129. package/cli-tool/components/agents/mcp-dev-team/mcp-deployment-orchestrator.md +101 -0
  130. package/cli-tool/components/agents/mcp-dev-team/mcp-integration-engineer.md +37 -0
  131. package/cli-tool/components/agents/mcp-dev-team/mcp-protocol-specialist.md +37 -0
  132. package/cli-tool/components/agents/mcp-dev-team/mcp-registry-navigator.md +112 -0
  133. package/cli-tool/components/agents/mcp-dev-team/mcp-security-auditor.md +70 -0
  134. package/cli-tool/components/agents/mcp-dev-team/mcp-server-architect.md +74 -0
  135. package/cli-tool/components/agents/mcp-dev-team/mcp-testing-engineer.md +106 -0
  136. package/cli-tool/components/agents/modernization/architecture-modernizer.md +37 -0
  137. package/cli-tool/components/agents/modernization/cloud-migration-specialist.md +37 -0
  138. package/cli-tool/components/agents/modernization/legacy-modernizer.md +33 -0
  139. package/cli-tool/components/agents/obsidian-ops-team/Scripts/daily_notes_connector.py +306 -0
  140. package/cli-tool/components/agents/obsidian-ops-team/Scripts/enhance_tag_standardizer.py +343 -0
  141. package/cli-tool/components/agents/obsidian-ops-team/Scripts/find_keyword_connections.py +216 -0
  142. package/cli-tool/components/agents/obsidian-ops-team/Scripts/fix_quoted_tags.py +82 -0
  143. package/cli-tool/components/agents/obsidian-ops-team/Scripts/implement_entity_connections.py +195 -0
  144. package/cli-tool/components/agents/obsidian-ops-team/Scripts/link_suggester.py +301 -0
  145. package/cli-tool/components/agents/obsidian-ops-team/Scripts/metadata_adder.py +197 -0
  146. package/cli-tool/components/agents/obsidian-ops-team/Scripts/moc_generator.py +296 -0
  147. package/cli-tool/components/agents/obsidian-ops-team/Scripts/parse_keyword_connections.py +122 -0
  148. package/cli-tool/components/agents/obsidian-ops-team/Scripts/tag_standardizer.py +387 -0
  149. package/cli-tool/components/agents/obsidian-ops-team/connection-agent.md +67 -0
  150. package/cli-tool/components/agents/obsidian-ops-team/content-curator.md +81 -0
  151. package/cli-tool/components/agents/obsidian-ops-team/metadata-agent.md +51 -0
  152. package/cli-tool/components/agents/obsidian-ops-team/moc-agent.md +112 -0
  153. package/cli-tool/components/agents/obsidian-ops-team/review-agent.md +94 -0
  154. package/cli-tool/components/agents/obsidian-ops-team/tag-agent.md +92 -0
  155. package/cli-tool/components/agents/obsidian-ops-team/vault-optimizer.md +76 -0
  156. package/cli-tool/components/agents/ocr-extraction-team/document-structure-analyzer.md +37 -0
  157. package/cli-tool/components/agents/ocr-extraction-team/markdown-syntax-formatter.md +58 -0
  158. package/cli-tool/components/agents/ocr-extraction-team/ocr-grammar-fixer.md +36 -0
  159. package/cli-tool/components/agents/ocr-extraction-team/ocr-preprocessing-optimizer.md +37 -0
  160. package/cli-tool/components/agents/ocr-extraction-team/ocr-quality-assurance.md +62 -0
  161. package/cli-tool/components/agents/ocr-extraction-team/text-comparison-validator.md +60 -0
  162. package/cli-tool/components/agents/ocr-extraction-team/visual-analysis-ocr.md +52 -0
  163. package/cli-tool/components/agents/performance-testing/load-testing-specialist.md +37 -0
  164. package/cli-tool/components/agents/performance-testing/performance-engineer.md +33 -0
  165. package/cli-tool/components/agents/performance-testing/react-performance-optimization.md +65 -0
  166. package/cli-tool/components/agents/performance-testing/test-automator.md +33 -0
  167. package/cli-tool/components/agents/performance-testing/web-vitals-optimizer.md +37 -0
  168. package/cli-tool/components/agents/podcast-creator-team/academic-research-synthesizer.md +61 -0
  169. package/cli-tool/components/agents/podcast-creator-team/comprehensive-researcher.md +49 -0
  170. package/cli-tool/components/agents/podcast-creator-team/episode-orchestrator.md +52 -0
  171. package/cli-tool/components/agents/podcast-creator-team/guest-outreach-coordinator.md +37 -0
  172. package/cli-tool/components/agents/podcast-creator-team/market-research-analyst.md +54 -0
  173. package/cli-tool/components/agents/podcast-creator-team/podcast-editor.md +37 -0
  174. package/cli-tool/components/agents/podcast-creator-team/podcast-trend-scout.md +60 -0
  175. package/cli-tool/components/agents/podcast-creator-team/project-supervisor-orchestrator.md +48 -0
  176. package/cli-tool/components/agents/podcast-creator-team/seo-podcast-optimizer.md +58 -0
  177. package/cli-tool/components/agents/podcast-creator-team/social-media-copywriter.md +57 -0
  178. package/cli-tool/components/agents/podcast-creator-team/twitter-ai-influencer-manager.md +62 -0
  179. package/cli-tool/components/agents/programming-languages/c-pro.md +36 -0
  180. package/cli-tool/components/agents/programming-languages/c-sharp-pro.md +40 -0
  181. package/cli-tool/components/agents/programming-languages/cpp-pro.md +39 -0
  182. package/cli-tool/components/agents/programming-languages/golang-pro.md +33 -0
  183. package/cli-tool/components/agents/programming-languages/javascript-pro.md +36 -0
  184. package/cli-tool/components/agents/programming-languages/php-pro.md +44 -0
  185. package/cli-tool/components/agents/programming-languages/python-pro.md +33 -0
  186. package/cli-tool/components/agents/programming-languages/rust-pro.md +36 -0
  187. package/cli-tool/components/agents/programming-languages/shell-scripting-pro.md +38 -0
  188. package/cli-tool/components/agents/programming-languages/sql-pro.md +36 -0
  189. package/cli-tool/components/agents/programming-languages/typescript-pro.md +38 -0
  190. package/cli-tool/components/agents/realtime/supabase-realtime-optimizer.md +193 -0
  191. package/cli-tool/components/agents/security/api-security-audit.md +93 -0
  192. package/cli-tool/components/agents/security/compliance-specialist.md +37 -0
  193. package/cli-tool/components/agents/security/incident-responder.md +75 -0
  194. package/cli-tool/components/agents/security/penetration-tester.md +37 -0
  195. package/cli-tool/components/agents/security/security-auditor.md +33 -0
  196. package/cli-tool/components/agents/web-tools/nextjs-architecture-expert.md +194 -0
  197. package/cli-tool/components/agents/web-tools/react-performance-optimizer.md +425 -0
  198. package/cli-tool/components/agents/web-tools/seo-analyzer.md +37 -0
  199. package/cli-tool/components/agents/web-tools/url-context-validator.md +61 -0
  200. package/cli-tool/components/agents/web-tools/url-link-extractor.md +59 -0
  201. package/cli-tool/components/agents/web-tools/web-accessibility-checker.md +37 -0
  202. package/cli-tool/components/commands/automation/act.md +57 -0
  203. package/cli-tool/components/commands/automation/ci-pipeline.md +378 -0
  204. package/cli-tool/components/commands/automation/husky.md +130 -0
  205. package/cli-tool/components/commands/automation/workflow-orchestrator.md +576 -0
  206. package/cli-tool/components/commands/database/supabase-backup-manager.md +37 -0
  207. package/cli-tool/components/commands/database/supabase-data-explorer.md +37 -0
  208. package/cli-tool/components/commands/database/supabase-migration-assistant.md +37 -0
  209. package/cli-tool/components/commands/database/supabase-performance-optimizer.md +37 -0
  210. package/cli-tool/components/commands/database/supabase-realtime-monitor.md +37 -0
  211. package/cli-tool/components/commands/database/supabase-schema-sync.md +37 -0
  212. package/cli-tool/components/commands/database/supabase-security-audit.md +37 -0
  213. package/cli-tool/components/commands/database/supabase-type-generator.md +37 -0
  214. package/cli-tool/components/commands/deployment/add-changelog.md +92 -0
  215. package/cli-tool/components/commands/deployment/blue-green-deployment.md +824 -0
  216. package/cli-tool/components/commands/deployment/changelog-demo-command.md +43 -0
  217. package/cli-tool/components/commands/deployment/ci-setup.md +323 -0
  218. package/cli-tool/components/commands/deployment/containerize-application.md +93 -0
  219. package/cli-tool/components/commands/deployment/deployment-monitoring.md +1228 -0
  220. package/cli-tool/components/commands/deployment/hotfix-deploy.md +283 -0
  221. package/cli-tool/components/commands/deployment/prepare-release.md +357 -0
  222. package/cli-tool/components/commands/deployment/rollback-deploy.md +145 -0
  223. package/cli-tool/components/commands/deployment/setup-automated-releases.md +143 -0
  224. package/cli-tool/components/commands/deployment/setup-kubernetes-deployment.md +93 -0
  225. package/cli-tool/components/commands/documentation/create-architecture-documentation.md +95 -0
  226. package/cli-tool/components/commands/documentation/create-onboarding-guide.md +93 -0
  227. package/cli-tool/components/commands/documentation/doc-api.md +242 -0
  228. package/cli-tool/components/commands/documentation/docs-maintenance.md +119 -0
  229. package/cli-tool/components/commands/documentation/generate-api-documentation.md +97 -0
  230. package/cli-tool/components/commands/documentation/interactive-documentation.md +133 -0
  231. package/cli-tool/components/commands/documentation/load-llms-txt.md +39 -0
  232. package/cli-tool/components/commands/documentation/migration-guide.md +250 -0
  233. package/cli-tool/components/commands/documentation/troubleshooting-guide.md +370 -0
  234. package/cli-tool/components/commands/documentation/update-docs.md +107 -0
  235. package/cli-tool/components/commands/game-development/game-analytics-integration.md +128 -0
  236. package/cli-tool/components/commands/game-development/game-asset-pipeline.md +108 -0
  237. package/cli-tool/components/commands/game-development/game-performance-profiler.md +78 -0
  238. package/cli-tool/components/commands/game-development/game-testing-framework.md +112 -0
  239. package/cli-tool/components/commands/game-development/unity-project-setup.md +190 -0
  240. package/cli-tool/components/commands/git/feature.md +196 -0
  241. package/cli-tool/components/commands/git/finish.md +528 -0
  242. package/cli-tool/components/commands/git/flow-status.md +438 -0
  243. package/cli-tool/components/commands/git/hotfix.md +456 -0
  244. package/cli-tool/components/commands/git/release.md +381 -0
  245. package/cli-tool/components/commands/git-workflow/branch-cleanup.md +181 -0
  246. package/cli-tool/components/commands/git-workflow/commit.md +167 -0
  247. package/cli-tool/components/commands/git-workflow/create-pr.md +19 -0
  248. package/cli-tool/components/commands/git-workflow/create-pull-request.md +126 -0
  249. package/cli-tool/components/commands/git-workflow/create-worktrees.md +174 -0
  250. package/cli-tool/components/commands/git-workflow/fix-github-issue.md +13 -0
  251. package/cli-tool/components/commands/git-workflow/git-bisect-helper.md +261 -0
  252. package/cli-tool/components/commands/git-workflow/pr-review.md +76 -0
  253. package/cli-tool/components/commands/git-workflow/update-branch-name.md +9 -0
  254. package/cli-tool/components/commands/nextjs-vercel/nextjs-api-tester.md +480 -0
  255. package/cli-tool/components/commands/nextjs-vercel/nextjs-bundle-analyzer.md +406 -0
  256. package/cli-tool/components/commands/nextjs-vercel/nextjs-component-generator.md +489 -0
  257. package/cli-tool/components/commands/nextjs-vercel/nextjs-middleware-creator.md +712 -0
  258. package/cli-tool/components/commands/nextjs-vercel/nextjs-migration-helper.md +778 -0
  259. package/cli-tool/components/commands/nextjs-vercel/nextjs-performance-audit.md +653 -0
  260. package/cli-tool/components/commands/nextjs-vercel/nextjs-scaffold.md +237 -0
  261. package/cli-tool/components/commands/nextjs-vercel/vercel-deploy-optimize.md +341 -0
  262. package/cli-tool/components/commands/nextjs-vercel/vercel-edge-function.md +810 -0
  263. package/cli-tool/components/commands/nextjs-vercel/vercel-env-sync.md +666 -0
  264. package/cli-tool/components/commands/orchestration/archive.md +414 -0
  265. package/cli-tool/components/commands/orchestration/commit.md +305 -0
  266. package/cli-tool/components/commands/orchestration/find.md +272 -0
  267. package/cli-tool/components/commands/orchestration/log.md +355 -0
  268. package/cli-tool/components/commands/orchestration/move.md +220 -0
  269. package/cli-tool/components/commands/orchestration/optimize.md +375 -0
  270. package/cli-tool/components/commands/orchestration/remove.md +301 -0
  271. package/cli-tool/components/commands/orchestration/report.md +292 -0
  272. package/cli-tool/components/commands/orchestration/resume.md +256 -0
  273. package/cli-tool/components/commands/orchestration/start.md +169 -0
  274. package/cli-tool/components/commands/orchestration/status.md +219 -0
  275. package/cli-tool/components/commands/orchestration/sync.md +294 -0
  276. package/cli-tool/components/commands/performance/add-performance-monitoring.md +84 -0
  277. package/cli-tool/components/commands/performance/implement-caching-strategy.md +84 -0
  278. package/cli-tool/components/commands/performance/optimize-api-performance.md +119 -0
  279. package/cli-tool/components/commands/performance/optimize-build.md +139 -0
  280. package/cli-tool/components/commands/performance/optimize-bundle-size.md +84 -0
  281. package/cli-tool/components/commands/performance/optimize-database-performance.md +84 -0
  282. package/cli-tool/components/commands/performance/optimize-memory-usage.md +91 -0
  283. package/cli-tool/components/commands/performance/performance-audit.md +89 -0
  284. package/cli-tool/components/commands/performance/setup-cdn-optimization.md +84 -0
  285. package/cli-tool/components/commands/performance/system-behavior-simulator.md +415 -0
  286. package/cli-tool/components/commands/project-management/add-package.md +90 -0
  287. package/cli-tool/components/commands/project-management/add-to-changelog.md +37 -0
  288. package/cli-tool/components/commands/project-management/create-feature.md +130 -0
  289. package/cli-tool/components/commands/project-management/create-jtbd.md +37 -0
  290. package/cli-tool/components/commands/project-management/create-prd.md +36 -0
  291. package/cli-tool/components/commands/project-management/create-prp.md +37 -0
  292. package/cli-tool/components/commands/project-management/init-project.md +80 -0
  293. package/cli-tool/components/commands/project-management/milestone-tracker.md +44 -0
  294. package/cli-tool/components/commands/project-management/pac-configure.md +32 -0
  295. package/cli-tool/components/commands/project-management/pac-create-epic.md +41 -0
  296. package/cli-tool/components/commands/project-management/pac-create-ticket.md +42 -0
  297. package/cli-tool/components/commands/project-management/pac-update-status.md +39 -0
  298. package/cli-tool/components/commands/project-management/pac-validate.md +35 -0
  299. package/cli-tool/components/commands/project-management/project-health-check.md +58 -0
  300. package/cli-tool/components/commands/project-management/project-timeline-simulator.md +37 -0
  301. package/cli-tool/components/commands/project-management/project-to-linear.md +38 -0
  302. package/cli-tool/components/commands/project-management/release.md +31 -0
  303. package/cli-tool/components/commands/project-management/todo.md +62 -0
  304. package/cli-tool/components/commands/security/add-authentication-system.md +34 -0
  305. package/cli-tool/components/commands/security/dependency-audit.md +32 -0
  306. package/cli-tool/components/commands/security/penetration-test.md +40 -0
  307. package/cli-tool/components/commands/security/secrets-scanner.md +39 -0
  308. package/cli-tool/components/commands/security/security-audit.md +82 -0
  309. package/cli-tool/components/commands/security/security-hardening.md +33 -0
  310. package/cli-tool/components/commands/setup/create-database-migrations.md +35 -0
  311. package/cli-tool/components/commands/setup/design-database-schema.md +37 -0
  312. package/cli-tool/components/commands/setup/design-rest-api.md +37 -0
  313. package/cli-tool/components/commands/setup/implement-graphql-api.md +37 -0
  314. package/cli-tool/components/commands/setup/migrate-to-typescript.md +37 -0
  315. package/cli-tool/components/commands/setup/setup-ci-cd-pipeline.md +37 -0
  316. package/cli-tool/components/commands/setup/setup-development-environment.md +37 -0
  317. package/cli-tool/components/commands/setup/setup-docker-containers.md +37 -0
  318. package/cli-tool/components/commands/setup/setup-formatting.md +37 -0
  319. package/cli-tool/components/commands/setup/setup-linting.md +37 -0
  320. package/cli-tool/components/commands/setup/setup-monitoring-observability.md +37 -0
  321. package/cli-tool/components/commands/setup/setup-monorepo.md +37 -0
  322. package/cli-tool/components/commands/setup/setup-rate-limiting.md +37 -0
  323. package/cli-tool/components/commands/setup/update-dependencies.md +35 -0
  324. package/cli-tool/components/commands/simulation/business-scenario-explorer.md +37 -0
  325. package/cli-tool/components/commands/simulation/constraint-modeler.md +37 -0
  326. package/cli-tool/components/commands/simulation/decision-tree-explorer.md +37 -0
  327. package/cli-tool/components/commands/simulation/digital-twin-creator.md +37 -0
  328. package/cli-tool/components/commands/simulation/future-scenario-generator.md +37 -0
  329. package/cli-tool/components/commands/simulation/market-response-modeler.md +37 -0
  330. package/cli-tool/components/commands/simulation/monte-carlo-simulator.md +37 -0
  331. package/cli-tool/components/commands/simulation/simulation-calibrator.md +37 -0
  332. package/cli-tool/components/commands/simulation/system-dynamics-modeler.md +37 -0
  333. package/cli-tool/components/commands/simulation/timeline-compressor.md +37 -0
  334. package/cli-tool/components/commands/svelte/svelte:a11y.md +105 -0
  335. package/cli-tool/components/commands/svelte/svelte:component.md +81 -0
  336. package/cli-tool/components/commands/svelte/svelte:debug.md +48 -0
  337. package/cli-tool/components/commands/svelte/svelte:migrate.md +79 -0
  338. package/cli-tool/components/commands/svelte/svelte:optimize.md +99 -0
  339. package/cli-tool/components/commands/svelte/svelte:scaffold.md +89 -0
  340. package/cli-tool/components/commands/svelte/svelte:storybook-migrate.md +204 -0
  341. package/cli-tool/components/commands/svelte/svelte:storybook-mock.md +213 -0
  342. package/cli-tool/components/commands/svelte/svelte:storybook-setup.md +113 -0
  343. package/cli-tool/components/commands/svelte/svelte:storybook-story.md +145 -0
  344. package/cli-tool/components/commands/svelte/svelte:storybook-troubleshoot.md +191 -0
  345. package/cli-tool/components/commands/svelte/svelte:storybook.md +48 -0
  346. package/cli-tool/components/commands/svelte/svelte:test-coverage.md +77 -0
  347. package/cli-tool/components/commands/svelte/svelte:test-fix.md +74 -0
  348. package/cli-tool/components/commands/svelte/svelte:test-setup.md +85 -0
  349. package/cli-tool/components/commands/svelte/svelte:test.md +60 -0
  350. package/cli-tool/components/commands/sync/bidirectional-sync.md +37 -0
  351. package/cli-tool/components/commands/sync/bulk-import-issues.md +37 -0
  352. package/cli-tool/components/commands/sync/cross-reference-manager.md +37 -0
  353. package/cli-tool/components/commands/sync/issue-to-linear-task.md +37 -0
  354. package/cli-tool/components/commands/sync/linear-task-to-issue.md +37 -0
  355. package/cli-tool/components/commands/sync/sync-automation-setup.md +37 -0
  356. package/cli-tool/components/commands/sync/sync-conflict-resolver.md +37 -0
  357. package/cli-tool/components/commands/sync/sync-health-monitor.md +37 -0
  358. package/cli-tool/components/commands/sync/sync-issues-to-linear.md +37 -0
  359. package/cli-tool/components/commands/sync/sync-linear-to-issues.md +37 -0
  360. package/cli-tool/components/commands/sync/sync-migration-assistant.md +37 -0
  361. package/cli-tool/components/commands/sync/sync-pr-to-task.md +37 -0
  362. package/cli-tool/components/commands/sync/sync-status.md +391 -0
  363. package/cli-tool/components/commands/sync/task-from-pr.md +37 -0
  364. package/cli-tool/components/commands/team/architecture-review.md +37 -0
  365. package/cli-tool/components/commands/team/decision-quality-analyzer.md +37 -0
  366. package/cli-tool/components/commands/team/dependency-mapper.md +37 -0
  367. package/cli-tool/components/commands/team/estimate-assistant.md +37 -0
  368. package/cli-tool/components/commands/team/issue-triage.md +37 -0
  369. package/cli-tool/components/commands/team/memory-spring-cleaning.md +37 -0
  370. package/cli-tool/components/commands/team/migration-assistant.md +37 -0
  371. package/cli-tool/components/commands/team/retrospective-analyzer.md +37 -0
  372. package/cli-tool/components/commands/team/session-learning-capture.md +37 -0
  373. package/cli-tool/components/commands/team/sprint-planning.md +189 -0
  374. package/cli-tool/components/commands/team/standup-report.md +37 -0
  375. package/cli-tool/components/commands/team/team-knowledge-mapper.md +37 -0
  376. package/cli-tool/components/commands/team/team-velocity-tracker.md +37 -0
  377. package/cli-tool/components/commands/team/team-workload-balancer.md +37 -0
  378. package/cli-tool/components/commands/testing/add-mutation-testing.md +37 -0
  379. package/cli-tool/components/commands/testing/add-property-based-testing.md +37 -0
  380. package/cli-tool/components/commands/testing/e2e-setup.md +37 -0
  381. package/cli-tool/components/commands/testing/generate-test-cases.md +37 -0
  382. package/cli-tool/components/commands/testing/generate-tests.md +82 -0
  383. package/cli-tool/components/commands/testing/setup-comprehensive-testing.md +37 -0
  384. package/cli-tool/components/commands/testing/setup-load-testing.md +37 -0
  385. package/cli-tool/components/commands/testing/setup-visual-testing.md +37 -0
  386. package/cli-tool/components/commands/testing/test-automation-orchestrator.md +37 -0
  387. package/cli-tool/components/commands/testing/test-changelog-automation.md +37 -0
  388. package/cli-tool/components/commands/testing/test-coverage.md +37 -0
  389. package/cli-tool/components/commands/testing/test-quality-analyzer.md +37 -0
  390. package/cli-tool/components/commands/testing/testing_plan_integration.md +37 -0
  391. package/cli-tool/components/commands/testing/write-tests.md +37 -0
  392. package/cli-tool/components/commands/utilities/all-tools.md +31 -0
  393. package/cli-tool/components/commands/utilities/architecture-scenario-explorer.md +375 -0
  394. package/cli-tool/components/commands/utilities/check-file.md +53 -0
  395. package/cli-tool/components/commands/utilities/clean-branches.md +243 -0
  396. package/cli-tool/components/commands/utilities/clean.md +1 -0
  397. package/cli-tool/components/commands/utilities/code-permutation-tester.md +341 -0
  398. package/cli-tool/components/commands/utilities/code-review.md +70 -0
  399. package/cli-tool/components/commands/utilities/code-to-task.md +583 -0
  400. package/cli-tool/components/commands/utilities/context-prime.md +1 -0
  401. package/cli-tool/components/commands/utilities/debug-error.md +121 -0
  402. package/cli-tool/components/commands/utilities/directory-deep-dive.md +34 -0
  403. package/cli-tool/components/commands/utilities/explain-code.md +194 -0
  404. package/cli-tool/components/commands/utilities/fix-issue.md +85 -0
  405. package/cli-tool/components/commands/utilities/generate-linear-worklog.md +113 -0
  406. package/cli-tool/components/commands/utilities/git-status.md +39 -0
  407. package/cli-tool/components/commands/utilities/initref.md +3 -0
  408. package/cli-tool/components/commands/utilities/prime.md +41 -0
  409. package/cli-tool/components/commands/utilities/refactor-code.md +116 -0
  410. package/cli-tool/components/commands/utilities/ultra-think.md +153 -0
  411. package/cli-tool/components/hooks/HOOK_PATTERNS_COMPRESSED.json +1 -0
  412. package/cli-tool/components/hooks/automation/agents-md-loader.json +17 -0
  413. package/cli-tool/components/hooks/automation/build-on-change.json +16 -0
  414. package/cli-tool/components/hooks/automation/dependency-checker.json +16 -0
  415. package/cli-tool/components/hooks/automation/deployment-health-monitor.json +29 -0
  416. package/cli-tool/components/hooks/automation/discord-detailed-notifications.json +26 -0
  417. package/cli-tool/components/hooks/automation/discord-error-notifications.json +37 -0
  418. package/cli-tool/components/hooks/automation/discord-notifications.json +25 -0
  419. package/cli-tool/components/hooks/automation/simple-notifications.json +16 -0
  420. package/cli-tool/components/hooks/automation/slack-detailed-notifications.json +26 -0
  421. package/cli-tool/components/hooks/automation/slack-error-notifications.json +37 -0
  422. package/cli-tool/components/hooks/automation/slack-notifications.json +25 -0
  423. package/cli-tool/components/hooks/automation/telegram-detailed-notifications.json +26 -0
  424. package/cli-tool/components/hooks/automation/telegram-error-notifications.json +37 -0
  425. package/cli-tool/components/hooks/automation/telegram-notifications.json +25 -0
  426. package/cli-tool/components/hooks/automation/vercel-auto-deploy.json +17 -0
  427. package/cli-tool/components/hooks/automation/vercel-environment-sync.json +29 -0
  428. package/cli-tool/components/hooks/development-tools/change-tracker.json +25 -0
  429. package/cli-tool/components/hooks/development-tools/command-logger.json +16 -0
  430. package/cli-tool/components/hooks/development-tools/file-backup.json +16 -0
  431. package/cli-tool/components/hooks/development-tools/lint-on-save.json +16 -0
  432. package/cli-tool/components/hooks/development-tools/nextjs-code-quality-enforcer.json +17 -0
  433. package/cli-tool/components/hooks/development-tools/smart-formatting.json +16 -0
  434. package/cli-tool/components/hooks/git/conventional-commits.json +16 -0
  435. package/cli-tool/components/hooks/git/conventional-commits.py +84 -0
  436. package/cli-tool/components/hooks/git/prevent-direct-push.json +16 -0
  437. package/cli-tool/components/hooks/git/prevent-direct-push.py +86 -0
  438. package/cli-tool/components/hooks/git/validate-branch-name.json +16 -0
  439. package/cli-tool/components/hooks/git/validate-branch-name.py +96 -0
  440. package/cli-tool/components/hooks/git-workflow/auto-git-add.json +16 -0
  441. package/cli-tool/components/hooks/git-workflow/smart-commit.json +25 -0
  442. package/cli-tool/components/hooks/performance/performance-budget-guard.json +27 -0
  443. package/cli-tool/components/hooks/performance/performance-monitor.json +27 -0
  444. package/cli-tool/components/hooks/post-tool/format-javascript-files.json +16 -0
  445. package/cli-tool/components/hooks/post-tool/format-python-files.json +16 -0
  446. package/cli-tool/components/hooks/post-tool/git-add-changes.json +25 -0
  447. package/cli-tool/components/hooks/post-tool/run-tests-after-changes.json +16 -0
  448. package/cli-tool/components/hooks/pre-tool/backup-before-edit.json +16 -0
  449. package/cli-tool/components/hooks/pre-tool/notify-before-bash.json +16 -0
  450. package/cli-tool/components/hooks/pre-tool/update-search-year.json +17 -0
  451. package/cli-tool/components/hooks/security/file-protection.json +16 -0
  452. package/cli-tool/components/hooks/security/security-scanner.json +16 -0
  453. package/cli-tool/components/hooks/testing/test-runner.json +16 -0
  454. package/cli-tool/components/mcps/browser_automation/browser-use-mcp-server.json +20 -0
  455. package/cli-tool/components/mcps/browser_automation/browsermcp.json +9 -0
  456. package/cli-tool/components/mcps/browser_automation/mcp-server-browserbase.json +14 -0
  457. package/cli-tool/components/mcps/browser_automation/mcp-server-playwright.json +9 -0
  458. package/cli-tool/components/mcps/browser_automation/playwright-mcp-server.json +9 -0
  459. package/cli-tool/components/mcps/browser_automation/playwright-mcp.json +11 -0
  460. package/cli-tool/components/mcps/database/mysql-integration.json +12 -0
  461. package/cli-tool/components/mcps/database/neon.json +9 -0
  462. package/cli-tool/components/mcps/database/postgresql-integration.json +12 -0
  463. package/cli-tool/components/mcps/database/supabase.json +17 -0
  464. package/cli-tool/components/mcps/deepgraph/deepgraph-nextjs.json +13 -0
  465. package/cli-tool/components/mcps/deepgraph/deepgraph-react.json +13 -0
  466. package/cli-tool/components/mcps/deepgraph/deepgraph-typescript.json +13 -0
  467. package/cli-tool/components/mcps/deepgraph/deepgraph-vue.json +13 -0
  468. package/cli-tool/components/mcps/devtools/azure-kubernetes-service.json +11 -0
  469. package/cli-tool/components/mcps/devtools/box.json +14 -0
  470. package/cli-tool/components/mcps/devtools/circleci.json +13 -0
  471. package/cli-tool/components/mcps/devtools/codacy.json +12 -0
  472. package/cli-tool/components/mcps/devtools/context7.json +9 -0
  473. package/cli-tool/components/mcps/devtools/dynatrace.json +13 -0
  474. package/cli-tool/components/mcps/devtools/elasticsearch.json +18 -0
  475. package/cli-tool/components/mcps/devtools/figma-dev-mode.json +8 -0
  476. package/cli-tool/components/mcps/devtools/firecrawl.json +12 -0
  477. package/cli-tool/components/mcps/devtools/firefly-mcp.json +13 -0
  478. package/cli-tool/components/mcps/devtools/huggingface.json +11 -0
  479. package/cli-tool/components/mcps/devtools/imagesorcery.json +11 -0
  480. package/cli-tool/components/mcps/devtools/ios-simulator-mcp.json +9 -0
  481. package/cli-tool/components/mcps/devtools/jfrog.json +8 -0
  482. package/cli-tool/components/mcps/devtools/just-mcp.json +9 -0
  483. package/cli-tool/components/mcps/devtools/launchdarkly.json +12 -0
  484. package/cli-tool/components/mcps/devtools/leetcode.json +8 -0
  485. package/cli-tool/components/mcps/devtools/logfire.json +9 -0
  486. package/cli-tool/components/mcps/devtools/markitdown.json +14 -0
  487. package/cli-tool/components/mcps/devtools/mcp-server-atlassian-bitbucket.json +9 -0
  488. package/cli-tool/components/mcps/devtools/mcp-server-trello.json +12 -0
  489. package/cli-tool/components/mcps/devtools/microsoft-clarity.json +11 -0
  490. package/cli-tool/components/mcps/devtools/microsoft-dev-box.json +9 -0
  491. package/cli-tool/components/mcps/devtools/mongodb.json +12 -0
  492. package/cli-tool/components/mcps/devtools/postman.json +12 -0
  493. package/cli-tool/components/mcps/devtools/sentry.json +8 -0
  494. package/cli-tool/components/mcps/devtools/serena.json +9 -0
  495. package/cli-tool/components/mcps/devtools/stripe.json +12 -0
  496. package/cli-tool/components/mcps/devtools/terraform.json +14 -0
  497. package/cli-tool/components/mcps/devtools/webflow.json +8 -0
  498. package/cli-tool/components/mcps/filesystem/filesystem-access.json +13 -0
  499. package/cli-tool/components/mcps/integration/github-integration.json +12 -0
  500. package/cli-tool/components/mcps/integration/memory-integration.json +9 -0
  501. package/cli-tool/components/mcps/marketing/facebook-ads-mcp-server.json +13 -0
  502. package/cli-tool/components/mcps/marketing/google-ads-mcp-server.json +11 -0
  503. package/cli-tool/components/mcps/productivity/monday.json +14 -0
  504. package/cli-tool/components/mcps/productivity/notion.json +12 -0
  505. package/cli-tool/components/mcps/web/web-fetch.json +9 -0
  506. package/cli-tool/components/settings/api/bedrock-configuration.json +7 -0
  507. package/cli-tool/components/settings/api/corporate-proxy.json +7 -0
  508. package/cli-tool/components/settings/api/custom-headers.json +6 -0
  509. package/cli-tool/components/settings/api/vertex-configuration.json +17 -0
  510. package/cli-tool/components/settings/authentication/api-key-helper.json +7 -0
  511. package/cli-tool/components/settings/authentication/force-claudeai-login.json +4 -0
  512. package/cli-tool/components/settings/authentication/force-console-login.json +4 -0
  513. package/cli-tool/components/settings/cleanup/retention-7-days.json +4 -0
  514. package/cli-tool/components/settings/cleanup/retention-90-days.json +4 -0
  515. package/cli-tool/components/settings/environment/bash-timeouts.json +8 -0
  516. package/cli-tool/components/settings/environment/development-utils.json +8 -0
  517. package/cli-tool/components/settings/environment/performance-optimization.json +8 -0
  518. package/cli-tool/components/settings/environment/privacy-focused.json +10 -0
  519. package/cli-tool/components/settings/git/git-flow-settings.json +79 -0
  520. package/cli-tool/components/settings/global/aws-credentials.json +5 -0
  521. package/cli-tool/components/settings/global/custom-model.json +7 -0
  522. package/cli-tool/components/settings/global/git-commit-settings.json +4 -0
  523. package/cli-tool/components/settings/mcp/disable-risky-servers.json +8 -0
  524. package/cli-tool/components/settings/mcp/enable-all-project-servers.json +4 -0
  525. package/cli-tool/components/settings/mcp/enable-specific-servers.json +8 -0
  526. package/cli-tool/components/settings/mcp/mcp-timeouts.json +8 -0
  527. package/cli-tool/components/settings/model/use-haiku.json +4 -0
  528. package/cli-tool/components/settings/model/use-sonnet.json +4 -0
  529. package/cli-tool/components/settings/permissions/additional-directories.json +11 -0
  530. package/cli-tool/components/settings/permissions/allow-git-operations.json +14 -0
  531. package/cli-tool/components/settings/permissions/allow-npm-commands.json +11 -0
  532. package/cli-tool/components/settings/permissions/deny-sensitive-files.json +11 -0
  533. package/cli-tool/components/settings/permissions/development-mode.json +31 -0
  534. package/cli-tool/components/settings/permissions/read-only-mode.json +18 -0
  535. package/cli-tool/components/settings/statusline/asset-pipeline-controller-statusline.json +7 -0
  536. package/cli-tool/components/settings/statusline/bug-circus-statusline.json +7 -0
  537. package/cli-tool/components/settings/statusline/code-casino-statusline.json +7 -0
  538. package/cli-tool/components/settings/statusline/code-spaceship-statusline.json +7 -0
  539. package/cli-tool/components/settings/statusline/colorful-statusline.json +7 -0
  540. package/cli-tool/components/settings/statusline/command-statusline.json +8 -0
  541. package/cli-tool/components/settings/statusline/context-monitor.json +7 -0
  542. package/cli-tool/components/settings/statusline/context-monitor.py +236 -0
  543. package/cli-tool/components/settings/statusline/data-ocean-statusline.json +7 -0
  544. package/cli-tool/components/settings/statusline/emotion-theater-statusline.json +7 -0
  545. package/cli-tool/components/settings/statusline/game-performance-monitor-statusline.json +7 -0
  546. package/cli-tool/components/settings/statusline/git-branch-statusline.json +7 -0
  547. package/cli-tool/components/settings/statusline/git-flow-status.json +7 -0
  548. package/cli-tool/components/settings/statusline/minimal-statusline.json +7 -0
  549. package/cli-tool/components/settings/statusline/multiplatform-build-status-statusline.json +7 -0
  550. package/cli-tool/components/settings/statusline/neon-database-dev.json +7 -0
  551. package/cli-tool/components/settings/statusline/neon-database-resources.json +7 -0
  552. package/cli-tool/components/settings/statusline/productivity-rainbow-statusline.json +7 -0
  553. package/cli-tool/components/settings/statusline/programmer-tamagotchi-statusline.json +7 -0
  554. package/cli-tool/components/settings/statusline/programming-fitness-tracker-statusline.json +7 -0
  555. package/cli-tool/components/settings/statusline/project-info-statusline.json +7 -0
  556. package/cli-tool/components/settings/statusline/rpg-status-bar-statusline.json +7 -0
  557. package/cli-tool/components/settings/statusline/time-statusline.json +7 -0
  558. package/cli-tool/components/settings/statusline/unity-project-dashboard-statusline.json +7 -0
  559. package/cli-tool/components/settings/statusline/vercel-deployment-monitor.json +7 -0
  560. package/cli-tool/components/settings/statusline/vercel-error-alert-system.json +7 -0
  561. package/cli-tool/components/settings/statusline/vercel-multi-env-status.json +7 -0
  562. package/cli-tool/components/settings/statusline/virtual-code-garden-statusline.json +7 -0
  563. package/cli-tool/components/settings/statusline/zero-config-deployment-monitor.json +7 -0
  564. package/cli-tool/components/settings/telemetry/custom-telemetry.json +7 -0
  565. package/cli-tool/components/settings/telemetry/disable-telemetry.json +6 -0
  566. package/cli-tool/components/settings/telemetry/enable-telemetry.json +6 -0
  567. package/cli-tool/docs_to_claude/ANALYTICS_STATE_DETECTION.md +183 -0
  568. package/cli-tool/docs_to_claude/ARCHITECTURE.md +472 -0
  569. package/cli-tool/docs_to_claude/BLOG_WRITING_GUIDE.md +438 -0
  570. package/cli-tool/docs_to_claude/CLAUDE_DATA_STRUCTURE.md +400 -0
  571. package/cli-tool/docs_to_claude/COMMANDS_GUIDE.md +1035 -0
  572. package/cli-tool/docs_to_claude/CONVERSATION_STATE_IMPROVEMENTS.md +154 -0
  573. package/cli-tool/docs_to_claude/DEBUG_TYPING_DETECTION.md +95 -0
  574. package/cli-tool/docs_to_claude/DOWNLOAD_TRACKING.md +291 -0
  575. package/cli-tool/docs_to_claude/ENHANCED_STATE_DETECTION.md +122 -0
  576. package/cli-tool/docs_to_claude/HEALTH_CHECK_IMPLEMENTATION.md +135 -0
  577. package/cli-tool/docs_to_claude/HOOKS_GUIDE.md +1249 -0
  578. package/cli-tool/docs_to_claude/STATUSLINE_GUIDE.md +1123 -0
  579. package/cli-tool/docs_to_claude/SUBAGENTS_GUIDE.md +566 -0
  580. package/cli-tool/docs_to_claude/SUB_AGENTS.md +329 -0
  581. package/cli-tool/jest.config.js +84 -0
  582. package/cli-tool/package-lock.json +5471 -0
  583. package/cli-tool/package.json +96 -0
  584. package/{src → cli-tool/src}/index.js +41 -1
  585. package/cli-tool/templates/common/.claude/commands/git-workflow.md +239 -0
  586. package/cli-tool/templates/common/.claude/commands/project-setup.md +316 -0
  587. package/cli-tool/templates/common/.mcp.json +41 -0
  588. package/cli-tool/templates/common/CLAUDE.md +109 -0
  589. package/cli-tool/templates/common/README.md +96 -0
  590. package/cli-tool/templates/go/.mcp.json +78 -0
  591. package/cli-tool/templates/go/README.md +25 -0
  592. package/cli-tool/templates/javascript-typescript/.claude/commands/api-endpoint.md +51 -0
  593. package/cli-tool/templates/javascript-typescript/.claude/commands/debug.md +52 -0
  594. package/cli-tool/templates/javascript-typescript/.claude/commands/lint.md +48 -0
  595. package/cli-tool/templates/javascript-typescript/.claude/commands/npm-scripts.md +48 -0
  596. package/cli-tool/templates/javascript-typescript/.claude/commands/refactor.md +55 -0
  597. package/cli-tool/templates/javascript-typescript/.claude/commands/test.md +61 -0
  598. package/cli-tool/templates/javascript-typescript/.claude/commands/typescript-migrate.md +51 -0
  599. package/cli-tool/templates/javascript-typescript/.claude/settings.json +142 -0
  600. package/cli-tool/templates/javascript-typescript/.mcp.json +80 -0
  601. package/cli-tool/templates/javascript-typescript/CLAUDE.md +185 -0
  602. package/cli-tool/templates/javascript-typescript/README.md +259 -0
  603. package/cli-tool/templates/javascript-typescript/examples/angular-app/.claude/commands/components.md +63 -0
  604. package/cli-tool/templates/javascript-typescript/examples/angular-app/.claude/commands/services.md +62 -0
  605. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/api-endpoint.md +46 -0
  606. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/database.md +56 -0
  607. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/middleware.md +61 -0
  608. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/route.md +57 -0
  609. package/cli-tool/templates/javascript-typescript/examples/node-api/CLAUDE.md +102 -0
  610. package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/component.md +29 -0
  611. package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/hooks.md +44 -0
  612. package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/state-management.md +45 -0
  613. package/cli-tool/templates/javascript-typescript/examples/react-app/CLAUDE.md +81 -0
  614. package/cli-tool/templates/javascript-typescript/examples/react-app/agents/react-performance-optimization.md +530 -0
  615. package/cli-tool/templates/javascript-typescript/examples/react-app/agents/react-state-management.md +295 -0
  616. package/cli-tool/templates/javascript-typescript/examples/vue-app/.claude/commands/components.md +46 -0
  617. package/cli-tool/templates/javascript-typescript/examples/vue-app/.claude/commands/composables.md +51 -0
  618. package/cli-tool/templates/python/.claude/commands/lint.md +111 -0
  619. package/cli-tool/templates/python/.claude/commands/test.md +73 -0
  620. package/cli-tool/templates/python/.claude/settings.json +153 -0
  621. package/cli-tool/templates/python/.mcp.json +78 -0
  622. package/cli-tool/templates/python/CLAUDE.md +276 -0
  623. package/cli-tool/templates/python/examples/django-app/.claude/commands/admin.md +264 -0
  624. package/cli-tool/templates/python/examples/django-app/.claude/commands/django-model.md +124 -0
  625. package/cli-tool/templates/python/examples/django-app/.claude/commands/views.md +222 -0
  626. package/cli-tool/templates/python/examples/django-app/CLAUDE.md +313 -0
  627. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/api-endpoints.md +513 -0
  628. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/auth.md +775 -0
  629. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/database.md +657 -0
  630. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/deployment.md +160 -0
  631. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/testing.md +927 -0
  632. package/cli-tool/templates/python/examples/fastapi-app/CLAUDE.md +229 -0
  633. package/cli-tool/templates/python/examples/flask-app/.claude/commands/app-factory.md +384 -0
  634. package/cli-tool/templates/python/examples/flask-app/.claude/commands/blueprint.md +243 -0
  635. package/cli-tool/templates/python/examples/flask-app/.claude/commands/database.md +410 -0
  636. package/cli-tool/templates/python/examples/flask-app/.claude/commands/deployment.md +620 -0
  637. package/cli-tool/templates/python/examples/flask-app/.claude/commands/flask-route.md +217 -0
  638. package/cli-tool/templates/python/examples/flask-app/.claude/commands/testing.md +559 -0
  639. package/cli-tool/templates/python/examples/flask-app/CLAUDE.md +391 -0
  640. package/cli-tool/templates/ruby/.claude/commands/model.md +360 -0
  641. package/cli-tool/templates/ruby/.claude/commands/test.md +480 -0
  642. package/cli-tool/templates/ruby/.claude/settings.json +146 -0
  643. package/cli-tool/templates/ruby/.mcp.json +83 -0
  644. package/cli-tool/templates/ruby/CLAUDE.md +284 -0
  645. package/cli-tool/templates/ruby/examples/rails-app/.claude/commands/authentication.md +490 -0
  646. package/cli-tool/templates/ruby/examples/rails-app/CLAUDE.md +376 -0
  647. package/cli-tool/templates/rust/.mcp.json +78 -0
  648. package/cli-tool/templates/rust/README.md +26 -0
  649. package/cli-tool/test-commands.sh +85 -0
  650. package/cli-tool/test-detailed.sh +267 -0
  651. package/dev-server.js +46 -0
  652. package/docs/CNAME +1 -0
  653. package/docs/README.md +49 -0
  654. package/docs/_config.yml +43 -0
  655. package/docs/api/agents.json +942 -0
  656. package/docs/blog/assets/aitmpl-nextjs-search.png +0 -0
  657. package/docs/blog/assets/aitmpl-supabase-search.png +0 -0
  658. package/docs/blog/assets/e2b-claude-code-sandbox-cover.png +0 -0
  659. package/docs/blog/assets/nextjs-vercel-claude-code-templates-cover.png +0 -0
  660. package/docs/blog/assets/supabase-claude-code-templates-cover.png +0 -0
  661. package/docs/blog/e2b-claude-code-sandbox/index.html +908 -0
  662. package/docs/blog/index.html +274 -0
  663. package/docs/blog/nextjs-vercel-claude-code-integration/index.html +1032 -0
  664. package/docs/blog/supabase-claude-code-integration/index.html +848 -0
  665. package/docs/claude-jobs.json +163 -0
  666. package/docs/component.html +506 -0
  667. package/docs/components-metadata.json +303 -0
  668. package/docs/components.json +4952 -0
  669. package/docs/css/blog.css +821 -0
  670. package/docs/css/component-page.css +1063 -0
  671. package/docs/css/stack-page.css +776 -0
  672. package/docs/css/styles.css +4540 -0
  673. package/docs/css/trending.css +1441 -0
  674. package/docs/css/workflows-modal.css +739 -0
  675. package/docs/css/workflows.css +1234 -0
  676. package/docs/download-stats.html +527 -0
  677. package/docs/index.html +627 -0
  678. package/docs/jobs.html +1059 -0
  679. package/docs/js/carousel.js +177 -0
  680. package/docs/js/cart-manager.js +658 -0
  681. package/docs/js/component-page.js +808 -0
  682. package/docs/js/data-loader.js +633 -0
  683. package/docs/js/generate-search-data.js +82 -0
  684. package/docs/js/index-events.js +1812 -0
  685. package/docs/js/modal-helpers.js +345 -0
  686. package/docs/js/script.js +2167 -0
  687. package/docs/js/search-functionality.js +1165 -0
  688. package/docs/js/stack-router.js +561 -0
  689. package/docs/js/trending.js +752 -0
  690. package/docs/js/utils.js +43 -0
  691. package/docs/js/workflows-events.js +1146 -0
  692. package/docs/js/workflows.js +627 -0
  693. package/docs/robots.txt +28 -0
  694. package/docs/sandbox-interface.html +1418 -0
  695. package/docs/sitemap.xml +193 -0
  696. package/docs/static/img/logo.png +0 -0
  697. package/docs/static/img/logo.svg +23 -0
  698. package/docs/trending-data.json +885 -0
  699. package/docs/trending.html +238 -0
  700. package/docs/vercel.json +36 -0
  701. package/docs/workflows.html +391 -0
  702. package/docu/README.md +41 -0
  703. package/docu/docs/cli-options.md +90 -0
  704. package/docu/docs/components/agents.md +113 -0
  705. package/docu/docs/components/commands.md +90 -0
  706. package/docu/docs/components/hooks.md +114 -0
  707. package/docu/docs/components/mcps.md +109 -0
  708. package/docu/docs/components/overview.md +73 -0
  709. package/docu/docs/components/settings.md +105 -0
  710. package/docu/docs/components/templates.md +119 -0
  711. package/docu/docs/intro.md +40 -0
  712. package/docu/docs/safety-features.md +13 -0
  713. package/docu/docs/support.md +13 -0
  714. package/docu/docs/tools/analytics.md +23 -0
  715. package/docu/docs/tools/chats.md +33 -0
  716. package/docu/docs/tools/health-check.md +60 -0
  717. package/docu/docs/tools/overview.md +39 -0
  718. package/docu/docs/tools/sandbox.md +61 -0
  719. package/docu/docs/tools/tunnel.md +38 -0
  720. package/docu/docusaurus.config.ts +169 -0
  721. package/docu/package-lock.json +16185 -0
  722. package/docu/package.json +47 -0
  723. package/docu/sidebars.ts +49 -0
  724. package/docu/src/components/HomepageFeatures/index.tsx +82 -0
  725. package/docu/src/components/HomepageFeatures/styles.module.css +131 -0
  726. package/docu/src/css/custom.css +849 -0
  727. package/docu/src/pages/index.module.css +111 -0
  728. package/docu/src/pages/index.tsx +65 -0
  729. package/docu/src/pages/markdown-page.md +7 -0
  730. package/docu/static/img/favicon.ico +0 -0
  731. package/docu/static/img/logo.svg +23 -0
  732. package/docu/tsconfig.json +8 -0
  733. package/docu/vercel.json +11 -0
  734. package/generate_agents_api.py +65 -0
  735. package/generate_claude_jobs.py +985 -0
  736. package/generate_components_json.py +391 -0
  737. package/package.json +21 -74
  738. package/social-preview.png +0 -0
  739. package/test_serpapi.py +36 -0
  740. package/vercel.json +111 -0
  741. /package/{bin → cli-tool/bin}/create-claude-config.js +0 -0
  742. /package/{components → cli-tool/components}/sandbox/README.md +0 -0
  743. /package/{components → cli-tool/components}/sandbox/e2b/.env.example +0 -0
  744. /package/{components → cli-tool/components}/sandbox/e2b/SANDBOX_DEBUGGING.md +0 -0
  745. /package/{components → cli-tool/components}/sandbox/e2b/claude-code-sandbox.md +0 -0
  746. /package/{components → cli-tool/components}/sandbox/e2b/e2b-launcher.py +0 -0
  747. /package/{components → cli-tool/components}/sandbox/e2b/e2b-monitor.py +0 -0
  748. /package/{components → cli-tool/components}/sandbox/e2b/requirements.txt +0 -0
  749. /package/{src → cli-tool/src}/agents.js +0 -0
  750. /package/{src → cli-tool/src}/analytics/core/AgentAnalyzer.js +0 -0
  751. /package/{src → cli-tool/src}/analytics/core/ConversationAnalyzer.js +0 -0
  752. /package/{src → cli-tool/src}/analytics/core/FileWatcher.js +0 -0
  753. /package/{src → cli-tool/src}/analytics/core/ProcessDetector.js +0 -0
  754. /package/{src → cli-tool/src}/analytics/core/SessionAnalyzer.js +0 -0
  755. /package/{src → cli-tool/src}/analytics/core/StateCalculator.js +0 -0
  756. /package/{src → cli-tool/src}/analytics/data/DataCache.js +0 -0
  757. /package/{src → cli-tool/src}/analytics/notifications/NotificationManager.js +0 -0
  758. /package/{src → cli-tool/src}/analytics/notifications/WebSocketServer.js +0 -0
  759. /package/{src → cli-tool/src}/analytics/utils/PerformanceMonitor.js +0 -0
  760. /package/{src → cli-tool/src}/analytics-web/FRONT_ARCHITECTURE.md +0 -0
  761. /package/{src → cli-tool/src}/analytics-web/assets/js/main.js.deprecated +0 -0
  762. /package/{src → cli-tool/src}/analytics-web/chats_mobile.html +0 -0
  763. /package/{src → cli-tool/src}/analytics-web/components/ActivityHeatmap.js +0 -0
  764. /package/{src → cli-tool/src}/analytics-web/components/AgentAnalytics.js +0 -0
  765. /package/{src → cli-tool/src}/analytics-web/components/App.js +0 -0
  766. /package/{src → cli-tool/src}/analytics-web/components/Charts.js +0 -0
  767. /package/{src → cli-tool/src}/analytics-web/components/ConversationTable.js +0 -0
  768. /package/{src → cli-tool/src}/analytics-web/components/DashboardPage.js +0 -0
  769. /package/{src → cli-tool/src}/analytics-web/components/HeaderComponent.js +0 -0
  770. /package/{src → cli-tool/src}/analytics-web/components/SessionTimer.js +0 -0
  771. /package/{src → cli-tool/src}/analytics-web/components/Sidebar.js +0 -0
  772. /package/{src → cli-tool/src}/analytics-web/components/ToolDisplay.js +0 -0
  773. /package/{src → cli-tool/src}/analytics-web/index.html +0 -0
  774. /package/{src → cli-tool/src}/analytics-web/index.html.original +0 -0
  775. /package/{src → cli-tool/src}/analytics-web/services/DataService.js +0 -0
  776. /package/{src → cli-tool/src}/analytics-web/services/StateService.js +0 -0
  777. /package/{src → cli-tool/src}/analytics-web/services/WebSocketService.js +0 -0
  778. /package/{src → cli-tool/src}/analytics.js +0 -0
  779. /package/{src → cli-tool/src}/chats-mobile.js +0 -0
  780. /package/{src → cli-tool/src}/claude-api-proxy.js +0 -0
  781. /package/{src → cli-tool/src}/command-scanner.js +0 -0
  782. /package/{src → cli-tool/src}/command-stats.js +0 -0
  783. /package/{src → cli-tool/src}/console-bridge.js +0 -0
  784. /package/{src → cli-tool/src}/file-operations.js +0 -0
  785. /package/{src → cli-tool/src}/health-check.js +0 -0
  786. /package/{src → cli-tool/src}/hook-scanner.js +0 -0
  787. /package/{src → cli-tool/src}/hook-stats.js +0 -0
  788. /package/{src → cli-tool/src}/mcp-stats.js +0 -0
  789. /package/{src → cli-tool/src}/prompts.js +0 -0
  790. /package/{src → cli-tool/src}/sandbox-interface.html +0 -0
  791. /package/{src → cli-tool/src}/sandbox-server.js +0 -0
  792. /package/{src → cli-tool/src}/sdk/global-agent-manager.js +0 -0
  793. /package/{src → cli-tool/src}/templates.js +0 -0
  794. /package/{src → cli-tool/src}/test-console-bridge.js +0 -0
  795. /package/{src → cli-tool/src}/tracking-service.js +0 -0
  796. /package/{src → cli-tool/src}/utils.js +0 -0
  797. /package/{src/analytics.log → docu/static/.nojekyll} +0 -0
@@ -0,0 +1,1165 @@
1
+ // Search functionality for Claude Code Templates
2
+ let searchActive = false;
3
+ let searchResults = [];
4
+ let allComponents = {};
5
+ let searchTimeout = null;
6
+
7
+ /**
8
+ * Toggle search bar visibility
9
+ */
10
+ function toggleSearch() {
11
+ const container = document.getElementById('searchBarContainer');
12
+ const input = document.getElementById('searchInput');
13
+ const searchBtn = document.getElementById('searchToggleBtn');
14
+ const categoryLabels = document.querySelectorAll('.category-filter-label');
15
+
16
+ if (searchActive) {
17
+ // Hide search and show category sections
18
+ container.style.display = 'none';
19
+ searchActive = false;
20
+ searchBtn.classList.remove('active');
21
+ clearSearch();
22
+
23
+ // Show category filter labels/sections
24
+ categoryLabels.forEach(label => {
25
+ label.style.display = '';
26
+ });
27
+ } else {
28
+ // Show search and hide category sections
29
+ container.style.display = 'block';
30
+ searchActive = true;
31
+ searchBtn.classList.add('active');
32
+ input.focus();
33
+
34
+ // Hide category filter labels/sections only (keep filter buttons visible)
35
+ categoryLabels.forEach(label => {
36
+ label.style.display = 'none';
37
+ });
38
+
39
+ // Ensure components are loaded
40
+ if (Object.keys(allComponents).length === 0) {
41
+ loadComponentsForSearch();
42
+ }
43
+ }
44
+ }
45
+
46
+ /**
47
+ * Handle search input - now only shows/hides clear button, doesn't trigger search
48
+ */
49
+ function handleSearchInput(event) {
50
+ const query = event.target.value;
51
+ const clearBtn = document.getElementById('clearSearchBtn');
52
+
53
+ // Show/hide clear button
54
+ if (query.length > 0) {
55
+ clearBtn.style.display = 'flex';
56
+ } else {
57
+ clearBtn.style.display = 'none';
58
+ // If input is empty, restore previous view
59
+ restorePreviousView();
60
+ }
61
+ }
62
+
63
+ /**
64
+ * Handle keyboard shortcuts in search
65
+ */
66
+ function handleSearchKeydown(event) {
67
+ if (event.key === 'Escape') {
68
+ clearSearch();
69
+ } else if (event.key === 'Enter') {
70
+ event.preventDefault();
71
+ const query = event.target.value.trim();
72
+ if (query.length >= 3) {
73
+ performSearch(query);
74
+ } else if (query.length === 0) {
75
+ restorePreviousView();
76
+ }
77
+ }
78
+ }
79
+
80
+ /**
81
+ * Clear search and reset view
82
+ */
83
+ function clearSearch() {
84
+ const input = document.getElementById('searchInput');
85
+ const clearBtn = document.getElementById('clearSearchBtn');
86
+
87
+ input.value = '';
88
+ clearBtn.style.display = 'none';
89
+
90
+ // Clear search timeout
91
+ if (searchTimeout) {
92
+ clearTimeout(searchTimeout);
93
+ searchTimeout = null;
94
+ }
95
+
96
+ // Clear URL parameter
97
+ updateURLWithSearch('');
98
+
99
+ // Restore previous view
100
+ restorePreviousView();
101
+
102
+ searchResults = [];
103
+ }
104
+
105
+ /**
106
+ * Restore the previous view (before search was active)
107
+ */
108
+ function restorePreviousView() {
109
+ const resultsInfo = document.getElementById('searchResultsInfo');
110
+ resultsInfo.style.display = 'none';
111
+
112
+ // Show filters again
113
+ showFilters();
114
+
115
+ // Reset to current filter view
116
+ const activeFilter = document.querySelector('.component-type-filters .filter-chip.active');
117
+ if (activeFilter) {
118
+ const filterType = activeFilter.getAttribute('data-filter');
119
+ if (window.indexManager) {
120
+ window.indexManager.displayCurrentFilter();
121
+ }
122
+ } else {
123
+ // Fallback to agents if no active filter found
124
+ if (window.indexManager) {
125
+ window.indexManager.setFilter('agents');
126
+ }
127
+ }
128
+ }
129
+
130
+ /**
131
+ * Load all components for search functionality
132
+ */
133
+ async function loadComponentsForSearch() {
134
+ try {
135
+ // Check if dataLoader is available and use it
136
+ if (window.dataLoader) {
137
+ console.log('Using DataLoader for search components...');
138
+ const data = await window.dataLoader.loadAllComponents();
139
+
140
+ if (data) {
141
+ // Process each category for search
142
+ const categories = ['agents', 'commands', 'settings', 'hooks', 'mcps'];
143
+
144
+ for (const category of categories) {
145
+ if (data[category] && Array.isArray(data[category])) {
146
+ // Process components to make them search-friendly
147
+ allComponents[category] = data[category].map(component => ({
148
+ ...component,
149
+ // Normalize fields for better searching
150
+ title: component.name || component.title || 'Untitled',
151
+ displayName: (component.name || component.title || '').replace(/[-_]/g, ' '),
152
+ category: category,
153
+ searchableText: [
154
+ component.name || component.title,
155
+ component.description,
156
+ component.category,
157
+ ...(component.tags || []),
158
+ component.keywords || '',
159
+ component.path || ''
160
+ ].filter(Boolean).join(' ').toLowerCase(),
161
+
162
+ // Ensure tags exist
163
+ tags: component.tags || [component.category].filter(Boolean)
164
+ }));
165
+ }
166
+ }
167
+
168
+ console.log('Search data loaded successfully via DataLoader:', Object.keys(allComponents));
169
+ return;
170
+ }
171
+ }
172
+
173
+ // Fallback: direct fetch if DataLoader not available
174
+ console.log('DataLoader not available, using direct fetch...');
175
+ const response = await fetch('components.json');
176
+ if (response.ok) {
177
+ const data = await response.json();
178
+
179
+ // Process each category for search
180
+ const categories = ['agents', 'commands', 'settings', 'hooks', 'mcps'];
181
+
182
+ for (const category of categories) {
183
+ if (data[category] && Array.isArray(data[category])) {
184
+ // Process components to make them search-friendly
185
+ allComponents[category] = data[category].map(component => ({
186
+ ...component,
187
+ // Normalize fields for better searching
188
+ title: component.name || component.title || 'Untitled',
189
+ displayName: (component.name || component.title || '').replace(/[-_]/g, ' '),
190
+ category: category,
191
+ searchableText: [
192
+ component.name || component.title,
193
+ component.description,
194
+ component.category,
195
+ ...(component.tags || []),
196
+ component.keywords || '',
197
+ component.path || ''
198
+ ].filter(Boolean).join(' ').toLowerCase(),
199
+
200
+ // Ensure tags exist
201
+ tags: component.tags || [component.category].filter(Boolean)
202
+ }));
203
+ }
204
+ }
205
+
206
+ console.log('Search data loaded successfully via direct fetch:', Object.keys(allComponents));
207
+ } else {
208
+ console.error('Failed to load components.json');
209
+ }
210
+ } catch (error) {
211
+ console.error('Error loading components for search:', error);
212
+
213
+ // Fallback: try to use cached data if available
214
+ if (window.getSearchData) {
215
+ const categories = ['agents', 'commands', 'settings', 'hooks', 'mcps'];
216
+ for (const category of categories) {
217
+ const data = window.getSearchData(category);
218
+ if (data && data.length > 0) {
219
+ allComponents[category] = data;
220
+ }
221
+ }
222
+ }
223
+ }
224
+ }
225
+
226
+ /**
227
+ * Update URL with search parameter
228
+ */
229
+ function updateURLWithSearch(query) {
230
+ const url = new URL(window.location);
231
+ if (query && query.length >= 3) {
232
+ url.searchParams.set('search', encodeURIComponent(query));
233
+ } else {
234
+ url.searchParams.delete('search');
235
+ }
236
+ window.history.replaceState({}, '', url);
237
+ }
238
+
239
+ /**
240
+ * Get search query from URL parameters
241
+ */
242
+ function getSearchQueryFromURL() {
243
+ const params = new URLSearchParams(window.location.search);
244
+ return params.get('search') ? decodeURIComponent(params.get('search')) : null;
245
+ }
246
+
247
+ /**
248
+ * Update URL with filter using path-based routing
249
+ */
250
+ function updateURLWithFilter(filter) {
251
+ const currentSearch = window.location.search; // Preserve search parameters
252
+ const newPath = `/${filter}${currentSearch}`;
253
+
254
+ window.history.pushState({}, '', newPath);
255
+ }
256
+
257
+ /**
258
+ * Get filter from URL path
259
+ */
260
+ function getFilterFromURL() {
261
+ const path = window.location.pathname;
262
+ const segments = path.split('/').filter(segment => segment);
263
+
264
+ // Check if first segment is a valid filter
265
+ const validFilters = ['agents', 'commands', 'settings', 'hooks', 'mcps', 'templates'];
266
+ const firstSegment = segments[0];
267
+
268
+ if (firstSegment && validFilters.includes(firstSegment)) {
269
+ return firstSegment;
270
+ }
271
+
272
+ // If no valid filter found and we're on root, default to agents
273
+ if (path === '/' || path === '') {
274
+ return 'agents';
275
+ }
276
+
277
+ return 'agents'; // Default fallback
278
+ }
279
+
280
+ /**
281
+ * Perform search across all loaded components
282
+ */
283
+ function performSearch(query) {
284
+ if (!query || query.length < 3) {
285
+ updateSearchResults([]);
286
+ showFilters(); // Show filters when no search
287
+ updateURLWithSearch(''); // Clear URL parameter
288
+ return;
289
+ }
290
+
291
+ // Update URL with search query
292
+ updateURLWithSearch(query);
293
+
294
+ // Hide filters during search
295
+ hideFilters();
296
+
297
+ const normalizedQuery = query.toLowerCase().trim();
298
+ const results = [];
299
+ const categoryMatches = new Set();
300
+
301
+ // Search across all categories except templates
302
+ Object.keys(allComponents).forEach(category => {
303
+ if (category === 'templates') return; // Skip templates
304
+
305
+ const components = allComponents[category];
306
+ if (!components || !Array.isArray(components)) return;
307
+
308
+ components.forEach(component => {
309
+ const matchScore = calculateMatchScore(component, normalizedQuery, category);
310
+
311
+ if (matchScore > 0) {
312
+ results.push({
313
+ ...component,
314
+ category: category,
315
+ matchScore: matchScore,
316
+ matchType: getMatchType(component, normalizedQuery, category)
317
+ });
318
+ categoryMatches.add(category);
319
+ }
320
+ });
321
+ });
322
+
323
+ // Sort by match score (highest first)
324
+ results.sort((a, b) => b.matchScore - a.matchScore);
325
+
326
+ searchResults = results;
327
+ updateSearchResults(results, categoryMatches);
328
+ displaySearchResults(results);
329
+ }
330
+
331
+ /**
332
+ * Calculate match score for a component
333
+ */
334
+ function calculateMatchScore(component, query, category) {
335
+ let score = 0;
336
+
337
+ // Category name match (highest priority)
338
+ if (category.includes(query)) {
339
+ score += 100;
340
+ }
341
+
342
+ // Component name/title match
343
+ const name = (component.name || component.title || '').toLowerCase();
344
+ if (name.includes(query)) {
345
+ score += name.startsWith(query) ? 80 : 60;
346
+ }
347
+
348
+ // Description match
349
+ const description = (component.description || '').toLowerCase();
350
+ if (description.includes(query)) {
351
+ score += 30;
352
+ }
353
+
354
+ // Tags match
355
+ if (component.tags && Array.isArray(component.tags)) {
356
+ const tagMatch = component.tags.some(tag =>
357
+ tag.toLowerCase().includes(query)
358
+ );
359
+ if (tagMatch) {
360
+ score += 40;
361
+ }
362
+ }
363
+
364
+ // Keywords match (for settings/hooks)
365
+ if (component.keywords) {
366
+ const keywordMatch = component.keywords.toLowerCase().includes(query);
367
+ if (keywordMatch) {
368
+ score += 25;
369
+ }
370
+ }
371
+
372
+ // Path match (for file-based components)
373
+ if (component.path) {
374
+ const pathMatch = component.path.toLowerCase().includes(query);
375
+ if (pathMatch) {
376
+ score += 15;
377
+ }
378
+ }
379
+
380
+ return score;
381
+ }
382
+
383
+ /**
384
+ * Get match type for display
385
+ */
386
+ function getMatchType(component, query, category) {
387
+ const name = (component.name || component.title || '').toLowerCase();
388
+ const description = (component.description || '').toLowerCase();
389
+
390
+ if (category.includes(query)) return 'category';
391
+ if (name.includes(query)) return 'name';
392
+ if (description.includes(query)) return 'description';
393
+ if (component.tags && component.tags.some(tag => tag.toLowerCase().includes(query))) return 'tag';
394
+ if (component.keywords && component.keywords.toLowerCase().includes(query)) return 'keyword';
395
+ if (component.path && component.path.toLowerCase().includes(query)) return 'path';
396
+
397
+ return 'other';
398
+ }
399
+
400
+ /**
401
+ * Update search results info display
402
+ */
403
+ function updateSearchResults(results, categoryMatches = new Set()) {
404
+ const resultsInfo = document.getElementById('searchResultsInfo');
405
+ const resultsCount = document.getElementById('resultsCount');
406
+ const filterTags = document.getElementById('searchFilterTags');
407
+
408
+ if (results.length === 0) {
409
+ resultsInfo.style.display = 'none';
410
+ return;
411
+ }
412
+
413
+ resultsInfo.style.display = 'block';
414
+
415
+ // Update count with terminal-style format
416
+ const count = results.length;
417
+ resultsCount.textContent = `Found(${count} result${count !== 1 ? 's' : ''})`;
418
+
419
+ // Update category tags
420
+ if (categoryMatches.size > 0) {
421
+ const categoryIcons = {
422
+ agents: '🤖',
423
+ commands: '⚡',
424
+ settings: '⚙️',
425
+ hooks: '🪝',
426
+ mcps: '🔌'
427
+ };
428
+
429
+ const tags = Array.from(categoryMatches).map(category => {
430
+ const icon = categoryIcons[category] || '';
431
+ const name = category.charAt(0).toUpperCase() + category.slice(1);
432
+ return `<span class="search-category-tag">${icon} ${name}</span>`;
433
+ }).join('');
434
+
435
+ filterTags.innerHTML = tags;
436
+ } else {
437
+ filterTags.innerHTML = '';
438
+ }
439
+ }
440
+
441
+ /**
442
+ * Display search results in the grid
443
+ */
444
+ function displaySearchResults(results) {
445
+ const unifiedGrid = document.getElementById('unifiedGrid');
446
+
447
+ if (!unifiedGrid) {
448
+ console.error('Unified grid not found');
449
+ return;
450
+ }
451
+
452
+ // Clear current content
453
+ unifiedGrid.innerHTML = '';
454
+
455
+ if (results.length === 0) {
456
+ // Show no results message
457
+ unifiedGrid.innerHTML = `
458
+ <div class="no-search-results">
459
+ <div class="no-results-icon">🔍</div>
460
+ <h3>No components found</h3>
461
+ <p>Try searching for:</p>
462
+ <ul class="search-suggestions">
463
+ <li><strong>Categories:</strong> agents, commands, settings, hooks, mcps</li>
464
+ <li><strong>Technologies:</strong> react, python, git, telegram, api</li>
465
+ <li><strong>Features:</strong> security, performance, automation, notifications</li>
466
+ </ul>
467
+ </div>
468
+ `;
469
+ return;
470
+ }
471
+
472
+ // Group results by category for better organization
473
+ const groupedResults = {};
474
+ results.forEach(result => {
475
+ if (!groupedResults[result.category]) {
476
+ groupedResults[result.category] = [];
477
+ }
478
+ groupedResults[result.category].push(result);
479
+ });
480
+
481
+ // Render grouped results in specific order
482
+ let html = '';
483
+ const categoryOrder = ['agents', 'commands', 'settings', 'hooks', 'mcps'];
484
+
485
+ categoryOrder.forEach(category => {
486
+ if (!groupedResults[category]) return;
487
+ const categoryResults = groupedResults[category];
488
+ const categoryIcon = getCategoryIcon(category);
489
+ const categoryName = category.charAt(0).toUpperCase() + category.slice(1);
490
+
491
+ html += `
492
+ <div class="search-category-section">
493
+ <h3 class="search-category-header">
494
+ <span class="category-icon">${categoryIcon}</span>
495
+ ${categoryName} (${categoryResults.length})
496
+ </h3>
497
+ <div class="search-category-grid">
498
+ `;
499
+
500
+ categoryResults.forEach(component => {
501
+ html += generateComponentCard(component, category);
502
+ });
503
+
504
+ html += `
505
+ </div>
506
+ </div>
507
+ `;
508
+ });
509
+
510
+ unifiedGrid.innerHTML = html;
511
+ }
512
+
513
+ /**
514
+ * Get category icon
515
+ */
516
+ function getCategoryIcon(category) {
517
+ const icons = {
518
+ agents: '🤖',
519
+ commands: '⚡',
520
+ settings: '⚙️',
521
+ hooks: '🪝',
522
+ mcps: '🔌'
523
+ };
524
+ return icons[category] || '📦';
525
+ }
526
+
527
+ /**
528
+ * Generate component card HTML (matching existing template-card format)
529
+ */
530
+ function generateComponentCard(component, category) {
531
+ // Generate install command - remove .md extension from path
532
+ let componentPath = component.path || component.name;
533
+ // Remove .md or .json extensions from path
534
+ if (componentPath.endsWith('.md') || componentPath.endsWith('.json')) {
535
+ componentPath = componentPath.replace(/\.(md|json)$/, '');
536
+ }
537
+ const installCommand = `npx claude-code-templates@latest --${component.type}=${componentPath} --yes`;
538
+
539
+ const typeConfig = {
540
+ agent: { icon: '🤖', color: '#ff6b6b' },
541
+ command: { icon: '⚡', color: '#4ecdc4' },
542
+ mcp: { icon: '🔌', color: '#45b7d1' },
543
+ setting: { icon: '⚙️', color: '#9c88ff' },
544
+ hook: { icon: '🪝', color: '#ff8c42' }
545
+ };
546
+
547
+ const config = typeConfig[component.type];
548
+
549
+ // Escape quotes and special characters for onclick attributes
550
+ const escapedType = component.type.replace(/'/g, "\\'");
551
+ const escapedName = (component.name || '').replace(/'/g, "\\'");
552
+ const escapedPath = (component.path || component.name || '').replace(/'/g, "\\'");
553
+ const escapedCategory = (component.category || 'general').replace(/'/g, "\\'");
554
+ const escapedCommand = installCommand.replace(/'/g, "\\'");
555
+
556
+ // Create category label (use "General" if no category)
557
+ const categoryName = component.category || 'general';
558
+ const categoryLabel = `<div class="category-label">${categoryName.charAt(0).toUpperCase() + categoryName.slice(1)}</div>`;
559
+
560
+ // Format component name
561
+ const formattedName = (component.name || '').split(/[-_]/).map(word =>
562
+ word.charAt(0).toUpperCase() + word.slice(1)
563
+ ).join(' ');
564
+
565
+ // Get description
566
+ const description = component.description || 'Component for enhanced development workflow';
567
+ const truncatedDescription = description.length > 80 ? description.substring(0, 80) + '...' : description;
568
+
569
+ return `
570
+ <div class="template-card" data-type="${component.type}">
571
+ <div class="card-inner">
572
+ <div class="card-front">
573
+ ${categoryLabel}
574
+ <div class="framework-logo" style="color: ${config.color}">
575
+ <span class="component-icon">${config.icon}</span>
576
+ </div>
577
+ <h3 class="template-title">${formattedName}</h3>
578
+ <p class="template-description">${truncatedDescription}</p>
579
+ </div>
580
+ <div class="card-back">
581
+ <div class="command-display">
582
+ <h3>Installation Command</h3>
583
+ <div class="command-code-container">
584
+ <div class="command-code">${installCommand}</div>
585
+ <button class="copy-overlay-btn" onclick="copyToClipboard('${escapedCommand}'); event.stopPropagation();" title="Copy command">
586
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
587
+ <path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/>
588
+ </svg>
589
+ Copy Command
590
+ </button>
591
+ </div>
592
+ <div class="card-actions">
593
+ <button class="view-files-btn" onclick="showComponentDetails('${escapedType}', '${escapedName}', '${escapedPath}', '${escapedCategory}')">
594
+ 📁 View Details
595
+ </button>
596
+ <button class="add-to-cart-btn"
597
+ data-type="${component.type}s"
598
+ data-path="${componentPath}"
599
+ onclick="handleAddToCart('${escapedName}', '${componentPath}', '${component.type}s', '${escapedCategory}', this)">
600
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
601
+ <path d="M19,7H18V6A2,2 0 0,0 16,4H8A2,2 0 0,0 6,6V7H5A1,1 0 0,0 4,8A1,1 0 0,0 5,9H6V19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V9H19A1,1 0 0,0 20,8A1,1 0 0,0 19,7M8,6H16V7H8V6M16,19H8V9H16V19Z"/>
602
+ </svg>
603
+ Add to Stack
604
+ </button>
605
+ </div>
606
+ </div>
607
+ </div>
608
+ </div>
609
+ </div>
610
+ `;
611
+ }
612
+
613
+ /**
614
+ * Generate installation command for component
615
+ */
616
+ function generateInstallCommand(component, category) {
617
+ let name = component.name || component.path || component.title;
618
+ let categoryParam = category.slice(0, -1); // Remove 's' from category name
619
+
620
+ // Handle special cases for category parameters
621
+ if (category === 'settings' || category === 'hooks') {
622
+ // Use the path if available for settings and hooks
623
+ if (component.path) {
624
+ name = component.path.replace(/\.(json|md)$/, ''); // Remove file extension
625
+ }
626
+ categoryParam = category.slice(0, -1); // 'setting' or 'hook'
627
+ }
628
+
629
+ return `npx claude-code-templates@latest --${categoryParam}=${name} --yes`;
630
+ }
631
+
632
+ /**
633
+ * Show all components except templates
634
+ */
635
+ function showAllComponents() {
636
+ // This function should integrate with existing filter logic
637
+ if (typeof setUnifiedFilter === 'function') {
638
+ setUnifiedFilter('agents'); // Default to agents
639
+ }
640
+ }
641
+
642
+ // Search result cards now use the global click handler from index-events.js
643
+ // No need for custom toggleCard function
644
+
645
+ /**
646
+ * Initialize filter from URL parameters on page load
647
+ */
648
+ function initializeFilterFromURL() {
649
+ const urlFilter = getFilterFromURL();
650
+ console.log('Initializing filter from URL:', urlFilter);
651
+
652
+ if (urlFilter && typeof setUnifiedFilter === 'function') {
653
+ setUnifiedFilter(urlFilter);
654
+ }
655
+ }
656
+
657
+ /**
658
+ * Initialize search from URL parameters on page load
659
+ */
660
+ function initializeSearchFromURL() {
661
+ const urlQuery = getSearchQueryFromURL();
662
+ if (urlQuery) {
663
+ console.log('Initializing search from URL:', urlQuery);
664
+
665
+ const searchInput = document.getElementById('searchInput');
666
+ if (searchInput) {
667
+ searchInput.value = urlQuery;
668
+
669
+ // Show search interface
670
+ const resultsInfo = document.getElementById('searchResultsInfo');
671
+ if (resultsInfo) {
672
+ resultsInfo.style.display = 'block';
673
+ }
674
+
675
+ // Show clear button
676
+ const clearBtn = document.getElementById('clearSearchBtn');
677
+ if (clearBtn) {
678
+ clearBtn.style.display = 'flex';
679
+ }
680
+
681
+ // Ensure components are loaded before searching
682
+ let attempts = 0;
683
+ const maxAttempts = 25; // 5 seconds total (200ms * 25)
684
+
685
+ const trySearch = () => {
686
+ attempts++;
687
+ console.log(`Attempt ${attempts} to perform search. Components loaded:`, Object.keys(allComponents).length > 0);
688
+
689
+ if (Object.keys(allComponents).length > 0) {
690
+ console.log('Components ready, performing search...');
691
+ performSearch(urlQuery);
692
+ } else if (attempts < maxAttempts) {
693
+ // If components not loaded, wait and try again
694
+ setTimeout(trySearch, 200);
695
+ } else {
696
+ console.error('Failed to load components for URL search after maximum attempts');
697
+ // Force load components and try one more time
698
+ loadComponentsForSearch().then(() => {
699
+ if (Object.keys(allComponents).length > 0) {
700
+ performSearch(urlQuery);
701
+ }
702
+ });
703
+ }
704
+ };
705
+
706
+ // Start trying to search
707
+ trySearch();
708
+ }
709
+ }
710
+ }
711
+
712
+ // Initialize search functionality when DOM is loaded
713
+ document.addEventListener('DOMContentLoaded', function() {
714
+ // Load components for search
715
+ loadComponentsForSearch();
716
+
717
+ // Initialize filter from URL if present
718
+ initializeFilterFromURL();
719
+
720
+ // Initialize search from URL if present
721
+ initializeSearchFromURL();
722
+
723
+ // Add CSS for search functionality if not already present
724
+ if (!document.getElementById('search-styles')) {
725
+ const searchStyles = document.createElement('style');
726
+ searchStyles.id = 'search-styles';
727
+ searchStyles.textContent = `
728
+ .search-btn.active {
729
+ background-color: var(--accent-color, #00d4aa) !important;
730
+ color: var(--bg-color, #0a0e0f) !important;
731
+ }
732
+
733
+ .search-bar-container {
734
+ margin-top: 1rem;
735
+ padding: 0 1rem;
736
+ animation: slideDown 0.3s ease-out;
737
+ }
738
+
739
+ @keyframes slideDown {
740
+ from { opacity: 0; transform: translateY(-10px); }
741
+ to { opacity: 1; transform: translateY(0); }
742
+ }
743
+
744
+ .search-input-wrapper {
745
+ position: relative;
746
+ display: flex;
747
+ align-items: center;
748
+ background: var(--card-bg, #1a1f23);
749
+ border: 1px solid var(--border-color, #2a3338);
750
+ border-radius: 8px;
751
+ padding: 0.75rem 1rem;
752
+ transition: border-color 0.2s ease;
753
+ }
754
+
755
+ .search-input-wrapper:focus-within {
756
+ border-color: var(--accent-color, #00d4aa);
757
+ box-shadow: 0 0 0 2px var(--accent-color, #00d4aa)20;
758
+ }
759
+
760
+ .search-icon {
761
+ margin-right: 0.75rem;
762
+ color: var(--text-dim, #8892a0);
763
+ }
764
+
765
+ .search-input {
766
+ flex: 1;
767
+ background: transparent;
768
+ border: none;
769
+ outline: none;
770
+ color: var(--text-color, #ffffff);
771
+ font-size: 1rem;
772
+ font-family: 'Inter', sans-serif;
773
+ }
774
+
775
+ .search-input::placeholder {
776
+ color: var(--text-dim, #8892a0);
777
+ }
778
+
779
+ .clear-search-btn {
780
+ display: flex;
781
+ align-items: center;
782
+ justify-content: center;
783
+ width: 24px;
784
+ height: 24px;
785
+ margin-left: 0.5rem;
786
+ background: transparent;
787
+ border: none;
788
+ border-radius: 4px;
789
+ color: var(--text-dim, #8892a0);
790
+ cursor: pointer;
791
+ transition: all 0.2s ease;
792
+ }
793
+
794
+ .clear-search-btn:hover {
795
+ background: var(--hover-bg, #2a3338);
796
+ color: var(--text-color, #ffffff);
797
+ }
798
+
799
+ .search-results-info {
800
+ margin-top: 1rem;
801
+ display: flex;
802
+ justify-content: space-between;
803
+ align-items: center;
804
+ flex-wrap: wrap;
805
+ gap: 1rem;
806
+ }
807
+
808
+ .results-count {
809
+ color: var(--text-dim, #8892a0);
810
+ font-size: 0.9rem;
811
+ }
812
+
813
+ .search-filters {
814
+ display: flex;
815
+ align-items: center;
816
+ gap: 0.5rem;
817
+ flex-wrap: wrap;
818
+ }
819
+
820
+ .search-filter-label {
821
+ color: var(--text-dim, #8892a0);
822
+ font-size: 0.85rem;
823
+ }
824
+
825
+ .search-category-tag {
826
+ background: var(--accent-color, #00d4aa)20;
827
+ color: var(--accent-color, #00d4aa);
828
+ padding: 0.25rem 0.5rem;
829
+ border-radius: 4px;
830
+ font-size: 0.75rem;
831
+ font-weight: 500;
832
+ }
833
+
834
+ .no-search-results {
835
+ text-align: center;
836
+ padding: 3rem 2rem;
837
+ color: var(--text-dim, #8892a0);
838
+ }
839
+
840
+ .no-results-icon {
841
+ font-size: 4rem;
842
+ margin-bottom: 1rem;
843
+ }
844
+
845
+ .no-search-results h3 {
846
+ color: var(--text-color, #ffffff);
847
+ margin-bottom: 1rem;
848
+ }
849
+
850
+ .search-suggestions {
851
+ text-align: left;
852
+ max-width: 400px;
853
+ margin: 1.5rem auto 0;
854
+ }
855
+
856
+ .search-suggestions li {
857
+ margin-bottom: 0.5rem;
858
+ padding-left: 1rem;
859
+ }
860
+
861
+ .search-category-section {
862
+ margin-bottom: 2rem;
863
+ }
864
+
865
+ .search-category-header {
866
+ display: flex;
867
+ align-items: center;
868
+ gap: 0.75rem;
869
+ margin-bottom: 1rem;
870
+ padding-bottom: 0.5rem;
871
+ border-bottom: 1px solid var(--border-color, #2a3338);
872
+ color: var(--text-color, #ffffff);
873
+ font-size: 1.25rem;
874
+ font-weight: 600;
875
+ }
876
+
877
+ .category-icon {
878
+ font-size: 1.5rem;
879
+ }
880
+
881
+ .search-category-grid {
882
+ display: grid;
883
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
884
+ gap: 1.5rem;
885
+ }
886
+
887
+ .search-result-card {
888
+ transition: all 0.3s ease;
889
+ cursor: pointer;
890
+ }
891
+
892
+ /* Ensure search result cards inherit flip behavior */
893
+ .search-result-card .card-inner {
894
+ transition: transform 0.6s;
895
+ transform-style: preserve-3d;
896
+ }
897
+
898
+ .search-result-card.flipped .card-inner {
899
+ transform: rotateY(180deg);
900
+ }
901
+
902
+ .search-result-card .component-type-badge {
903
+ background: var(--accent-color, #00d4aa)20;
904
+ color: var(--accent-color, #00d4aa);
905
+ font-size: 0.75rem;
906
+ font-weight: 600;
907
+ text-transform: capitalize;
908
+ }
909
+
910
+ .search-result-card .card-title {
911
+ color: var(--text-primary, #ffffff);
912
+ font-size: 1.1rem;
913
+ font-weight: normal;
914
+ margin: 0.75rem 0 0.5rem 0;
915
+ text-transform: capitalize;
916
+ }
917
+
918
+ .search-result-card .card-description {
919
+ color: var(--text-secondary, #8892a0);
920
+ font-size: 0.8rem;
921
+ line-height: 1.4;
922
+ text-align: center;
923
+ margin-bottom: 1rem;
924
+ }
925
+
926
+ /* Card back should match main template card styles */
927
+ .search-result-card .card-back {
928
+ background: var(--bg-tertiary);
929
+ padding: 1.5rem;
930
+ display: flex;
931
+ flex-direction: column;
932
+ justify-content: center;
933
+ align-items: center;
934
+ text-align: center;
935
+ }
936
+
937
+ .search-result-card .card-tags {
938
+ display: flex;
939
+ flex-wrap: wrap;
940
+ gap: 0.5rem;
941
+ margin-top: auto;
942
+ }
943
+
944
+ .search-result-card .tag {
945
+ background: var(--hover-bg, #2a3338);
946
+ color: var(--text-dim, #8892a0);
947
+ padding: 0.25rem 0.5rem;
948
+ border-radius: 4px;
949
+ font-size: 0.7rem;
950
+ font-weight: 500;
951
+ }
952
+
953
+ .search-result-card .tag-more {
954
+ background: var(--accent-color, #00d4aa)30;
955
+ color: var(--accent-color, #00d4aa);
956
+ padding: 0.25rem 0.5rem;
957
+ border-radius: 4px;
958
+ font-size: 0.7rem;
959
+ font-weight: 600;
960
+ }
961
+
962
+ .search-result-card .card-back h3 {
963
+ color: var(--text-primary, #ffffff);
964
+ font-size: 0.85rem;
965
+ font-weight: normal;
966
+ margin-bottom: 0.5rem;
967
+ text-align: center;
968
+ }
969
+
970
+ .search-result-card .command-display {
971
+ width: 100%;
972
+ height: 100%;
973
+ display: flex;
974
+ flex-direction: column;
975
+ align-items: center;
976
+ justify-content: center;
977
+ gap: 0.5rem;
978
+ padding: 0;
979
+ }
980
+
981
+ .search-result-card .command-code-container {
982
+ position: relative;
983
+ width: 100%;
984
+ display: flex;
985
+ align-items: center;
986
+ background: var(--bg-tertiary);
987
+ border: 1px solid var(--border-secondary);
988
+ border-radius: 4px;
989
+ padding: 8px 12px;
990
+ margin-bottom: 0.5rem;
991
+ flex-shrink: 0;
992
+ }
993
+
994
+ .search-result-card .command-code {
995
+ flex: 1;
996
+ color: var(--text-primary, #ffffff);
997
+ font-size: 0.75rem;
998
+ font-family: 'Monaco', 'Menlo', monospace;
999
+ overflow-x: auto;
1000
+ white-space: nowrap;
1001
+ padding-right: 8px;
1002
+ }
1003
+
1004
+ .search-result-card .copy-overlay-btn {
1005
+ background: var(--text-accent, #00d4aa);
1006
+ border: none;
1007
+ color: var(--bg-primary, #0a0e0f);
1008
+ padding: 4px 8px;
1009
+ border-radius: 3px;
1010
+ cursor: pointer;
1011
+ transition: all 0.3s ease;
1012
+ font-size: 10px;
1013
+ font-weight: 500;
1014
+ display: flex;
1015
+ align-items: center;
1016
+ gap: 4px;
1017
+ opacity: 0;
1018
+ transform: translateX(10px);
1019
+ position: absolute;
1020
+ right: 6px;
1021
+ z-index: 2;
1022
+ }
1023
+
1024
+ .search-result-card .command-code-container:hover .copy-overlay-btn {
1025
+ opacity: 1;
1026
+ transform: translateX(0);
1027
+ }
1028
+
1029
+ .search-result-card .copy-overlay-btn:hover {
1030
+ background: var(--text-success, #22c55e);
1031
+ transform: translateX(0) translateY(-1px);
1032
+ box-shadow: 0 2px 8px rgba(0, 212, 170, 0.3);
1033
+ }
1034
+
1035
+ .search-result-card .btn {
1036
+ background: var(--accent-color, #00d4aa);
1037
+ color: var(--bg-color, #0a0e0f);
1038
+ border: none;
1039
+ padding: 0.75rem 1rem;
1040
+ border-radius: 6px;
1041
+ font-weight: 600;
1042
+ cursor: pointer;
1043
+ transition: all 0.2s ease;
1044
+ display: flex;
1045
+ align-items: center;
1046
+ justify-content: center;
1047
+ gap: 0.5rem;
1048
+ width: 100%;
1049
+ }
1050
+
1051
+ .search-result-card .btn:hover {
1052
+ background: var(--accent-color, #00d4aa)90;
1053
+ transform: translateY(-1px);
1054
+ }
1055
+
1056
+ /* View Details and Add to Stack buttons */
1057
+ .search-result-card .view-files-btn {
1058
+ background: rgba(0, 255, 0, 0.2); /* Debug background */
1059
+ border: 2px solid lime; /* Debug border */
1060
+ color: var(--text-color, #ffffff);
1061
+ padding: 0.4rem 0.6rem;
1062
+ border-radius: 4px;
1063
+ font-weight: 600;
1064
+ cursor: pointer;
1065
+ transition: all 0.2s ease;
1066
+ display: flex;
1067
+ align-items: center;
1068
+ justify-content: center;
1069
+ gap: 0.3rem;
1070
+ width: 100%;
1071
+ margin-bottom: 0;
1072
+ font-size: 0.75rem;
1073
+ }
1074
+
1075
+ .search-result-card .view-files-btn:hover {
1076
+ background: var(--hover-bg, #2a3338);
1077
+ border-color: var(--accent-color, #00d4aa);
1078
+ transform: translateY(-1px);
1079
+ }
1080
+
1081
+ .search-result-card .add-to-cart-btn {
1082
+ background: rgba(255, 255, 0, 0.5); /* Debug background */
1083
+ border: 2px solid yellow; /* Debug border */
1084
+ color: black; /* Debug text color */
1085
+ padding: 0.4rem 0.6rem;
1086
+ border-radius: 4px;
1087
+ font-weight: 600;
1088
+ cursor: pointer;
1089
+ transition: all 0.2s ease;
1090
+ display: flex;
1091
+ align-items: center;
1092
+ justify-content: center;
1093
+ gap: 0.3rem;
1094
+ width: 100%;
1095
+ font-size: 0.75rem;
1096
+ }
1097
+
1098
+ .search-result-card .add-to-cart-btn:hover {
1099
+ background: var(--accent-color, #00d4aa)90;
1100
+ transform: translateY(-1px);
1101
+ }
1102
+
1103
+ .search-result-card .add-to-cart-btn.added {
1104
+ background: var(--success-color, #22c55e);
1105
+ color: var(--bg-color, #0a0e0f);
1106
+ }
1107
+
1108
+ /* Card actions container */
1109
+ .search-result-card .card-actions {
1110
+ display: flex;
1111
+ flex-direction: column;
1112
+ gap: 0.4rem;
1113
+ width: 100%;
1114
+ margin-top: auto;
1115
+ background: rgba(255, 0, 0, 0.1); /* Debug background */
1116
+ border: 1px solid red; /* Debug border */
1117
+ padding: 4px; /* Debug padding */
1118
+ }
1119
+
1120
+ @media (max-width: 768px) {
1121
+ .search-results-info {
1122
+ flex-direction: column;
1123
+ align-items: flex-start;
1124
+ }
1125
+
1126
+ .search-category-grid {
1127
+ grid-template-columns: 1fr;
1128
+ }
1129
+ }
1130
+ `;
1131
+ document.head.appendChild(searchStyles);
1132
+ }
1133
+ });
1134
+
1135
+ /**
1136
+ * Hide filter elements during search
1137
+ */
1138
+ function hideFilters() {
1139
+ const filterGroup = document.querySelector('.filter-group');
1140
+ const componentCategories = document.getElementById('componentCategories');
1141
+
1142
+ if (filterGroup) {
1143
+ filterGroup.style.display = 'none';
1144
+ }
1145
+
1146
+ if (componentCategories) {
1147
+ componentCategories.style.display = 'none';
1148
+ }
1149
+ }
1150
+
1151
+ /**
1152
+ * Show filter elements when search is cleared
1153
+ */
1154
+ function showFilters() {
1155
+ const filterGroup = document.querySelector('.filter-group');
1156
+ const componentCategories = document.getElementById('componentCategories');
1157
+
1158
+ if (filterGroup) {
1159
+ filterGroup.style.display = 'flex';
1160
+ }
1161
+
1162
+ if (componentCategories) {
1163
+ componentCategories.style.display = 'block';
1164
+ }
1165
+ }