claude-code-templates 1.21.12 → 1.21.14

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 (1137) 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 +62 -0
  10. package/.claude-plugin/marketplace.json +251 -0
  11. package/.env.example +26 -0
  12. package/.github/WORKFLOWS_REFERENCE.md +88 -0
  13. package/.github/workflows/component-security-validation.yml +129 -0
  14. package/.github/workflows/deploy-docusaurus.yml +31 -0
  15. package/.github/workflows/deploy.yml +33 -0
  16. package/.github/workflows/publish-package.yml +125 -0
  17. package/.mcp.json +4 -0
  18. package/AGENTS.md +4 -0
  19. package/CLAUDE.md +482 -0
  20. package/CLAUDE_JOBS_README.md +148 -0
  21. package/CODE_OF_CONDUCT.md +82 -0
  22. package/CONTRIBUTING.md +505 -0
  23. package/DEPLOYMENT.md +60 -0
  24. package/LICENSE +21 -0
  25. package/README.md +82 -77
  26. package/SECURITY.md +65 -0
  27. package/api/index.html +1 -0
  28. package/api/package.json +7 -0
  29. package/api/track-download-supabase.js +150 -0
  30. package/cli-tool/Makefile +102 -0
  31. package/cli-tool/README.md +182 -0
  32. package/cli-tool/TESTING.md +262 -0
  33. package/{bin → cli-tool/bin}/create-claude-config.js +2 -0
  34. package/cli-tool/components/.claude-plugin/marketplace.json +92 -0
  35. package/cli-tool/components/agents/ai-specialists/ai-ethics-advisor.md +195 -0
  36. package/cli-tool/components/agents/ai-specialists/hackathon-ai-strategist.md +46 -0
  37. package/cli-tool/components/agents/ai-specialists/llms-maintainer.md +94 -0
  38. package/cli-tool/components/agents/ai-specialists/model-evaluator.md +150 -0
  39. package/cli-tool/components/agents/ai-specialists/prompt-engineer.md +112 -0
  40. package/cli-tool/components/agents/ai-specialists/search-specialist.md +59 -0
  41. package/cli-tool/components/agents/ai-specialists/task-decomposition-expert.md +97 -0
  42. package/cli-tool/components/agents/api-graphql/graphql-architect.md +208 -0
  43. package/cli-tool/components/agents/api-graphql/graphql-performance-optimizer.md +357 -0
  44. package/cli-tool/components/agents/api-graphql/graphql-security-specialist.md +519 -0
  45. package/cli-tool/components/agents/blockchain-web3/smart-contract-auditor.md +32 -0
  46. package/cli-tool/components/agents/blockchain-web3/smart-contract-specialist.md +32 -0
  47. package/cli-tool/components/agents/blockchain-web3/web3-integration-specialist.md +32 -0
  48. package/cli-tool/components/agents/business-marketing/business-analyst.md +194 -0
  49. package/cli-tool/components/agents/business-marketing/content-marketer.md +36 -0
  50. package/cli-tool/components/agents/business-marketing/customer-support.md +36 -0
  51. package/cli-tool/components/agents/business-marketing/legal-advisor.md +50 -0
  52. package/cli-tool/components/agents/business-marketing/marketing-attribution-analyst.md +352 -0
  53. package/cli-tool/components/agents/business-marketing/payment-integration.md +33 -0
  54. package/cli-tool/components/agents/business-marketing/product-strategist.md +212 -0
  55. package/cli-tool/components/agents/business-marketing/risk-manager.md +42 -0
  56. package/cli-tool/components/agents/business-marketing/sales-automator.md +36 -0
  57. package/cli-tool/components/agents/data-ai/ai-engineer.md +33 -0
  58. package/cli-tool/components/agents/data-ai/computer-vision-engineer.md +562 -0
  59. package/cli-tool/components/agents/data-ai/data-engineer.md +33 -0
  60. package/cli-tool/components/agents/data-ai/data-scientist.md +337 -0
  61. package/cli-tool/components/agents/data-ai/ml-engineer.md +33 -0
  62. package/cli-tool/components/agents/data-ai/mlops-engineer.md +58 -0
  63. package/cli-tool/components/agents/data-ai/nlp-engineer.md +680 -0
  64. package/cli-tool/components/agents/data-ai/quant-analyst.md +33 -0
  65. package/cli-tool/components/agents/database/database-admin.md +33 -0
  66. package/cli-tool/components/agents/database/database-architect.md +590 -0
  67. package/cli-tool/components/agents/database/database-optimization.md +33 -0
  68. package/cli-tool/components/agents/database/database-optimizer.md +33 -0
  69. package/cli-tool/components/agents/database/neon-auth-specialist.md +175 -0
  70. package/cli-tool/components/agents/database/neon-database-architect.md +141 -0
  71. package/cli-tool/components/agents/database/neon-expert.md +846 -0
  72. package/cli-tool/components/agents/database/nosql-specialist.md +708 -0
  73. package/cli-tool/components/agents/database/supabase-schema-architect.md +138 -0
  74. package/cli-tool/components/agents/deep-research-team/academic-researcher.md +33 -0
  75. package/cli-tool/components/agents/deep-research-team/agent-overview.md +235 -0
  76. package/cli-tool/components/agents/deep-research-team/competitive-intelligence-analyst.md +530 -0
  77. package/cli-tool/components/agents/deep-research-team/data-analyst.md +112 -0
  78. package/cli-tool/components/agents/deep-research-team/fact-checker.md +553 -0
  79. package/cli-tool/components/agents/deep-research-team/query-clarifier.md +73 -0
  80. package/cli-tool/components/agents/deep-research-team/report-generator.md +108 -0
  81. package/cli-tool/components/agents/deep-research-team/research-brief-generator.md +108 -0
  82. package/cli-tool/components/agents/deep-research-team/research-coordinator.md +94 -0
  83. package/cli-tool/components/agents/deep-research-team/research-orchestrator.md +119 -0
  84. package/cli-tool/components/agents/deep-research-team/research-synthesizer.md +109 -0
  85. package/cli-tool/components/agents/deep-research-team/technical-researcher.md +95 -0
  86. package/cli-tool/components/agents/development-team/backend-architect.md +31 -0
  87. package/cli-tool/components/agents/development-team/cli-ui-designer.md +405 -0
  88. package/cli-tool/components/agents/development-team/devops-engineer.md +886 -0
  89. package/cli-tool/components/agents/development-team/frontend-developer.md +32 -0
  90. package/cli-tool/components/agents/development-team/fullstack-developer.md +1205 -0
  91. package/cli-tool/components/agents/development-team/ios-developer.md +36 -0
  92. package/cli-tool/components/agents/development-team/mobile-developer.md +33 -0
  93. package/cli-tool/components/agents/development-team/ui-ux-designer.md +36 -0
  94. package/cli-tool/components/agents/development-tools/code-reviewer.md +30 -0
  95. package/cli-tool/components/agents/development-tools/command-expert.md +422 -0
  96. package/cli-tool/components/agents/development-tools/context-manager.md +65 -0
  97. package/cli-tool/components/agents/development-tools/debugger.md +31 -0
  98. package/cli-tool/components/agents/development-tools/dx-optimizer.md +64 -0
  99. package/cli-tool/components/agents/development-tools/error-detective.md +33 -0
  100. package/cli-tool/components/agents/development-tools/flutter-go-reviewer.md +163 -0
  101. package/cli-tool/components/agents/development-tools/mcp-expert.md +259 -0
  102. package/cli-tool/components/agents/development-tools/performance-profiler.md +799 -0
  103. package/cli-tool/components/agents/development-tools/test-engineer.md +936 -0
  104. package/cli-tool/components/agents/development-tools/unused-code-cleaner.md +194 -0
  105. package/cli-tool/components/agents/devops-infrastructure/cloud-architect.md +33 -0
  106. package/cli-tool/components/agents/devops-infrastructure/deployment-engineer.md +33 -0
  107. package/cli-tool/components/agents/devops-infrastructure/devops-troubleshooter.md +33 -0
  108. package/cli-tool/components/agents/devops-infrastructure/monitoring-specialist.md +36 -0
  109. package/cli-tool/components/agents/devops-infrastructure/network-engineer.md +33 -0
  110. package/cli-tool/components/agents/devops-infrastructure/security-engineer.md +971 -0
  111. package/cli-tool/components/agents/devops-infrastructure/terraform-specialist.md +36 -0
  112. package/cli-tool/components/agents/devops-infrastructure/vercel-deployment-specialist.md +357 -0
  113. package/cli-tool/components/agents/documentation/api-documenter.md +33 -0
  114. package/cli-tool/components/agents/documentation/changelog-generator.md +37 -0
  115. package/cli-tool/components/agents/documentation/docusaurus-expert.md +175 -0
  116. package/cli-tool/components/agents/documentation/technical-writer.md +37 -0
  117. package/cli-tool/components/agents/expert-advisors/agent-expert.md +491 -0
  118. package/cli-tool/components/agents/expert-advisors/architect-review.md +50 -0
  119. package/cli-tool/components/agents/expert-advisors/dependency-manager.md +45 -0
  120. package/cli-tool/components/agents/expert-advisors/documentation-expert.md +47 -0
  121. package/cli-tool/components/agents/ffmpeg-clip-team/audio-mixer.md +37 -0
  122. package/cli-tool/components/agents/ffmpeg-clip-team/audio-quality-controller.md +100 -0
  123. package/cli-tool/components/agents/ffmpeg-clip-team/podcast-content-analyzer.md +60 -0
  124. package/cli-tool/components/agents/ffmpeg-clip-team/podcast-metadata-specialist.md +46 -0
  125. package/cli-tool/components/agents/ffmpeg-clip-team/podcast-transcriber.md +68 -0
  126. package/cli-tool/components/agents/ffmpeg-clip-team/social-media-clip-creator.md +69 -0
  127. package/cli-tool/components/agents/ffmpeg-clip-team/timestamp-precision-specialist.md +98 -0
  128. package/cli-tool/components/agents/ffmpeg-clip-team/video-editor.md +37 -0
  129. package/cli-tool/components/agents/game-development/3d-artist.md +37 -0
  130. package/cli-tool/components/agents/game-development/game-designer.md +37 -0
  131. package/cli-tool/components/agents/game-development/unity-game-developer.md +110 -0
  132. package/cli-tool/components/agents/game-development/unreal-engine-developer.md +128 -0
  133. package/cli-tool/components/agents/git/git-flow-manager.md +329 -0
  134. package/cli-tool/components/agents/mcp-dev-team/mcp-deployment-orchestrator.md +101 -0
  135. package/cli-tool/components/agents/mcp-dev-team/mcp-integration-engineer.md +37 -0
  136. package/cli-tool/components/agents/mcp-dev-team/mcp-protocol-specialist.md +37 -0
  137. package/cli-tool/components/agents/mcp-dev-team/mcp-registry-navigator.md +112 -0
  138. package/cli-tool/components/agents/mcp-dev-team/mcp-security-auditor.md +70 -0
  139. package/cli-tool/components/agents/mcp-dev-team/mcp-server-architect.md +74 -0
  140. package/cli-tool/components/agents/mcp-dev-team/mcp-testing-engineer.md +106 -0
  141. package/cli-tool/components/agents/modernization/architecture-modernizer.md +37 -0
  142. package/cli-tool/components/agents/modernization/cloud-migration-specialist.md +37 -0
  143. package/cli-tool/components/agents/modernization/legacy-modernizer.md +33 -0
  144. package/cli-tool/components/agents/obsidian-ops-team/Scripts/daily_notes_connector.py +306 -0
  145. package/cli-tool/components/agents/obsidian-ops-team/Scripts/enhance_tag_standardizer.py +343 -0
  146. package/cli-tool/components/agents/obsidian-ops-team/Scripts/find_keyword_connections.py +216 -0
  147. package/cli-tool/components/agents/obsidian-ops-team/Scripts/fix_quoted_tags.py +82 -0
  148. package/cli-tool/components/agents/obsidian-ops-team/Scripts/implement_entity_connections.py +195 -0
  149. package/cli-tool/components/agents/obsidian-ops-team/Scripts/link_suggester.py +301 -0
  150. package/cli-tool/components/agents/obsidian-ops-team/Scripts/metadata_adder.py +197 -0
  151. package/cli-tool/components/agents/obsidian-ops-team/Scripts/moc_generator.py +296 -0
  152. package/cli-tool/components/agents/obsidian-ops-team/Scripts/parse_keyword_connections.py +122 -0
  153. package/cli-tool/components/agents/obsidian-ops-team/Scripts/tag_standardizer.py +387 -0
  154. package/cli-tool/components/agents/obsidian-ops-team/connection-agent.md +67 -0
  155. package/cli-tool/components/agents/obsidian-ops-team/content-curator.md +81 -0
  156. package/cli-tool/components/agents/obsidian-ops-team/metadata-agent.md +51 -0
  157. package/cli-tool/components/agents/obsidian-ops-team/moc-agent.md +112 -0
  158. package/cli-tool/components/agents/obsidian-ops-team/review-agent.md +94 -0
  159. package/cli-tool/components/agents/obsidian-ops-team/tag-agent.md +92 -0
  160. package/cli-tool/components/agents/obsidian-ops-team/vault-optimizer.md +76 -0
  161. package/cli-tool/components/agents/ocr-extraction-team/document-structure-analyzer.md +37 -0
  162. package/cli-tool/components/agents/ocr-extraction-team/markdown-syntax-formatter.md +58 -0
  163. package/cli-tool/components/agents/ocr-extraction-team/ocr-grammar-fixer.md +36 -0
  164. package/cli-tool/components/agents/ocr-extraction-team/ocr-preprocessing-optimizer.md +37 -0
  165. package/cli-tool/components/agents/ocr-extraction-team/ocr-quality-assurance.md +62 -0
  166. package/cli-tool/components/agents/ocr-extraction-team/text-comparison-validator.md +60 -0
  167. package/cli-tool/components/agents/ocr-extraction-team/visual-analysis-ocr.md +52 -0
  168. package/cli-tool/components/agents/performance-testing/load-testing-specialist.md +37 -0
  169. package/cli-tool/components/agents/performance-testing/performance-engineer.md +33 -0
  170. package/cli-tool/components/agents/performance-testing/react-performance-optimization.md +65 -0
  171. package/cli-tool/components/agents/performance-testing/test-automator.md +33 -0
  172. package/cli-tool/components/agents/performance-testing/web-vitals-optimizer.md +37 -0
  173. package/cli-tool/components/agents/podcast-creator-team/academic-research-synthesizer.md +61 -0
  174. package/cli-tool/components/agents/podcast-creator-team/comprehensive-researcher.md +49 -0
  175. package/cli-tool/components/agents/podcast-creator-team/episode-orchestrator.md +52 -0
  176. package/cli-tool/components/agents/podcast-creator-team/guest-outreach-coordinator.md +37 -0
  177. package/cli-tool/components/agents/podcast-creator-team/market-research-analyst.md +54 -0
  178. package/cli-tool/components/agents/podcast-creator-team/podcast-editor.md +37 -0
  179. package/cli-tool/components/agents/podcast-creator-team/podcast-trend-scout.md +60 -0
  180. package/cli-tool/components/agents/podcast-creator-team/project-supervisor-orchestrator.md +48 -0
  181. package/cli-tool/components/agents/podcast-creator-team/seo-podcast-optimizer.md +58 -0
  182. package/cli-tool/components/agents/podcast-creator-team/social-media-copywriter.md +57 -0
  183. package/cli-tool/components/agents/podcast-creator-team/twitter-ai-influencer-manager.md +62 -0
  184. package/cli-tool/components/agents/programming-languages/c-pro.md +36 -0
  185. package/cli-tool/components/agents/programming-languages/c-sharp-pro.md +40 -0
  186. package/cli-tool/components/agents/programming-languages/cpp-pro.md +39 -0
  187. package/cli-tool/components/agents/programming-languages/golang-pro.md +33 -0
  188. package/cli-tool/components/agents/programming-languages/javascript-pro.md +36 -0
  189. package/cli-tool/components/agents/programming-languages/php-pro.md +44 -0
  190. package/cli-tool/components/agents/programming-languages/python-pro.md +33 -0
  191. package/cli-tool/components/agents/programming-languages/rust-pro.md +36 -0
  192. package/cli-tool/components/agents/programming-languages/shell-scripting-pro.md +38 -0
  193. package/cli-tool/components/agents/programming-languages/sql-pro.md +36 -0
  194. package/cli-tool/components/agents/programming-languages/typescript-pro.md +38 -0
  195. package/cli-tool/components/agents/realtime/supabase-realtime-optimizer.md +193 -0
  196. package/cli-tool/components/agents/security/api-security-audit.md +93 -0
  197. package/cli-tool/components/agents/security/compliance-specialist.md +37 -0
  198. package/cli-tool/components/agents/security/incident-responder.md +75 -0
  199. package/cli-tool/components/agents/security/penetration-tester.md +37 -0
  200. package/cli-tool/components/agents/security/security-auditor.md +33 -0
  201. package/cli-tool/components/agents/web-tools/nextjs-architecture-expert.md +194 -0
  202. package/cli-tool/components/agents/web-tools/react-performance-optimizer.md +425 -0
  203. package/cli-tool/components/agents/web-tools/seo-analyzer.md +37 -0
  204. package/cli-tool/components/agents/web-tools/url-context-validator.md +61 -0
  205. package/cli-tool/components/agents/web-tools/url-link-extractor.md +59 -0
  206. package/cli-tool/components/agents/web-tools/web-accessibility-checker.md +37 -0
  207. package/cli-tool/components/commands/automation/act.md +57 -0
  208. package/cli-tool/components/commands/automation/ci-pipeline.md +378 -0
  209. package/cli-tool/components/commands/automation/husky.md +130 -0
  210. package/cli-tool/components/commands/automation/workflow-orchestrator.md +576 -0
  211. package/cli-tool/components/commands/database/supabase-backup-manager.md +37 -0
  212. package/cli-tool/components/commands/database/supabase-data-explorer.md +37 -0
  213. package/cli-tool/components/commands/database/supabase-migration-assistant.md +37 -0
  214. package/cli-tool/components/commands/database/supabase-performance-optimizer.md +37 -0
  215. package/cli-tool/components/commands/database/supabase-realtime-monitor.md +37 -0
  216. package/cli-tool/components/commands/database/supabase-schema-sync.md +37 -0
  217. package/cli-tool/components/commands/database/supabase-security-audit.md +37 -0
  218. package/cli-tool/components/commands/database/supabase-type-generator.md +37 -0
  219. package/cli-tool/components/commands/deployment/add-changelog.md +92 -0
  220. package/cli-tool/components/commands/deployment/blue-green-deployment.md +824 -0
  221. package/cli-tool/components/commands/deployment/changelog-demo-command.md +43 -0
  222. package/cli-tool/components/commands/deployment/ci-setup.md +323 -0
  223. package/cli-tool/components/commands/deployment/containerize-application.md +93 -0
  224. package/cli-tool/components/commands/deployment/deployment-monitoring.md +1228 -0
  225. package/cli-tool/components/commands/deployment/hotfix-deploy.md +283 -0
  226. package/cli-tool/components/commands/deployment/prepare-release.md +357 -0
  227. package/cli-tool/components/commands/deployment/rollback-deploy.md +145 -0
  228. package/cli-tool/components/commands/deployment/setup-automated-releases.md +143 -0
  229. package/cli-tool/components/commands/deployment/setup-kubernetes-deployment.md +93 -0
  230. package/cli-tool/components/commands/documentation/create-architecture-documentation.md +95 -0
  231. package/cli-tool/components/commands/documentation/create-onboarding-guide.md +93 -0
  232. package/cli-tool/components/commands/documentation/doc-api.md +242 -0
  233. package/cli-tool/components/commands/documentation/docs-maintenance.md +119 -0
  234. package/cli-tool/components/commands/documentation/generate-api-documentation.md +97 -0
  235. package/cli-tool/components/commands/documentation/interactive-documentation.md +133 -0
  236. package/cli-tool/components/commands/documentation/load-llms-txt.md +39 -0
  237. package/cli-tool/components/commands/documentation/migration-guide.md +250 -0
  238. package/cli-tool/components/commands/documentation/troubleshooting-guide.md +370 -0
  239. package/cli-tool/components/commands/documentation/update-docs.md +107 -0
  240. package/cli-tool/components/commands/game-development/game-analytics-integration.md +128 -0
  241. package/cli-tool/components/commands/game-development/game-asset-pipeline.md +108 -0
  242. package/cli-tool/components/commands/game-development/game-performance-profiler.md +78 -0
  243. package/cli-tool/components/commands/game-development/game-testing-framework.md +112 -0
  244. package/cli-tool/components/commands/game-development/unity-project-setup.md +190 -0
  245. package/cli-tool/components/commands/git/feature.md +196 -0
  246. package/cli-tool/components/commands/git/finish.md +528 -0
  247. package/cli-tool/components/commands/git/flow-status.md +438 -0
  248. package/cli-tool/components/commands/git/hotfix.md +456 -0
  249. package/cli-tool/components/commands/git/release.md +381 -0
  250. package/cli-tool/components/commands/git-workflow/branch-cleanup.md +181 -0
  251. package/cli-tool/components/commands/git-workflow/commit.md +167 -0
  252. package/cli-tool/components/commands/git-workflow/create-pr.md +19 -0
  253. package/cli-tool/components/commands/git-workflow/create-pull-request.md +126 -0
  254. package/cli-tool/components/commands/git-workflow/create-worktrees.md +174 -0
  255. package/cli-tool/components/commands/git-workflow/fix-github-issue.md +13 -0
  256. package/cli-tool/components/commands/git-workflow/gemini-review.md +293 -0
  257. package/cli-tool/components/commands/git-workflow/git-bisect-helper.md +261 -0
  258. package/cli-tool/components/commands/git-workflow/pr-review.md +76 -0
  259. package/cli-tool/components/commands/git-workflow/update-branch-name.md +9 -0
  260. package/cli-tool/components/commands/nextjs-vercel/nextjs-api-tester.md +480 -0
  261. package/cli-tool/components/commands/nextjs-vercel/nextjs-bundle-analyzer.md +406 -0
  262. package/cli-tool/components/commands/nextjs-vercel/nextjs-component-generator.md +489 -0
  263. package/cli-tool/components/commands/nextjs-vercel/nextjs-middleware-creator.md +712 -0
  264. package/cli-tool/components/commands/nextjs-vercel/nextjs-migration-helper.md +778 -0
  265. package/cli-tool/components/commands/nextjs-vercel/nextjs-performance-audit.md +653 -0
  266. package/cli-tool/components/commands/nextjs-vercel/nextjs-scaffold.md +237 -0
  267. package/cli-tool/components/commands/nextjs-vercel/vercel-deploy-optimize.md +341 -0
  268. package/cli-tool/components/commands/nextjs-vercel/vercel-edge-function.md +810 -0
  269. package/cli-tool/components/commands/nextjs-vercel/vercel-env-sync.md +666 -0
  270. package/cli-tool/components/commands/orchestration/archive.md +414 -0
  271. package/cli-tool/components/commands/orchestration/commit.md +305 -0
  272. package/cli-tool/components/commands/orchestration/find.md +272 -0
  273. package/cli-tool/components/commands/orchestration/log.md +355 -0
  274. package/cli-tool/components/commands/orchestration/move.md +220 -0
  275. package/cli-tool/components/commands/orchestration/optimize.md +375 -0
  276. package/cli-tool/components/commands/orchestration/remove.md +301 -0
  277. package/cli-tool/components/commands/orchestration/report.md +292 -0
  278. package/cli-tool/components/commands/orchestration/resume.md +256 -0
  279. package/cli-tool/components/commands/orchestration/start.md +169 -0
  280. package/cli-tool/components/commands/orchestration/status.md +219 -0
  281. package/cli-tool/components/commands/orchestration/sync.md +294 -0
  282. package/cli-tool/components/commands/performance/add-performance-monitoring.md +84 -0
  283. package/cli-tool/components/commands/performance/implement-caching-strategy.md +84 -0
  284. package/cli-tool/components/commands/performance/optimize-api-performance.md +119 -0
  285. package/cli-tool/components/commands/performance/optimize-build.md +139 -0
  286. package/cli-tool/components/commands/performance/optimize-bundle-size.md +84 -0
  287. package/cli-tool/components/commands/performance/optimize-database-performance.md +84 -0
  288. package/cli-tool/components/commands/performance/optimize-memory-usage.md +91 -0
  289. package/cli-tool/components/commands/performance/performance-audit.md +89 -0
  290. package/cli-tool/components/commands/performance/setup-cdn-optimization.md +84 -0
  291. package/cli-tool/components/commands/performance/system-behavior-simulator.md +415 -0
  292. package/cli-tool/components/commands/project-management/add-package.md +90 -0
  293. package/cli-tool/components/commands/project-management/add-to-changelog.md +37 -0
  294. package/cli-tool/components/commands/project-management/create-feature.md +130 -0
  295. package/cli-tool/components/commands/project-management/create-jtbd.md +37 -0
  296. package/cli-tool/components/commands/project-management/create-prd.md +36 -0
  297. package/cli-tool/components/commands/project-management/create-prp.md +37 -0
  298. package/cli-tool/components/commands/project-management/init-project.md +80 -0
  299. package/cli-tool/components/commands/project-management/milestone-tracker.md +44 -0
  300. package/cli-tool/components/commands/project-management/pac-configure.md +32 -0
  301. package/cli-tool/components/commands/project-management/pac-create-epic.md +41 -0
  302. package/cli-tool/components/commands/project-management/pac-create-ticket.md +42 -0
  303. package/cli-tool/components/commands/project-management/pac-update-status.md +39 -0
  304. package/cli-tool/components/commands/project-management/pac-validate.md +35 -0
  305. package/cli-tool/components/commands/project-management/project-health-check.md +58 -0
  306. package/cli-tool/components/commands/project-management/project-timeline-simulator.md +37 -0
  307. package/cli-tool/components/commands/project-management/project-to-linear.md +38 -0
  308. package/cli-tool/components/commands/project-management/release.md +31 -0
  309. package/cli-tool/components/commands/project-management/todo.md +62 -0
  310. package/cli-tool/components/commands/security/add-authentication-system.md +34 -0
  311. package/cli-tool/components/commands/security/dependency-audit.md +32 -0
  312. package/cli-tool/components/commands/security/penetration-test.md +40 -0
  313. package/cli-tool/components/commands/security/secrets-scanner.md +39 -0
  314. package/cli-tool/components/commands/security/security-audit.md +82 -0
  315. package/cli-tool/components/commands/security/security-hardening.md +33 -0
  316. package/cli-tool/components/commands/setup/create-database-migrations.md +35 -0
  317. package/cli-tool/components/commands/setup/design-database-schema.md +37 -0
  318. package/cli-tool/components/commands/setup/design-rest-api.md +37 -0
  319. package/cli-tool/components/commands/setup/implement-graphql-api.md +37 -0
  320. package/cli-tool/components/commands/setup/migrate-to-typescript.md +37 -0
  321. package/cli-tool/components/commands/setup/setup-ci-cd-pipeline.md +37 -0
  322. package/cli-tool/components/commands/setup/setup-development-environment.md +37 -0
  323. package/cli-tool/components/commands/setup/setup-docker-containers.md +37 -0
  324. package/cli-tool/components/commands/setup/setup-formatting.md +37 -0
  325. package/cli-tool/components/commands/setup/setup-linting.md +37 -0
  326. package/cli-tool/components/commands/setup/setup-monitoring-observability.md +37 -0
  327. package/cli-tool/components/commands/setup/setup-monorepo.md +37 -0
  328. package/cli-tool/components/commands/setup/setup-rate-limiting.md +37 -0
  329. package/cli-tool/components/commands/setup/update-dependencies.md +35 -0
  330. package/cli-tool/components/commands/simulation/business-scenario-explorer.md +37 -0
  331. package/cli-tool/components/commands/simulation/constraint-modeler.md +37 -0
  332. package/cli-tool/components/commands/simulation/decision-tree-explorer.md +37 -0
  333. package/cli-tool/components/commands/simulation/digital-twin-creator.md +37 -0
  334. package/cli-tool/components/commands/simulation/future-scenario-generator.md +37 -0
  335. package/cli-tool/components/commands/simulation/market-response-modeler.md +37 -0
  336. package/cli-tool/components/commands/simulation/monte-carlo-simulator.md +37 -0
  337. package/cli-tool/components/commands/simulation/simulation-calibrator.md +37 -0
  338. package/cli-tool/components/commands/simulation/system-dynamics-modeler.md +37 -0
  339. package/cli-tool/components/commands/simulation/timeline-compressor.md +37 -0
  340. package/cli-tool/components/commands/svelte/svelte-a11y.md +105 -0
  341. package/cli-tool/components/commands/svelte/svelte-component.md +81 -0
  342. package/cli-tool/components/commands/svelte/svelte-debug.md +48 -0
  343. package/cli-tool/components/commands/svelte/svelte-migrate.md +79 -0
  344. package/cli-tool/components/commands/svelte/svelte-optimize.md +99 -0
  345. package/cli-tool/components/commands/svelte/svelte-scaffold.md +89 -0
  346. package/cli-tool/components/commands/svelte/svelte-storybook-migrate.md +204 -0
  347. package/cli-tool/components/commands/svelte/svelte-storybook-mock.md +213 -0
  348. package/cli-tool/components/commands/svelte/svelte-storybook-setup.md +113 -0
  349. package/cli-tool/components/commands/svelte/svelte-storybook-story.md +145 -0
  350. package/cli-tool/components/commands/svelte/svelte-storybook-troubleshoot.md +191 -0
  351. package/cli-tool/components/commands/svelte/svelte-storybook.md +48 -0
  352. package/cli-tool/components/commands/svelte/svelte-test-coverage.md +77 -0
  353. package/cli-tool/components/commands/svelte/svelte-test-fix.md +74 -0
  354. package/cli-tool/components/commands/svelte/svelte-test-setup.md +85 -0
  355. package/cli-tool/components/commands/svelte/svelte-test.md +60 -0
  356. package/cli-tool/components/commands/sync/bidirectional-sync.md +37 -0
  357. package/cli-tool/components/commands/sync/bulk-import-issues.md +37 -0
  358. package/cli-tool/components/commands/sync/cross-reference-manager.md +37 -0
  359. package/cli-tool/components/commands/sync/issue-to-linear-task.md +37 -0
  360. package/cli-tool/components/commands/sync/linear-task-to-issue.md +37 -0
  361. package/cli-tool/components/commands/sync/sync-automation-setup.md +37 -0
  362. package/cli-tool/components/commands/sync/sync-conflict-resolver.md +37 -0
  363. package/cli-tool/components/commands/sync/sync-health-monitor.md +37 -0
  364. package/cli-tool/components/commands/sync/sync-issues-to-linear.md +37 -0
  365. package/cli-tool/components/commands/sync/sync-linear-to-issues.md +37 -0
  366. package/cli-tool/components/commands/sync/sync-migration-assistant.md +37 -0
  367. package/cli-tool/components/commands/sync/sync-pr-to-task.md +37 -0
  368. package/cli-tool/components/commands/sync/sync-status.md +391 -0
  369. package/cli-tool/components/commands/sync/task-from-pr.md +37 -0
  370. package/cli-tool/components/commands/team/architecture-review.md +37 -0
  371. package/cli-tool/components/commands/team/decision-quality-analyzer.md +37 -0
  372. package/cli-tool/components/commands/team/dependency-mapper.md +37 -0
  373. package/cli-tool/components/commands/team/estimate-assistant.md +37 -0
  374. package/cli-tool/components/commands/team/issue-triage.md +37 -0
  375. package/cli-tool/components/commands/team/memory-spring-cleaning.md +37 -0
  376. package/cli-tool/components/commands/team/migration-assistant.md +37 -0
  377. package/cli-tool/components/commands/team/retrospective-analyzer.md +37 -0
  378. package/cli-tool/components/commands/team/session-learning-capture.md +37 -0
  379. package/cli-tool/components/commands/team/sprint-planning.md +189 -0
  380. package/cli-tool/components/commands/team/standup-report.md +37 -0
  381. package/cli-tool/components/commands/team/team-knowledge-mapper.md +37 -0
  382. package/cli-tool/components/commands/team/team-velocity-tracker.md +37 -0
  383. package/cli-tool/components/commands/team/team-workload-balancer.md +37 -0
  384. package/cli-tool/components/commands/testing/add-mutation-testing.md +37 -0
  385. package/cli-tool/components/commands/testing/add-property-based-testing.md +37 -0
  386. package/cli-tool/components/commands/testing/e2e-setup.md +37 -0
  387. package/cli-tool/components/commands/testing/generate-test-cases.md +37 -0
  388. package/cli-tool/components/commands/testing/generate-tests.md +87 -0
  389. package/cli-tool/components/commands/testing/setup-comprehensive-testing.md +37 -0
  390. package/cli-tool/components/commands/testing/setup-load-testing.md +37 -0
  391. package/cli-tool/components/commands/testing/setup-visual-testing.md +37 -0
  392. package/cli-tool/components/commands/testing/test-automation-orchestrator.md +37 -0
  393. package/cli-tool/components/commands/testing/test-changelog-automation.md +37 -0
  394. package/cli-tool/components/commands/testing/test-coverage.md +37 -0
  395. package/cli-tool/components/commands/testing/test-quality-analyzer.md +37 -0
  396. package/cli-tool/components/commands/testing/testing_plan_integration.md +37 -0
  397. package/cli-tool/components/commands/testing/write-tests.md +37 -0
  398. package/cli-tool/components/commands/utilities/all-tools.md +31 -0
  399. package/cli-tool/components/commands/utilities/architecture-scenario-explorer.md +375 -0
  400. package/cli-tool/components/commands/utilities/check-file.md +53 -0
  401. package/cli-tool/components/commands/utilities/clean-branches.md +243 -0
  402. package/cli-tool/components/commands/utilities/clean.md +1 -0
  403. package/cli-tool/components/commands/utilities/code-permutation-tester.md +341 -0
  404. package/cli-tool/components/commands/utilities/code-review.md +70 -0
  405. package/cli-tool/components/commands/utilities/code-to-task.md +583 -0
  406. package/cli-tool/components/commands/utilities/context-prime.md +1 -0
  407. package/cli-tool/components/commands/utilities/debug-error.md +121 -0
  408. package/cli-tool/components/commands/utilities/directory-deep-dive.md +34 -0
  409. package/cli-tool/components/commands/utilities/explain-code.md +194 -0
  410. package/cli-tool/components/commands/utilities/fix-issue.md +85 -0
  411. package/cli-tool/components/commands/utilities/generate-linear-worklog.md +113 -0
  412. package/cli-tool/components/commands/utilities/git-status.md +39 -0
  413. package/cli-tool/components/commands/utilities/initref.md +3 -0
  414. package/cli-tool/components/commands/utilities/prime.md +41 -0
  415. package/cli-tool/components/commands/utilities/refactor-code.md +116 -0
  416. package/cli-tool/components/commands/utilities/ultra-think.md +158 -0
  417. package/cli-tool/components/hooks/HOOK_PATTERNS_COMPRESSED.json +1 -0
  418. package/cli-tool/components/hooks/automation/agents-md-loader.json +17 -0
  419. package/cli-tool/components/hooks/automation/build-on-change.json +16 -0
  420. package/cli-tool/components/hooks/automation/dependency-checker.json +16 -0
  421. package/cli-tool/components/hooks/automation/deployment-health-monitor.json +29 -0
  422. package/cli-tool/components/hooks/automation/discord-detailed-notifications.json +26 -0
  423. package/cli-tool/components/hooks/automation/discord-error-notifications.json +37 -0
  424. package/cli-tool/components/hooks/automation/discord-notifications.json +25 -0
  425. package/cli-tool/components/hooks/automation/simple-notifications.json +16 -0
  426. package/cli-tool/components/hooks/automation/slack-detailed-notifications.json +26 -0
  427. package/cli-tool/components/hooks/automation/slack-error-notifications.json +37 -0
  428. package/cli-tool/components/hooks/automation/slack-notifications.json +25 -0
  429. package/cli-tool/components/hooks/automation/telegram-detailed-notifications.json +26 -0
  430. package/cli-tool/components/hooks/automation/telegram-error-notifications.json +37 -0
  431. package/cli-tool/components/hooks/automation/telegram-notifications.json +25 -0
  432. package/cli-tool/components/hooks/automation/vercel-auto-deploy.json +17 -0
  433. package/cli-tool/components/hooks/automation/vercel-environment-sync.json +29 -0
  434. package/cli-tool/components/hooks/development-tools/change-tracker.json +25 -0
  435. package/cli-tool/components/hooks/development-tools/command-logger.json +16 -0
  436. package/cli-tool/components/hooks/development-tools/file-backup.json +16 -0
  437. package/cli-tool/components/hooks/development-tools/lint-on-save.json +16 -0
  438. package/cli-tool/components/hooks/development-tools/nextjs-code-quality-enforcer.json +17 -0
  439. package/cli-tool/components/hooks/development-tools/smart-formatting.json +16 -0
  440. package/cli-tool/components/hooks/git/conventional-commits.json +16 -0
  441. package/cli-tool/components/hooks/git/conventional-commits.py +84 -0
  442. package/cli-tool/components/hooks/git/prevent-direct-push.json +16 -0
  443. package/cli-tool/components/hooks/git/prevent-direct-push.py +86 -0
  444. package/cli-tool/components/hooks/git/validate-branch-name.json +16 -0
  445. package/cli-tool/components/hooks/git/validate-branch-name.py +96 -0
  446. package/cli-tool/components/hooks/git-workflow/auto-git-add.json +16 -0
  447. package/cli-tool/components/hooks/git-workflow/smart-commit.json +25 -0
  448. package/cli-tool/components/hooks/performance/performance-budget-guard.json +27 -0
  449. package/cli-tool/components/hooks/performance/performance-monitor.json +27 -0
  450. package/cli-tool/components/hooks/post-tool/format-javascript-files.json +16 -0
  451. package/cli-tool/components/hooks/post-tool/format-python-files.json +16 -0
  452. package/cli-tool/components/hooks/post-tool/git-add-changes.json +25 -0
  453. package/cli-tool/components/hooks/post-tool/run-tests-after-changes.json +16 -0
  454. package/cli-tool/components/hooks/pre-tool/backup-before-edit.json +16 -0
  455. package/cli-tool/components/hooks/pre-tool/notify-before-bash.json +16 -0
  456. package/cli-tool/components/hooks/pre-tool/update-search-year.json +17 -0
  457. package/cli-tool/components/hooks/security/file-protection.json +16 -0
  458. package/cli-tool/components/hooks/security/security-scanner.json +16 -0
  459. package/cli-tool/components/hooks/testing/test-runner.json +16 -0
  460. package/cli-tool/components/mcps/browser_automation/browser-use-mcp-server.json +20 -0
  461. package/cli-tool/components/mcps/browser_automation/browsermcp.json +9 -0
  462. package/cli-tool/components/mcps/browser_automation/mcp-server-browserbase.json +14 -0
  463. package/cli-tool/components/mcps/browser_automation/mcp-server-playwright.json +9 -0
  464. package/cli-tool/components/mcps/browser_automation/playwright-mcp-server.json +9 -0
  465. package/cli-tool/components/mcps/browser_automation/playwright-mcp.json +11 -0
  466. package/cli-tool/components/mcps/database/mysql-integration.json +12 -0
  467. package/cli-tool/components/mcps/database/neon.json +9 -0
  468. package/cli-tool/components/mcps/database/postgresql-integration.json +12 -0
  469. package/cli-tool/components/mcps/database/supabase.json +17 -0
  470. package/cli-tool/components/mcps/deepgraph/deepgraph-nextjs.json +13 -0
  471. package/cli-tool/components/mcps/deepgraph/deepgraph-react.json +13 -0
  472. package/cli-tool/components/mcps/deepgraph/deepgraph-typescript.json +13 -0
  473. package/cli-tool/components/mcps/deepgraph/deepgraph-vue.json +13 -0
  474. package/cli-tool/components/mcps/devtools/azure-kubernetes-service.json +11 -0
  475. package/cli-tool/components/mcps/devtools/box.json +14 -0
  476. package/cli-tool/components/mcps/devtools/chrome-devtools.json +9 -0
  477. package/cli-tool/components/mcps/devtools/circleci.json +13 -0
  478. package/cli-tool/components/mcps/devtools/codacy.json +12 -0
  479. package/cli-tool/components/mcps/devtools/context7.json +9 -0
  480. package/cli-tool/components/mcps/devtools/dynatrace.json +13 -0
  481. package/cli-tool/components/mcps/devtools/elasticsearch.json +18 -0
  482. package/cli-tool/components/mcps/devtools/figma-dev-mode.json +8 -0
  483. package/cli-tool/components/mcps/devtools/firecrawl.json +12 -0
  484. package/cli-tool/components/mcps/devtools/firefly-mcp.json +13 -0
  485. package/cli-tool/components/mcps/devtools/grafana.json +15 -0
  486. package/cli-tool/components/mcps/devtools/huggingface.json +11 -0
  487. package/cli-tool/components/mcps/devtools/imagesorcery.json +11 -0
  488. package/cli-tool/components/mcps/devtools/ios-simulator-mcp.json +9 -0
  489. package/cli-tool/components/mcps/devtools/jfrog.json +8 -0
  490. package/cli-tool/components/mcps/devtools/just-mcp.json +9 -0
  491. package/cli-tool/components/mcps/devtools/launchdarkly.json +12 -0
  492. package/cli-tool/components/mcps/devtools/leetcode.json +8 -0
  493. package/cli-tool/components/mcps/devtools/logfire.json +9 -0
  494. package/cli-tool/components/mcps/devtools/markitdown.json +14 -0
  495. package/cli-tool/components/mcps/devtools/mcp-server-atlassian-bitbucket.json +9 -0
  496. package/cli-tool/components/mcps/devtools/mcp-server-trello.json +12 -0
  497. package/cli-tool/components/mcps/devtools/microsoft-clarity.json +11 -0
  498. package/cli-tool/components/mcps/devtools/microsoft-dev-box.json +9 -0
  499. package/cli-tool/components/mcps/devtools/mongodb.json +12 -0
  500. package/cli-tool/components/mcps/devtools/postman.json +12 -0
  501. package/cli-tool/components/mcps/devtools/pulumi.json +9 -0
  502. package/cli-tool/components/mcps/devtools/sentry.json +8 -0
  503. package/cli-tool/components/mcps/devtools/serena.json +9 -0
  504. package/cli-tool/components/mcps/devtools/stripe.json +12 -0
  505. package/cli-tool/components/mcps/devtools/terraform.json +14 -0
  506. package/cli-tool/components/mcps/devtools/webflow.json +8 -0
  507. package/cli-tool/components/mcps/filesystem/filesystem-access.json +13 -0
  508. package/cli-tool/components/mcps/integration/github-integration.json +12 -0
  509. package/cli-tool/components/mcps/integration/memory-integration.json +9 -0
  510. package/cli-tool/components/mcps/marketing/facebook-ads-mcp-server.json +13 -0
  511. package/cli-tool/components/mcps/marketing/google-ads-mcp-server.json +11 -0
  512. package/cli-tool/components/mcps/productivity/monday.json +14 -0
  513. package/cli-tool/components/mcps/productivity/notion.json +12 -0
  514. package/cli-tool/components/mcps/web/web-fetch.json +9 -0
  515. package/cli-tool/components/settings/api/bedrock-configuration.json +7 -0
  516. package/cli-tool/components/settings/api/corporate-proxy.json +7 -0
  517. package/cli-tool/components/settings/api/custom-headers.json +6 -0
  518. package/cli-tool/components/settings/api/vertex-configuration.json +17 -0
  519. package/cli-tool/components/settings/authentication/api-key-helper.json +7 -0
  520. package/cli-tool/components/settings/authentication/force-claudeai-login.json +4 -0
  521. package/cli-tool/components/settings/authentication/force-console-login.json +4 -0
  522. package/cli-tool/components/settings/cleanup/retention-7-days.json +4 -0
  523. package/cli-tool/components/settings/cleanup/retention-90-days.json +4 -0
  524. package/cli-tool/components/settings/environment/bash-timeouts.json +8 -0
  525. package/cli-tool/components/settings/environment/development-utils.json +8 -0
  526. package/cli-tool/components/settings/environment/performance-optimization.json +8 -0
  527. package/cli-tool/components/settings/environment/privacy-focused.json +10 -0
  528. package/cli-tool/components/settings/git/git-flow-settings.json +79 -0
  529. package/cli-tool/components/settings/global/aws-credentials.json +5 -0
  530. package/cli-tool/components/settings/global/custom-model.json +7 -0
  531. package/cli-tool/components/settings/global/git-commit-settings.json +4 -0
  532. package/cli-tool/components/settings/mcp/disable-risky-servers.json +8 -0
  533. package/cli-tool/components/settings/mcp/enable-all-project-servers.json +4 -0
  534. package/cli-tool/components/settings/mcp/enable-specific-servers.json +8 -0
  535. package/cli-tool/components/settings/mcp/mcp-timeouts.json +8 -0
  536. package/cli-tool/components/settings/model/use-haiku.json +4 -0
  537. package/cli-tool/components/settings/model/use-sonnet.json +4 -0
  538. package/cli-tool/components/settings/permissions/additional-directories.json +11 -0
  539. package/cli-tool/components/settings/permissions/allow-git-operations.json +14 -0
  540. package/cli-tool/components/settings/permissions/allow-npm-commands.json +11 -0
  541. package/cli-tool/components/settings/permissions/deny-sensitive-files.json +11 -0
  542. package/cli-tool/components/settings/permissions/development-mode.json +31 -0
  543. package/cli-tool/components/settings/permissions/read-only-mode.json +18 -0
  544. package/cli-tool/components/settings/statusline/asset-pipeline-controller-statusline.json +7 -0
  545. package/cli-tool/components/settings/statusline/bug-circus-statusline.json +7 -0
  546. package/cli-tool/components/settings/statusline/code-casino-statusline.json +7 -0
  547. package/cli-tool/components/settings/statusline/code-spaceship-statusline.json +7 -0
  548. package/cli-tool/components/settings/statusline/colorful-statusline.json +7 -0
  549. package/cli-tool/components/settings/statusline/command-statusline.json +8 -0
  550. package/cli-tool/components/settings/statusline/context-monitor.json +7 -0
  551. package/cli-tool/components/settings/statusline/context-monitor.py +236 -0
  552. package/cli-tool/components/settings/statusline/data-ocean-statusline.json +7 -0
  553. package/cli-tool/components/settings/statusline/emotion-theater-statusline.json +7 -0
  554. package/cli-tool/components/settings/statusline/game-performance-monitor-statusline.json +7 -0
  555. package/cli-tool/components/settings/statusline/git-branch-statusline.json +7 -0
  556. package/cli-tool/components/settings/statusline/git-flow-status.json +7 -0
  557. package/cli-tool/components/settings/statusline/minimal-statusline.json +7 -0
  558. package/cli-tool/components/settings/statusline/multiplatform-build-status-statusline.json +7 -0
  559. package/cli-tool/components/settings/statusline/neon-database-dev.json +7 -0
  560. package/cli-tool/components/settings/statusline/neon-database-resources.json +7 -0
  561. package/cli-tool/components/settings/statusline/productivity-rainbow-statusline.json +7 -0
  562. package/cli-tool/components/settings/statusline/programmer-tamagotchi-statusline.json +7 -0
  563. package/cli-tool/components/settings/statusline/programming-fitness-tracker-statusline.json +7 -0
  564. package/cli-tool/components/settings/statusline/project-info-statusline.json +7 -0
  565. package/cli-tool/components/settings/statusline/rpg-status-bar-statusline.json +7 -0
  566. package/cli-tool/components/settings/statusline/time-statusline.json +7 -0
  567. package/cli-tool/components/settings/statusline/unity-project-dashboard-statusline.json +7 -0
  568. package/cli-tool/components/settings/statusline/vercel-deployment-monitor.json +7 -0
  569. package/cli-tool/components/settings/statusline/vercel-error-alert-system.json +7 -0
  570. package/cli-tool/components/settings/statusline/vercel-multi-env-status.json +7 -0
  571. package/cli-tool/components/settings/statusline/virtual-code-garden-statusline.json +7 -0
  572. package/cli-tool/components/settings/statusline/zero-config-deployment-monitor.json +7 -0
  573. package/cli-tool/components/settings/telemetry/custom-telemetry.json +7 -0
  574. package/cli-tool/components/settings/telemetry/disable-telemetry.json +6 -0
  575. package/cli-tool/components/settings/telemetry/enable-telemetry.json +6 -0
  576. package/cli-tool/components/skills/ANTHROPIC_ATTRIBUTION.md +81 -0
  577. package/cli-tool/components/skills/creative-design/algorithmic-art/LICENSE.txt +202 -0
  578. package/cli-tool/components/skills/creative-design/algorithmic-art/SKILL.md +405 -0
  579. package/cli-tool/components/skills/creative-design/algorithmic-art/templates/generator_template.js +223 -0
  580. package/cli-tool/components/skills/creative-design/algorithmic-art/templates/viewer.html +599 -0
  581. package/cli-tool/components/skills/creative-design/canvas-design/LICENSE.txt +202 -0
  582. package/cli-tool/components/skills/creative-design/canvas-design/SKILL.md +130 -0
  583. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  584. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  585. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  586. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
  587. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  588. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
  589. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  590. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  591. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  592. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  593. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  594. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  595. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  596. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  597. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
  598. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  599. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
  600. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  601. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  602. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
  603. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  604. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
  605. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  606. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  607. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  608. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  609. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  610. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  611. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  612. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  613. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  614. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  615. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  616. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  617. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  618. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  619. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  620. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
  621. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  622. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  623. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  624. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  625. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  626. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  627. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
  628. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  629. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  630. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  631. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  632. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  633. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
  634. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  635. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  636. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
  637. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  638. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  639. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  640. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  641. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
  642. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  643. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  644. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
  645. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
  646. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  647. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  648. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
  649. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  650. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
  651. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  652. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  653. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
  654. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  655. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
  656. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  657. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  658. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  659. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  660. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
  661. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  662. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
  663. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  664. package/cli-tool/components/skills/creative-design/slack-gif-creator/LICENSE.txt +202 -0
  665. package/cli-tool/components/skills/creative-design/slack-gif-creator/SKILL.md +646 -0
  666. package/cli-tool/components/skills/creative-design/slack-gif-creator/core/color_palettes.py +302 -0
  667. package/cli-tool/components/skills/creative-design/slack-gif-creator/core/easing.py +230 -0
  668. package/cli-tool/components/skills/creative-design/slack-gif-creator/core/frame_composer.py +469 -0
  669. package/cli-tool/components/skills/creative-design/slack-gif-creator/core/gif_builder.py +246 -0
  670. package/cli-tool/components/skills/creative-design/slack-gif-creator/core/typography.py +357 -0
  671. package/cli-tool/components/skills/creative-design/slack-gif-creator/core/validators.py +264 -0
  672. package/cli-tool/components/skills/creative-design/slack-gif-creator/core/visual_effects.py +494 -0
  673. package/cli-tool/components/skills/creative-design/slack-gif-creator/requirements.txt +4 -0
  674. package/cli-tool/components/skills/creative-design/slack-gif-creator/templates/bounce.py +106 -0
  675. package/cli-tool/components/skills/creative-design/slack-gif-creator/templates/explode.py +331 -0
  676. package/cli-tool/components/skills/creative-design/slack-gif-creator/templates/fade.py +329 -0
  677. package/cli-tool/components/skills/creative-design/slack-gif-creator/templates/flip.py +291 -0
  678. package/cli-tool/components/skills/creative-design/slack-gif-creator/templates/kaleidoscope.py +211 -0
  679. package/cli-tool/components/skills/creative-design/slack-gif-creator/templates/morph.py +329 -0
  680. package/cli-tool/components/skills/creative-design/slack-gif-creator/templates/move.py +293 -0
  681. package/cli-tool/components/skills/creative-design/slack-gif-creator/templates/pulse.py +268 -0
  682. package/cli-tool/components/skills/creative-design/slack-gif-creator/templates/shake.py +127 -0
  683. package/cli-tool/components/skills/creative-design/slack-gif-creator/templates/slide.py +291 -0
  684. package/cli-tool/components/skills/creative-design/slack-gif-creator/templates/spin.py +269 -0
  685. package/cli-tool/components/skills/creative-design/slack-gif-creator/templates/wiggle.py +300 -0
  686. package/cli-tool/components/skills/creative-design/slack-gif-creator/templates/zoom.py +312 -0
  687. package/cli-tool/components/skills/creative-design/theme-factory/LICENSE.txt +202 -0
  688. package/cli-tool/components/skills/creative-design/theme-factory/SKILL.md +59 -0
  689. package/cli-tool/components/skills/creative-design/theme-factory/theme-showcase.pdf +0 -0
  690. package/cli-tool/components/skills/creative-design/theme-factory/themes/arctic-frost.md +19 -0
  691. package/cli-tool/components/skills/creative-design/theme-factory/themes/botanical-garden.md +19 -0
  692. package/cli-tool/components/skills/creative-design/theme-factory/themes/desert-rose.md +19 -0
  693. package/cli-tool/components/skills/creative-design/theme-factory/themes/forest-canopy.md +19 -0
  694. package/cli-tool/components/skills/creative-design/theme-factory/themes/golden-hour.md +19 -0
  695. package/cli-tool/components/skills/creative-design/theme-factory/themes/midnight-galaxy.md +19 -0
  696. package/cli-tool/components/skills/creative-design/theme-factory/themes/modern-minimalist.md +19 -0
  697. package/cli-tool/components/skills/creative-design/theme-factory/themes/ocean-depths.md +19 -0
  698. package/cli-tool/components/skills/creative-design/theme-factory/themes/sunset-boulevard.md +19 -0
  699. package/cli-tool/components/skills/creative-design/theme-factory/themes/tech-innovation.md +19 -0
  700. package/cli-tool/components/skills/development/artifacts-builder/LICENSE.txt +202 -0
  701. package/cli-tool/components/skills/development/artifacts-builder/SKILL.md +74 -0
  702. package/cli-tool/components/skills/development/artifacts-builder/scripts/bundle-artifact.sh +54 -0
  703. package/cli-tool/components/skills/development/artifacts-builder/scripts/init-artifact.sh +322 -0
  704. package/cli-tool/components/skills/development/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  705. package/cli-tool/components/skills/development/git-commit-helper/SKILL.md +203 -0
  706. package/cli-tool/components/skills/development/mcp-builder/LICENSE.txt +202 -0
  707. package/cli-tool/components/skills/development/mcp-builder/SKILL.md +328 -0
  708. package/cli-tool/components/skills/development/mcp-builder/reference/evaluation.md +602 -0
  709. package/cli-tool/components/skills/development/mcp-builder/reference/mcp_best_practices.md +915 -0
  710. package/cli-tool/components/skills/development/mcp-builder/reference/node_mcp_server.md +916 -0
  711. package/cli-tool/components/skills/development/mcp-builder/reference/python_mcp_server.md +752 -0
  712. package/cli-tool/components/skills/development/mcp-builder/scripts/connections.py +151 -0
  713. package/cli-tool/components/skills/development/mcp-builder/scripts/evaluation.py +373 -0
  714. package/cli-tool/components/skills/development/mcp-builder/scripts/example_evaluation.xml +22 -0
  715. package/cli-tool/components/skills/development/mcp-builder/scripts/requirements.txt +2 -0
  716. package/cli-tool/components/skills/development/skill-creator/LICENSE.txt +202 -0
  717. package/cli-tool/components/skills/development/skill-creator/SKILL.md +209 -0
  718. package/cli-tool/components/skills/development/skill-creator/scripts/init_skill.py +303 -0
  719. package/cli-tool/components/skills/development/skill-creator/scripts/package_skill.py +110 -0
  720. package/cli-tool/components/skills/development/skill-creator/scripts/quick_validate.py +65 -0
  721. package/cli-tool/components/skills/development/webapp-testing/LICENSE.txt +202 -0
  722. package/cli-tool/components/skills/development/webapp-testing/SKILL.md +96 -0
  723. package/cli-tool/components/skills/development/webapp-testing/examples/console_logging.py +35 -0
  724. package/cli-tool/components/skills/development/webapp-testing/examples/element_discovery.py +40 -0
  725. package/cli-tool/components/skills/development/webapp-testing/examples/static_html_automation.py +33 -0
  726. package/cli-tool/components/skills/development/webapp-testing/scripts/with_server.py +106 -0
  727. package/cli-tool/components/skills/document-processing/docx/LICENSE.txt +30 -0
  728. package/cli-tool/components/skills/document-processing/docx/SKILL.md +197 -0
  729. package/cli-tool/components/skills/document-processing/docx/docx-js.md +350 -0
  730. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  731. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  732. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  733. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  734. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  735. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  736. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  737. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  738. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  739. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  740. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  741. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  742. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  743. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  744. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  745. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  746. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  747. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  748. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  749. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  750. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  751. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  752. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  753. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  754. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  755. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  756. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  757. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  758. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  759. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  760. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  761. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/mce/mc.xsd +75 -0
  762. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  763. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  764. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  765. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  766. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  767. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  768. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  769. package/cli-tool/components/skills/document-processing/docx/ooxml/scripts/pack.py +159 -0
  770. package/cli-tool/components/skills/document-processing/docx/ooxml/scripts/unpack.py +29 -0
  771. package/cli-tool/components/skills/document-processing/docx/ooxml/scripts/validate.py +69 -0
  772. package/cli-tool/components/skills/document-processing/docx/ooxml/scripts/validation/__init__.py +15 -0
  773. package/cli-tool/components/skills/document-processing/docx/ooxml/scripts/validation/base.py +951 -0
  774. package/cli-tool/components/skills/document-processing/docx/ooxml/scripts/validation/docx.py +274 -0
  775. package/cli-tool/components/skills/document-processing/docx/ooxml/scripts/validation/pptx.py +315 -0
  776. package/cli-tool/components/skills/document-processing/docx/ooxml/scripts/validation/redlining.py +279 -0
  777. package/cli-tool/components/skills/document-processing/docx/ooxml.md +610 -0
  778. package/cli-tool/components/skills/document-processing/docx/scripts/__init__.py +1 -0
  779. package/cli-tool/components/skills/document-processing/docx/scripts/document.py +1276 -0
  780. package/cli-tool/components/skills/document-processing/docx/scripts/templates/comments.xml +3 -0
  781. package/cli-tool/components/skills/document-processing/docx/scripts/templates/commentsExtended.xml +3 -0
  782. package/cli-tool/components/skills/document-processing/docx/scripts/templates/commentsExtensible.xml +3 -0
  783. package/cli-tool/components/skills/document-processing/docx/scripts/templates/commentsIds.xml +3 -0
  784. package/cli-tool/components/skills/document-processing/docx/scripts/templates/people.xml +3 -0
  785. package/cli-tool/components/skills/document-processing/docx/scripts/utilities.py +374 -0
  786. package/cli-tool/components/skills/document-processing/pdf-anthropic/LICENSE.txt +30 -0
  787. package/cli-tool/components/skills/document-processing/pdf-anthropic/SKILL.md +294 -0
  788. package/cli-tool/components/skills/document-processing/pdf-anthropic/forms.md +205 -0
  789. package/cli-tool/components/skills/document-processing/pdf-anthropic/reference.md +612 -0
  790. package/cli-tool/components/skills/document-processing/pdf-anthropic/scripts/check_bounding_boxes.py +70 -0
  791. package/cli-tool/components/skills/document-processing/pdf-anthropic/scripts/check_bounding_boxes_test.py +226 -0
  792. package/cli-tool/components/skills/document-processing/pdf-anthropic/scripts/check_fillable_fields.py +12 -0
  793. package/cli-tool/components/skills/document-processing/pdf-anthropic/scripts/convert_pdf_to_images.py +35 -0
  794. package/cli-tool/components/skills/document-processing/pdf-anthropic/scripts/create_validation_image.py +41 -0
  795. package/cli-tool/components/skills/document-processing/pdf-anthropic/scripts/extract_form_field_info.py +152 -0
  796. package/cli-tool/components/skills/document-processing/pdf-anthropic/scripts/fill_fillable_fields.py +114 -0
  797. package/cli-tool/components/skills/document-processing/pdf-anthropic/scripts/fill_pdf_form_with_annotations.py +108 -0
  798. package/cli-tool/components/skills/document-processing/pdf-processing/FORMS.md +143 -0
  799. package/cli-tool/components/skills/document-processing/pdf-processing/SKILL.md +149 -0
  800. package/cli-tool/components/skills/document-processing/pdf-processing-pro/FORMS.md +610 -0
  801. package/cli-tool/components/skills/document-processing/pdf-processing-pro/OCR.md +137 -0
  802. package/cli-tool/components/skills/document-processing/pdf-processing-pro/SKILL.md +296 -0
  803. package/cli-tool/components/skills/document-processing/pdf-processing-pro/TABLES.md +626 -0
  804. package/cli-tool/components/skills/document-processing/pdf-processing-pro/scripts/analyze_form.py +307 -0
  805. package/cli-tool/components/skills/document-processing/pptx/LICENSE.txt +30 -0
  806. package/cli-tool/components/skills/document-processing/pptx/SKILL.md +484 -0
  807. package/cli-tool/components/skills/document-processing/pptx/html2pptx.md +625 -0
  808. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  809. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  810. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  811. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  812. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  813. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  814. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  815. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  816. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  817. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  818. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  819. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  820. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  821. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  822. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  823. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  824. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  825. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  826. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  827. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  828. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  829. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  830. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  831. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  832. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  833. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  834. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  835. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  836. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  837. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  838. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  839. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/mce/mc.xsd +75 -0
  840. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  841. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  842. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  843. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  844. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  845. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  846. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  847. package/cli-tool/components/skills/document-processing/pptx/ooxml/scripts/pack.py +159 -0
  848. package/cli-tool/components/skills/document-processing/pptx/ooxml/scripts/unpack.py +29 -0
  849. package/cli-tool/components/skills/document-processing/pptx/ooxml/scripts/validate.py +69 -0
  850. package/cli-tool/components/skills/document-processing/pptx/ooxml/scripts/validation/__init__.py +15 -0
  851. package/cli-tool/components/skills/document-processing/pptx/ooxml/scripts/validation/base.py +951 -0
  852. package/cli-tool/components/skills/document-processing/pptx/ooxml/scripts/validation/docx.py +274 -0
  853. package/cli-tool/components/skills/document-processing/pptx/ooxml/scripts/validation/pptx.py +315 -0
  854. package/cli-tool/components/skills/document-processing/pptx/ooxml/scripts/validation/redlining.py +279 -0
  855. package/cli-tool/components/skills/document-processing/pptx/ooxml.md +427 -0
  856. package/cli-tool/components/skills/document-processing/pptx/scripts/html2pptx.js +979 -0
  857. package/cli-tool/components/skills/document-processing/pptx/scripts/inventory.py +1020 -0
  858. package/cli-tool/components/skills/document-processing/pptx/scripts/rearrange.py +231 -0
  859. package/cli-tool/components/skills/document-processing/pptx/scripts/replace.py +385 -0
  860. package/cli-tool/components/skills/document-processing/pptx/scripts/thumbnail.py +450 -0
  861. package/cli-tool/components/skills/document-processing/xlsx/LICENSE.txt +30 -0
  862. package/cli-tool/components/skills/document-processing/xlsx/SKILL.md +289 -0
  863. package/cli-tool/components/skills/document-processing/xlsx/recalc.py +178 -0
  864. package/cli-tool/components/skills/enterprise-communication/brand-guidelines/LICENSE.txt +202 -0
  865. package/cli-tool/components/skills/enterprise-communication/brand-guidelines/SKILL.md +73 -0
  866. package/cli-tool/components/skills/enterprise-communication/email-composer/SKILL.md +317 -0
  867. package/cli-tool/components/skills/enterprise-communication/excel-analysis/SKILL.md +247 -0
  868. package/cli-tool/components/skills/enterprise-communication/internal-comms/LICENSE.txt +202 -0
  869. package/cli-tool/components/skills/enterprise-communication/internal-comms/SKILL.md +32 -0
  870. package/cli-tool/components/skills/enterprise-communication/internal-comms/examples/3p-updates.md +47 -0
  871. package/cli-tool/components/skills/enterprise-communication/internal-comms/examples/company-newsletter.md +65 -0
  872. package/cli-tool/components/skills/enterprise-communication/internal-comms/examples/faq-answers.md +30 -0
  873. package/cli-tool/components/skills/enterprise-communication/internal-comms/examples/general-comms.md +16 -0
  874. package/cli-tool/docs_to_claude/ANALYTICS_STATE_DETECTION.md +183 -0
  875. package/cli-tool/docs_to_claude/ARCHITECTURE.md +472 -0
  876. package/cli-tool/docs_to_claude/BLOG_WRITING_GUIDE.md +438 -0
  877. package/cli-tool/docs_to_claude/CLAUDE_DATA_STRUCTURE.md +400 -0
  878. package/cli-tool/docs_to_claude/COMMANDS_GUIDE.md +1035 -0
  879. package/cli-tool/docs_to_claude/CONVERSATION_STATE_IMPROVEMENTS.md +154 -0
  880. package/cli-tool/docs_to_claude/DEBUG_TYPING_DETECTION.md +95 -0
  881. package/cli-tool/docs_to_claude/DOWNLOAD_TRACKING.md +291 -0
  882. package/cli-tool/docs_to_claude/ENHANCED_STATE_DETECTION.md +122 -0
  883. package/cli-tool/docs_to_claude/HEALTH_CHECK_IMPLEMENTATION.md +135 -0
  884. package/cli-tool/docs_to_claude/HOOKS_GUIDE.md +1249 -0
  885. package/cli-tool/docs_to_claude/STATUSLINE_GUIDE.md +1123 -0
  886. package/cli-tool/docs_to_claude/SUBAGENTS_GUIDE.md +566 -0
  887. package/cli-tool/docs_to_claude/SUB_AGENTS.md +329 -0
  888. package/cli-tool/jest.config.js +84 -0
  889. package/cli-tool/package-lock.json +5494 -0
  890. package/cli-tool/package.json +101 -0
  891. package/cli-tool/security-report.json +62361 -0
  892. package/{src → cli-tool/src}/analytics-web/chats_mobile.html +17 -16
  893. package/{src → cli-tool/src}/console-bridge.js +3 -3
  894. package/{src → cli-tool/src}/index.js +157 -10
  895. package/cli-tool/src/plugin-dashboard-web/app.js +806 -0
  896. package/cli-tool/src/plugin-dashboard-web/index.html +292 -0
  897. package/cli-tool/src/plugin-dashboard-web/styles.css +1781 -0
  898. package/cli-tool/src/plugin-dashboard.js +689 -0
  899. package/cli-tool/src/security-audit.js +164 -0
  900. package/cli-tool/src/validation/ARCHITECTURE.md +309 -0
  901. package/cli-tool/src/validation/BaseValidator.js +152 -0
  902. package/cli-tool/src/validation/README.md +543 -0
  903. package/cli-tool/src/validation/ValidationOrchestrator.js +305 -0
  904. package/cli-tool/src/validation/validators/IntegrityValidator.js +338 -0
  905. package/cli-tool/src/validation/validators/ProvenanceValidator.js +399 -0
  906. package/cli-tool/src/validation/validators/ReferenceValidator.js +373 -0
  907. package/cli-tool/src/validation/validators/SemanticValidator.js +449 -0
  908. package/cli-tool/src/validation/validators/StructuralValidator.js +376 -0
  909. package/cli-tool/templates/common/.claude/commands/git-workflow.md +239 -0
  910. package/cli-tool/templates/common/.claude/commands/project-setup.md +316 -0
  911. package/cli-tool/templates/common/.mcp.json +41 -0
  912. package/cli-tool/templates/common/CLAUDE.md +109 -0
  913. package/cli-tool/templates/common/README.md +96 -0
  914. package/cli-tool/templates/go/.mcp.json +78 -0
  915. package/cli-tool/templates/go/README.md +25 -0
  916. package/cli-tool/templates/javascript-typescript/.claude/commands/api-endpoint.md +51 -0
  917. package/cli-tool/templates/javascript-typescript/.claude/commands/debug.md +52 -0
  918. package/cli-tool/templates/javascript-typescript/.claude/commands/lint.md +48 -0
  919. package/cli-tool/templates/javascript-typescript/.claude/commands/npm-scripts.md +48 -0
  920. package/cli-tool/templates/javascript-typescript/.claude/commands/refactor.md +55 -0
  921. package/cli-tool/templates/javascript-typescript/.claude/commands/test.md +61 -0
  922. package/cli-tool/templates/javascript-typescript/.claude/commands/typescript-migrate.md +51 -0
  923. package/cli-tool/templates/javascript-typescript/.claude/settings.json +142 -0
  924. package/cli-tool/templates/javascript-typescript/.mcp.json +80 -0
  925. package/cli-tool/templates/javascript-typescript/CLAUDE.md +185 -0
  926. package/cli-tool/templates/javascript-typescript/README.md +259 -0
  927. package/cli-tool/templates/javascript-typescript/examples/angular-app/.claude/commands/components.md +63 -0
  928. package/cli-tool/templates/javascript-typescript/examples/angular-app/.claude/commands/services.md +62 -0
  929. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/api-endpoint.md +46 -0
  930. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/database.md +56 -0
  931. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/middleware.md +61 -0
  932. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/route.md +57 -0
  933. package/cli-tool/templates/javascript-typescript/examples/node-api/CLAUDE.md +102 -0
  934. package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/component.md +29 -0
  935. package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/hooks.md +44 -0
  936. package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/state-management.md +45 -0
  937. package/cli-tool/templates/javascript-typescript/examples/react-app/CLAUDE.md +81 -0
  938. package/cli-tool/templates/javascript-typescript/examples/react-app/agents/react-performance-optimization.md +530 -0
  939. package/cli-tool/templates/javascript-typescript/examples/react-app/agents/react-state-management.md +295 -0
  940. package/cli-tool/templates/javascript-typescript/examples/vue-app/.claude/commands/components.md +46 -0
  941. package/cli-tool/templates/javascript-typescript/examples/vue-app/.claude/commands/composables.md +51 -0
  942. package/cli-tool/templates/python/.claude/commands/lint.md +111 -0
  943. package/cli-tool/templates/python/.claude/commands/test.md +73 -0
  944. package/cli-tool/templates/python/.claude/settings.json +153 -0
  945. package/cli-tool/templates/python/.mcp.json +78 -0
  946. package/cli-tool/templates/python/CLAUDE.md +276 -0
  947. package/cli-tool/templates/python/examples/django-app/.claude/commands/admin.md +264 -0
  948. package/cli-tool/templates/python/examples/django-app/.claude/commands/django-model.md +124 -0
  949. package/cli-tool/templates/python/examples/django-app/.claude/commands/views.md +222 -0
  950. package/cli-tool/templates/python/examples/django-app/CLAUDE.md +313 -0
  951. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/api-endpoints.md +513 -0
  952. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/auth.md +775 -0
  953. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/database.md +657 -0
  954. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/deployment.md +160 -0
  955. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/testing.md +927 -0
  956. package/cli-tool/templates/python/examples/fastapi-app/CLAUDE.md +229 -0
  957. package/cli-tool/templates/python/examples/flask-app/.claude/commands/app-factory.md +384 -0
  958. package/cli-tool/templates/python/examples/flask-app/.claude/commands/blueprint.md +243 -0
  959. package/cli-tool/templates/python/examples/flask-app/.claude/commands/database.md +410 -0
  960. package/cli-tool/templates/python/examples/flask-app/.claude/commands/deployment.md +620 -0
  961. package/cli-tool/templates/python/examples/flask-app/.claude/commands/flask-route.md +217 -0
  962. package/cli-tool/templates/python/examples/flask-app/.claude/commands/testing.md +559 -0
  963. package/cli-tool/templates/python/examples/flask-app/CLAUDE.md +391 -0
  964. package/cli-tool/templates/ruby/.claude/commands/model.md +360 -0
  965. package/cli-tool/templates/ruby/.claude/commands/test.md +480 -0
  966. package/cli-tool/templates/ruby/.claude/settings.json +146 -0
  967. package/cli-tool/templates/ruby/.mcp.json +83 -0
  968. package/cli-tool/templates/ruby/CLAUDE.md +284 -0
  969. package/cli-tool/templates/ruby/examples/rails-app/.claude/commands/authentication.md +490 -0
  970. package/cli-tool/templates/ruby/examples/rails-app/CLAUDE.md +376 -0
  971. package/cli-tool/templates/rust/.mcp.json +78 -0
  972. package/cli-tool/templates/rust/README.md +26 -0
  973. package/cli-tool/test-commands.sh +85 -0
  974. package/cli-tool/test-detailed.sh +267 -0
  975. package/dev-server.js +46 -0
  976. package/docs/CLAUDE.md +363 -0
  977. package/docs/CNAME +1 -0
  978. package/docs/README.md +49 -0
  979. package/docs/_config.yml +43 -0
  980. package/docs/api/README.md +297 -0
  981. package/docs/api/agents.json +942 -0
  982. package/docs/api/package.json +7 -0
  983. package/docs/api/track-download-supabase.js +150 -0
  984. package/docs/blog/README.md +199 -0
  985. package/docs/blog/assets/aitmpl-nextjs-search.png +0 -0
  986. package/docs/blog/assets/aitmpl-supabase-search.png +0 -0
  987. package/docs/blog/assets/e2b-claude-code-sandbox-cover.png +0 -0
  988. package/docs/blog/assets/nextjs-vercel-claude-code-templates-cover.png +0 -0
  989. package/docs/blog/assets/supabase-claude-code-templates-cover.png +0 -0
  990. package/docs/blog/blog-articles.json +133 -0
  991. package/docs/blog/css/blog-controls.css +254 -0
  992. package/docs/blog/e2b-claude-code-sandbox/index.html +916 -0
  993. package/docs/blog/index.html +231 -0
  994. package/docs/blog/js/blog-loader.js +602 -0
  995. package/docs/blog/nextjs-vercel-claude-code-integration/index.html +1040 -0
  996. package/docs/blog/supabase-claude-code-integration/index.html +856 -0
  997. package/docs/claude-jobs.json +163 -0
  998. package/docs/component.html +684 -0
  999. package/docs/components-metadata.json +303 -0
  1000. package/docs/components.json +65958 -0
  1001. package/docs/css/blog.css +1113 -0
  1002. package/docs/css/component-page.css +1900 -0
  1003. package/docs/css/plugin-page.css +648 -0
  1004. package/docs/css/stack-page.css +776 -0
  1005. package/docs/css/styles.css +5043 -0
  1006. package/docs/css/trending.css +1545 -0
  1007. package/docs/css/workflows-modal.css +739 -0
  1008. package/docs/css/workflows.css +1234 -0
  1009. package/docs/download-stats.html +535 -0
  1010. package/docs/index.html +653 -0
  1011. package/docs/jobs.html +1067 -0
  1012. package/docs/js/carousel.js +177 -0
  1013. package/docs/js/cart-manager.js +671 -0
  1014. package/docs/js/component-page.js +1809 -0
  1015. package/docs/js/data-loader.js +636 -0
  1016. package/docs/js/generate-search-data.js +82 -0
  1017. package/docs/js/index-events.js +2064 -0
  1018. package/docs/js/modal-helpers.js +345 -0
  1019. package/docs/js/plugin-page.js +390 -0
  1020. package/docs/js/script.js +2214 -0
  1021. package/docs/js/search-functionality.js +1168 -0
  1022. package/docs/js/stack-router.js +561 -0
  1023. package/docs/js/trending.js +787 -0
  1024. package/docs/js/utils.js +43 -0
  1025. package/docs/js/workflows-events.js +1146 -0
  1026. package/docs/js/workflows.js +627 -0
  1027. package/docs/plugin.html +262 -0
  1028. package/docs/robots.txt +28 -0
  1029. package/docs/sandbox-interface.html +1426 -0
  1030. package/docs/sitemap.xml +193 -0
  1031. package/docs/static/favicon/about.txt +6 -0
  1032. package/docs/static/favicon/android-chrome-192x192.png +0 -0
  1033. package/docs/static/favicon/android-chrome-512x512.png +0 -0
  1034. package/docs/static/favicon/apple-touch-icon.png +0 -0
  1035. package/docs/static/favicon/favicon-16x16.png +0 -0
  1036. package/docs/static/favicon/favicon-32x32.png +0 -0
  1037. package/docs/static/favicon/favicon.ico +0 -0
  1038. package/docs/static/favicon/site.webmanifest +1 -0
  1039. package/docs/static/img/logo.png +0 -0
  1040. package/docs/static/img/logo.svg +23 -0
  1041. package/docs/trending-data.json +922 -0
  1042. package/docs/trending.html +259 -0
  1043. package/docs/vercel.json +48 -0
  1044. package/docs/workflows.html +399 -0
  1045. package/docu/README.md +41 -0
  1046. package/docu/docs/cli-options.md +90 -0
  1047. package/docu/docs/components/agents.md +113 -0
  1048. package/docu/docs/components/commands.md +90 -0
  1049. package/docu/docs/components/hooks.md +114 -0
  1050. package/docu/docs/components/mcps.md +109 -0
  1051. package/docu/docs/components/overview.md +73 -0
  1052. package/docu/docs/components/settings.md +105 -0
  1053. package/docu/docs/components/templates.md +119 -0
  1054. package/docu/docs/intro.md +40 -0
  1055. package/docu/docs/safety-features.md +13 -0
  1056. package/docu/docs/support.md +13 -0
  1057. package/docu/docs/tools/analytics.md +23 -0
  1058. package/docu/docs/tools/chats.md +33 -0
  1059. package/docu/docs/tools/health-check.md +60 -0
  1060. package/docu/docs/tools/overview.md +39 -0
  1061. package/docu/docs/tools/sandbox.md +61 -0
  1062. package/docu/docs/tools/tunnel.md +38 -0
  1063. package/docu/docusaurus.config.ts +169 -0
  1064. package/docu/package-lock.json +16185 -0
  1065. package/docu/package.json +47 -0
  1066. package/docu/sidebars.ts +49 -0
  1067. package/docu/src/components/HomepageFeatures/index.tsx +82 -0
  1068. package/docu/src/components/HomepageFeatures/styles.module.css +131 -0
  1069. package/docu/src/css/custom.css +849 -0
  1070. package/docu/src/pages/index.module.css +111 -0
  1071. package/docu/src/pages/index.tsx +65 -0
  1072. package/docu/src/pages/markdown-page.md +7 -0
  1073. package/docu/static/img/favicon.ico +0 -0
  1074. package/docu/static/img/logo.svg +23 -0
  1075. package/docu/tsconfig.json +8 -0
  1076. package/docu/vercel.json +11 -0
  1077. package/generate_agents_api.py +65 -0
  1078. package/generate_claude_jobs.py +985 -0
  1079. package/generate_components_json.py +766 -0
  1080. package/package.json +21 -74
  1081. package/social-preview.png +0 -0
  1082. package/sync-api.sh +50 -0
  1083. package/vercel.json +46 -0
  1084. /package/{components → cli-tool/components}/sandbox/README.md +0 -0
  1085. /package/{components → cli-tool/components}/sandbox/e2b/.env.example +0 -0
  1086. /package/{components → cli-tool/components}/sandbox/e2b/SANDBOX_DEBUGGING.md +0 -0
  1087. /package/{components → cli-tool/components}/sandbox/e2b/claude-code-sandbox.md +0 -0
  1088. /package/{components → cli-tool/components}/sandbox/e2b/e2b-launcher.py +0 -0
  1089. /package/{components → cli-tool/components}/sandbox/e2b/e2b-monitor.py +0 -0
  1090. /package/{components → cli-tool/components}/sandbox/e2b/requirements.txt +0 -0
  1091. /package/{src → cli-tool/src}/agents.js +0 -0
  1092. /package/{src → cli-tool/src}/analytics/core/AgentAnalyzer.js +0 -0
  1093. /package/{src → cli-tool/src}/analytics/core/ConversationAnalyzer.js +0 -0
  1094. /package/{src → cli-tool/src}/analytics/core/FileWatcher.js +0 -0
  1095. /package/{src → cli-tool/src}/analytics/core/ProcessDetector.js +0 -0
  1096. /package/{src → cli-tool/src}/analytics/core/SessionAnalyzer.js +0 -0
  1097. /package/{src → cli-tool/src}/analytics/core/StateCalculator.js +0 -0
  1098. /package/{src → cli-tool/src}/analytics/data/DataCache.js +0 -0
  1099. /package/{src → cli-tool/src}/analytics/notifications/NotificationManager.js +0 -0
  1100. /package/{src → cli-tool/src}/analytics/notifications/WebSocketServer.js +0 -0
  1101. /package/{src → cli-tool/src}/analytics/utils/PerformanceMonitor.js +0 -0
  1102. /package/{src → cli-tool/src}/analytics-web/FRONT_ARCHITECTURE.md +0 -0
  1103. /package/{src → cli-tool/src}/analytics-web/assets/js/main.js.deprecated +0 -0
  1104. /package/{src → cli-tool/src}/analytics-web/components/ActivityHeatmap.js +0 -0
  1105. /package/{src → cli-tool/src}/analytics-web/components/AgentAnalytics.js +0 -0
  1106. /package/{src → cli-tool/src}/analytics-web/components/App.js +0 -0
  1107. /package/{src → cli-tool/src}/analytics-web/components/Charts.js +0 -0
  1108. /package/{src → cli-tool/src}/analytics-web/components/ConversationTable.js +0 -0
  1109. /package/{src → cli-tool/src}/analytics-web/components/DashboardPage.js +0 -0
  1110. /package/{src → cli-tool/src}/analytics-web/components/HeaderComponent.js +0 -0
  1111. /package/{src → cli-tool/src}/analytics-web/components/SessionTimer.js +0 -0
  1112. /package/{src → cli-tool/src}/analytics-web/components/Sidebar.js +0 -0
  1113. /package/{src → cli-tool/src}/analytics-web/components/ToolDisplay.js +0 -0
  1114. /package/{src → cli-tool/src}/analytics-web/index.html +0 -0
  1115. /package/{src → cli-tool/src}/analytics-web/index.html.original +0 -0
  1116. /package/{src → cli-tool/src}/analytics-web/services/DataService.js +0 -0
  1117. /package/{src → cli-tool/src}/analytics-web/services/StateService.js +0 -0
  1118. /package/{src → cli-tool/src}/analytics-web/services/WebSocketService.js +0 -0
  1119. /package/{src → cli-tool/src}/analytics.js +0 -0
  1120. /package/{src → cli-tool/src}/chats-mobile.js +0 -0
  1121. /package/{src → cli-tool/src}/claude-api-proxy.js +0 -0
  1122. /package/{src → cli-tool/src}/command-scanner.js +0 -0
  1123. /package/{src → cli-tool/src}/command-stats.js +0 -0
  1124. /package/{src → cli-tool/src}/file-operations.js +0 -0
  1125. /package/{src → cli-tool/src}/health-check.js +0 -0
  1126. /package/{src → cli-tool/src}/hook-scanner.js +0 -0
  1127. /package/{src → cli-tool/src}/hook-stats.js +0 -0
  1128. /package/{src → cli-tool/src}/mcp-stats.js +0 -0
  1129. /package/{src → cli-tool/src}/prompts.js +0 -0
  1130. /package/{src → cli-tool/src}/sandbox-interface.html +0 -0
  1131. /package/{src → cli-tool/src}/sandbox-server.js +0 -0
  1132. /package/{src → cli-tool/src}/sdk/global-agent-manager.js +0 -0
  1133. /package/{src → cli-tool/src}/templates.js +0 -0
  1134. /package/{src → cli-tool/src}/test-console-bridge.js +0 -0
  1135. /package/{src → cli-tool/src}/tracking-service.js +0 -0
  1136. /package/{src → cli-tool/src}/utils.js +0 -0
  1137. /package/{src/analytics.log → docu/static/.nojekyll} +0 -0
@@ -0,0 +1,5043 @@
1
+ /* Terminal theme CSS based on Claude Code Analytics dashboard */
2
+ :root {
3
+ /* Dark theme colors (terminal style) */
4
+ --bg-primary: #0d1117;
5
+ --bg-secondary: #161b22;
6
+ --bg-tertiary: #21262d;
7
+ --border-primary: #30363d;
8
+ --border-secondary: #21262d;
9
+ --border-color: #30363d;
10
+ --text-primary: #c9d1d9;
11
+ --text-secondary: #7d8590;
12
+ --text-accent: #d57455;
13
+ --text-success: #3fb950;
14
+ --text-warning: #f97316;
15
+ --text-error: #f85149;
16
+ --text-info: #a5d6ff;
17
+ --accent-color: #d97706;
18
+ --shadow-primary: rgba(0, 0, 0, 0.4);
19
+ --shadow-secondary: rgba(1, 4, 9, 0.85);
20
+ }
21
+
22
+ /* Reset and base styles */
23
+ * {
24
+ margin: 0;
25
+ padding: 0;
26
+ box-sizing: border-box;
27
+ }
28
+
29
+ body {
30
+ font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
31
+ background: var(--bg-primary);
32
+ color: var(--text-primary);
33
+ min-height: 100vh;
34
+ line-height: 1.4;
35
+ transition: background-color 0.3s ease, color 0.3s ease;
36
+ }
37
+
38
+ .container {
39
+ max-width: 1400px;
40
+ margin: 0 auto;
41
+ padding: 0 20px;
42
+ }
43
+
44
+ /* Header */
45
+ .header {
46
+ background: var(--bg-secondary);
47
+ border-bottom: 1px solid var(--border-primary);
48
+ position: sticky;
49
+ top: 0;
50
+ z-index: 100;
51
+ }
52
+
53
+ .header-content {
54
+ display: flex;
55
+ justify-content: space-between;
56
+ align-items: flex-start;
57
+ padding: 1rem 0;
58
+ gap: 1rem;
59
+ }
60
+
61
+ .header .terminal-header {
62
+ border-bottom: none;
63
+ padding-bottom: 0;
64
+ margin-bottom: 0;
65
+ flex: 1;
66
+ }
67
+
68
+ .header .ascii-title {
69
+ margin-bottom: 0.5rem;
70
+ }
71
+
72
+ .header .ascii-art {
73
+ font-size: clamp(0.4rem, 0.8vw, 0.6rem);
74
+ line-height: 1;
75
+ color: var(--text-accent);
76
+ font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
77
+ margin: 0;
78
+ overflow: visible;
79
+ white-space: pre;
80
+ text-align: center;
81
+ width: 100%;
82
+ }
83
+
84
+ .header .terminal-subtitle {
85
+ display: block;
86
+ color: var(--text-secondary);
87
+ font-size: 0.8rem;
88
+ margin: 0;
89
+ text-align: center;
90
+ }
91
+
92
+ .header .status-dot {
93
+ display: inline-block;
94
+ margin-right: 0.5rem;
95
+ }
96
+
97
+ .header-actions {
98
+ display: flex;
99
+ gap: 1rem;
100
+ align-items: center;
101
+ }
102
+
103
+ .github-link, .header-btn {
104
+ display: flex;
105
+ align-items: center;
106
+ gap: 0.4rem;
107
+ color: var(--text-primary);
108
+ text-decoration: none;
109
+ padding: 0.4rem 0.8rem;
110
+ border-radius: 6px;
111
+ background: var(--bg-tertiary);
112
+ border: 1px solid var(--border-primary);
113
+ transition: all 0.2s ease;
114
+ font-size: 0.85rem;
115
+ font-weight: normal;
116
+ }
117
+
118
+ .github-link:hover, .header-btn:hover {
119
+ background: var(--bg-primary);
120
+ border-color: var(--border-secondary);
121
+ transform: translateY(-1px);
122
+ }
123
+
124
+ /* Terminal main content */
125
+ .terminal {
126
+ max-width: 1400px;
127
+ margin: 0 auto;
128
+ padding: 20px;
129
+ }
130
+
131
+ .terminal-header {
132
+ border-bottom: 1px solid var(--border-primary);
133
+ padding-bottom: 20px;
134
+ margin-bottom: 30px;
135
+ position: relative;
136
+ }
137
+
138
+ .ascii-title {
139
+ margin-bottom: 20px;
140
+ }
141
+
142
+ .ascii-art {
143
+ color: var(--text-accent);
144
+ font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
145
+ font-size: clamp(0.3rem, 0.8vw, 0.7rem);
146
+ line-height: 1.1;
147
+ margin: 0;
148
+ overflow-x: auto;
149
+ white-space: pre;
150
+ text-align: left;
151
+ }
152
+
153
+ .terminal-title {
154
+ color: var(--text-accent);
155
+ font-size: 1.25rem;
156
+ font-weight: normal;
157
+ display: flex;
158
+ align-items: center;
159
+ gap: 8px;
160
+ justify-content: center;
161
+ }
162
+
163
+ .status-dot {
164
+ width: 8px;
165
+ height: 8px;
166
+ border-radius: 50%;
167
+ background: var(--text-success);
168
+ animation: pulse 2s infinite;
169
+ flex-shrink: 0;
170
+ }
171
+
172
+ @keyframes pulse {
173
+ 0%, 100% { opacity: 1; }
174
+ 50% { opacity: 0.6; }
175
+ }
176
+
177
+ .terminal-subtitle {
178
+ color: var(--text-secondary);
179
+ font-size: 0.875rem;
180
+ display: flex;
181
+ align-items: center;
182
+ justify-content: center;
183
+ gap: 8px;
184
+ }
185
+
186
+ /* Command blocks */
187
+ .command-block {
188
+ background: var(--bg-secondary);
189
+ border: 1px solid var(--border-primary);
190
+ border-radius: 8px;
191
+ padding: 20px;
192
+ margin-bottom: 20px;
193
+ }
194
+
195
+ .command-label {
196
+ color: var(--text-accent);
197
+ font-size: 1rem;
198
+ font-weight: normal;
199
+ margin-bottom: 8px;
200
+ }
201
+
202
+ .command-description {
203
+ color: var(--text-secondary);
204
+ font-size: 0.875rem;
205
+ margin-bottom: 16px;
206
+ }
207
+
208
+ .command-line {
209
+ display: flex;
210
+ align-items: center;
211
+ gap: 1rem;
212
+ background: var(--bg-tertiary);
213
+ border: 1px solid var(--border-secondary);
214
+ border-radius: 6px;
215
+ padding: 12px 16px;
216
+ }
217
+
218
+ .prompt {
219
+ color: var(--text-success);
220
+ font-weight: bold;
221
+ flex-shrink: 0;
222
+ }
223
+
224
+ .command {
225
+ flex: 1;
226
+ color: var(--text-primary);
227
+ font-family: inherit;
228
+ font-size: 0.875rem;
229
+ background: none;
230
+ border: none;
231
+ outline: none;
232
+ }
233
+
234
+ .copy-btn {
235
+ background: var(--text-info);
236
+ color: var(--bg-primary);
237
+ border: none;
238
+ padding: 6px 12px;
239
+ border-radius: 4px;
240
+ font-size: 0.75rem;
241
+ cursor: pointer;
242
+ transition: background 0.2s ease;
243
+ font-family: inherit;
244
+ }
245
+
246
+ .copy-btn:hover {
247
+ opacity: 0.8;
248
+ }
249
+
250
+ /* Stats section - Compact Badges */
251
+ .stats-section {
252
+ margin: 0.5rem 0 1rem 0;
253
+ text-align: center;
254
+ margin-top: -0.5rem;
255
+ }
256
+
257
+ .stats-badges {
258
+ display: flex;
259
+ justify-content: center;
260
+ align-items: center;
261
+ gap: 0.75rem;
262
+ flex-wrap: wrap;
263
+ padding: 0.5rem 0;
264
+ }
265
+
266
+ .stat-badge-link {
267
+ text-decoration: none;
268
+ transition: all 0.2s ease;
269
+ display: inline-block;
270
+ }
271
+
272
+ .stat-badge-link:hover {
273
+ transform: translateY(-2px);
274
+ filter: brightness(1.1);
275
+ }
276
+
277
+ .stat-badge {
278
+ height: 20px;
279
+ display: block;
280
+ transition: all 0.2s ease;
281
+ }
282
+
283
+ /* Steps section */
284
+ .steps-section {
285
+ margin-bottom: 40px;
286
+ }
287
+
288
+ .steps-grid {
289
+ display: grid;
290
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
291
+ gap: 16px;
292
+ margin-bottom: 20px;
293
+ }
294
+
295
+ .step-card {
296
+ background: var(--bg-secondary);
297
+ border: 1px solid var(--border-primary);
298
+ border-radius: 8px;
299
+ padding: 16px;
300
+ position: relative;
301
+ transition: all 0.3s ease;
302
+ display: flex;
303
+ flex-direction: column;
304
+ min-height: 140px;
305
+ }
306
+
307
+ .step-card:hover {
308
+ border-color: var(--text-accent);
309
+ box-shadow: 0 4px 12px var(--shadow-primary);
310
+ }
311
+
312
+ .step-number {
313
+ position: absolute;
314
+ top: -8px;
315
+ left: 16px;
316
+ background: var(--text-accent);
317
+ color: var(--bg-primary);
318
+ width: 26px;
319
+ height: 26px;
320
+ border-radius: 50%;
321
+ display: flex;
322
+ align-items: center;
323
+ justify-content: center;
324
+ font-size: 0.8rem;
325
+ font-weight: bold;
326
+ }
327
+
328
+ .step-content {
329
+ flex: 1;
330
+ display: flex;
331
+ flex-direction: column;
332
+ }
333
+
334
+ .step-content h3 {
335
+ color: var(--text-primary);
336
+ font-size: 1rem;
337
+ font-weight: normal;
338
+ margin-bottom: 6px;
339
+ margin-top: 8px;
340
+ }
341
+
342
+ .step-content p {
343
+ color: var(--text-secondary);
344
+ font-size: 0.8rem;
345
+ margin-bottom: 12px;
346
+ flex: 1;
347
+ line-height: 1.4;
348
+ }
349
+
350
+ .step-highlight {
351
+ background: var(--bg-tertiary);
352
+ border: 1px solid var(--border-secondary);
353
+ border-radius: 6px;
354
+ padding: 10px;
355
+ text-align: center;
356
+ margin-top: auto;
357
+ }
358
+
359
+ .step-examples {
360
+ margin-top: 1rem;
361
+ display: flex;
362
+ flex-direction: column;
363
+ gap: 0.5rem;
364
+ }
365
+
366
+ .step-example {
367
+ background: var(--bg-primary);
368
+ border: 1px solid var(--border-primary);
369
+ border-radius: 4px;
370
+ padding: 0.6rem 0.8rem;
371
+ font-size: 0.85rem;
372
+ transition: all 0.2s ease;
373
+ }
374
+
375
+ .step-example:hover {
376
+ border-color: var(--text-accent);
377
+ background: var(--bg-tertiary);
378
+ }
379
+
380
+ .step-example strong {
381
+ color: var(--text-accent);
382
+ font-weight: 600;
383
+ }
384
+
385
+ .command-line {
386
+ margin-top: auto;
387
+ }
388
+
389
+ .highlight-text {
390
+ color: var(--text-info);
391
+ font-size: 0.8rem;
392
+ }
393
+
394
+ .command-note {
395
+ color: var(--text-secondary);
396
+ font-style: italic;
397
+ margin-left: 10px;
398
+ }
399
+
400
+ /* Install and intro sections */
401
+ .intro-section,
402
+ .additional-tools {
403
+ margin-bottom: 30px;
404
+ }
405
+
406
+ /* Add New Template Card Styles */
407
+ /* Add template cards use same style as regular template cards */
408
+
409
+ /* Tools section */
410
+ .tools-grid {
411
+ display: grid;
412
+ grid-template-columns: repeat(4, 1fr);
413
+ gap: 20px;
414
+ margin-top: 20px;
415
+ }
416
+
417
+ @media (max-width: 1200px) {
418
+ .tools-grid {
419
+ grid-template-columns: repeat(2, 1fr);
420
+ }
421
+ }
422
+
423
+ .tool-card {
424
+ background: var(--bg-secondary);
425
+ border: 1px solid var(--border-primary);
426
+ border-radius: 8px;
427
+ padding: 20px;
428
+ transition: all 0.3s ease;
429
+ position: relative;
430
+ }
431
+
432
+ .tool-card .new-label {
433
+ position: absolute;
434
+ top: -8px;
435
+ right: 15px;
436
+ background: var(--accent-color);
437
+ color: white;
438
+ padding: 4px 8px;
439
+ border-radius: 12px;
440
+ font-size: 0.7rem;
441
+ font-weight: 600;
442
+ text-transform: uppercase;
443
+ letter-spacing: 0.5px;
444
+ }
445
+
446
+ .filter-chip {
447
+ position: relative;
448
+ }
449
+
450
+ .filter-chip .new-label {
451
+ position: absolute;
452
+ top: -6px;
453
+ right: -6px;
454
+ background: var(--accent-color);
455
+ color: white;
456
+ padding: 2px 5px;
457
+ border-radius: 6px;
458
+ font-size: 0.55rem;
459
+ font-weight: 600;
460
+ text-transform: uppercase;
461
+ letter-spacing: 0.5px;
462
+ }
463
+
464
+ .tool-card:hover {
465
+ border-color: var(--text-accent);
466
+ box-shadow: 0 4px 12px var(--shadow-primary);
467
+ }
468
+
469
+ .tool-icon {
470
+ font-size: 2rem;
471
+ margin-bottom: 12px;
472
+ }
473
+
474
+ .tool-card h3 {
475
+ color: var(--text-primary);
476
+ font-size: 1.1rem;
477
+ font-weight: normal;
478
+ margin-bottom: 8px;
479
+ }
480
+
481
+ .tool-card p {
482
+ color: var(--text-secondary);
483
+ font-size: 0.875rem;
484
+ margin-bottom: 16px;
485
+ line-height: 1.5;
486
+ }
487
+
488
+ /* Templates grid */
489
+ .templates-grid {
490
+ display: grid;
491
+ grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
492
+ gap: 20px;
493
+ margin-bottom: 40px;
494
+ }
495
+
496
+ /* Template card */
497
+ .template-card {
498
+ background: var(--bg-secondary);
499
+ border: 1px solid var(--border-primary);
500
+ border-radius: 8px;
501
+ overflow: hidden;
502
+ transition: all 0.3s ease;
503
+ cursor: pointer;
504
+ position: relative;
505
+ height: 200px;
506
+ perspective: 1000px;
507
+ }
508
+
509
+ /* Download badge */
510
+ .download-badge {
511
+ position: absolute;
512
+ top: 8px;
513
+ right: 8px;
514
+ background: rgba(59, 185, 80, 0.1);
515
+ border: 1px solid var(--text-success);
516
+ color: var(--text-success);
517
+ padding: 4px 8px;
518
+ border-radius: 12px;
519
+ font-size: 11px;
520
+ font-weight: 500;
521
+ display: flex;
522
+ align-items: center;
523
+ gap: 4px;
524
+ z-index: 4;
525
+ backdrop-filter: blur(4px);
526
+ transition: all 0.3s ease;
527
+ }
528
+
529
+ .download-badge svg {
530
+ width: 12px;
531
+ height: 12px;
532
+ opacity: 0.8;
533
+ }
534
+
535
+ .download-badge:hover {
536
+ background: rgba(59, 185, 80, 0.2);
537
+ transform: scale(1.05);
538
+ }
539
+
540
+ /* Validation badge */
541
+ .validation-badge {
542
+ position: absolute;
543
+ top: 8px;
544
+ right: 8px;
545
+ padding: 4px 8px;
546
+ border-radius: 4px;
547
+ font-size: 0.7rem;
548
+ font-weight: 600;
549
+ display: flex;
550
+ align-items: center;
551
+ gap: 4px;
552
+ color: white;
553
+ z-index: 5;
554
+ backdrop-filter: blur(4px);
555
+ transition: all 0.3s ease;
556
+ cursor: help;
557
+ }
558
+
559
+ /* Adjust position when download badge is also present */
560
+ .template-card .download-badge ~ .validation-badge {
561
+ right: auto;
562
+ left: 8px;
563
+ }
564
+
565
+ .validation-badge svg {
566
+ width: 10px;
567
+ height: 10px;
568
+ opacity: 0.9;
569
+ }
570
+
571
+ .validation-badge:hover {
572
+ transform: scale(1.05);
573
+ filter: brightness(1.1);
574
+ }
575
+
576
+ /* Twitter-style Verified Badge (100% score) */
577
+ .verified-badge {
578
+ background: linear-gradient(135deg, #1DA1F2 0%, #0c8bd9 100%) !important;
579
+ border: 2px solid rgba(255, 255, 255, 0.3);
580
+ box-shadow: 0 2px 8px rgba(29, 161, 242, 0.4);
581
+ padding: 5px 10px;
582
+ }
583
+
584
+ .verified-badge svg {
585
+ width: 16px;
586
+ height: 16px;
587
+ opacity: 1;
588
+ filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2));
589
+ }
590
+
591
+ .verified-text {
592
+ font-size: 0.75rem;
593
+ font-weight: 700;
594
+ color: white;
595
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
596
+ letter-spacing: 0.3px;
597
+ }
598
+
599
+ .verified-badge:hover {
600
+ transform: scale(1.08);
601
+ box-shadow: 0 4px 12px rgba(29, 161, 242, 0.6);
602
+ }
603
+
604
+ /* Verified Checkmark - Positioned on framework logo */
605
+ .verified-checkmark {
606
+ position: absolute;
607
+ bottom: -6px;
608
+ right: -6px;
609
+ width: 18px;
610
+ height: 18px;
611
+ display: flex;
612
+ align-items: center;
613
+ justify-content: center;
614
+ z-index: 10;
615
+ filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3));
616
+ }
617
+
618
+ .verified-checkmark svg {
619
+ width: 18px;
620
+ height: 18px;
621
+ display: block;
622
+ }
623
+
624
+ .verified-checkmark:hover {
625
+ transform: scale(1.15);
626
+ filter: drop-shadow(0 2px 4px rgba(29, 161, 242, 0.6));
627
+ }
628
+
629
+ /* Sort Controls */
630
+ .sort-controls {
631
+ margin-bottom: 20px;
632
+ padding: 15px 0;
633
+ border-bottom: 1px solid var(--border-primary);
634
+ }
635
+
636
+ .sort-wrapper {
637
+ display: flex;
638
+ align-items: center;
639
+ gap: 12px;
640
+ justify-content: flex-end;
641
+ max-width: 1400px;
642
+ margin: 0 auto;
643
+ }
644
+
645
+ .sort-label {
646
+ color: var(--text-secondary);
647
+ font-size: 13px;
648
+ font-weight: 500;
649
+ text-transform: uppercase;
650
+ letter-spacing: 0.5px;
651
+ }
652
+
653
+ .sort-selector {
654
+ background: var(--bg-secondary);
655
+ border: 1px solid var(--border-primary);
656
+ color: var(--text-primary);
657
+ padding: 8px 12px;
658
+ padding-right: 32px;
659
+ border-radius: 6px;
660
+ font-size: 13px;
661
+ font-family: 'Inter', monospace;
662
+ cursor: pointer;
663
+ transition: all 0.2s ease;
664
+ appearance: none;
665
+ background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='12' height='12' viewBox='0 0 24 24' fill='%233bb950' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M7 10l5 5 5-5H7z'/%3e%3c/svg%3e");
666
+ background-repeat: no-repeat;
667
+ background-position: right 10px center;
668
+ min-width: 180px;
669
+ }
670
+
671
+ .sort-selector:hover {
672
+ border-color: var(--text-success);
673
+ background-color: rgba(59, 185, 80, 0.05);
674
+ }
675
+
676
+ .sort-selector:focus {
677
+ outline: none;
678
+ border-color: var(--text-success);
679
+ box-shadow: 0 0 0 2px rgba(59, 185, 80, 0.1);
680
+ }
681
+
682
+ .sort-selector option {
683
+ background: var(--bg-secondary);
684
+ color: var(--text-primary);
685
+ padding: 8px;
686
+ }
687
+
688
+ .category-label {
689
+ position: absolute;
690
+ top: 8px;
691
+ left: 8px;
692
+ color: var(--text-accent);
693
+ padding: 4px 8px;
694
+ border-radius: 12px;
695
+ font-size: 10px;
696
+ font-weight: 600;
697
+ text-transform: uppercase;
698
+ letter-spacing: 0.5px;
699
+ opacity: 0.8;
700
+ transition: all 0.2s ease;
701
+ z-index: 3;
702
+ backdrop-filter: blur(4px);
703
+ }
704
+
705
+ .category-label:hover {
706
+ opacity: 1;
707
+ transform: scale(1.05);
708
+ }
709
+
710
+ /* Category sub-filters within unified-filter-bar */
711
+ .category-filter-row {
712
+ width: 100%;
713
+ border-top: 1px solid var(--border-secondary);
714
+ padding-top: 12px;
715
+ margin-top: 12px;
716
+ display: flex;
717
+ align-items: center;
718
+ gap: 12px;
719
+ flex-wrap: wrap;
720
+ }
721
+
722
+ .category-filter-label {
723
+ color: var(--text-secondary);
724
+ font-size: 13px;
725
+ font-weight: 500;
726
+ text-transform: uppercase;
727
+ letter-spacing: 0.5px;
728
+ }
729
+
730
+ .category-filter-buttons {
731
+ display: flex;
732
+ gap: 8px;
733
+ flex-wrap: wrap;
734
+ align-items: center;
735
+ }
736
+
737
+ .category-filter-btn {
738
+ background: rgba(48, 54, 61, 0.5);
739
+ border: 1px solid var(--border-secondary);
740
+ color: var(--text-secondary);
741
+ padding: 6px 12px;
742
+ border-radius: 6px;
743
+ font-size: 12px;
744
+ font-weight: 500;
745
+ cursor: pointer;
746
+ transition: all 0.2s ease;
747
+ text-transform: capitalize;
748
+ }
749
+
750
+ .category-filter-btn:hover {
751
+ background: rgba(213, 116, 85, 0.1);
752
+ border-color: var(--text-accent);
753
+ color: var(--text-accent);
754
+ }
755
+
756
+ .category-filter-btn.active {
757
+ background: rgba(213, 116, 85, 0.15);
758
+ border-color: var(--text-accent);
759
+ color: var(--text-accent);
760
+ font-weight: 600;
761
+ }
762
+
763
+ .template-card:hover {
764
+ border-color: var(--text-accent);
765
+ box-shadow: 0 4px 12px var(--shadow-primary);
766
+ }
767
+
768
+ .card-inner {
769
+ position: relative;
770
+ width: 100%;
771
+ height: 100%;
772
+ text-align: center;
773
+ transition: transform 0.6s;
774
+ transform-style: preserve-3d;
775
+ }
776
+
777
+ .template-card.flipped .card-inner {
778
+ transform: rotateY(180deg);
779
+ }
780
+
781
+ .card-front, .card-back {
782
+ position: absolute;
783
+ width: 100%;
784
+ height: 100%;
785
+ backface-visibility: hidden;
786
+ display: flex;
787
+ flex-direction: column;
788
+ justify-content: center;
789
+ align-items: center;
790
+ padding: 1.5rem;
791
+ }
792
+
793
+ .card-back {
794
+ transform: rotateY(180deg);
795
+ background: var(--bg-tertiary);
796
+ }
797
+
798
+ .framework-logo {
799
+ width: 64px;
800
+ height: 64px;
801
+ margin-bottom: 1rem;
802
+ border-radius: 8px;
803
+ display: flex;
804
+ align-items: center;
805
+ justify-content: center;
806
+ font-size: 2.5rem;
807
+ background: var(--bg-tertiary);
808
+ border: 1px solid var(--border-primary);
809
+ position: relative; /* Required for absolute positioning of verified checkmark */
810
+ }
811
+
812
+ .framework-logo i {
813
+ font-size: 2.5rem;
814
+ }
815
+
816
+ .template-title {
817
+ font-size: 1.1rem;
818
+ font-weight: normal;
819
+ color: var(--text-primary);
820
+ margin-bottom: 0.5rem;
821
+ }
822
+
823
+ .template-description {
824
+ color: var(--text-secondary);
825
+ font-size: 0.8rem;
826
+ text-align: center;
827
+ }
828
+
829
+ .coming-soon {
830
+ opacity: 0.6;
831
+ pointer-events: none;
832
+ }
833
+
834
+ .coming-soon-badge {
835
+ position: absolute;
836
+ top: 1rem;
837
+ right: 1rem;
838
+ background: var(--text-warning);
839
+ color: var(--bg-primary);
840
+ padding: 0.25rem 0.75rem;
841
+ border-radius: 12px;
842
+ font-size: 0.7rem;
843
+ font-weight: normal;
844
+ }
845
+
846
+ /* Command display on card back */
847
+ .command-display {
848
+ text-align: center;
849
+ width: 100%;
850
+ padding: 0.1rem 0.6rem 0.3rem 0.6rem;
851
+ height: 100%;
852
+ display: flex;
853
+ flex-direction: column;
854
+ justify-content: center;
855
+ }
856
+
857
+ .command-display h3 {
858
+ font-size: 0.9rem;
859
+ margin: 0;
860
+ color: var(--text-accent);
861
+ font-weight: normal;
862
+ flex-shrink: 0;
863
+ line-height: 1;
864
+ padding-bottom: 0;
865
+ }
866
+
867
+ /* Command Code Container with Overlay */
868
+ .command-code-container {
869
+ position: relative;
870
+ flex: 1;
871
+ min-height: 85px;
872
+ margin: 0.2rem 0 0.1rem 0;
873
+ }
874
+
875
+ .command-code-container .command-code {
876
+ background: var(--bg-primary);
877
+ border: 1px solid var(--border-secondary);
878
+ padding: 6px;
879
+ border-radius: 6px;
880
+ font-family: 'Monaco', 'Menlo', monospace;
881
+ font-size: 0.8rem;
882
+ word-break: keep-all;
883
+ word-wrap: break-word;
884
+ color: var(--text-primary);
885
+ position: relative;
886
+ transition: all 0.2s ease;
887
+ height: 100%;
888
+ display: block;
889
+ text-align: center;
890
+ overflow-y: auto;
891
+ overflow-x: hidden;
892
+ line-height: 1.2;
893
+ white-space: pre-wrap;
894
+ hyphens: none;
895
+ }
896
+
897
+ .copy-overlay-btn {
898
+ position: absolute;
899
+ top: 0;
900
+ left: 0;
901
+ right: 0;
902
+ bottom: 0;
903
+ background: rgba(46, 160, 67, 0.9);
904
+ color: white;
905
+ border: none;
906
+ border-radius: 6px;
907
+ display: flex;
908
+ flex-direction: column;
909
+ align-items: center;
910
+ justify-content: center;
911
+ gap: 0.5rem;
912
+ font-size: 0.9rem;
913
+ font-weight: 600;
914
+ opacity: 0;
915
+ visibility: hidden;
916
+ transition: all 0.2s ease;
917
+ cursor: pointer;
918
+ backdrop-filter: blur(2px);
919
+ }
920
+
921
+ .command-code-container:hover .copy-overlay-btn {
922
+ opacity: 1;
923
+ visibility: visible;
924
+ }
925
+
926
+ .copy-overlay-btn:hover {
927
+ background: rgba(46, 160, 67, 0.95);
928
+ transform: scale(1.02);
929
+ }
930
+
931
+ .copy-overlay-btn svg {
932
+ filter: drop-shadow(0 1px 2px rgba(0,0,0,0.3));
933
+ }
934
+
935
+ .action-buttons {
936
+ display: flex;
937
+ gap: 0.75rem;
938
+ justify-content: center;
939
+ flex-wrap: wrap;
940
+ }
941
+
942
+ .view-files-btn,
943
+ .copy-command-btn {
944
+ border: none;
945
+ padding: 6px 12px;
946
+ border-radius: 4px;
947
+ font-size: 0.75rem;
948
+ cursor: pointer;
949
+ transition: all 0.2s ease;
950
+ font-family: inherit;
951
+ flex: 1;
952
+ min-width: 80px;
953
+ font-weight: normal;
954
+ background: var(--bg-tertiary);
955
+ color: var(--text-secondary);
956
+ border: 1px solid var(--border-primary);
957
+ }
958
+
959
+ .view-files-btn:hover,
960
+ .copy-command-btn:hover {
961
+ background: var(--border-primary);
962
+ color: var(--text-primary);
963
+ transform: translateY(-1px);
964
+ }
965
+
966
+ /* Footer */
967
+ .footer {
968
+ background: var(--bg-secondary);
969
+ border-top: 1px solid var(--border-primary);
970
+ color: var(--text-secondary);
971
+ padding: 2rem 0 3rem 0;
972
+ margin-top: 2rem;
973
+ }
974
+
975
+ .footer-content {
976
+ display: flex;
977
+ justify-content: space-between;
978
+ align-items: flex-start;
979
+ flex-wrap: wrap;
980
+ gap: 2rem;
981
+ }
982
+
983
+ .footer-left {
984
+ flex: 1;
985
+ min-width: 300px;
986
+ }
987
+
988
+ .footer-right {
989
+ flex: 1;
990
+ text-align: center;
991
+ display: flex;
992
+ flex-direction: column;
993
+ align-items: center;
994
+ gap: 1rem;
995
+ margin-right: 4rem; /* Space to avoid cart button overlap */
996
+ }
997
+
998
+ .footer-ascii {
999
+ margin-bottom: 0.5rem;
1000
+ }
1001
+
1002
+ .footer-ascii-art {
1003
+ font-family: 'Courier New', monospace;
1004
+ font-size: 8px;
1005
+ line-height: 1;
1006
+ color: var(--text-accent);
1007
+ margin: 0;
1008
+ white-space: pre;
1009
+ overflow: hidden;
1010
+ }
1011
+
1012
+ .footer-tagline {
1013
+ color: var(--text-secondary);
1014
+ font-size: 0.8rem;
1015
+ margin: 0.5rem 0 0 0;
1016
+ font-style: italic;
1017
+ }
1018
+
1019
+ .footer-copyright {
1020
+ color: var(--text-secondary);
1021
+ font-size: 0.875rem;
1022
+ margin: 0;
1023
+ }
1024
+
1025
+ .footer-links {
1026
+ display: flex;
1027
+ gap: 1.5rem;
1028
+ justify-content: center;
1029
+ }
1030
+
1031
+ .footer-link {
1032
+ display: flex;
1033
+ align-items: center;
1034
+ gap: 0.5rem;
1035
+ color: var(--text-secondary);
1036
+ text-decoration: none;
1037
+ font-size: 0.875rem;
1038
+ transition: color 0.2s ease;
1039
+ }
1040
+
1041
+ .footer-link:hover {
1042
+ color: var(--text-primary);
1043
+ }
1044
+
1045
+ .footer-link svg {
1046
+ flex-shrink: 0;
1047
+ }
1048
+
1049
+ /* Loading and error states */
1050
+ .loading {
1051
+ text-align: center;
1052
+ color: var(--text-secondary);
1053
+ font-size: 1rem;
1054
+ padding: 2rem;
1055
+ grid-column: 1 / -1;
1056
+ }
1057
+
1058
+ .loading::after {
1059
+ content: '';
1060
+ animation: dots 1.5s infinite;
1061
+ }
1062
+
1063
+ @keyframes dots {
1064
+ 0%, 20% { content: ''; }
1065
+ 40% { content: '.'; }
1066
+ 60% { content: '..'; }
1067
+ 80%, 100% { content: '...'; }
1068
+ }
1069
+
1070
+ .error-message {
1071
+ grid-column: 1 / -1;
1072
+ text-align: center;
1073
+ color: var(--text-error);
1074
+ background: var(--bg-secondary);
1075
+ border: 1px solid var(--text-error);
1076
+ border-radius: 8px;
1077
+ padding: 2rem;
1078
+ }
1079
+
1080
+ .error-message h3 {
1081
+ margin-bottom: 1rem;
1082
+ font-size: 1.1rem;
1083
+ font-weight: normal;
1084
+ }
1085
+
1086
+ .retry-btn {
1087
+ background: var(--text-error);
1088
+ color: var(--bg-primary);
1089
+ border: none;
1090
+ padding: 0.75rem 1.5rem;
1091
+ border-radius: 6px;
1092
+ cursor: pointer;
1093
+ margin-top: 1rem;
1094
+ font-size: 0.875rem;
1095
+ transition: opacity 0.2s ease;
1096
+ font-family: inherit;
1097
+ }
1098
+
1099
+ .retry-btn:hover {
1100
+ opacity: 0.8;
1101
+ }
1102
+
1103
+ /* Copy feedback animations */
1104
+ @keyframes slideInRight {
1105
+ from {
1106
+ transform: translateX(100%);
1107
+ opacity: 0;
1108
+ }
1109
+ to {
1110
+ transform: translateX(0);
1111
+ opacity: 1;
1112
+ }
1113
+ }
1114
+
1115
+ @keyframes slideOutRight {
1116
+ from {
1117
+ transform: translateX(0);
1118
+ opacity: 1;
1119
+ }
1120
+ to {
1121
+ transform: translateX(100%);
1122
+ opacity: 0;
1123
+ }
1124
+ }
1125
+
1126
+ /* Responsive design */
1127
+ @media (max-width: 768px) {
1128
+ .terminal {
1129
+ padding: 15px;
1130
+ }
1131
+
1132
+ .header-content {
1133
+ flex-direction: column;
1134
+ gap: 1rem;
1135
+ align-items: flex-start;
1136
+ }
1137
+
1138
+ .header-actions {
1139
+ gap: 0.75rem;
1140
+ width: 100%;
1141
+ justify-content: flex-start;
1142
+ }
1143
+
1144
+ .github-link, .header-btn {
1145
+ padding: 0.35rem 0.7rem;
1146
+ font-size: 0.8rem;
1147
+ }
1148
+
1149
+ .header .ascii-art {
1150
+ font-size: 0.3rem;
1151
+ overflow: visible;
1152
+ }
1153
+
1154
+ .header .terminal-subtitle {
1155
+ font-size: 0.75rem;
1156
+ text-align: left;
1157
+ }
1158
+
1159
+ .terminal-title {
1160
+ font-size: 1.1rem;
1161
+ }
1162
+
1163
+ .ascii-art {
1164
+ font-size: clamp(0.3rem, 0.6vw, 0.6rem);
1165
+ overflow-x: auto;
1166
+ scrollbar-width: thin;
1167
+ scrollbar-color: var(--border-primary) var(--bg-secondary);
1168
+ }
1169
+
1170
+ .ascii-art::-webkit-scrollbar {
1171
+ height: 4px;
1172
+ }
1173
+
1174
+ .ascii-art::-webkit-scrollbar-track {
1175
+ background: var(--bg-secondary);
1176
+ }
1177
+
1178
+ .ascii-art::-webkit-scrollbar-thumb {
1179
+ background: var(--border-primary);
1180
+ border-radius: 2px;
1181
+ }
1182
+
1183
+ .stats-badges {
1184
+ gap: 0.5rem;
1185
+ padding: 0.3rem 0;
1186
+ }
1187
+
1188
+ .stat-badge {
1189
+ height: 16px;
1190
+ }
1191
+
1192
+ .steps-grid {
1193
+ grid-template-columns: 1fr;
1194
+ gap: 15px;
1195
+ }
1196
+
1197
+ .tools-grid {
1198
+ grid-template-columns: 1fr;
1199
+ gap: 15px;
1200
+ }
1201
+
1202
+ .templates-grid {
1203
+ grid-template-columns: 1fr;
1204
+ gap: 15px;
1205
+ }
1206
+
1207
+ .template-card {
1208
+ height: 180px;
1209
+ }
1210
+
1211
+ .command-line {
1212
+ flex-direction: column;
1213
+ align-items: stretch;
1214
+ gap: 0.5rem;
1215
+ }
1216
+
1217
+ .command {
1218
+ text-align: center;
1219
+ }
1220
+
1221
+ .footer-content {
1222
+ flex-direction: column;
1223
+ text-align: center;
1224
+ gap: 1.5rem;
1225
+ }
1226
+
1227
+ .footer-left {
1228
+ min-width: unset;
1229
+ text-align: center;
1230
+ }
1231
+
1232
+ .footer-right {
1233
+ text-align: center;
1234
+ align-items: center;
1235
+ }
1236
+
1237
+ .footer-ascii-art {
1238
+ font-size: 6px;
1239
+ }
1240
+
1241
+ .step-card {
1242
+ padding: 12px;
1243
+ min-height: 120px;
1244
+ }
1245
+
1246
+ .tool-card {
1247
+ padding: 15px;
1248
+ }
1249
+ }
1250
+
1251
+ /* Extra small screens */
1252
+ @media (max-width: 480px) {
1253
+ .header .ascii-art {
1254
+ font-size: 0.25rem;
1255
+ overflow: visible;
1256
+ }
1257
+
1258
+ .header .terminal-subtitle {
1259
+ font-size: 0.7rem;
1260
+ text-align: left;
1261
+ }
1262
+
1263
+ .header-content {
1264
+ padding: 0.75rem 0;
1265
+ }
1266
+
1267
+ .stat-card {
1268
+ min-width: 200px;
1269
+ max-width: 250px;
1270
+ padding: 0.75rem;
1271
+ }
1272
+
1273
+ .stat-label {
1274
+ font-size: 0.75rem;
1275
+ }
1276
+ }
1277
+
1278
+ /* Modal styles */
1279
+ .modal {
1280
+ position: fixed;
1281
+ top: 0;
1282
+ left: 0;
1283
+ right: 0;
1284
+ bottom: 0;
1285
+ z-index: 1000;
1286
+ }
1287
+
1288
+ .modal-overlay {
1289
+ position: absolute;
1290
+ top: 0;
1291
+ left: 0;
1292
+ right: 0;
1293
+ bottom: 0;
1294
+ background: rgba(0, 0, 0, 0.8);
1295
+ display: flex;
1296
+ align-items: center;
1297
+ justify-content: center;
1298
+ padding: 20px;
1299
+ animation: fadeIn 0.3s ease;
1300
+ }
1301
+
1302
+ .modal-content {
1303
+ background: var(--bg-secondary);
1304
+ border: 1px solid var(--border-primary);
1305
+ border-radius: 8px;
1306
+ max-width: 800px;
1307
+ width: 100%;
1308
+ max-height: 80vh;
1309
+ overflow-y: auto;
1310
+ display: flex;
1311
+ flex-direction: column;
1312
+ animation: slideIn 0.3s ease;
1313
+ }
1314
+
1315
+ .modal-header {
1316
+ display: flex;
1317
+ justify-content: space-between;
1318
+ align-items: center;
1319
+ padding: 20px;
1320
+ border-bottom: 1px solid var(--border-primary);
1321
+ }
1322
+
1323
+ .modal-header h3 {
1324
+ color: var(--text-accent);
1325
+ font-size: 1.1rem;
1326
+ font-weight: normal;
1327
+ margin: 0;
1328
+ }
1329
+
1330
+ .modal-close {
1331
+ background: none;
1332
+ border: none;
1333
+ color: var(--text-secondary);
1334
+ font-size: 1.5rem;
1335
+ cursor: pointer;
1336
+ padding: 0;
1337
+ width: 30px;
1338
+ height: 30px;
1339
+ display: flex;
1340
+ align-items: center;
1341
+ justify-content: center;
1342
+ border-radius: 4px;
1343
+ transition: all 0.2s ease;
1344
+ }
1345
+
1346
+ .modal-close:hover {
1347
+ background: var(--bg-tertiary);
1348
+ color: var(--text-primary);
1349
+ }
1350
+
1351
+ .modal-body {
1352
+ padding: 20px;
1353
+ flex: 1;
1354
+ overflow-y: auto;
1355
+ }
1356
+
1357
+ .modal-description {
1358
+ color: var(--text-secondary);
1359
+ margin-bottom: 20px;
1360
+ font-size: 0.875rem;
1361
+ }
1362
+
1363
+ .files-table {
1364
+ border: 1px solid var(--border-primary);
1365
+ border-radius: 6px;
1366
+ overflow: hidden;
1367
+ }
1368
+
1369
+ .table-header {
1370
+ display: grid;
1371
+ grid-template-columns: 2fr 2fr 1fr;
1372
+ background: var(--bg-tertiary);
1373
+ border-bottom: 1px solid var(--border-primary);
1374
+ }
1375
+
1376
+ .column-header {
1377
+ padding: 12px 16px;
1378
+ color: var(--text-accent);
1379
+ font-size: 0.8rem;
1380
+ font-weight: normal;
1381
+ border-right: 1px solid var(--border-primary);
1382
+ }
1383
+
1384
+ .column-header:last-child {
1385
+ border-right: none;
1386
+ }
1387
+
1388
+ .table-row {
1389
+ display: grid;
1390
+ grid-template-columns: 2fr 2fr 1fr;
1391
+ border-bottom: 1px solid var(--border-secondary);
1392
+ }
1393
+
1394
+ .table-row:last-child {
1395
+ border-bottom: none;
1396
+ }
1397
+
1398
+ .table-row > div {
1399
+ padding: 12px 16px;
1400
+ font-size: 0.8rem;
1401
+ border-right: 1px solid var(--border-secondary);
1402
+ word-break: break-all;
1403
+ }
1404
+
1405
+ .table-row > div:last-child {
1406
+ border-right: none;
1407
+ }
1408
+
1409
+ .file-source {
1410
+ color: var(--text-secondary);
1411
+ font-family: inherit;
1412
+ }
1413
+
1414
+ .file-link {
1415
+ color: var(--text-info);
1416
+ text-decoration: none;
1417
+ transition: color 0.2s ease;
1418
+ }
1419
+
1420
+ .file-link:hover {
1421
+ color: var(--text-accent);
1422
+ text-decoration: underline;
1423
+ }
1424
+
1425
+ .file-destination {
1426
+ color: var(--text-primary);
1427
+ font-family: inherit;
1428
+ }
1429
+
1430
+ .file-type {
1431
+ color: var(--text-info);
1432
+ font-size: 0.75rem;
1433
+ text-align: center;
1434
+ }
1435
+
1436
+ .modal-footer {
1437
+ margin-top: 20px;
1438
+ text-align: center;
1439
+ }
1440
+
1441
+ .file-count {
1442
+ color: var(--text-secondary);
1443
+ font-size: 0.8rem;
1444
+ margin-bottom: 15px;
1445
+ }
1446
+
1447
+ .modal-actions {
1448
+ display: flex;
1449
+ justify-content: center;
1450
+ gap: 1rem;
1451
+ margin-top: 20px;
1452
+ flex-wrap: wrap;
1453
+ }
1454
+
1455
+ .github-folder-link {
1456
+ display: flex;
1457
+ align-items: center;
1458
+ gap: 0.5rem;
1459
+ color: var(--text-primary);
1460
+ text-decoration: none;
1461
+ background: var(--bg-tertiary);
1462
+ border: 1px solid var(--border-primary);
1463
+ padding: 0.6rem 1.2rem;
1464
+ border-radius: 6px;
1465
+ font-size: 0.85rem;
1466
+ font-weight: 500;
1467
+ transition: all 0.2s ease;
1468
+ min-width: 140px;
1469
+ justify-content: center;
1470
+ }
1471
+
1472
+ .github-folder-link:hover {
1473
+ background: var(--bg-primary);
1474
+ border-color: var(--text-accent);
1475
+ color: var(--text-accent);
1476
+ }
1477
+
1478
+ .github-folder-link svg {
1479
+ flex-shrink: 0;
1480
+ }
1481
+
1482
+ /* Modal animations */
1483
+ @keyframes fadeIn {
1484
+ from { opacity: 0; }
1485
+ to { opacity: 1; }
1486
+ }
1487
+
1488
+ @keyframes slideIn {
1489
+ from {
1490
+ transform: translateY(-50px);
1491
+ opacity: 0;
1492
+ }
1493
+ to {
1494
+ transform: translateY(0);
1495
+ opacity: 1;
1496
+ }
1497
+ }
1498
+
1499
+ /* Contribution modal styles */
1500
+ .contribute-modal {
1501
+ max-width: 900px;
1502
+ }
1503
+
1504
+ .contribute-intro {
1505
+ margin-bottom: 30px;
1506
+ }
1507
+
1508
+ .contribute-intro p {
1509
+ color: var(--text-secondary);
1510
+ font-size: 0.9rem;
1511
+ line-height: 1.5;
1512
+ }
1513
+
1514
+ .contribute-steps {
1515
+ display: flex;
1516
+ flex-direction: column;
1517
+ gap: 25px;
1518
+ margin-bottom: 30px;
1519
+ }
1520
+
1521
+ .contribute-step {
1522
+ display: flex;
1523
+ gap: 20px;
1524
+ align-items: flex-start;
1525
+ padding: 20px;
1526
+ background: var(--bg-tertiary);
1527
+ border: 1px solid var(--border-primary);
1528
+ border-radius: 8px;
1529
+ transition: all 0.2s ease;
1530
+ }
1531
+
1532
+ .contribute-step:hover {
1533
+ border-color: var(--text-accent);
1534
+ box-shadow: 0 2px 8px var(--shadow-primary);
1535
+ }
1536
+
1537
+ .step-number-contrib {
1538
+ flex-shrink: 0;
1539
+ width: 40px;
1540
+ height: 40px;
1541
+ background: var(--text-accent);
1542
+ color: var(--bg-primary);
1543
+ border-radius: 50%;
1544
+ display: flex;
1545
+ align-items: center;
1546
+ justify-content: center;
1547
+ font-weight: bold;
1548
+ font-size: 1rem;
1549
+ }
1550
+
1551
+ .step-content-contrib {
1552
+ flex: 1;
1553
+ }
1554
+
1555
+ .step-content-contrib h4 {
1556
+ color: var(--text-primary);
1557
+ font-size: 1.1rem;
1558
+ font-weight: 500;
1559
+ margin: 0 0 8px 0;
1560
+ }
1561
+
1562
+ .step-content-contrib p {
1563
+ color: var(--text-secondary);
1564
+ font-size: 0.875rem;
1565
+ line-height: 1.5;
1566
+ margin: 0 0 15px 0;
1567
+ }
1568
+
1569
+ .step-content-contrib ul {
1570
+ color: var(--text-secondary);
1571
+ font-size: 0.875rem;
1572
+ line-height: 1.5;
1573
+ margin: 15px 0 0 20px;
1574
+ }
1575
+
1576
+ .step-content-contrib li {
1577
+ margin-bottom: 5px;
1578
+ }
1579
+
1580
+ .step-content-contrib a {
1581
+ color: var(--text-info);
1582
+ text-decoration: none;
1583
+ }
1584
+
1585
+ .step-content-contrib a:hover {
1586
+ color: var(--text-accent);
1587
+ text-decoration: underline;
1588
+ }
1589
+
1590
+ .step-command {
1591
+ display: flex;
1592
+ align-items: center;
1593
+ gap: 8px;
1594
+ background: var(--bg-primary);
1595
+ border: 1px solid var(--border-secondary);
1596
+ border-radius: 6px;
1597
+ padding: 8px;
1598
+ margin: 8px 0;
1599
+ font-family: inherit;
1600
+ }
1601
+
1602
+ .step-command code {
1603
+ flex: 1;
1604
+ color: var(--text-primary);
1605
+ font-size: 0.8rem;
1606
+ background: none;
1607
+ border: none;
1608
+ font-family: inherit;
1609
+ }
1610
+
1611
+ .step-command .copy-btn {
1612
+ background: var(--text-success);
1613
+ color: var(--bg-primary);
1614
+ border: none;
1615
+ padding: 4px 8px;
1616
+ border-radius: 4px;
1617
+ font-size: 0.7rem;
1618
+ cursor: pointer;
1619
+ transition: opacity 0.2s ease;
1620
+ font-family: inherit;
1621
+ }
1622
+
1623
+ .step-command .copy-btn:hover {
1624
+ opacity: 0.8;
1625
+ }
1626
+
1627
+ .contribution-types {
1628
+ display: flex;
1629
+ flex-direction: column;
1630
+ gap: 15px;
1631
+ margin: 15px 0;
1632
+ }
1633
+
1634
+ .contrib-type {
1635
+ background: var(--bg-primary);
1636
+ border: 1px solid var(--border-secondary);
1637
+ border-radius: 6px;
1638
+ padding: 15px;
1639
+ }
1640
+
1641
+ .contrib-type strong {
1642
+ color: var(--text-accent);
1643
+ font-size: 0.9rem;
1644
+ }
1645
+
1646
+ .contrib-type small {
1647
+ color: var(--text-secondary);
1648
+ font-size: 0.8rem;
1649
+ }
1650
+
1651
+ .contrib-type code {
1652
+ background: var(--bg-secondary);
1653
+ color: var(--text-info);
1654
+ padding: 2px 6px;
1655
+ border-radius: 3px;
1656
+ font-size: 0.8rem;
1657
+ font-family: inherit;
1658
+ }
1659
+
1660
+ .claude-prompt {
1661
+ background: var(--bg-primary);
1662
+ border: 1px solid var(--border-secondary);
1663
+ border-radius: 8px;
1664
+ padding: 20px;
1665
+ margin: 15px 0;
1666
+ }
1667
+
1668
+ .claude-prompt h5 {
1669
+ color: var(--text-accent);
1670
+ font-size: 0.9rem;
1671
+ font-weight: 500;
1672
+ margin: 0 0 15px 0;
1673
+ display: flex;
1674
+ align-items: center;
1675
+ gap: 8px;
1676
+ }
1677
+
1678
+ .prompt-text {
1679
+ background: var(--bg-tertiary);
1680
+ border: 1px solid var(--border-primary);
1681
+ border-radius: 6px;
1682
+ padding: 15px;
1683
+ margin-bottom: 15px;
1684
+ position: relative;
1685
+ }
1686
+
1687
+ .prompt-text pre {
1688
+ color: var(--text-primary);
1689
+ font-size: 0.8rem;
1690
+ line-height: 1.4;
1691
+ margin: 0;
1692
+ white-space: pre-wrap;
1693
+ word-wrap: break-word;
1694
+ font-family: inherit;
1695
+ }
1696
+
1697
+ .copy-prompt-btn {
1698
+ background: var(--text-info);
1699
+ color: var(--bg-primary);
1700
+ border: none;
1701
+ padding: 8px 16px;
1702
+ border-radius: 4px;
1703
+ font-size: 0.8rem;
1704
+ cursor: pointer;
1705
+ transition: opacity 0.2s ease;
1706
+ font-family: inherit;
1707
+ display: flex;
1708
+ align-items: center;
1709
+ gap: 6px;
1710
+ }
1711
+
1712
+ .copy-prompt-btn:hover {
1713
+ opacity: 0.8;
1714
+ }
1715
+
1716
+ .contribute-footer {
1717
+ border-top: 1px solid var(--border-primary);
1718
+ padding-top: 20px;
1719
+ margin-top: 20px;
1720
+ }
1721
+
1722
+ .help-section h4 {
1723
+ color: var(--text-accent);
1724
+ font-size: 1rem;
1725
+ font-weight: 500;
1726
+ margin: 0 0 8px 0;
1727
+ }
1728
+
1729
+ .help-section p {
1730
+ color: var(--text-secondary);
1731
+ font-size: 0.875rem;
1732
+ margin: 0;
1733
+ }
1734
+
1735
+ .help-section a {
1736
+ color: var(--text-info);
1737
+ text-decoration: none;
1738
+ }
1739
+
1740
+ .help-section a:hover {
1741
+ color: var(--text-accent);
1742
+ text-decoration: underline;
1743
+ }
1744
+
1745
+ /* Modal responsive design */
1746
+ @media (max-width: 768px) {
1747
+ .modal-overlay {
1748
+ padding: 10px;
1749
+ }
1750
+
1751
+ .modal-content {
1752
+ max-height: 90vh;
1753
+ }
1754
+
1755
+ .contribute-modal {
1756
+ max-width: 100%;
1757
+ }
1758
+
1759
+ .modal-header,
1760
+ .modal-body {
1761
+ padding: 15px;
1762
+ }
1763
+
1764
+ .contribute-steps {
1765
+ gap: 20px;
1766
+ }
1767
+
1768
+ .contribute-step {
1769
+ flex-direction: column;
1770
+ gap: 15px;
1771
+ padding: 15px;
1772
+ }
1773
+
1774
+ .step-number-contrib {
1775
+ width: 35px;
1776
+ height: 35px;
1777
+ font-size: 0.9rem;
1778
+ align-self: flex-start;
1779
+ }
1780
+
1781
+ .step-command {
1782
+ flex-direction: column;
1783
+ align-items: stretch;
1784
+ gap: 8px;
1785
+ }
1786
+
1787
+ .step-command code {
1788
+ text-align: center;
1789
+ word-break: break-all;
1790
+ }
1791
+
1792
+ .contribution-types {
1793
+ gap: 12px;
1794
+ }
1795
+
1796
+ .contrib-type {
1797
+ padding: 12px;
1798
+ }
1799
+
1800
+ .claude-prompt {
1801
+ padding: 15px;
1802
+ }
1803
+
1804
+ .prompt-text pre {
1805
+ font-size: 0.75rem;
1806
+ }
1807
+
1808
+ .table-header,
1809
+ .table-row {
1810
+ grid-template-columns: 1fr;
1811
+ }
1812
+
1813
+ .column-header,
1814
+ .table-row > div {
1815
+ border-right: none;
1816
+ border-bottom: 1px solid var(--border-secondary);
1817
+ }
1818
+
1819
+ .column-header:last-child,
1820
+ .table-row > div:last-child {
1821
+ border-bottom: none;
1822
+ }
1823
+ }
1824
+
1825
+ /* Terminal-Style Filter Section */
1826
+ .unified-filter-section {
1827
+ margin: 2rem 0;
1828
+ font-family: 'Monaco', 'Menlo', 'Consolas', monospace;
1829
+ }
1830
+
1831
+ /* Search Header - Terminal Style with original content */
1832
+ .search-header {
1833
+ margin-bottom: 2rem;
1834
+ }
1835
+
1836
+ .terminal-command {
1837
+ position: relative;
1838
+ display: flex;
1839
+ justify-content: center;
1840
+ text-align: center;
1841
+ }
1842
+
1843
+ .terminal-dot {
1844
+ width: 8px;
1845
+ height: 8px;
1846
+ background: #22c55e;
1847
+ border-radius: 50%;
1848
+ display: inline-block;
1849
+ margin-right: 0.5rem;
1850
+ vertical-align: middle;
1851
+ }
1852
+
1853
+ .header-content {
1854
+ display: flex;
1855
+ flex-direction: column;
1856
+ align-items: center;
1857
+ text-align: center;
1858
+ flex: 1;
1859
+ }
1860
+
1861
+ .search-title {
1862
+ font-family: 'Monaco', 'Menlo', 'Consolas', monospace;
1863
+ font-size: 1.4rem;
1864
+ font-weight: 400;
1865
+ color: var(--text-primary);
1866
+ margin: 0;
1867
+ letter-spacing: normal;
1868
+ display: block;
1869
+ width: 100%;
1870
+ line-height: 1.1;
1871
+ }
1872
+
1873
+ .title-params {
1874
+ font-weight: 300 !important;
1875
+ opacity: 0.8;
1876
+ }
1877
+
1878
+ .search-subtitle {
1879
+ font-family: 'Monaco', 'Menlo', 'Consolas', monospace;
1880
+ font-size: 1rem;
1881
+ color: var(--text-secondary);
1882
+ margin: 0;
1883
+ line-height: 1.1;
1884
+ position: relative;
1885
+ display: block;
1886
+ width: 100%;
1887
+ margin-top: -0.1rem;
1888
+ }
1889
+
1890
+ /* Terminal Navigation Help */
1891
+ .terminal-navigation-help {
1892
+ display: flex;
1893
+ align-items: flex-start;
1894
+ gap: 0.5rem;
1895
+ background: var(--bg-tertiary);
1896
+ border: 1px solid var(--border-secondary);
1897
+ border-radius: 8px;
1898
+ padding: 0.75rem 1rem;
1899
+ font-family: 'Monaco', 'Menlo', 'Consolas', monospace;
1900
+ font-size: 0.8rem;
1901
+ line-height: 1.4;
1902
+ margin-top: 1rem;
1903
+ }
1904
+
1905
+ /* Terminal Search Container - Main Component */
1906
+ .terminal-search-container {
1907
+ margin-bottom: 1rem;
1908
+ }
1909
+
1910
+ .terminal-search-wrapper {
1911
+ background: var(--bg-secondary);
1912
+ border: 1px solid var(--border-primary);
1913
+ border-radius: 12px;
1914
+ padding: 0.75rem 1rem;
1915
+ display: flex;
1916
+ align-items: center;
1917
+ gap: 0.75rem;
1918
+ transition: border-color 0.2s ease;
1919
+ cursor: text;
1920
+ max-width: 700px;
1921
+ margin: 0 auto;
1922
+ }
1923
+
1924
+ .terminal-search-wrapper:focus-within {
1925
+ border-color: var(--text-accent);
1926
+ box-shadow: 0 0 0 2px rgba(213, 116, 85, 0.1);
1927
+ }
1928
+
1929
+ .terminal-prompt {
1930
+ color: var(--text-accent);
1931
+ font-size: 1rem;
1932
+ font-weight: bold;
1933
+ user-select: none;
1934
+ }
1935
+
1936
+ .search-icon-end {
1937
+ color: var(--text-secondary);
1938
+ opacity: 0.7;
1939
+ }
1940
+
1941
+ .terminal-search-input {
1942
+ flex: 1;
1943
+ background: transparent;
1944
+ border: none;
1945
+ color: var(--text-primary);
1946
+ font-size: 0.9rem;
1947
+ font-family: inherit;
1948
+ outline: none;
1949
+ placeholder-color: var(--text-secondary);
1950
+ caret-color: transparent; /* Hide default caret */
1951
+ }
1952
+
1953
+ /* Terminal cursor wrapper */
1954
+ .terminal-search-wrapper {
1955
+ position: relative;
1956
+ }
1957
+
1958
+ /* Terminal-style block cursor */
1959
+ .terminal-cursor {
1960
+ position: absolute;
1961
+ width: 10px;
1962
+ height: 20px;
1963
+ background: var(--text-accent);
1964
+ top: 50%;
1965
+ transform: translateY(-50%);
1966
+ animation: terminal-cursor-blink 1s infinite;
1967
+ pointer-events: none;
1968
+ z-index: 10;
1969
+ display: none;
1970
+ }
1971
+
1972
+ .terminal-search-input:focus + .terminal-cursor,
1973
+ .terminal-search-wrapper:focus-within .terminal-cursor {
1974
+ display: block;
1975
+ }
1976
+
1977
+ @keyframes terminal-cursor-blink {
1978
+ 0%, 50% {
1979
+ opacity: 1;
1980
+ }
1981
+ 51%, 100% {
1982
+ opacity: 0;
1983
+ }
1984
+ }
1985
+
1986
+ .terminal-search-input::placeholder {
1987
+ color: var(--text-secondary);
1988
+ font-style: italic;
1989
+ }
1990
+
1991
+ .terminal-clear-btn {
1992
+ background: none;
1993
+ border: none;
1994
+ color: var(--text-secondary);
1995
+ cursor: pointer;
1996
+ padding: 4px;
1997
+ border-radius: 4px;
1998
+ transition: all 0.2s ease;
1999
+ opacity: 0.7;
2000
+ }
2001
+
2002
+ .terminal-clear-btn:hover {
2003
+ background: var(--bg-tertiary);
2004
+ color: var(--text-primary);
2005
+ opacity: 1;
2006
+ }
2007
+
2008
+ /* Search Results Info - Terminal Style */
2009
+ .search-results-info {
2010
+ margin-top: 1rem;
2011
+ }
2012
+
2013
+ .terminal-results {
2014
+ display: flex;
2015
+ align-items: flex-start;
2016
+ gap: 0.5rem;
2017
+ background: var(--bg-tertiary);
2018
+ border: 1px solid var(--border-secondary);
2019
+ border-radius: 8px;
2020
+ padding: 0.75rem 1rem;
2021
+ font-family: 'Monaco', 'Menlo', 'Consolas', monospace;
2022
+ font-size: 0.85rem;
2023
+ line-height: 1.4;
2024
+ }
2025
+
2026
+ .results-content {
2027
+ display: flex;
2028
+ flex-direction: column;
2029
+ flex: 1;
2030
+ }
2031
+
2032
+ .results-count {
2033
+ color: var(--text-primary);
2034
+ font-weight: 400;
2035
+ margin: 0 0 0.1rem 0;
2036
+ }
2037
+
2038
+ .search-filters {
2039
+ color: var(--text-secondary);
2040
+ margin: 0;
2041
+ line-height: 1.2;
2042
+ }
2043
+
2044
+ .search-filter-tags {
2045
+ display: inline-flex;
2046
+ gap: 0.5rem;
2047
+ flex-wrap: wrap;
2048
+ }
2049
+
2050
+ .search-category-tag {
2051
+ background: var(--bg-secondary);
2052
+ color: var(--text-accent);
2053
+ padding: 0.2rem 0.5rem;
2054
+ border-radius: 4px;
2055
+ font-size: 0.75rem;
2056
+ border: 1px solid var(--border-secondary);
2057
+ }
2058
+
2059
+ .terminal-search-help {
2060
+ margin-top: 0.5rem;
2061
+ margin-left: 1rem;
2062
+ }
2063
+
2064
+ .search-help-text {
2065
+ color: var(--text-secondary);
2066
+ font-size: 0.8rem;
2067
+ font-style: italic;
2068
+ }
2069
+
2070
+ /* Component Type Filters - Compact */
2071
+ .component-type-filters {
2072
+ margin-bottom: 1rem;
2073
+ }
2074
+
2075
+ .filter-group {
2076
+ display: flex;
2077
+ align-items: center;
2078
+ justify-content: center;
2079
+ gap: 0.75rem;
2080
+ flex-wrap: wrap;
2081
+ }
2082
+
2083
+ .filter-group-label {
2084
+ color: var(--text-secondary);
2085
+ font-size: 0.85rem;
2086
+ font-weight: 500;
2087
+ min-width: 40px;
2088
+ }
2089
+
2090
+ .filter-chips {
2091
+ display: flex;
2092
+ gap: 0.5rem;
2093
+ flex-wrap: wrap;
2094
+ }
2095
+
2096
+ .filter-chip {
2097
+ background: var(--bg-tertiary);
2098
+ color: var(--text-secondary);
2099
+ border: 1px solid var(--border-secondary);
2100
+ padding: 0.5rem 0.75rem;
2101
+ border-radius: 4px;
2102
+ cursor: pointer;
2103
+ font-family: inherit;
2104
+ font-size: 0.8rem;
2105
+ transition: all 0.2s ease;
2106
+ display: flex;
2107
+ align-items: center;
2108
+ gap: 0.4rem;
2109
+ white-space: nowrap;
2110
+ text-decoration: none;
2111
+ }
2112
+
2113
+ .filter-chip:hover {
2114
+ background: var(--bg-secondary);
2115
+ color: var(--text-primary);
2116
+ border-color: var(--border-primary);
2117
+ transform: translateY(-1px);
2118
+ }
2119
+
2120
+ .filter-chip.active {
2121
+ background: var(--text-accent) !important;
2122
+ color: var(--bg-primary) !important;
2123
+ border-color: var(--text-accent) !important;
2124
+ font-weight: 500;
2125
+ }
2126
+
2127
+ .chip-icon {
2128
+ font-size: 0.9rem;
2129
+ }
2130
+
2131
+ /* Component Categories - Dynamic */
2132
+ .component-categories {
2133
+ margin-bottom: 1rem;
2134
+ border-top: 1px solid var(--border-secondary);
2135
+ padding-top: 1rem;
2136
+ }
2137
+
2138
+ .category-group {
2139
+ display: flex;
2140
+ align-items: center;
2141
+ gap: 0.75rem;
2142
+ flex-wrap: wrap;
2143
+ }
2144
+
2145
+ .category-group-label {
2146
+ color: var(--text-secondary);
2147
+ font-size: 0.85rem;
2148
+ font-weight: 500;
2149
+ min-width: 60px;
2150
+ }
2151
+
2152
+ .category-chips {
2153
+ display: flex;
2154
+ gap: 0.4rem;
2155
+ flex-wrap: wrap;
2156
+ }
2157
+
2158
+ .category-chips .filter-chip {
2159
+ font-size: 0.75rem;
2160
+ padding: 0.3rem 0.6rem;
2161
+ background: var(--bg-primary);
2162
+ border-color: var(--border-secondary);
2163
+ }
2164
+
2165
+ .category-chips .filter-chip:hover {
2166
+ background: var(--bg-tertiary);
2167
+ border-color: var(--border-primary);
2168
+ }
2169
+
2170
+ .category-chips .filter-chip.active {
2171
+ background: var(--text-success) !important;
2172
+ color: var(--bg-primary) !important;
2173
+ border-color: var(--text-success) !important;
2174
+ }
2175
+
2176
+ /* Responsive Design for Terminal Interface */
2177
+ @media (max-width: 768px) {
2178
+ .search-title {
2179
+ font-size: 1.2rem;
2180
+ }
2181
+
2182
+ .search-subtitle {
2183
+ font-size: 0.9rem;
2184
+ }
2185
+
2186
+ .header-content {
2187
+ margin-left: 1.2rem;
2188
+ }
2189
+
2190
+ .terminal-dot::after {
2191
+ height: 30px;
2192
+ }
2193
+
2194
+ .terminal-navigation-help {
2195
+ font-size: 0.7rem;
2196
+ padding: 0.6rem 0.8rem;
2197
+ }
2198
+
2199
+ .terminal-results {
2200
+ font-size: 0.8rem;
2201
+ padding: 0.6rem 0.8rem;
2202
+ }
2203
+
2204
+ .terminal-search-wrapper {
2205
+ padding: 0.6rem 0.8rem;
2206
+ gap: 0.5rem;
2207
+ border-radius: 8px;
2208
+ }
2209
+
2210
+ .terminal-prompt {
2211
+ font-size: 0.9rem;
2212
+ }
2213
+
2214
+ .terminal-search-input {
2215
+ font-size: 0.9rem;
2216
+ }
2217
+
2218
+ .filter-chips {
2219
+ gap: 0.4rem;
2220
+ }
2221
+
2222
+ .filter-chip {
2223
+ padding: 0.4rem 0.6rem;
2224
+ font-size: 0.8rem;
2225
+ border-radius: 3px;
2226
+ }
2227
+
2228
+ .component-categories h3 {
2229
+ font-size: 0.9rem;
2230
+ margin-bottom: 0.4rem;
2231
+ }
2232
+
2233
+ .category-chips .filter-chip {
2234
+ font-size: 0.7rem;
2235
+ padding: 0.25rem 0.5rem;
2236
+ }
2237
+ }
2238
+
2239
+ @media (max-width: 480px) {
2240
+ .search-title {
2241
+ font-size: 1rem;
2242
+ }
2243
+
2244
+ .search-subtitle {
2245
+ font-size: 0.8rem;
2246
+ }
2247
+
2248
+ .header-content {
2249
+ margin-left: 1rem;
2250
+ }
2251
+
2252
+ .terminal-dot::after {
2253
+ height: 25px;
2254
+ }
2255
+
2256
+ .terminal-navigation-help {
2257
+ font-size: 0.65rem;
2258
+ padding: 0.5rem 0.6rem;
2259
+ }
2260
+
2261
+ .terminal-results {
2262
+ font-size: 0.75rem;
2263
+ padding: 0.5rem 0.6rem;
2264
+ }
2265
+
2266
+ .unified-filter-section {
2267
+ padding: 0.5rem;
2268
+ }
2269
+
2270
+ .terminal-search-wrapper {
2271
+ flex-direction: column;
2272
+ align-items: stretch;
2273
+ gap: 0.75rem;
2274
+ padding: 0.75rem;
2275
+ }
2276
+
2277
+ .terminal-input-row {
2278
+ display: flex;
2279
+ align-items: center;
2280
+ gap: 0.5rem;
2281
+ }
2282
+
2283
+ .filter-chips,
2284
+ .category-chips {
2285
+ justify-content: center;
2286
+ }
2287
+
2288
+ .filter-chip {
2289
+ flex: 0 0 auto;
2290
+ min-width: fit-content;
2291
+ }
2292
+ }
2293
+
2294
+ /* Unified Grid */
2295
+ .unified-grid {
2296
+ display: grid;
2297
+ grid-template-columns: repeat(4, 1fr);
2298
+ gap: 1.5rem;
2299
+ margin-bottom: 2rem;
2300
+ }
2301
+
2302
+ .unified-grid.templates-mode {
2303
+ /* Template specific styles if needed */
2304
+ }
2305
+
2306
+ .unified-grid.components-mode {
2307
+ /* Component specific styles if needed */
2308
+ }
2309
+
2310
+ /* Plugin Cards */
2311
+ .plugin-card {
2312
+ height: auto;
2313
+ min-height: 380px;
2314
+ }
2315
+
2316
+ .plugin-card .template-card {
2317
+ height: 100%;
2318
+ }
2319
+
2320
+ .plugin-card .card-front {
2321
+ min-height: 380px;
2322
+ height: auto;
2323
+ display: flex;
2324
+ flex-direction: column;
2325
+ justify-content: space-between;
2326
+ padding: 2rem 1.5rem;
2327
+ overflow: visible;
2328
+ }
2329
+
2330
+ .plugin-card .plugin-content-wrapper {
2331
+ flex-grow: 1;
2332
+ display: flex;
2333
+ flex-direction: column;
2334
+ }
2335
+
2336
+ .plugin-card .framework-logo {
2337
+ margin-bottom: 1.5rem;
2338
+ flex-shrink: 0;
2339
+ }
2340
+
2341
+ .plugin-card .template-title {
2342
+ margin-bottom: 1rem;
2343
+ flex-shrink: 0;
2344
+ }
2345
+
2346
+ .plugin-card .plugin-version {
2347
+ position: absolute;
2348
+ top: 12px;
2349
+ right: 12px;
2350
+ background: var(--bg-tertiary);
2351
+ color: var(--text-secondary);
2352
+ padding: 0.25rem 0.5rem;
2353
+ border-radius: 4px;
2354
+ font-size: 0.7rem;
2355
+ font-weight: 600;
2356
+ z-index: 1;
2357
+ }
2358
+
2359
+ .plugin-card .template-description {
2360
+ margin: 0 0 1.25rem 0;
2361
+ line-height: 1.6;
2362
+ flex-shrink: 0;
2363
+ white-space: normal;
2364
+ overflow: visible;
2365
+ }
2366
+
2367
+ .plugin-card .plugin-stats {
2368
+ display: flex;
2369
+ justify-content: center;
2370
+ gap: 1rem;
2371
+ margin: 0;
2372
+ padding: 1rem 0;
2373
+ border-top: 1px solid var(--border-secondary);
2374
+ border-bottom: 1px solid var(--border-secondary);
2375
+ flex-shrink: 0;
2376
+ }
2377
+
2378
+ .plugin-card .plugin-stat {
2379
+ display: flex;
2380
+ align-items: center;
2381
+ gap: 0.3rem;
2382
+ color: var(--text-secondary);
2383
+ font-size: 0.85rem;
2384
+ font-weight: 500;
2385
+ }
2386
+
2387
+ .plugin-card .plugin-stat .stat-icon {
2388
+ font-size: 1.1rem;
2389
+ }
2390
+
2391
+ .plugin-card .plugin-view-details-btn {
2392
+ margin-top: auto;
2393
+ padding: 0.75rem 1.5rem;
2394
+ background: var(--text-accent);
2395
+ color: var(--bg-primary);
2396
+ border: none;
2397
+ border-radius: 6px;
2398
+ font-size: 0.9rem;
2399
+ font-weight: 600;
2400
+ cursor: pointer;
2401
+ transition: all 0.2s ease;
2402
+ display: flex;
2403
+ align-items: center;
2404
+ justify-content: center;
2405
+ gap: 0.5rem;
2406
+ width: 100%;
2407
+ flex-shrink: 0;
2408
+ align-self: flex-end;
2409
+ }
2410
+
2411
+ .plugin-card .plugin-view-details-btn:hover {
2412
+ background: var(--text-primary);
2413
+ transform: translateY(-2px);
2414
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
2415
+ }
2416
+
2417
+ .plugin-card .plugin-view-details-btn svg {
2418
+ transition: transform 0.2s ease;
2419
+ }
2420
+
2421
+ .plugin-card .plugin-view-details-btn:hover svg {
2422
+ transform: translateX(2px);
2423
+ }
2424
+
2425
+ .plugin-components-list {
2426
+ margin-top: 1rem;
2427
+ padding-top: 1rem;
2428
+ border-top: 1px solid var(--border-secondary);
2429
+ }
2430
+
2431
+ .plugin-components-list h4 {
2432
+ color: var(--text-primary);
2433
+ font-size: 0.9rem;
2434
+ margin-bottom: 0.75rem;
2435
+ font-weight: 600;
2436
+ }
2437
+
2438
+ .component-type-item {
2439
+ padding: 0.5rem 0.75rem;
2440
+ background: var(--bg-tertiary);
2441
+ border-radius: 4px;
2442
+ margin-bottom: 0.5rem;
2443
+ color: var(--text-secondary);
2444
+ font-size: 0.85rem;
2445
+ }
2446
+
2447
+ /* Components Grid */
2448
+ .components-grid {
2449
+ display: grid;
2450
+ grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
2451
+ gap: 1.5rem;
2452
+ margin-bottom: 2rem;
2453
+ }
2454
+
2455
+ .component-category {
2456
+ background: var(--bg-secondary);
2457
+ border: 1px solid var(--border-primary);
2458
+ border-radius: 12px;
2459
+ padding: 1.5rem;
2460
+ transition: all 0.3s ease;
2461
+ }
2462
+
2463
+ .component-category:hover {
2464
+ border-color: var(--text-accent);
2465
+ transform: translateY(-2px);
2466
+ box-shadow: 0 8px 25px var(--shadow-primary);
2467
+ }
2468
+
2469
+ .category-header {
2470
+ display: flex;
2471
+ align-items: center;
2472
+ gap: 0.75rem;
2473
+ margin-bottom: 1rem;
2474
+ }
2475
+
2476
+ .category-icon {
2477
+ font-size: 1.5rem;
2478
+ }
2479
+
2480
+ .category-title {
2481
+ color: var(--text-accent);
2482
+ font-size: 1.1rem;
2483
+ font-weight: 600;
2484
+ margin: 0;
2485
+ }
2486
+
2487
+ .category-description {
2488
+ color: var(--text-secondary);
2489
+ font-size: 0.85rem;
2490
+ margin-bottom: 1.5rem;
2491
+ line-height: 1.5;
2492
+ }
2493
+
2494
+ .component-items {
2495
+ display: flex;
2496
+ flex-direction: column;
2497
+ gap: 0.75rem;
2498
+ }
2499
+
2500
+ .component-item {
2501
+ background: var(--bg-tertiary);
2502
+ border: 1px solid var(--border-secondary);
2503
+ border-radius: 6px;
2504
+ padding: 0.75rem;
2505
+ transition: all 0.2s ease;
2506
+ cursor: pointer;
2507
+ }
2508
+
2509
+ .component-item:hover {
2510
+ border-color: var(--text-accent);
2511
+ background: var(--bg-primary);
2512
+ }
2513
+
2514
+ .component-name {
2515
+ color: var(--text-primary);
2516
+ font-size: 0.9rem;
2517
+ font-weight: 500;
2518
+ margin-bottom: 0.25rem;
2519
+ }
2520
+
2521
+ .component-description {
2522
+ color: var(--text-secondary);
2523
+ font-size: 0.75rem;
2524
+ line-height: 1.4;
2525
+ margin-bottom: 0.5rem;
2526
+ }
2527
+
2528
+ .component-command {
2529
+ font-family: 'Monaco', 'Menlo', monospace;
2530
+ font-size: 0.7rem;
2531
+ color: var(--text-success);
2532
+ background: var(--bg-primary);
2533
+ padding: 0.25rem 0.5rem;
2534
+ border-radius: 3px;
2535
+ border: 1px solid var(--border-primary);
2536
+ }
2537
+
2538
+ /* Tablet responsive */
2539
+ @media (max-width: 1024px) and (min-width: 769px) {
2540
+ .unified-grid {
2541
+ grid-template-columns: repeat(2, 1fr);
2542
+ gap: 1.25rem;
2543
+ }
2544
+ }
2545
+
2546
+ /* Responsive adjustments for unified interface */
2547
+ @media (max-width: 768px) {
2548
+ .unified-filter-bar .filter-buttons {
2549
+ gap: 0.5rem;
2550
+ }
2551
+
2552
+ .unified-filter-bar .filter-btn {
2553
+ padding: 0.6rem 1rem;
2554
+ font-size: 0.85rem;
2555
+ }
2556
+
2557
+ .unified-grid {
2558
+ grid-template-columns: 1fr;
2559
+ gap: 1rem;
2560
+ }
2561
+
2562
+ .unified-filter-bar {
2563
+ padding: 1rem;
2564
+ }
2565
+
2566
+ .components-grid {
2567
+ grid-template-columns: 1fr;
2568
+ gap: 1rem;
2569
+ }
2570
+
2571
+ .component-category {
2572
+ padding: 1rem;
2573
+ }
2574
+ }
2575
+
2576
+ /* ==== COMPONENT FILTER AND MODULAR INTERFACE ==== */
2577
+
2578
+ /* Component Filter Bar */
2579
+ .component-filter-bar {
2580
+ background: var(--bg-secondary);
2581
+ border: 1px solid var(--border-primary);
2582
+ border-radius: 12px;
2583
+ padding: 1.5rem;
2584
+ margin-bottom: 2rem;
2585
+ text-align: center;
2586
+ }
2587
+
2588
+ .filter-label {
2589
+ color: var(--text-accent);
2590
+ font-size: 1rem;
2591
+ font-weight: 600;
2592
+ margin-bottom: 1rem;
2593
+ display: flex;
2594
+ align-items: center;
2595
+ justify-content: center;
2596
+ gap: 0.5rem;
2597
+ }
2598
+
2599
+ .filter-label:before {
2600
+ content: ">";
2601
+ color: var(--text-success);
2602
+ font-weight: bold;
2603
+ }
2604
+
2605
+ .filter-buttons {
2606
+ display: flex;
2607
+ justify-content: center;
2608
+ gap: 1rem;
2609
+ flex-wrap: wrap;
2610
+ }
2611
+
2612
+ .filter-btn {
2613
+ background: var(--bg-tertiary);
2614
+ color: var(--text-secondary);
2615
+ border: 1px solid var(--border-primary);
2616
+ padding: 0.75rem 1.25rem;
2617
+ border-radius: 8px;
2618
+ cursor: pointer;
2619
+ font-family: inherit;
2620
+ font-size: 0.85rem;
2621
+ transition: all 0.2s ease;
2622
+ display: flex;
2623
+ align-items: center;
2624
+ gap: 0.5rem;
2625
+ white-space: nowrap;
2626
+ }
2627
+
2628
+ .filter-btn:hover {
2629
+ background: var(--bg-primary);
2630
+ color: var(--text-primary);
2631
+ border-color: var(--text-accent);
2632
+ transform: translateY(-1px);
2633
+ }
2634
+
2635
+ .filter-btn.active {
2636
+ background: var(--text-accent);
2637
+ color: var(--bg-primary);
2638
+ border-color: var(--text-accent);
2639
+ font-weight: 600;
2640
+ box-shadow: 0 4px 12px rgba(213, 116, 85, 0.3);
2641
+ }
2642
+
2643
+ /* Components Container */
2644
+ .components-container {
2645
+ display: grid;
2646
+ grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
2647
+ gap: 1.5rem;
2648
+ }
2649
+
2650
+ /* Add Component Cards - Same style as regular template cards */
2651
+ .add-component-card .component-icon {
2652
+ font-size: 2rem;
2653
+ animation: pulse 2s infinite;
2654
+ }
2655
+
2656
+ @keyframes pulse {
2657
+ 0%, 100% { opacity: 1; transform: scale(1); }
2658
+ 50% { opacity: 0.7; transform: scale(1.1); }
2659
+ }
2660
+
2661
+ /* Component Type Badge */
2662
+ .component-type-badge {
2663
+ position: absolute;
2664
+ top: 12px;
2665
+ right: 12px;
2666
+ padding: 0.25rem 0.5rem;
2667
+ border-radius: 12px;
2668
+ font-size: 0.7rem;
2669
+ font-weight: 600;
2670
+ text-transform: uppercase;
2671
+ letter-spacing: 0.5px;
2672
+ color: white;
2673
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
2674
+ }
2675
+
2676
+ /* Component Icon Styling */
2677
+ .component-icon {
2678
+ font-size: 1.8rem;
2679
+ display: inline-block;
2680
+ vertical-align: middle;
2681
+ }
2682
+
2683
+ .framework-logo .component-icon {
2684
+ font-size: 2.5rem;
2685
+ }
2686
+
2687
+
2688
+ /* Enhanced Component Modal */
2689
+ .component-modal {
2690
+ max-width: 800px;
2691
+ }
2692
+
2693
+ .component-modal-title {
2694
+ display: flex;
2695
+ align-items: center;
2696
+ gap: 1rem;
2697
+ flex: 1;
2698
+ }
2699
+
2700
+ .component-modal-title h3 {
2701
+ margin: 0;
2702
+ flex: 1;
2703
+ }
2704
+
2705
+ .component-modal-title .component-icon {
2706
+ font-size: 1.5rem;
2707
+ }
2708
+
2709
+ .component-modal-title .component-type-badge {
2710
+ position: static;
2711
+ margin-left: auto;
2712
+ }
2713
+
2714
+ .component-details {
2715
+ display: flex;
2716
+ flex-direction: column;
2717
+ gap: 1.5rem;
2718
+ }
2719
+
2720
+ .component-description {
2721
+ color: var(--text-secondary);
2722
+ font-size: 0.9rem;
2723
+ line-height: 1.6;
2724
+ padding: 1rem;
2725
+ background: var(--bg-tertiary);
2726
+ border: 1px solid var(--border-primary);
2727
+ border-radius: 8px;
2728
+ }
2729
+
2730
+ .installation-section h4,
2731
+ .component-content h4 {
2732
+ color: var(--text-accent);
2733
+ font-size: 1rem;
2734
+ font-weight: 600;
2735
+ margin: 0 0 0.75rem 0;
2736
+ display: flex;
2737
+ align-items: center;
2738
+ gap: 0.5rem;
2739
+ }
2740
+
2741
+ /* Global Agent Styles */
2742
+ .global-agent-section {
2743
+ margin-top: 1.5rem;
2744
+ padding-top: 1.5rem;
2745
+ border-top: 1px solid var(--border-secondary);
2746
+ }
2747
+
2748
+ .global-agent-description {
2749
+ color: var(--text-secondary);
2750
+ font-size: 0.9rem;
2751
+ margin: 0 0 1rem 0;
2752
+ font-style: italic;
2753
+ }
2754
+
2755
+ .global-agent-usage {
2756
+ margin-top: 1rem;
2757
+ }
2758
+
2759
+ .usage-example {
2760
+ margin-bottom: 1rem;
2761
+ }
2762
+
2763
+ .usage-title {
2764
+ color: var(--text-secondary);
2765
+ font-size: 0.85rem;
2766
+ font-weight: 500;
2767
+ margin-bottom: 0.5rem;
2768
+ }
2769
+
2770
+ .usage-command {
2771
+ background: var(--bg-terminal);
2772
+ border: 1px solid var(--border-primary);
2773
+ }
2774
+
2775
+ .usage-command code {
2776
+ color: var(--text-accent);
2777
+ font-weight: 500;
2778
+ }
2779
+
2780
+ .global-features {
2781
+ display: grid;
2782
+ gap: 0.4rem;
2783
+ margin-top: 1rem;
2784
+ }
2785
+
2786
+ .feature {
2787
+ color: var(--text-secondary);
2788
+ font-size: 0.85rem;
2789
+ display: flex;
2790
+ align-items: center;
2791
+ gap: 0.5rem;
2792
+ }
2793
+
2794
+ /* E2B Sandbox Section Styles */
2795
+ .e2b-sandbox-section {
2796
+ margin-top: 1.5rem;
2797
+ padding-top: 1.5rem;
2798
+ border-top: 1px solid var(--border-secondary);
2799
+ background: linear-gradient(135deg, rgba(70, 130, 180, 0.08) 0%, rgba(100, 149, 237, 0.08) 100%);
2800
+ border-radius: 8px;
2801
+ padding: 1.5rem;
2802
+ margin-top: 1.5rem;
2803
+ }
2804
+
2805
+ .e2b-description {
2806
+ color: var(--text-secondary);
2807
+ font-size: 0.9rem;
2808
+ margin: 0 0 1rem 0;
2809
+ font-style: italic;
2810
+ }
2811
+
2812
+ .e2b-features {
2813
+ display: grid;
2814
+ gap: 0.4rem;
2815
+ margin-top: 1rem;
2816
+ margin-bottom: 1rem;
2817
+ }
2818
+
2819
+ .e2b-requirements {
2820
+ margin-top: 1rem;
2821
+ background: rgba(255, 165, 0, 0.1);
2822
+ border-left: 3px solid var(--accent-orange);
2823
+ padding: 0.8rem 1rem;
2824
+ border-radius: 4px;
2825
+ }
2826
+
2827
+ .requirements-title {
2828
+ color: var(--text-primary);
2829
+ font-size: 0.85rem;
2830
+ font-weight: 600;
2831
+ margin-bottom: 0.5rem;
2832
+ display: flex;
2833
+ align-items: center;
2834
+ gap: 0.5rem;
2835
+ }
2836
+
2837
+ .requirements-title::before {
2838
+ content: "⚠️";
2839
+ font-size: 0.9rem;
2840
+ }
2841
+
2842
+ .requirement {
2843
+ color: var(--text-secondary);
2844
+ font-size: 0.8rem;
2845
+ margin: 0.3rem 0;
2846
+ display: flex;
2847
+ align-items: center;
2848
+ gap: 0.5rem;
2849
+ }
2850
+
2851
+ .requirement a {
2852
+ color: var(--accent-blue);
2853
+ text-decoration: none;
2854
+ font-weight: 500;
2855
+ }
2856
+
2857
+ .requirement a:hover {
2858
+ text-decoration: underline;
2859
+ }
2860
+
2861
+ /* Modal Section Styles */
2862
+ .basic-installation-section,
2863
+ .global-agent-section,
2864
+ .e2b-sandbox-section {
2865
+ margin-top: 1.5rem;
2866
+ padding-top: 1.5rem;
2867
+ border-top: 1px solid var(--border-secondary);
2868
+ }
2869
+
2870
+ .basic-installation-section {
2871
+ margin-top: 0;
2872
+ padding-top: 0;
2873
+ border-top: none;
2874
+ }
2875
+
2876
+ .installation-description,
2877
+ .global-agent-description,
2878
+ .e2b-description {
2879
+ color: var(--text-secondary);
2880
+ font-size: 0.9rem;
2881
+ margin: 0.5rem 0 1rem 0;
2882
+ font-style: italic;
2883
+ }
2884
+
2885
+ /* E2B Sandbox NEW Badge */
2886
+ .new-badge {
2887
+ background: linear-gradient(135deg, #4682B4 0%, #6495ED 100%);
2888
+ color: white;
2889
+ font-size: 0.6rem;
2890
+ font-weight: 600;
2891
+ padding: 2px 6px;
2892
+ border-radius: 3px;
2893
+ margin-left: 0.5rem;
2894
+ letter-spacing: 0.5px;
2895
+ vertical-align: middle;
2896
+ }
2897
+
2898
+ /* E2B Modal API Setup Styles - Simplified */
2899
+ .e2b-api-setup {
2900
+ margin: 1rem 0;
2901
+ background: var(--bg-terminal);
2902
+ border: 1px solid var(--border-primary);
2903
+ border-radius: 6px;
2904
+ padding: 1rem;
2905
+ }
2906
+
2907
+ .e2b-api-setup h5 {
2908
+ color: var(--text-primary);
2909
+ font-size: 0.85rem;
2910
+ font-weight: 600;
2911
+ margin: 0 0 0.8rem 0;
2912
+ }
2913
+
2914
+ .env-setup-simple {
2915
+ margin-bottom: 1rem;
2916
+ }
2917
+
2918
+ .env-comment {
2919
+ color: var(--text-secondary);
2920
+ font-size: 0.8rem;
2921
+ margin-bottom: 0.5rem;
2922
+ font-style: italic;
2923
+ }
2924
+
2925
+ .env-example {
2926
+ background: var(--bg-primary);
2927
+ border: 1px solid var(--border-primary);
2928
+ border-radius: 4px;
2929
+ padding: 0.8rem;
2930
+ font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
2931
+ }
2932
+
2933
+ .env-example code {
2934
+ display: block;
2935
+ color: var(--text-accent);
2936
+ font-size: 0.8rem;
2937
+ background: none;
2938
+ padding: 0.2rem 0;
2939
+ margin: 0;
2940
+ }
2941
+
2942
+ /* API Key Links */
2943
+ .api-key-links {
2944
+ display: flex;
2945
+ gap: 1rem;
2946
+ margin-top: 0.5rem;
2947
+ flex-wrap: wrap;
2948
+ }
2949
+
2950
+ .api-key-link {
2951
+ display: inline-flex;
2952
+ align-items: center;
2953
+ gap: 0.5rem;
2954
+ padding: 0.6rem 1rem;
2955
+ background: rgba(70, 130, 180, 0.1);
2956
+ border: 1px solid rgba(70, 130, 180, 0.3);
2957
+ border-radius: 6px;
2958
+ color: var(--text-primary);
2959
+ text-decoration: none;
2960
+ font-size: 0.8rem;
2961
+ font-weight: 500;
2962
+ transition: all 0.2s ease;
2963
+ }
2964
+
2965
+ .api-key-link:hover {
2966
+ background: rgba(70, 130, 180, 0.2);
2967
+ border-color: rgba(70, 130, 180, 0.5);
2968
+ transform: translateY(-1px);
2969
+ }
2970
+
2971
+ .api-key-link span {
2972
+ font-size: 0.9rem;
2973
+ }
2974
+
2975
+ /* Responsive adjustments */
2976
+ @media (max-width: 768px) {
2977
+ .env-example code {
2978
+ font-size: 0.75rem;
2979
+ }
2980
+
2981
+ .api-key-links {
2982
+ flex-direction: column;
2983
+ gap: 0.5rem;
2984
+ }
2985
+
2986
+ .api-key-link {
2987
+ justify-content: center;
2988
+ }
2989
+ }
2990
+
2991
+ /* E2B Sandbox Tool Card Styles */
2992
+ .tool-card.e2b-highlight {
2993
+ background: linear-gradient(135deg, rgba(70, 130, 180, 0.1) 0%, rgba(100, 149, 237, 0.1) 100%);
2994
+ border: 2px solid rgba(70, 130, 180, 0.3);
2995
+ position: relative;
2996
+ grid-column: 1 / -1; /* Span across all columns */
2997
+ max-width: none;
2998
+ }
2999
+
3000
+ /* E2B highlight card internal layout */
3001
+ .tool-card.e2b-highlight .env-setup {
3002
+ display: grid;
3003
+ grid-template-columns: 1fr 1fr;
3004
+ gap: 1.5rem;
3005
+ align-items: start;
3006
+ }
3007
+
3008
+ .tool-card.e2b-highlight .command-line {
3009
+ margin-top: 1rem;
3010
+ }
3011
+
3012
+ .tool-card.e2b-highlight .api-links {
3013
+ margin-top: 1.5rem;
3014
+ }
3015
+
3016
+ /* Responsive adjustments for full-width E2B card */
3017
+ @media (max-width: 1024px) {
3018
+ .tool-card.e2b-highlight .env-setup {
3019
+ grid-template-columns: 1fr;
3020
+ gap: 1rem;
3021
+ }
3022
+ }
3023
+
3024
+ .tool-card.e2b-highlight::before {
3025
+ content: "NEW";
3026
+ position: absolute;
3027
+ top: -8px;
3028
+ right: 15px;
3029
+ background: linear-gradient(135deg, #4682B4 0%, #6495ED 100%);
3030
+ color: white;
3031
+ font-size: 0.7rem;
3032
+ font-weight: 600;
3033
+ padding: 2px 8px;
3034
+ border-radius: 4px;
3035
+ letter-spacing: 0.5px;
3036
+ }
3037
+
3038
+ .env-setup {
3039
+ background: var(--bg-terminal);
3040
+ border: 1px solid var(--border-primary);
3041
+ border-radius: 6px;
3042
+ padding: 1rem;
3043
+ margin: 1rem 0;
3044
+ font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
3045
+ }
3046
+
3047
+ .env-comment {
3048
+ color: var(--text-secondary);
3049
+ font-size: 0.85rem;
3050
+ margin-bottom: 0.5rem;
3051
+ font-style: italic;
3052
+ }
3053
+
3054
+ .env-vars {
3055
+ display: flex;
3056
+ flex-direction: column;
3057
+ gap: 0.3rem;
3058
+ }
3059
+
3060
+ .env-vars code {
3061
+ color: var(--text-accent);
3062
+ font-size: 0.85rem;
3063
+ font-weight: 500;
3064
+ background: none;
3065
+ padding: 0;
3066
+ }
3067
+
3068
+ .api-links {
3069
+ display: flex;
3070
+ gap: 1rem;
3071
+ margin-top: 1rem;
3072
+ justify-content: center;
3073
+ }
3074
+
3075
+ .api-link {
3076
+ display: inline-flex;
3077
+ align-items: center;
3078
+ gap: 0.5rem;
3079
+ padding: 0.5rem 1rem;
3080
+ background: rgba(70, 130, 180, 0.1);
3081
+ border: 1px solid rgba(70, 130, 180, 0.3);
3082
+ border-radius: 6px;
3083
+ color: var(--text-primary);
3084
+ text-decoration: none;
3085
+ font-size: 0.85rem;
3086
+ font-weight: 500;
3087
+ transition: all 0.2s ease;
3088
+ }
3089
+
3090
+ .api-link:hover {
3091
+ background: rgba(70, 130, 180, 0.2);
3092
+ border-color: rgba(70, 130, 180, 0.5);
3093
+ transform: translateY(-1px);
3094
+ }
3095
+
3096
+ .api-link::before {
3097
+ content: "🔑";
3098
+ font-size: 0.9rem;
3099
+ }
3100
+
3101
+ /* Responsive adjustments */
3102
+ @media (max-width: 768px) {
3103
+ .api-links {
3104
+ flex-direction: column;
3105
+ gap: 0.5rem;
3106
+ }
3107
+
3108
+ .env-vars code {
3109
+ font-size: 0.75rem;
3110
+ }
3111
+ }
3112
+
3113
+ /* Sandbox Step Card Styles */
3114
+ .step-card.sandbox-highlight {
3115
+ background: linear-gradient(135deg, rgba(70, 130, 180, 0.08) 0%, rgba(100, 149, 237, 0.08) 100%);
3116
+ border: 2px solid rgba(70, 130, 180, 0.2);
3117
+ position: relative;
3118
+ }
3119
+
3120
+ .step-card.sandbox-highlight .step-number {
3121
+ background: linear-gradient(135deg, #4682B4 0%, #6495ED 100%);
3122
+ color: white;
3123
+ font-size: 1.2rem;
3124
+ display: flex;
3125
+ align-items: center;
3126
+ justify-content: center;
3127
+ }
3128
+
3129
+ .sandbox-setup {
3130
+ margin: 0.8rem 0;
3131
+ }
3132
+
3133
+ .env-hint {
3134
+ background: var(--bg-terminal);
3135
+ border: 1px solid var(--border-primary);
3136
+ border-radius: 4px;
3137
+ padding: 0.6rem;
3138
+ font-size: 0.8rem;
3139
+ color: var(--text-secondary);
3140
+ font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
3141
+ text-align: center;
3142
+ }
3143
+
3144
+ /* Adjust steps grid for 4 items */
3145
+ .steps-grid {
3146
+ display: grid;
3147
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
3148
+ gap: 2rem;
3149
+ max-width: 1200px;
3150
+ margin: 0 auto;
3151
+ }
3152
+
3153
+ /* Mobile responsive adjustments */
3154
+ @media (max-width: 768px) {
3155
+ .steps-grid {
3156
+ grid-template-columns: 1fr;
3157
+ gap: 1.5rem;
3158
+ }
3159
+
3160
+ .env-hint {
3161
+ font-size: 0.75rem;
3162
+ padding: 0.5rem;
3163
+ }
3164
+ }
3165
+
3166
+ .component-preview {
3167
+ background: var(--bg-primary);
3168
+ border: 1px solid var(--border-secondary);
3169
+ border-radius: 8px;
3170
+ padding: 1rem;
3171
+ overflow-y: auto;
3172
+ }
3173
+
3174
+ .component-preview pre {
3175
+ margin: 0;
3176
+ color: var(--text-primary);
3177
+ font-size: 0.8rem;
3178
+ line-height: 1.4;
3179
+ white-space: pre-wrap;
3180
+ word-wrap: break-word;
3181
+ }
3182
+
3183
+ .component-preview code {
3184
+ font-family: inherit;
3185
+ color: var(--text-info);
3186
+ }
3187
+
3188
+ /* Contribute Component Modal */
3189
+ .contribute-component-modal .component-structure {
3190
+ background: var(--bg-primary);
3191
+ border: 1px solid var(--border-secondary);
3192
+ border-radius: 6px;
3193
+ padding: 1rem;
3194
+ margin: 0.75rem 0;
3195
+ }
3196
+
3197
+ .contribute-component-modal .component-structure strong {
3198
+ color: var(--text-accent);
3199
+ font-size: 0.85rem;
3200
+ display: block;
3201
+ margin-bottom: 0.5rem;
3202
+ }
3203
+
3204
+ .contribute-component-modal .component-structure pre {
3205
+ color: var(--text-secondary);
3206
+ font-size: 0.75rem;
3207
+ line-height: 1.4;
3208
+ margin: 0;
3209
+ white-space: pre-wrap;
3210
+ }
3211
+
3212
+ /* Enhanced Loading States */
3213
+ .loading {
3214
+ grid-column: 1 / -1;
3215
+ text-align: center;
3216
+ color: var(--text-secondary);
3217
+ background: var(--bg-tertiary);
3218
+ border: 1px solid var(--border-primary);
3219
+ border-radius: 12px;
3220
+ padding: 3rem 2rem;
3221
+ font-size: 1rem;
3222
+ position: relative;
3223
+ overflow: hidden;
3224
+ }
3225
+
3226
+ .loading:before {
3227
+ content: "";
3228
+ position: absolute;
3229
+ top: 0;
3230
+ left: -100%;
3231
+ width: 100%;
3232
+ height: 100%;
3233
+ background: linear-gradient(
3234
+ 90deg,
3235
+ transparent,
3236
+ rgba(213, 116, 85, 0.1),
3237
+ transparent
3238
+ );
3239
+ animation: loading-shimmer 2s infinite;
3240
+ }
3241
+
3242
+ @keyframes loading-shimmer {
3243
+ 0% { left: -100%; }
3244
+ 100% { left: 100%; }
3245
+ }
3246
+
3247
+ /* Responsive Design for Component Interface */
3248
+ @media (max-width: 768px) {
3249
+ .unified-filter-bar .filter-buttons {
3250
+ gap: 0.5rem;
3251
+ }
3252
+
3253
+ .unified-filter-bar .filter-btn {
3254
+ padding: 0.6rem 1rem;
3255
+ font-size: 0.85rem;
3256
+ }
3257
+
3258
+ .unified-grid {
3259
+ grid-template-columns: 1fr;
3260
+ gap: 1rem;
3261
+ }
3262
+
3263
+ .unified-filter-bar {
3264
+ padding: 1rem;
3265
+ }
3266
+
3267
+ .components-grid {
3268
+ grid-template-columns: 1fr;
3269
+ gap: 1rem;
3270
+ }
3271
+
3272
+ .component-category {
3273
+ padding: 1rem;
3274
+ }
3275
+ }
3276
+
3277
+
3278
+ /* Cart Instructions */
3279
+ .cart-instructions {
3280
+ background: var(--bg-tertiary);
3281
+ border: 1px solid var(--border-primary);
3282
+ border-radius: 8px;
3283
+ padding: 1rem;
3284
+ margin: 1.5rem 0;
3285
+ transition: all 0.3s ease;
3286
+ }
3287
+
3288
+ .cart-instructions:hover {
3289
+ border-color: var(--text-accent);
3290
+ box-shadow: 0 2px 8px var(--shadow-primary);
3291
+ }
3292
+
3293
+ .cart-instructions .instructions-header {
3294
+ display: flex;
3295
+ align-items: center;
3296
+ gap: 0.5rem;
3297
+ color: var(--text-accent);
3298
+ font-weight: 600;
3299
+ margin-bottom: 0.75rem;
3300
+ font-size: 0.9rem;
3301
+ }
3302
+
3303
+ .cart-instructions p {
3304
+ color: var(--text-secondary);
3305
+ font-size: 0.8rem;
3306
+ line-height: 1.5;
3307
+ margin: 0;
3308
+ }
3309
+
3310
+ /* Clear All Button (moved to top) */
3311
+ .cart-clear-section {
3312
+ display: flex;
3313
+ justify-content: flex-end;
3314
+ margin-bottom: 1rem;
3315
+ padding-bottom: 0.75rem;
3316
+ border-bottom: 1px solid var(--border-primary);
3317
+ }
3318
+
3319
+ .clear-all-btn {
3320
+ background: transparent;
3321
+ color: var(--text-secondary);
3322
+ border: 1px solid var(--border-primary);
3323
+ padding: 0.4rem 0.8rem;
3324
+ border-radius: 4px;
3325
+ cursor: pointer;
3326
+ font-size: 0.8rem;
3327
+ transition: all 0.2s ease;
3328
+ display: flex;
3329
+ align-items: center;
3330
+ gap: 0.4rem;
3331
+ }
3332
+
3333
+ .clear-all-btn:hover {
3334
+ border-color: var(--text-error);
3335
+ color: var(--text-error);
3336
+ background: rgba(248, 81, 73, 0.1);
3337
+ }
3338
+
3339
+ /* Subtle Clear All Button */
3340
+ .cart-clear-section-prominent {
3341
+ margin: 0.5rem 1.5rem;
3342
+ padding: 0.5rem 0;
3343
+ border-bottom: 1px solid var(--border-primary);
3344
+ display: flex;
3345
+ justify-content: flex-end;
3346
+ align-items: center;
3347
+ }
3348
+
3349
+ .clear-all-btn-prominent {
3350
+ background: transparent;
3351
+ color: var(--text-secondary);
3352
+ border: 1px solid var(--border-primary);
3353
+ padding: 0.4rem 0.8rem;
3354
+ border-radius: 4px;
3355
+ cursor: pointer;
3356
+ font-size: 0.8rem;
3357
+ font-weight: 500;
3358
+ transition: all 0.2s ease;
3359
+ display: flex;
3360
+ align-items: center;
3361
+ gap: 0.4rem;
3362
+ text-transform: none;
3363
+ letter-spacing: normal;
3364
+ }
3365
+
3366
+ .clear-all-btn-prominent:hover {
3367
+ border-color: var(--text-error);
3368
+ color: var(--text-error);
3369
+ background: rgba(248, 81, 73, 0.05);
3370
+ transform: none;
3371
+ }
3372
+
3373
+ .clear-all-btn-prominent:active {
3374
+ transform: none;
3375
+ background: rgba(248, 81, 73, 0.1);
3376
+ }
3377
+
3378
+ .clear-count {
3379
+ background: var(--bg-tertiary);
3380
+ padding: 0.1rem 0.3rem;
3381
+ border-radius: 8px;
3382
+ font-size: 0.7rem;
3383
+ font-weight: 500;
3384
+ margin-left: 0.2rem;
3385
+ color: var(--text-secondary);
3386
+ }
3387
+
3388
+ /* Cart Header Improvements */
3389
+ .cart-header-main {
3390
+ display: flex;
3391
+ justify-content: space-between;
3392
+ align-items: center;
3393
+ width: 100%;
3394
+ margin-bottom: 0.5rem;
3395
+ }
3396
+
3397
+ /* Share Dropdown Container */
3398
+ .share-dropdown {
3399
+ position: relative;
3400
+ flex: 1;
3401
+ }
3402
+
3403
+ /* Share Stack Button */
3404
+ .share-stack-btn {
3405
+ background: var(--bg-tertiary);
3406
+ color: var(--text-primary);
3407
+ border: 1px solid var(--border-primary);
3408
+ padding: 0.5rem 1rem;
3409
+ border-radius: 6px;
3410
+ cursor: pointer;
3411
+ font-size: 0.9rem;
3412
+ font-weight: 500;
3413
+ transition: all 0.2s ease;
3414
+ display: flex;
3415
+ align-items: center;
3416
+ gap: 0.5rem;
3417
+ width: 100%;
3418
+ justify-content: center;
3419
+ }
3420
+
3421
+ .share-stack-btn:hover {
3422
+ background: var(--bg-primary);
3423
+ border-color: var(--text-accent);
3424
+ transform: translateY(-1px);
3425
+ }
3426
+
3427
+ .dropdown-arrow {
3428
+ margin-left: auto;
3429
+ transition: transform 0.2s ease;
3430
+ }
3431
+
3432
+ .share-dropdown.open .dropdown-arrow {
3433
+ transform: rotate(180deg);
3434
+ }
3435
+
3436
+ /* Share Options */
3437
+ .share-options {
3438
+ position: absolute;
3439
+ bottom: 100%;
3440
+ left: 0;
3441
+ right: 0;
3442
+ background: var(--bg-tertiary);
3443
+ border: 1px solid var(--border-primary);
3444
+ border-radius: 6px;
3445
+ box-shadow: 0 -4px 16px var(--shadow-primary);
3446
+ display: none;
3447
+ flex-direction: column;
3448
+ gap: 0;
3449
+ margin-bottom: 8px;
3450
+ z-index: 1000;
3451
+ }
3452
+
3453
+ .share-dropdown.open .share-options {
3454
+ display: flex;
3455
+ }
3456
+
3457
+ .share-option-btn {
3458
+ background: var(--bg-tertiary);
3459
+ color: var(--text-primary);
3460
+ border: none;
3461
+ border-bottom: 1px solid var(--border-primary);
3462
+ padding: 0.75rem 1rem;
3463
+ border-radius: 0;
3464
+ cursor: pointer;
3465
+ font-size: 0.85rem;
3466
+ transition: all 0.2s ease;
3467
+ display: flex;
3468
+ align-items: center;
3469
+ gap: 0.5rem;
3470
+ justify-content: flex-start;
3471
+ }
3472
+
3473
+ .share-option-btn:hover {
3474
+ background: var(--bg-primary);
3475
+ color: var(--text-accent);
3476
+ }
3477
+
3478
+ .share-option-btn:first-child {
3479
+ background: var(--bg-tertiary);
3480
+ color: var(--text-primary);
3481
+ border-top-left-radius: 6px;
3482
+ border-top-right-radius: 6px;
3483
+ }
3484
+
3485
+ .share-option-btn:first-child:hover {
3486
+ background: var(--bg-primary);
3487
+ color: var(--text-accent);
3488
+ }
3489
+
3490
+ .share-option-btn:last-child {
3491
+ background: var(--bg-tertiary);
3492
+ color: var(--text-primary);
3493
+ border-bottom-left-radius: 6px;
3494
+ border-bottom-right-radius: 6px;
3495
+ border-bottom: none;
3496
+ }
3497
+
3498
+ .share-option-btn:last-child:hover {
3499
+ background: var(--bg-primary);
3500
+ color: var(--text-accent);
3501
+ }
3502
+
3503
+ flex-direction: column;
3504
+ align-items: center;
3505
+ gap: 0.5rem;
3506
+ }
3507
+
3508
+ .unified-filter-bar .filter-btn {
3509
+ width: 100%;
3510
+ max-width: 280px;
3511
+ justify-content: center;
3512
+ padding: 0.6rem 1rem;
3513
+ font-size: 0.85rem;
3514
+ }
3515
+
3516
+ .filter-buttons {
3517
+ gap: 0.5rem;
3518
+ }
3519
+
3520
+ .filter-btn {
3521
+ padding: 0.5rem 0.75rem;
3522
+ font-size: 0.8rem;
3523
+ }
3524
+
3525
+ .components-container {
3526
+ grid-template-columns: 1fr;
3527
+ gap: 1rem;
3528
+ }
3529
+
3530
+ .component-filter-bar {
3531
+ padding: 1rem;
3532
+ }
3533
+
3534
+ .component-modal {
3535
+ max-width: 100%;
3536
+ }
3537
+
3538
+ .component-modal-title {
3539
+ flex-direction: column;
3540
+ align-items: flex-start;
3541
+ gap: 0.5rem;
3542
+ }
3543
+
3544
+ .component-modal-title .component-type-badge {
3545
+ margin-left: 0;
3546
+ }
3547
+
3548
+ .component-preview {
3549
+ padding: 0.75rem;
3550
+ }
3551
+
3552
+ .component-preview pre {
3553
+ font-size: 0.75rem;
3554
+ }
3555
+ }
3556
+
3557
+ /* Focus and Accessibility */
3558
+ .filter-btn:focus,
3559
+ .mode-btn:focus {
3560
+ outline: 2px solid var(--text-accent);
3561
+ outline-offset: 2px;
3562
+ }
3563
+
3564
+ .template-card:focus {
3565
+ outline: 2px solid var(--text-accent);
3566
+ outline-offset: 4px;
3567
+ }
3568
+
3569
+ /* High contrast mode adjustments */
3570
+ @media (prefers-contrast: high) {
3571
+ .component-type-badge {
3572
+ border: 1px solid white;
3573
+ }
3574
+
3575
+ .filter-btn.active {
3576
+ box-shadow: 0 0 0 2px var(--bg-primary);
3577
+ }
3578
+
3579
+ .add-component-card:hover {
3580
+ border-width: 3px;
3581
+ }
3582
+ }
3583
+
3584
+ /* Download Statistics Section */
3585
+ .download-stats-section {
3586
+ padding: 1.5rem 0;
3587
+ margin: 1rem 0;
3588
+ display: block !important; /* Always keep visible */
3589
+ }
3590
+
3591
+ .stats-container {
3592
+ max-width: 1200px;
3593
+ margin: 0 auto;
3594
+ padding: 0 1rem;
3595
+ }
3596
+
3597
+ .stats-header {
3598
+ margin-bottom: 1rem;
3599
+ }
3600
+
3601
+ .stats-title {
3602
+ font-size: 1.2rem;
3603
+ font-weight: 600;
3604
+ color: var(--text-primary);
3605
+ margin-bottom: 0.5rem;
3606
+ }
3607
+
3608
+ .stats-subtitle {
3609
+ color: var(--text-secondary);
3610
+ font-size: 0.9rem;
3611
+ }
3612
+
3613
+ .stats-grid {
3614
+ display: grid;
3615
+ grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
3616
+ gap: 1rem;
3617
+ margin-bottom: 1.5rem;
3618
+ }
3619
+
3620
+ .stat-card {
3621
+ background: var(--bg-tertiary);
3622
+ border: 1px solid var(--border-primary);
3623
+ border-radius: 6px;
3624
+ padding: 1.5rem;
3625
+ display: flex;
3626
+ align-items: center;
3627
+ gap: 1rem;
3628
+ transition: all 0.3s ease;
3629
+ position: relative;
3630
+ overflow: hidden;
3631
+ }
3632
+
3633
+ .stat-card::before {
3634
+ content: '';
3635
+ position: absolute;
3636
+ top: 0;
3637
+ left: 0;
3638
+ width: 3px;
3639
+ height: 100%;
3640
+ background: var(--text-accent);
3641
+ opacity: 0;
3642
+ transition: opacity 0.3s ease;
3643
+ }
3644
+
3645
+ .stat-card:hover {
3646
+ border-color: var(--text-accent);
3647
+ transform: translateY(-2px);
3648
+ box-shadow: 0 4px 12px var(--shadow-primary);
3649
+ }
3650
+
3651
+ .stat-card:hover::before {
3652
+ opacity: 1;
3653
+ }
3654
+
3655
+ .stat-icon {
3656
+ font-size: 2rem;
3657
+ line-height: 1;
3658
+ opacity: 0.8;
3659
+ }
3660
+
3661
+ .stat-content {
3662
+ flex: 1;
3663
+ min-width: 0;
3664
+ }
3665
+
3666
+ .stat-number {
3667
+ font-size: 1.8rem;
3668
+ font-weight: 700;
3669
+ color: var(--text-primary);
3670
+ line-height: 1.2;
3671
+ margin-bottom: 0.25rem;
3672
+ font-family: 'Courier New', monospace;
3673
+ }
3674
+
3675
+ .stat-label {
3676
+ font-size: 0.8rem;
3677
+ color: var(--text-secondary);
3678
+ text-transform: uppercase;
3679
+ letter-spacing: 0.5px;
3680
+ font-weight: 500;
3681
+ }
3682
+
3683
+ .popular-component .stat-number {
3684
+ color: var(--text-success);
3685
+ font-size: 1.2rem;
3686
+ font-weight: 600;
3687
+ font-family: inherit;
3688
+ text-overflow: ellipsis;
3689
+ overflow: hidden;
3690
+ white-space: nowrap;
3691
+ }
3692
+
3693
+ .popular-component .stat-icon {
3694
+ animation: pulse-gold 2s infinite;
3695
+ }
3696
+
3697
+ @keyframes pulse-gold {
3698
+ 0%, 100% { opacity: 0.8; transform: scale(1); }
3699
+ 50% { opacity: 1; transform: scale(1.1); }
3700
+ }
3701
+
3702
+ .stats-updated {
3703
+ text-align: center;
3704
+ color: var(--text-secondary);
3705
+ font-size: 0.75rem;
3706
+ opacity: 0.7;
3707
+ border-top: 1px solid var(--border-primary);
3708
+ padding-top: 1rem;
3709
+ }
3710
+
3711
+ /* Loading state for stats */
3712
+ .stat-number.loading {
3713
+ background: linear-gradient(90deg, transparent, rgba(141, 150, 178, 0.2), transparent);
3714
+ background-size: 200% 100%;
3715
+ animation: loading-shimmer 2s infinite;
3716
+ color: transparent;
3717
+ border-radius: 4px;
3718
+ min-height: 1.8rem;
3719
+ display: flex;
3720
+ align-items: center;
3721
+ }
3722
+
3723
+ .stat-number.loading::after {
3724
+ content: '---';
3725
+ color: var(--text-secondary);
3726
+ opacity: 0.5;
3727
+ }
3728
+
3729
+ @keyframes loading-shimmer {
3730
+ 0% { background-position: -200% 0; }
3731
+ 100% { background-position: 200% 0; }
3732
+ }
3733
+
3734
+ /* Improved compact stats design */
3735
+ .stats-header {
3736
+ text-align: center;
3737
+ margin-bottom: 1.5rem;
3738
+ }
3739
+
3740
+ .stats-subtitle {
3741
+ color: var(--text-secondary);
3742
+ font-size: 0.9rem;
3743
+ margin-top: 0.5rem;
3744
+ }
3745
+
3746
+ .stats-compact {
3747
+ display: grid;
3748
+ grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
3749
+ gap: 1rem;
3750
+ margin-bottom: 1rem;
3751
+ }
3752
+
3753
+ .stat-item-compact {
3754
+ display: flex;
3755
+ align-items: center;
3756
+ gap: 0.75rem;
3757
+ padding: 0.75rem;
3758
+ background: var(--bg-tertiary);
3759
+ border: 1px solid var(--border-primary);
3760
+ border-radius: 6px;
3761
+ transition: all 0.3s ease;
3762
+ }
3763
+
3764
+ .stat-item-compact:hover {
3765
+ border-color: var(--text-accent);
3766
+ background: rgba(213, 116, 85, 0.05);
3767
+ transform: translateY(-1px);
3768
+ }
3769
+
3770
+ .stat-item-compact.popular-item {
3771
+ border-color: var(--text-warning);
3772
+ background: rgba(249, 115, 22, 0.05);
3773
+ }
3774
+
3775
+ .stat-item-compact.popular-item:hover {
3776
+ border-color: var(--text-warning);
3777
+ background: rgba(249, 115, 22, 0.1);
3778
+ }
3779
+
3780
+ .stat-icon {
3781
+ font-size: 1.2rem;
3782
+ opacity: 0.8;
3783
+ flex-shrink: 0;
3784
+ }
3785
+
3786
+ .stat-data {
3787
+ display: flex;
3788
+ flex-direction: column;
3789
+ gap: 0.1rem;
3790
+ min-width: 0;
3791
+ }
3792
+
3793
+ .stat-number {
3794
+ font-size: 1.2rem;
3795
+ font-weight: 600;
3796
+ color: var(--text-primary);
3797
+ font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
3798
+ line-height: 1.2;
3799
+ }
3800
+
3801
+ .popular-item .stat-number {
3802
+ color: var(--text-warning);
3803
+ }
3804
+
3805
+ .stat-label {
3806
+ font-size: 0.75rem;
3807
+ color: var(--text-secondary);
3808
+ text-transform: uppercase;
3809
+ font-weight: 500;
3810
+ letter-spacing: 0.3px;
3811
+ white-space: nowrap;
3812
+ overflow: hidden;
3813
+ text-overflow: ellipsis;
3814
+ }
3815
+
3816
+ .stats-actions {
3817
+ display: flex;
3818
+ justify-content: center;
3819
+ margin: 1rem 0;
3820
+ }
3821
+
3822
+ .stats-detail-btn {
3823
+ display: inline-flex;
3824
+ align-items: center;
3825
+ gap: 0.5rem;
3826
+ padding: 0.75rem 1.25rem;
3827
+ background: linear-gradient(135deg, var(--text-accent), #f97316);
3828
+ color: var(--bg-primary);
3829
+ text-decoration: none;
3830
+ border-radius: 6px;
3831
+ font-size: 0.875rem;
3832
+ font-weight: 500;
3833
+ transition: all 0.2s ease;
3834
+ border: 1px solid transparent;
3835
+ }
3836
+
3837
+ .stats-detail-btn:hover {
3838
+ transform: translateY(-2px);
3839
+ box-shadow: 0 8px 16px rgba(213, 116, 85, 0.3);
3840
+ background: linear-gradient(135deg, #f97316, var(--text-accent));
3841
+ }
3842
+
3843
+ .stats-detail-btn svg {
3844
+ transition: transform 0.2s ease;
3845
+ }
3846
+
3847
+ .stats-detail-btn:hover svg {
3848
+ transform: scale(1.1);
3849
+ }
3850
+
3851
+ .stats-updated {
3852
+ text-align: center;
3853
+ font-size: 0.8rem;
3854
+ color: var(--text-secondary);
3855
+ opacity: 0.8;
3856
+ }
3857
+
3858
+ /* Responsive design for smaller screens */
3859
+ @media (max-width: 768px) {
3860
+ .stats-compact {
3861
+ grid-template-columns: repeat(2, 1fr);
3862
+ gap: 0.75rem;
3863
+ }
3864
+
3865
+ .stat-item-compact {
3866
+ padding: 0.5rem;
3867
+ gap: 0.5rem;
3868
+ }
3869
+
3870
+ .stat-icon {
3871
+ font-size: 1rem;
3872
+ }
3873
+
3874
+ .stat-number {
3875
+ font-size: 1rem;
3876
+ }
3877
+
3878
+ .stat-label {
3879
+ font-size: 0.7rem;
3880
+ }
3881
+ }
3882
+
3883
+ /* Responsive Design */
3884
+ @media (max-width: 768px) {
3885
+ .stats-grid {
3886
+ grid-template-columns: repeat(2, 1fr);
3887
+ gap: 0.75rem;
3888
+ }
3889
+
3890
+ .stat-card {
3891
+ padding: 1rem;
3892
+ gap: 0.75rem;
3893
+ }
3894
+
3895
+ .stat-icon {
3896
+ font-size: 1.5rem;
3897
+ }
3898
+
3899
+ .stat-number {
3900
+ font-size: 1.4rem;
3901
+ }
3902
+
3903
+ .stats-title {
3904
+ font-size: 1.25rem;
3905
+ }
3906
+ }
3907
+
3908
+ @media (max-width: 480px) {
3909
+ .stats-grid {
3910
+ grid-template-columns: 1fr;
3911
+ }
3912
+
3913
+ .popular-component .stat-number {
3914
+ font-size: 1rem;
3915
+ }
3916
+ }
3917
+
3918
+ /* Pagination Styles */
3919
+ .pagination-container {
3920
+ display: flex;
3921
+ flex-direction: column;
3922
+ align-items: center;
3923
+ gap: 1rem;
3924
+ margin: 2rem 0;
3925
+ padding: 1.5rem;
3926
+ }
3927
+
3928
+ .pagination {
3929
+ display: flex;
3930
+ align-items: center;
3931
+ gap: 0.5rem;
3932
+ background: var(--bg-secondary);
3933
+ padding: 0.75rem 1rem;
3934
+ border-radius: 12px;
3935
+ border: 1px solid var(--border-color);
3936
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
3937
+ }
3938
+
3939
+ .pagination-btn {
3940
+ display: flex;
3941
+ align-items: center;
3942
+ justify-content: center;
3943
+ min-width: 40px;
3944
+ height: 40px;
3945
+ padding: 0.5rem;
3946
+ background: transparent;
3947
+ border: 1px solid var(--border-color);
3948
+ border-radius: 8px;
3949
+ color: var(--text-primary);
3950
+ font-size: 14px;
3951
+ font-weight: 500;
3952
+ cursor: pointer;
3953
+ transition: all 0.2s ease;
3954
+ user-select: none;
3955
+ }
3956
+
3957
+ .pagination-btn:hover:not(:disabled) {
3958
+ background: var(--accent-color);
3959
+ color: white;
3960
+ border-color: var(--accent-color);
3961
+ transform: translateY(-1px);
3962
+ }
3963
+
3964
+ .pagination-btn.active {
3965
+ background: var(--accent-color);
3966
+ color: white;
3967
+ border-color: var(--accent-color);
3968
+ box-shadow: 0 2px 4px rgba(245, 158, 11, 0.3);
3969
+ }
3970
+
3971
+ .pagination-btn:disabled {
3972
+ opacity: 0.4;
3973
+ cursor: not-allowed;
3974
+ color: var(--text-secondary);
3975
+ }
3976
+
3977
+ .pagination-btn.prev-btn,
3978
+ .pagination-btn.next-btn {
3979
+ min-width: 36px;
3980
+ background: var(--bg-tertiary);
3981
+ }
3982
+
3983
+ .pagination-btn.prev-btn:hover:not(:disabled),
3984
+ .pagination-btn.next-btn:hover:not(:disabled) {
3985
+ background: var(--accent-color);
3986
+ color: white;
3987
+ }
3988
+
3989
+ .pagination-dots {
3990
+ color: var(--text-secondary);
3991
+ font-weight: bold;
3992
+ padding: 0 0.5rem;
3993
+ user-select: none;
3994
+ }
3995
+
3996
+ .pagination-info {
3997
+ color: var(--text-secondary);
3998
+ font-size: 14px;
3999
+ text-align: center;
4000
+ background: var(--bg-secondary);
4001
+ padding: 0.5rem 1rem;
4002
+ border-radius: 8px;
4003
+ border: 1px solid var(--border-color);
4004
+ }
4005
+
4006
+ /* Responsive pagination */
4007
+ @media (max-width: 768px) {
4008
+ .pagination {
4009
+ flex-wrap: wrap;
4010
+ justify-content: center;
4011
+ gap: 0.25rem;
4012
+ padding: 0.5rem;
4013
+ }
4014
+
4015
+ .pagination-btn {
4016
+ min-width: 36px;
4017
+ height: 36px;
4018
+ font-size: 13px;
4019
+ }
4020
+
4021
+ .pagination-container {
4022
+ margin: 1rem 0;
4023
+ padding: 1rem;
4024
+ }
4025
+ }
4026
+
4027
+ @media (max-width: 480px) {
4028
+ .pagination {
4029
+ gap: 0.25rem;
4030
+ }
4031
+
4032
+ .pagination-btn {
4033
+ min-width: 32px;
4034
+ height: 32px;
4035
+ font-size: 12px;
4036
+ }
4037
+
4038
+ .pagination-info {
4039
+ font-size: 13px;
4040
+ padding: 0.4rem 0.8rem;
4041
+ }
4042
+ }
4043
+
4044
+ /* ====== SHOPPING CART STYLES ====== */
4045
+
4046
+ /* Cart Sidebar */
4047
+ .cart-sidebar {
4048
+ position: fixed;
4049
+ top: 0;
4050
+ right: -500px;
4051
+ width: 500px;
4052
+ height: 100vh;
4053
+ background: var(--bg-secondary);
4054
+ border-left: 1px solid var(--border-primary);
4055
+ z-index: 1000;
4056
+ transition: right 0.3s ease-out;
4057
+ box-shadow: -10px 0 30px rgba(0, 0, 0, 0.3);
4058
+ pointer-events: none;
4059
+ }
4060
+
4061
+ .cart-sidebar.active {
4062
+ right: 0;
4063
+ pointer-events: all;
4064
+ }
4065
+
4066
+ /* Overlay for sidebar - DISABLED to allow background visibility */
4067
+ .cart-sidebar::before {
4068
+ display: none !important;
4069
+ }
4070
+
4071
+ .cart-sidebar.active::before {
4072
+ display: none !important;
4073
+ }
4074
+
4075
+ .cart-content {
4076
+ background: var(--bg-secondary);
4077
+ width: 100%;
4078
+ height: 100%;
4079
+ display: flex;
4080
+ flex-direction: column;
4081
+ }
4082
+
4083
+ /* Cart Header */
4084
+ .cart-header {
4085
+ padding: 1.5rem;
4086
+ border-bottom: 1px solid var(--border-primary);
4087
+ background: var(--bg-tertiary);
4088
+ flex-shrink: 0;
4089
+ }
4090
+
4091
+ .cart-header h3 {
4092
+ display: flex;
4093
+ align-items: center;
4094
+ gap: 0.75rem;
4095
+ color: var(--text-primary);
4096
+ font-size: 1.25rem;
4097
+ font-weight: 600;
4098
+ margin: 0;
4099
+ }
4100
+
4101
+ .cart-close {
4102
+ background: none;
4103
+ border: none;
4104
+ color: var(--text-secondary);
4105
+ cursor: pointer;
4106
+ padding: 0.5rem;
4107
+ border-radius: 6px;
4108
+ transition: all 0.2s ease;
4109
+ }
4110
+
4111
+ .cart-close:hover {
4112
+ background: var(--bg-primary);
4113
+ color: var(--text-primary);
4114
+ }
4115
+
4116
+ /* Cart Body */
4117
+ .cart-body {
4118
+ flex: 1;
4119
+ overflow-y: auto;
4120
+ padding: 1.5rem;
4121
+ min-height: 200px;
4122
+ }
4123
+
4124
+ .cart-empty {
4125
+ text-align: center;
4126
+ padding: 2rem 1rem;
4127
+ color: var(--text-secondary);
4128
+ }
4129
+
4130
+ .empty-cart-icon {
4131
+ font-size: 3rem;
4132
+ margin-bottom: 1rem;
4133
+ opacity: 0.6;
4134
+ }
4135
+
4136
+ .cart-empty p {
4137
+ font-size: 1.1rem;
4138
+ margin-bottom: 0.5rem;
4139
+ color: var(--text-primary);
4140
+ }
4141
+
4142
+ .cart-empty small {
4143
+ font-size: 0.9rem;
4144
+ opacity: 0.8;
4145
+ }
4146
+
4147
+ /* Cart Sections */
4148
+ .cart-section {
4149
+ margin-bottom: 1.5rem;
4150
+ }
4151
+
4152
+ .cart-section h4 {
4153
+ display: flex;
4154
+ align-items: center;
4155
+ gap: 0.5rem;
4156
+ color: var(--text-primary);
4157
+ font-size: 1rem;
4158
+ font-weight: 600;
4159
+ margin-bottom: 0.75rem;
4160
+ padding-bottom: 0.5rem;
4161
+ border-bottom: 1px solid var(--border-primary);
4162
+ }
4163
+
4164
+ .section-icon {
4165
+ font-size: 1.1rem;
4166
+ }
4167
+
4168
+ .cart-section-items {
4169
+ display: flex;
4170
+ flex-direction: column;
4171
+ gap: 0.5rem;
4172
+ }
4173
+
4174
+ /* Cart Item */
4175
+ .cart-item {
4176
+ display: flex;
4177
+ align-items: center;
4178
+ gap: 0.5rem;
4179
+ padding: 0.5rem;
4180
+ background: var(--bg-tertiary);
4181
+ border: 1px solid var(--border-primary);
4182
+ border-radius: 6px;
4183
+ transition: all 0.2s ease;
4184
+ }
4185
+
4186
+ .cart-item:hover {
4187
+ border-color: var(--accent-color);
4188
+ background: var(--bg-primary);
4189
+ }
4190
+
4191
+ .cart-item-icon {
4192
+ font-size: 1rem;
4193
+ flex-shrink: 0;
4194
+ }
4195
+
4196
+ .cart-item-info {
4197
+ flex: 1;
4198
+ min-width: 0;
4199
+ }
4200
+
4201
+ .cart-item-name {
4202
+ color: var(--text-primary);
4203
+ font-weight: 500;
4204
+ font-size: 0.8rem;
4205
+ margin-bottom: 0.1rem;
4206
+ white-space: nowrap;
4207
+ overflow: hidden;
4208
+ text-overflow: ellipsis;
4209
+ }
4210
+
4211
+ .cart-item-path {
4212
+ color: var(--text-secondary);
4213
+ font-size: 0.7rem;
4214
+ font-family: 'Monaco', 'Menlo', monospace;
4215
+ white-space: nowrap;
4216
+ overflow: hidden;
4217
+ text-overflow: ellipsis;
4218
+ }
4219
+
4220
+ .cart-item-remove {
4221
+ background: none;
4222
+ border: none;
4223
+ color: var(--text-secondary);
4224
+ cursor: pointer;
4225
+ padding: 0.2rem;
4226
+ border-radius: 3px;
4227
+ transition: all 0.2s ease;
4228
+ flex-shrink: 0;
4229
+ }
4230
+
4231
+ .cart-item-remove:hover {
4232
+ background: var(--text-error);
4233
+ color: white;
4234
+ }
4235
+
4236
+ /* Cart Footer */
4237
+ .cart-footer {
4238
+ border-top: 1px solid var(--border-primary);
4239
+ padding: 1.5rem;
4240
+ background: var(--bg-tertiary);
4241
+ flex-shrink: 0;
4242
+ }
4243
+
4244
+ .command-preview {
4245
+ margin-bottom: 1rem;
4246
+ }
4247
+
4248
+ .command-preview-header {
4249
+ display: flex;
4250
+ align-items: center;
4251
+ justify-content: space-between;
4252
+ margin-bottom: 0.5rem;
4253
+ }
4254
+
4255
+ .command-preview-header span {
4256
+ color: var(--text-secondary);
4257
+ font-size: 0.9rem;
4258
+ font-weight: 500;
4259
+ }
4260
+
4261
+ .copy-command-btn {
4262
+ background: var(--accent-color);
4263
+ color: white;
4264
+ border: none;
4265
+ padding: 0.25rem 0.5rem;
4266
+ border-radius: 4px;
4267
+ cursor: pointer;
4268
+ font-size: 0.8rem;
4269
+ transition: all 0.2s ease;
4270
+ display: flex;
4271
+ align-items: center;
4272
+ gap: 0.25rem;
4273
+ }
4274
+
4275
+ .copy-command-btn:hover {
4276
+ background: #b8660a;
4277
+ transform: translateY(-1px);
4278
+ }
4279
+
4280
+ .command-code {
4281
+ background: var(--bg-primary);
4282
+ border: 1px solid var(--border-primary);
4283
+ border-radius: 6px;
4284
+ padding: 0.75rem;
4285
+ font-family: 'Monaco', 'Menlo', monospace;
4286
+ font-size: 0.85rem;
4287
+ color: var(--text-primary);
4288
+ word-break: break-all;
4289
+ white-space: pre-wrap;
4290
+ }
4291
+
4292
+ .cart-actions {
4293
+ display: flex;
4294
+ gap: 0.75rem;
4295
+ align-items: center;
4296
+ justify-content: space-between;
4297
+ }
4298
+
4299
+ /* Cart Command Container with Overlay */
4300
+ .cart-command-container {
4301
+ position: relative;
4302
+ margin-top: 0.5rem;
4303
+ }
4304
+
4305
+ .cart-copy-overlay-btn {
4306
+ position: absolute;
4307
+ top: 50%;
4308
+ left: 50%;
4309
+ transform: translate(-50%, -50%);
4310
+ background: rgba(0, 0, 0, 0.8);
4311
+ color: white;
4312
+ border: none;
4313
+ padding: 0.5rem 1rem;
4314
+ border-radius: 6px;
4315
+ cursor: pointer;
4316
+ font-size: 0.8rem;
4317
+ display: flex;
4318
+ align-items: center;
4319
+ gap: 0.5rem;
4320
+ opacity: 0;
4321
+ visibility: hidden;
4322
+ transition: all 0.3s ease;
4323
+ z-index: 10;
4324
+ }
4325
+
4326
+ .cart-command-container:hover .cart-copy-overlay-btn {
4327
+ opacity: 1;
4328
+ visibility: visible;
4329
+ }
4330
+
4331
+ .copy-command-btn {
4332
+ background: var(--accent-color);
4333
+ color: white;
4334
+ border: none;
4335
+ padding: 0.5rem 1rem;
4336
+ border-radius: 6px;
4337
+ cursor: pointer;
4338
+ font-size: 0.9rem;
4339
+ font-weight: 500;
4340
+ transition: all 0.2s ease;
4341
+ display: flex;
4342
+ align-items: center;
4343
+ gap: 0.5rem;
4344
+ flex: 1;
4345
+ }
4346
+
4347
+ .copy-command-btn:hover {
4348
+ background: #b8660a;
4349
+ transform: translateY(-1px);
4350
+ }
4351
+
4352
+ .clear-cart-btn {
4353
+ background: transparent;
4354
+ color: var(--text-secondary);
4355
+ border: 1px solid var(--border-primary);
4356
+ padding: 0.5rem 1rem;
4357
+ border-radius: 6px;
4358
+ cursor: pointer;
4359
+ font-size: 0.9rem;
4360
+ transition: all 0.2s ease;
4361
+ display: flex;
4362
+ align-items: center;
4363
+ gap: 0.5rem;
4364
+ flex: 1;
4365
+ }
4366
+
4367
+ .clear-cart-btn:hover {
4368
+ border-color: var(--text-error);
4369
+ color: var(--text-error);
4370
+ }
4371
+
4372
+ /* Floating Cart Button */
4373
+ .cart-floating-btn {
4374
+ position: fixed;
4375
+ bottom: 2rem;
4376
+ right: 2rem;
4377
+ background: var(--accent-color);
4378
+ color: white;
4379
+ border: none;
4380
+ width: 56px;
4381
+ height: 56px;
4382
+ border-radius: 50%;
4383
+ cursor: pointer;
4384
+ box-shadow: 0 4px 12px rgba(217, 119, 6, 0.3);
4385
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4386
+ display: flex;
4387
+ align-items: center;
4388
+ justify-content: center;
4389
+ z-index: 1000;
4390
+ transform: translateX(0);
4391
+ opacity: 1;
4392
+ pointer-events: auto;
4393
+ }
4394
+
4395
+ .cart-floating-btn:hover {
4396
+ background: #b8660a;
4397
+ transform: translateY(-2px);
4398
+ box-shadow: 0 6px 20px rgba(217, 119, 6, 0.4);
4399
+ }
4400
+
4401
+ .cart-badge {
4402
+ position: absolute;
4403
+ top: -5px;
4404
+ right: -5px;
4405
+ background: var(--text-error);
4406
+ color: white;
4407
+ border-radius: 50%;
4408
+ width: 20px;
4409
+ height: 20px;
4410
+ display: flex;
4411
+ align-items: center;
4412
+ justify-content: center;
4413
+ font-size: 0.75rem;
4414
+ font-weight: 600;
4415
+ border: 2px solid var(--bg-primary);
4416
+ }
4417
+
4418
+ /* Card Actions Layout */
4419
+ .card-actions {
4420
+ display: flex;
4421
+ gap: 0.3rem;
4422
+ flex-shrink: 0;
4423
+ margin-top: 0.5rem;
4424
+ }
4425
+
4426
+ .card-actions button {
4427
+ flex: 1;
4428
+ min-height: 22px;
4429
+ font-size: 0.65rem;
4430
+ padding: 0.25rem 0.4rem;
4431
+ border-radius: 3px;
4432
+ transition: all 0.2s ease;
4433
+ font-weight: 500;
4434
+ display: flex;
4435
+ align-items: center;
4436
+ justify-content: center;
4437
+ gap: 0.25rem;
4438
+ }
4439
+
4440
+ .view-files-btn {
4441
+ background: var(--bg-tertiary);
4442
+ color: var(--text-primary);
4443
+ border: 1px solid var(--border-primary);
4444
+ }
4445
+
4446
+ .view-files-btn:hover {
4447
+ background: var(--bg-primary);
4448
+ border-color: var(--accent-color);
4449
+ transform: translateY(-1px);
4450
+ box-shadow: 0 2px 6px rgba(0,0,0,0.15);
4451
+ }
4452
+
4453
+ /* Add to Cart Button in Cards */
4454
+ .add-to-cart-btn {
4455
+ background: var(--accent-color);
4456
+ color: white;
4457
+ border: none;
4458
+ padding: 0.75rem 1rem;
4459
+ border-radius: 8px;
4460
+ cursor: pointer;
4461
+ font-size: 0.9rem;
4462
+ font-weight: 600;
4463
+ transition: all 0.2s ease;
4464
+ display: flex;
4465
+ align-items: center;
4466
+ gap: 0.5rem;
4467
+ justify-content: center;
4468
+ width: 100%;
4469
+ position: relative;
4470
+ overflow: hidden;
4471
+ }
4472
+
4473
+ /* Add to Cart Button in Modal - Smaller balanced size */
4474
+ .modal-actions .add-to-cart-btn {
4475
+ width: auto;
4476
+ padding: 0.6rem 1.2rem;
4477
+ font-size: 0.85rem;
4478
+ border-radius: 6px;
4479
+ min-width: 140px;
4480
+ }
4481
+
4482
+ .add-to-cart-btn::before {
4483
+ content: '';
4484
+ position: absolute;
4485
+ top: 0;
4486
+ left: -100%;
4487
+ width: 100%;
4488
+ height: 100%;
4489
+ background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
4490
+ transition: left 0.5s ease;
4491
+ }
4492
+
4493
+ .add-to-cart-btn:hover::before {
4494
+ left: 100%;
4495
+ }
4496
+
4497
+ .add-to-cart-btn:hover {
4498
+ background: #b8660a;
4499
+ transform: translateY(-1px);
4500
+ box-shadow: 0 2px 8px rgba(217, 119, 6, 0.25);
4501
+ }
4502
+
4503
+ .add-to-cart-btn.added {
4504
+ background: var(--text-success);
4505
+ pointer-events: none;
4506
+ transform: none;
4507
+ }
4508
+
4509
+ .add-to-cart-btn.added:hover {
4510
+ transform: none;
4511
+ box-shadow: none;
4512
+ }
4513
+
4514
+ .add-to-cart-btn.added::before {
4515
+ display: none;
4516
+ }
4517
+
4518
+ /* Animations */
4519
+ @keyframes fadeInCart {
4520
+ from { opacity: 0; }
4521
+ to { opacity: 1; }
4522
+ }
4523
+
4524
+ @keyframes slideInCart {
4525
+ from {
4526
+ opacity: 0;
4527
+ transform: scale(0.9) translateY(-20px);
4528
+ }
4529
+ to {
4530
+ opacity: 1;
4531
+ transform: scale(1) translateY(0);
4532
+ }
4533
+ }
4534
+
4535
+ /* Responsive Cart */
4536
+ @media (max-width: 768px) {
4537
+ .cart-sidebar {
4538
+ width: 100vw;
4539
+ right: -100vw;
4540
+ }
4541
+
4542
+ .cart-sidebar::before {
4543
+ display: none !important;
4544
+ }
4545
+
4546
+ .cart-header {
4547
+ padding: 1rem;
4548
+ }
4549
+
4550
+ .cart-body {
4551
+ padding: 1rem;
4552
+ }
4553
+
4554
+ .cart-footer {
4555
+ padding: 1rem;
4556
+ }
4557
+
4558
+ .cart-floating-btn {
4559
+ bottom: 1rem;
4560
+ right: 1rem;
4561
+ width: 48px;
4562
+ height: 48px;
4563
+ }
4564
+
4565
+ .command-code {
4566
+ font-size: 0.8rem;
4567
+ padding: 0.5rem;
4568
+ }
4569
+
4570
+ .cart-actions {
4571
+ flex-direction: column;
4572
+ }
4573
+
4574
+ .download-stack-btn {
4575
+ width: 100%;
4576
+ }
4577
+ }
4578
+
4579
+ /* Cart Notifications */
4580
+ .cart-notification {
4581
+ position: fixed;
4582
+ top: 2rem;
4583
+ right: 2rem;
4584
+ background: var(--bg-secondary);
4585
+ border: 1px solid var(--border-primary);
4586
+ border-radius: 8px;
4587
+ padding: 1rem;
4588
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
4589
+ z-index: 1100;
4590
+ opacity: 0;
4591
+ transform: translateX(100%);
4592
+ transition: all 0.3s ease;
4593
+ max-width: 320px;
4594
+ }
4595
+
4596
+ .cart-notification.show {
4597
+ opacity: 1;
4598
+ transform: translateX(0);
4599
+ }
4600
+
4601
+ .notification-content {
4602
+ display: flex;
4603
+ align-items: center;
4604
+ gap: 0.75rem;
4605
+ }
4606
+
4607
+ .notification-icon {
4608
+ font-size: 1.2rem;
4609
+ flex-shrink: 0;
4610
+ }
4611
+
4612
+ .notification-message {
4613
+ color: var(--text-primary);
4614
+ font-size: 0.9rem;
4615
+ font-weight: 500;
4616
+ }
4617
+
4618
+ .cart-notification-success {
4619
+ border-color: var(--text-success);
4620
+ background: var(--bg-secondary);
4621
+ }
4622
+
4623
+ .cart-notification-warning {
4624
+ border-color: var(--text-warning);
4625
+ background: var(--bg-secondary);
4626
+ }
4627
+
4628
+ .cart-notification-error {
4629
+ border-color: var(--text-error);
4630
+ background: var(--bg-secondary);
4631
+ }
4632
+
4633
+ .cart-notification-info {
4634
+ border-color: var(--text-info);
4635
+ background: var(--bg-secondary);
4636
+ }
4637
+
4638
+ /* No items text */
4639
+ .no-items {
4640
+ color: var(--text-secondary);
4641
+ font-size: 0.85rem;
4642
+ text-align: center;
4643
+ padding: 1rem;
4644
+ font-style: italic;
4645
+ }
4646
+
4647
+ /* Mobile notifications */
4648
+ @media (max-width: 768px) {
4649
+ .cart-notification {
4650
+ top: 1rem;
4651
+ right: 1rem;
4652
+ left: 1rem;
4653
+ max-width: none;
4654
+ }
4655
+ }
4656
+
4657
+ /* Loading States */
4658
+ .loading-indicator {
4659
+ display: flex;
4660
+ flex-direction: column;
4661
+ align-items: center;
4662
+ justify-content: center;
4663
+ padding: 3rem 2rem;
4664
+ min-height: 300px;
4665
+ text-align: center;
4666
+ }
4667
+
4668
+ .loading-spinner {
4669
+ width: 50px;
4670
+ height: 50px;
4671
+ border: 3px solid var(--border-primary);
4672
+ border-top: 3px solid var(--text-accent);
4673
+ border-radius: 50%;
4674
+ animation: spin 1s linear infinite;
4675
+ margin-bottom: 1.5rem;
4676
+ }
4677
+
4678
+ .loading-text h3 {
4679
+ color: var(--text-primary);
4680
+ font-size: 1.2rem;
4681
+ margin-bottom: 0.5rem;
4682
+ font-weight: 600;
4683
+ }
4684
+
4685
+ .loading-text p {
4686
+ color: var(--text-secondary);
4687
+ font-size: 0.9rem;
4688
+ margin-bottom: 1.5rem;
4689
+ max-width: 400px;
4690
+ }
4691
+
4692
+ .loading-progress {
4693
+ width: 200px;
4694
+ height: 4px;
4695
+ background: var(--bg-tertiary);
4696
+ border-radius: 2px;
4697
+ overflow: hidden;
4698
+ position: relative;
4699
+ }
4700
+
4701
+ .progress-bar {
4702
+ height: 100%;
4703
+ background: linear-gradient(90deg, var(--text-accent), var(--text-warning));
4704
+ border-radius: 2px;
4705
+ animation: loading-progress 2s ease-in-out infinite;
4706
+ width: 30%;
4707
+ }
4708
+
4709
+ .error-toast {
4710
+ position: fixed;
4711
+ top: 20px;
4712
+ right: 20px;
4713
+ background: var(--text-error);
4714
+ color: white;
4715
+ padding: 12px 16px;
4716
+ border-radius: 6px;
4717
+ z-index: 1000;
4718
+ font-size: 14px;
4719
+ max-width: 300px;
4720
+ box-shadow: 0 4px 12px rgba(248, 81, 73, 0.3);
4721
+ border-left: 4px solid rgba(255, 255, 255, 0.3);
4722
+ }
4723
+
4724
+ /* Loading animations */
4725
+ @keyframes spin {
4726
+ 0% { transform: rotate(0deg); }
4727
+ 100% { transform: rotate(360deg); }
4728
+ }
4729
+
4730
+ @keyframes loading-progress {
4731
+ 0% {
4732
+ transform: translateX(-100%);
4733
+ width: 30%;
4734
+ }
4735
+ 50% {
4736
+ width: 70%;
4737
+ }
4738
+ 100% {
4739
+ transform: translateX(300%);
4740
+ width: 30%;
4741
+ }
4742
+ }
4743
+
4744
+ /* Loading shimmer for cards */
4745
+ .loading-shimmer {
4746
+ background: linear-gradient(
4747
+ 90deg,
4748
+ transparent,
4749
+ rgba(255, 255, 255, 0.1),
4750
+ transparent
4751
+ );
4752
+ animation: shimmer 2s infinite;
4753
+ }
4754
+
4755
+ @keyframes shimmer {
4756
+ 0% { transform: translateX(-100%); }
4757
+ 100% { transform: translateX(100%); }
4758
+ }
4759
+
4760
+ /* Marketplace Setup Notice */
4761
+ .plugin-marketplace-notice {
4762
+ grid-column: 1 / -1;
4763
+ background: var(--bg-tertiary);
4764
+ border: 2px solid var(--accent-color);
4765
+ border-radius: 8px;
4766
+ padding: 1.5rem;
4767
+ margin-bottom: 2rem;
4768
+ display: flex;
4769
+ gap: 1rem;
4770
+ align-items: flex-start;
4771
+ box-shadow: 0 4px 6px var(--shadow-primary);
4772
+ }
4773
+
4774
+ .plugin-marketplace-notice .notice-icon {
4775
+ font-size: 2rem;
4776
+ line-height: 1;
4777
+ flex-shrink: 0;
4778
+ }
4779
+
4780
+ .plugin-marketplace-notice .notice-content {
4781
+ flex: 1;
4782
+ }
4783
+
4784
+ .plugin-marketplace-notice h4 {
4785
+ color: var(--accent-color);
4786
+ font-size: 1.1rem;
4787
+ margin-bottom: 0.5rem;
4788
+ font-weight: 600;
4789
+ }
4790
+
4791
+ .plugin-marketplace-notice p {
4792
+ color: var(--text-primary);
4793
+ margin-bottom: 0.75rem;
4794
+ line-height: 1.6;
4795
+ }
4796
+
4797
+ .plugin-marketplace-notice .notice-command {
4798
+ background: var(--bg-primary);
4799
+ border: 1px solid var(--border-primary);
4800
+ border-radius: 4px;
4801
+ padding: 0.75rem 1rem;
4802
+ display: flex;
4803
+ align-items: center;
4804
+ justify-content: space-between;
4805
+ gap: 1rem;
4806
+ margin: 0.75rem 0;
4807
+ transition: border-color 0.2s;
4808
+ }
4809
+
4810
+ .plugin-marketplace-notice .notice-command:hover {
4811
+ border-color: var(--accent-color);
4812
+ }
4813
+
4814
+ .plugin-marketplace-notice .notice-command code {
4815
+ color: var(--text-accent);
4816
+ font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
4817
+ font-size: 0.9rem;
4818
+ flex: 1;
4819
+ }
4820
+
4821
+ .plugin-marketplace-notice .notice-copy-btn {
4822
+ background: var(--accent-color);
4823
+ color: var(--bg-primary);
4824
+ border: none;
4825
+ border-radius: 4px;
4826
+ padding: 0.5rem 0.75rem;
4827
+ cursor: pointer;
4828
+ display: flex;
4829
+ align-items: center;
4830
+ gap: 0.25rem;
4831
+ font-size: 0.85rem;
4832
+ font-weight: 500;
4833
+ transition: all 0.2s;
4834
+ flex-shrink: 0;
4835
+ }
4836
+
4837
+ .plugin-marketplace-notice .notice-copy-btn:hover {
4838
+ background: #f59e0b;
4839
+ transform: translateY(-1px);
4840
+ box-shadow: 0 2px 4px var(--shadow-primary);
4841
+ }
4842
+
4843
+ .plugin-marketplace-notice .notice-copy-btn:active {
4844
+ transform: translateY(0);
4845
+ }
4846
+
4847
+ .plugin-marketplace-notice .notice-footer {
4848
+ font-size: 0.85rem;
4849
+ color: var(--text-secondary);
4850
+ margin-bottom: 0;
4851
+ margin-top: 0.5rem;
4852
+ }
4853
+
4854
+ /* Responsive styling for marketplace notice */
4855
+ @media (max-width: 768px) {
4856
+ .plugin-marketplace-notice {
4857
+ flex-direction: column;
4858
+ padding: 1rem;
4859
+ gap: 0.75rem;
4860
+ }
4861
+
4862
+ .plugin-marketplace-notice .notice-icon {
4863
+ font-size: 1.5rem;
4864
+ }
4865
+
4866
+ .plugin-marketplace-notice h4 {
4867
+ font-size: 1rem;
4868
+ }
4869
+
4870
+ .plugin-marketplace-notice .notice-command {
4871
+ flex-direction: column;
4872
+ align-items: stretch;
4873
+ gap: 0.5rem;
4874
+ }
4875
+
4876
+ .plugin-marketplace-notice .notice-command code {
4877
+ font-size: 0.8rem;
4878
+ word-break: break-all;
4879
+ }
4880
+
4881
+ .plugin-marketplace-notice .notice-copy-btn {
4882
+ width: 100%;
4883
+ justify-content: center;
4884
+ }
4885
+ }
4886
+
4887
+ /* Announcement Banner */
4888
+ .announcement-banner {
4889
+ background: linear-gradient(135deg, var(--accent-color) 0%, #f59e0b 100%);
4890
+ padding: 1rem 0;
4891
+ margin-bottom: 2rem;
4892
+ border-bottom: 2px solid rgba(255, 255, 255, 0.2);
4893
+ animation: slideDown 0.5s ease-out;
4894
+ }
4895
+
4896
+ @keyframes slideDown {
4897
+ from {
4898
+ opacity: 0;
4899
+ transform: translateY(-20px);
4900
+ }
4901
+ to {
4902
+ opacity: 1;
4903
+ transform: translateY(0);
4904
+ }
4905
+ }
4906
+
4907
+ .banner-content {
4908
+ display: flex;
4909
+ align-items: center;
4910
+ gap: 1.5rem;
4911
+ padding: 0.75rem 1rem;
4912
+ }
4913
+
4914
+ .banner-icon {
4915
+ font-size: 2.5rem;
4916
+ line-height: 1;
4917
+ flex-shrink: 0;
4918
+ animation: bounce 2s infinite;
4919
+ }
4920
+
4921
+ @keyframes bounce {
4922
+ 0%, 100% {
4923
+ transform: translateY(0);
4924
+ }
4925
+ 50% {
4926
+ transform: translateY(-5px);
4927
+ }
4928
+ }
4929
+
4930
+ .banner-text {
4931
+ flex: 1;
4932
+ }
4933
+
4934
+ .banner-text h3 {
4935
+ color: var(--bg-primary);
4936
+ font-size: 1.2rem;
4937
+ font-weight: 700;
4938
+ margin: 0 0 0.25rem 0;
4939
+ line-height: 1.3;
4940
+ }
4941
+
4942
+ .banner-text p {
4943
+ color: rgba(13, 17, 23, 0.9);
4944
+ margin: 0;
4945
+ font-size: 0.95rem;
4946
+ line-height: 1.5;
4947
+ }
4948
+
4949
+ .banner-text p strong {
4950
+ font-weight: 700;
4951
+ color: var(--bg-primary);
4952
+ }
4953
+
4954
+ .banner-cta {
4955
+ background: var(--bg-primary);
4956
+ color: var(--accent-color);
4957
+ padding: 0.75rem 1.5rem;
4958
+ border-radius: 6px;
4959
+ text-decoration: none;
4960
+ font-weight: 600;
4961
+ font-size: 0.95rem;
4962
+ display: flex;
4963
+ align-items: center;
4964
+ gap: 0.5rem;
4965
+ transition: all 0.2s;
4966
+ white-space: nowrap;
4967
+ flex-shrink: 0;
4968
+ border: 2px solid transparent;
4969
+ }
4970
+
4971
+ .banner-cta:hover {
4972
+ background: rgba(13, 17, 23, 0.9);
4973
+ transform: translateX(5px);
4974
+ border-color: rgba(255, 255, 255, 0.3);
4975
+ }
4976
+
4977
+ .banner-cta svg {
4978
+ transition: transform 0.2s;
4979
+ }
4980
+
4981
+ .banner-cta:hover svg {
4982
+ transform: translateX(3px);
4983
+ }
4984
+
4985
+ /* Responsive styling for announcement banner */
4986
+ @media (max-width: 768px) {
4987
+ .announcement-banner {
4988
+ padding: 0.75rem 0;
4989
+ margin-bottom: 1rem;
4990
+ }
4991
+
4992
+ .banner-content {
4993
+ flex-direction: column;
4994
+ gap: 1rem;
4995
+ text-align: center;
4996
+ padding: 1rem;
4997
+ }
4998
+
4999
+ .banner-icon {
5000
+ font-size: 2rem;
5001
+ }
5002
+
5003
+ .banner-text h3 {
5004
+ font-size: 1.1rem;
5005
+ }
5006
+
5007
+ .banner-text p {
5008
+ font-size: 0.9rem;
5009
+ }
5010
+
5011
+ .banner-cta {
5012
+ width: 100%;
5013
+ justify-content: center;
5014
+ padding: 0.875rem 1.5rem;
5015
+ }
5016
+ }
5017
+
5018
+ /* Optimize performance for mobile loading */
5019
+ @media (max-width: 768px) {
5020
+ .loading-indicator {
5021
+ padding: 2rem 1rem;
5022
+ min-height: 250px;
5023
+ }
5024
+
5025
+ .loading-spinner {
5026
+ width: 40px;
5027
+ height: 40px;
5028
+ border-width: 2px;
5029
+ }
5030
+
5031
+ .loading-progress {
5032
+ width: 150px;
5033
+ height: 3px;
5034
+ }
5035
+
5036
+ .error-toast {
5037
+ top: 10px;
5038
+ right: 10px;
5039
+ left: 10px;
5040
+ max-width: none;
5041
+ font-size: 13px;
5042
+ }
5043
+ }