cokit-cli 1.0.3 → 1.0.5

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 (527) hide show
  1. package/package.json +1 -1
  2. package/src/index.js +14 -2
  3. package/src/utils/update-checker.js +126 -0
  4. package/templates/repo/.github/instructions/ck-backend.instructions.md +28 -15
  5. package/templates/repo/.github/instructions/ck-development.instructions.md +15 -0
  6. package/templates/repo/.github/instructions/ck-frontend-design-pro.instructions.md +58 -0
  7. package/templates/repo/.github/instructions/ck-frontend.instructions.md +20 -7
  8. package/templates/repo/.github/instructions/ck-google-adk-python.instructions.md +242 -0
  9. package/templates/repo/.github/instructions/ck-research.instructions.md +167 -0
  10. package/templates/repo/.github/instructions/ck-testing.instructions.md +18 -13
  11. package/templates/repo/.github/prompts/ck-ask.prompt.md +57 -0
  12. package/templates/repo/.github/prompts/ck-bootstrap-auto-fast.prompt.md +108 -0
  13. package/templates/repo/.github/prompts/ck-bootstrap-auto-parallel.prompt.md +66 -0
  14. package/templates/repo/.github/prompts/ck-bootstrap-auto.prompt.md +114 -0
  15. package/templates/repo/.github/prompts/ck-bootstrap.prompt.md +136 -0
  16. package/templates/repo/.github/prompts/ck-brainstorm.prompt.md +68 -0
  17. package/templates/repo/.github/prompts/ck-ck-help.prompt.md +114 -0
  18. package/templates/repo/.github/prompts/ck-code-auto.prompt.md +171 -0
  19. package/templates/repo/.github/prompts/ck-code-no-test.prompt.md +159 -0
  20. package/templates/repo/.github/prompts/ck-code-parallel.prompt.md +56 -0
  21. package/templates/repo/.github/prompts/ck-code.prompt.md +167 -18
  22. package/templates/repo/.github/prompts/ck-coding-level.prompt.md +54 -0
  23. package/templates/repo/.github/prompts/ck-cook-auto-fast.prompt.md +26 -0
  24. package/templates/repo/.github/prompts/ck-cook-auto-parallel.prompt.md +49 -0
  25. package/templates/repo/.github/prompts/ck-cook-auto.prompt.md +15 -0
  26. package/templates/repo/.github/prompts/ck-cook.prompt.md +96 -0
  27. package/templates/repo/.github/prompts/ck-debug.prompt.md +14 -0
  28. package/templates/repo/.github/prompts/ck-design-3d.prompt.md +84 -0
  29. package/templates/repo/.github/prompts/ck-design-describe.prompt.md +24 -0
  30. package/templates/repo/.github/prompts/ck-design-fast.prompt.md +32 -0
  31. package/templates/repo/.github/prompts/ck-design-good.prompt.md +36 -0
  32. package/templates/repo/.github/prompts/ck-design-screenshot.prompt.md +35 -0
  33. package/templates/repo/.github/prompts/ck-design-video.prompt.md +35 -0
  34. package/templates/repo/.github/prompts/ck-docs-init.prompt.md +27 -0
  35. package/templates/repo/.github/prompts/ck-docs-summarize.prompt.md +23 -0
  36. package/templates/repo/.github/prompts/ck-docs-update.prompt.md +36 -0
  37. package/templates/repo/.github/prompts/ck-fix-ci.prompt.md +18 -0
  38. package/templates/repo/.github/prompts/ck-fix-fast.prompt.md +18 -0
  39. package/templates/repo/.github/prompts/ck-fix-hard.prompt.md +36 -0
  40. package/templates/repo/.github/prompts/ck-fix-logs.prompt.md +27 -0
  41. package/templates/repo/.github/prompts/ck-fix-parallel.prompt.md +54 -0
  42. package/templates/repo/.github/prompts/ck-fix-test.prompt.md +19 -0
  43. package/templates/repo/.github/prompts/ck-fix-types.prompt.md +11 -0
  44. package/templates/repo/.github/prompts/ck-fix-ui.prompt.md +49 -0
  45. package/templates/repo/.github/prompts/ck-fix.prompt.md +36 -16
  46. package/templates/repo/.github/prompts/ck-git-cm.prompt.md +8 -0
  47. package/templates/repo/.github/prompts/ck-git-cp.prompt.md +7 -0
  48. package/templates/repo/.github/prompts/ck-git-merge.prompt.md +41 -0
  49. package/templates/repo/.github/prompts/ck-git-pr.prompt.md +49 -0
  50. package/templates/repo/.github/prompts/ck-kanban.prompt.md +77 -0
  51. package/templates/repo/.github/prompts/ck-plan-archive.prompt.md +58 -0
  52. package/templates/repo/.github/prompts/ck-plan-ci.prompt.md +34 -0
  53. package/templates/repo/.github/prompts/ck-plan-cro.prompt.md +66 -0
  54. package/templates/repo/.github/prompts/ck-plan-fast.prompt.md +67 -0
  55. package/templates/repo/.github/prompts/ck-plan-hard.prompt.md +89 -0
  56. package/templates/repo/.github/prompts/ck-plan-parallel.prompt.md +126 -0
  57. package/templates/repo/.github/prompts/ck-plan-two.prompt.md +43 -0
  58. package/templates/repo/.github/prompts/ck-plan-validate.prompt.md +118 -0
  59. package/templates/repo/.github/prompts/ck-plan.prompt.md +29 -25
  60. package/templates/repo/.github/prompts/ck-preview.prompt.md +65 -0
  61. package/templates/repo/.github/prompts/ck-review-codebase.prompt.md +44 -0
  62. package/templates/repo/.github/prompts/ck-scout-ext.prompt.md +35 -0
  63. package/templates/repo/.github/prompts/ck-scout.prompt.md +25 -0
  64. package/templates/repo/.github/prompts/ck-skill-add.prompt.md +36 -0
  65. package/templates/repo/.github/prompts/ck-skill-create.prompt.md +29 -0
  66. package/templates/repo/.github/prompts/ck-skill-fix-logs.prompt.md +22 -0
  67. package/templates/repo/.github/prompts/ck-skill-optimize-auto.prompt.md +25 -0
  68. package/templates/repo/.github/prompts/ck-skill-optimize.prompt.md +34 -0
  69. package/templates/repo/.github/prompts/ck-skill-plan.prompt.md +46 -0
  70. package/templates/repo/.github/prompts/ck-test-ui.prompt.md +92 -0
  71. package/templates/repo/.github/prompts/ck-test.prompt.md +6 -19
  72. package/templates/repo/.github/prompts/ck-use-mcp.prompt.md +27 -0
  73. package/templates/repo/.github/prompts/ck-watzup.prompt.md +11 -0
  74. package/templates/repo/.github/prompts/ck-worktree.prompt.md +127 -0
  75. package/templates/repo/.github/skills/ck-ai-artist/SKILL.md +73 -0
  76. package/templates/repo/.github/skills/ck-ai-artist/references/advanced-techniques.md +184 -0
  77. package/templates/repo/.github/skills/ck-ai-artist/references/domain-code.md +66 -0
  78. package/templates/repo/.github/skills/ck-ai-artist/references/domain-data.md +72 -0
  79. package/templates/repo/.github/skills/ck-ai-artist/references/domain-marketing.md +66 -0
  80. package/templates/repo/.github/skills/ck-ai-artist/references/domain-patterns.md +33 -0
  81. package/templates/repo/.github/skills/ck-ai-artist/references/domain-writing.md +68 -0
  82. package/templates/repo/.github/skills/ck-ai-artist/references/image-prompting.md +141 -0
  83. package/templates/repo/.github/skills/ck-ai-artist/references/llm-prompting.md +165 -0
  84. package/templates/repo/.github/skills/ck-ai-artist/references/nano-banana.md +59 -0
  85. package/templates/repo/.github/skills/ck-ai-artist/references/reasoning-techniques.md +201 -0
  86. package/templates/repo/.github/skills/ck-backend-development/SKILL.md +93 -0
  87. package/templates/repo/.github/skills/ck-backend-development/references/backend-api-design.md +495 -0
  88. package/templates/repo/.github/skills/ck-backend-development/references/backend-architecture.md +454 -0
  89. package/templates/repo/.github/skills/ck-backend-development/references/backend-authentication.md +338 -0
  90. package/templates/repo/.github/skills/ck-backend-development/references/backend-code-quality.md +659 -0
  91. package/templates/repo/.github/skills/ck-backend-development/references/backend-debugging.md +904 -0
  92. package/templates/repo/.github/skills/ck-backend-development/references/backend-devops.md +494 -0
  93. package/templates/repo/.github/skills/ck-backend-development/references/backend-mindset.md +387 -0
  94. package/templates/repo/.github/skills/ck-backend-development/references/backend-performance.md +397 -0
  95. package/templates/repo/.github/skills/ck-backend-development/references/backend-security.md +290 -0
  96. package/templates/repo/.github/skills/ck-backend-development/references/backend-technologies.md +256 -0
  97. package/templates/repo/.github/skills/ck-backend-development/references/backend-testing.md +429 -0
  98. package/templates/repo/.github/skills/ck-better-auth/SKILL.md +202 -0
  99. package/templates/repo/.github/skills/ck-better-auth/references/advanced-features.md +553 -0
  100. package/templates/repo/.github/skills/ck-better-auth/references/database-integration.md +577 -0
  101. package/templates/repo/.github/skills/ck-better-auth/references/email-password-auth.md +416 -0
  102. package/templates/repo/.github/skills/ck-better-auth/references/oauth-providers.md +430 -0
  103. package/templates/repo/.github/skills/ck-better-auth/scripts/.coverage +0 -0
  104. package/templates/repo/.github/skills/ck-better-auth/scripts/better_auth_init.py +521 -0
  105. package/templates/repo/.github/skills/ck-better-auth/scripts/requirements.txt +15 -0
  106. package/templates/repo/.github/skills/ck-better-auth/scripts/tests/.coverage +0 -0
  107. package/templates/repo/.github/skills/ck-better-auth/scripts/tests/test_better_auth_init.py +421 -0
  108. package/templates/repo/.github/skills/ck-chrome-devtools/SKILL.md +470 -0
  109. package/templates/repo/.github/skills/ck-chrome-devtools/references/cdp-domains.md +694 -0
  110. package/templates/repo/.github/skills/ck-chrome-devtools/references/performance-guide.md +940 -0
  111. package/templates/repo/.github/skills/ck-chrome-devtools/references/puppeteer-reference.md +953 -0
  112. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/README.md +272 -0
  113. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/__tests__/selector.test.js +210 -0
  114. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/aria-snapshot.js +362 -0
  115. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/click.js +83 -0
  116. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/console.js +79 -0
  117. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/evaluate.js +53 -0
  118. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/fill.js +76 -0
  119. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/inject-auth.js +229 -0
  120. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/install-deps.sh +181 -0
  121. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/install.sh +83 -0
  122. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/lib/browser.js +318 -0
  123. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/lib/selector.js +178 -0
  124. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/navigate.js +54 -0
  125. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/network.js +106 -0
  126. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/package-lock.json +1589 -0
  127. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/package.json +16 -0
  128. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/performance.js +149 -0
  129. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/screenshot.js +198 -0
  130. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/select-ref.js +131 -0
  131. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/snapshot.js +135 -0
  132. package/templates/repo/.github/skills/ck-code-review/SKILL.md +130 -33
  133. package/templates/repo/.github/skills/ck-code-review/references/code-review-reception.md +209 -0
  134. package/templates/repo/.github/skills/ck-code-review/references/requesting-code-review.md +105 -0
  135. package/templates/repo/.github/skills/ck-code-review/references/verification-before-completion.md +139 -0
  136. package/templates/repo/.github/skills/ck-databases/SKILL.md +231 -0
  137. package/templates/repo/.github/skills/ck-databases/references/mongodb-aggregation.md +447 -0
  138. package/templates/repo/.github/skills/ck-databases/references/mongodb-atlas.md +465 -0
  139. package/templates/repo/.github/skills/ck-databases/references/mongodb-crud.md +408 -0
  140. package/templates/repo/.github/skills/ck-databases/references/mongodb-indexing.md +442 -0
  141. package/templates/repo/.github/skills/ck-databases/references/postgresql-administration.md +594 -0
  142. package/templates/repo/.github/skills/ck-databases/references/postgresql-performance.md +527 -0
  143. package/templates/repo/.github/skills/ck-databases/references/postgresql-psql-cli.md +467 -0
  144. package/templates/repo/.github/skills/ck-databases/references/postgresql-queries.md +475 -0
  145. package/templates/repo/.github/skills/ck-databases/scripts/.coverage +0 -0
  146. package/templates/repo/.github/skills/ck-databases/scripts/db_backup.py +502 -0
  147. package/templates/repo/.github/skills/ck-databases/scripts/db_migrate.py +425 -0
  148. package/templates/repo/.github/skills/ck-databases/scripts/db_performance_check.py +456 -0
  149. package/templates/repo/.github/skills/ck-databases/scripts/requirements.txt +20 -0
  150. package/templates/repo/.github/skills/ck-databases/scripts/tests/coverage-db.json +1 -0
  151. package/templates/repo/.github/skills/ck-databases/scripts/tests/requirements.txt +4 -0
  152. package/templates/repo/.github/skills/ck-databases/scripts/tests/test_db_backup.py +340 -0
  153. package/templates/repo/.github/skills/ck-databases/scripts/tests/test_db_migrate.py +277 -0
  154. package/templates/repo/.github/skills/ck-databases/scripts/tests/test_db_performance_check.py +370 -0
  155. package/templates/repo/.github/skills/ck-debugging/SKILL.md +70 -22
  156. package/templates/repo/.github/skills/ck-debugging/references/defense-in-depth.md +124 -0
  157. package/templates/repo/.github/skills/ck-debugging/references/root-cause-tracing.md +122 -0
  158. package/templates/repo/.github/skills/ck-debugging/references/systematic-debugging.md +102 -0
  159. package/templates/repo/.github/skills/ck-debugging/references/verification.md +123 -0
  160. package/templates/repo/.github/skills/ck-debugging/scripts/find-polluter.sh +63 -0
  161. package/templates/repo/.github/skills/ck-debugging/scripts/find-polluter.test.md +102 -0
  162. package/templates/repo/.github/skills/ck-devops/.env.example +76 -0
  163. package/templates/repo/.github/skills/ck-devops/SKILL.md +283 -0
  164. package/templates/repo/.github/skills/ck-devops/references/browser-rendering.md +305 -0
  165. package/templates/repo/.github/skills/ck-devops/references/cloudflare-d1-kv.md +123 -0
  166. package/templates/repo/.github/skills/ck-devops/references/cloudflare-platform.md +271 -0
  167. package/templates/repo/.github/skills/ck-devops/references/cloudflare-r2-storage.md +280 -0
  168. package/templates/repo/.github/skills/ck-devops/references/cloudflare-workers-advanced.md +312 -0
  169. package/templates/repo/.github/skills/ck-devops/references/cloudflare-workers-apis.md +309 -0
  170. package/templates/repo/.github/skills/ck-devops/references/cloudflare-workers-basics.md +418 -0
  171. package/templates/repo/.github/skills/ck-devops/references/docker-basics.md +297 -0
  172. package/templates/repo/.github/skills/ck-devops/references/docker-compose.md +292 -0
  173. package/templates/repo/.github/skills/ck-devops/references/gcloud-platform.md +297 -0
  174. package/templates/repo/.github/skills/ck-devops/references/gcloud-services.md +304 -0
  175. package/templates/repo/.github/skills/ck-devops/scripts/cloudflare_deploy.py +269 -0
  176. package/templates/repo/.github/skills/ck-devops/scripts/docker_optimize.py +331 -0
  177. package/templates/repo/.github/skills/ck-devops/scripts/requirements.txt +20 -0
  178. package/templates/repo/.github/skills/ck-devops/scripts/tests/requirements.txt +3 -0
  179. package/templates/repo/.github/skills/ck-devops/scripts/tests/test_cloudflare_deploy.py +285 -0
  180. package/templates/repo/.github/skills/ck-devops/scripts/tests/test_docker_optimize.py +436 -0
  181. package/templates/repo/.github/skills/ck-docs-seeker/.env.example +15 -0
  182. package/templates/repo/.github/skills/ck-docs-seeker/SKILL.md +96 -0
  183. package/templates/repo/.github/skills/ck-docs-seeker/package.json +25 -0
  184. package/templates/repo/.github/skills/ck-docs-seeker/references/advanced.md +79 -0
  185. package/templates/repo/.github/skills/ck-docs-seeker/references/context7-patterns.md +68 -0
  186. package/templates/repo/.github/skills/ck-docs-seeker/references/errors.md +68 -0
  187. package/templates/repo/.github/skills/ck-docs-seeker/references/search-patterns.md +93 -0
  188. package/templates/repo/.github/skills/ck-docs-seeker/references/source-evaluation.md +77 -0
  189. package/templates/repo/.github/skills/ck-docs-seeker/scripts/analyze-llms-txt.js +211 -0
  190. package/templates/repo/.github/skills/ck-docs-seeker/scripts/detect-topic.js +172 -0
  191. package/templates/repo/.github/skills/ck-docs-seeker/scripts/fetch-docs.js +213 -0
  192. package/templates/repo/.github/skills/ck-docs-seeker/scripts/tests/run-tests.js +72 -0
  193. package/templates/repo/.github/skills/ck-docs-seeker/scripts/tests/test-analyze-llms.js +119 -0
  194. package/templates/repo/.github/skills/ck-docs-seeker/scripts/tests/test-detect-topic.js +112 -0
  195. package/templates/repo/.github/skills/ck-docs-seeker/scripts/tests/test-fetch-docs.js +84 -0
  196. package/templates/repo/.github/skills/ck-docs-seeker/scripts/utils/env-loader.js +94 -0
  197. package/templates/repo/.github/skills/ck-docs-seeker/workflows/library-search.md +87 -0
  198. package/templates/repo/.github/skills/ck-docs-seeker/workflows/repo-analysis.md +91 -0
  199. package/templates/repo/.github/skills/ck-docs-seeker/workflows/topic-search.md +77 -0
  200. package/templates/repo/.github/skills/ck-frontend-design/SKILL.md +79 -0
  201. package/templates/repo/.github/skills/ck-frontend-design/references/analysis-best-practices.md +80 -0
  202. package/templates/repo/.github/skills/ck-frontend-design/references/analysis-prompts.md +141 -0
  203. package/templates/repo/.github/skills/ck-frontend-design/references/analysis-techniques.md +118 -0
  204. package/templates/repo/.github/skills/ck-frontend-design/references/animejs.md +396 -0
  205. package/templates/repo/.github/skills/ck-frontend-design/references/design-extraction-overview.md +71 -0
  206. package/templates/repo/.github/skills/ck-frontend-design/references/extraction-best-practices.md +141 -0
  207. package/templates/repo/.github/skills/ck-frontend-design/references/extraction-output-templates.md +162 -0
  208. package/templates/repo/.github/skills/ck-frontend-design/references/extraction-prompts.md +127 -0
  209. package/templates/repo/.github/skills/ck-frontend-design/references/technical-accessibility.md +119 -0
  210. package/templates/repo/.github/skills/ck-frontend-design/references/technical-best-practices.md +97 -0
  211. package/templates/repo/.github/skills/ck-frontend-design/references/technical-optimization.md +44 -0
  212. package/templates/repo/.github/skills/ck-frontend-design/references/technical-overview.md +90 -0
  213. package/templates/repo/.github/skills/ck-frontend-design/references/technical-workflows.md +150 -0
  214. package/templates/repo/.github/skills/ck-frontend-design/references/visual-analysis-overview.md +95 -0
  215. package/templates/repo/.github/skills/ck-frontend-development/SKILL.md +399 -0
  216. package/templates/repo/.github/skills/ck-frontend-development/resources/common-patterns.md +331 -0
  217. package/templates/repo/.github/skills/ck-frontend-development/resources/complete-examples.md +872 -0
  218. package/templates/repo/.github/skills/ck-frontend-development/resources/component-patterns.md +502 -0
  219. package/templates/repo/.github/skills/ck-frontend-development/resources/data-fetching.md +767 -0
  220. package/templates/repo/.github/skills/ck-frontend-development/resources/file-organization.md +502 -0
  221. package/templates/repo/.github/skills/ck-frontend-development/resources/loading-and-error-states.md +501 -0
  222. package/templates/repo/.github/skills/ck-frontend-development/resources/performance.md +406 -0
  223. package/templates/repo/.github/skills/ck-frontend-development/resources/routing-guide.md +364 -0
  224. package/templates/repo/.github/skills/ck-frontend-development/resources/styling-guide.md +428 -0
  225. package/templates/repo/.github/skills/ck-frontend-development/resources/typescript-standards.md +418 -0
  226. package/templates/repo/.github/skills/ck-markdown-novel-viewer/SKILL.md +190 -0
  227. package/templates/repo/.github/skills/ck-markdown-novel-viewer/assets/directory-browser.css +215 -0
  228. package/templates/repo/.github/skills/ck-markdown-novel-viewer/assets/favicon.png +0 -0
  229. package/templates/repo/.github/skills/ck-markdown-novel-viewer/assets/novel-theme.css +818 -0
  230. package/templates/repo/.github/skills/ck-markdown-novel-viewer/assets/reader.js +262 -0
  231. package/templates/repo/.github/skills/ck-markdown-novel-viewer/assets/template.html +80 -0
  232. package/templates/repo/.github/skills/ck-markdown-novel-viewer/package.json +15 -0
  233. package/templates/repo/.github/skills/ck-markdown-novel-viewer/scripts/lib/http-server.cjs +434 -0
  234. package/templates/repo/.github/skills/ck-markdown-novel-viewer/scripts/lib/markdown-renderer.cjs +272 -0
  235. package/templates/repo/.github/skills/ck-markdown-novel-viewer/scripts/lib/plan-navigator.cjs +509 -0
  236. package/templates/repo/.github/skills/ck-markdown-novel-viewer/scripts/lib/port-finder.cjs +48 -0
  237. package/templates/repo/.github/skills/ck-markdown-novel-viewer/scripts/lib/process-mgr.cjs +150 -0
  238. package/templates/repo/.github/skills/ck-markdown-novel-viewer/scripts/server.cjs +411 -0
  239. package/templates/repo/.github/skills/ck-markdown-novel-viewer/scripts/tests/server.test.cjs +283 -0
  240. package/templates/repo/.github/skills/ck-markdown-novel-viewer/tests/dashboard-assets.test.cjs +340 -0
  241. package/templates/repo/.github/skills/ck-markdown-novel-viewer/tests/dashboard-renderer.test.cjs +404 -0
  242. package/templates/repo/.github/skills/ck-markdown-novel-viewer/tests/http-server.test.cjs +271 -0
  243. package/templates/repo/.github/skills/ck-markdown-novel-viewer/tests/run-tests.cjs +51 -0
  244. package/templates/repo/.github/skills/ck-markdown-novel-viewer/tests/test-framework.cjs +154 -0
  245. package/templates/repo/.github/skills/ck-markdown-novel-viewer/tests/verify-xss.cjs +90 -0
  246. package/templates/repo/.github/skills/ck-mcp-builder/LICENSE.txt +202 -0
  247. package/templates/repo/.github/skills/ck-mcp-builder/SKILL.md +327 -0
  248. package/templates/repo/.github/skills/ck-mcp-builder/reference/evaluation.md +602 -0
  249. package/templates/repo/.github/skills/ck-mcp-builder/reference/mcp_best_practices.md +915 -0
  250. package/templates/repo/.github/skills/ck-mcp-builder/reference/node_mcp_server.md +916 -0
  251. package/templates/repo/.github/skills/ck-mcp-builder/reference/python_mcp_server.md +752 -0
  252. package/templates/repo/.github/skills/ck-mcp-builder/scripts/connections.py +151 -0
  253. package/templates/repo/.github/skills/ck-mcp-builder/scripts/evaluation.py +373 -0
  254. package/templates/repo/.github/skills/ck-mcp-builder/scripts/example_evaluation.xml +22 -0
  255. package/templates/repo/.github/skills/ck-mcp-builder/scripts/requirements.txt +2 -0
  256. package/templates/repo/.github/skills/ck-mcp-management/README.md +219 -0
  257. package/templates/repo/.github/skills/ck-mcp-management/SKILL.md +209 -0
  258. package/templates/repo/.github/skills/ck-mcp-management/assets/tools.json +3146 -0
  259. package/templates/repo/.github/skills/ck-mcp-management/references/configuration.md +114 -0
  260. package/templates/repo/.github/skills/ck-mcp-management/references/gemini-cli-integration.md +215 -0
  261. package/templates/repo/.github/skills/ck-mcp-management/references/mcp-protocol.md +116 -0
  262. package/templates/repo/.github/skills/ck-mcp-management/scripts/.env.example +10 -0
  263. package/templates/repo/.github/skills/ck-mcp-management/scripts/cli.ts +195 -0
  264. package/templates/repo/.github/skills/ck-mcp-management/scripts/dist/analyze-tools.js +70 -0
  265. package/templates/repo/.github/skills/ck-mcp-management/scripts/dist/cli.js +160 -0
  266. package/templates/repo/.github/skills/ck-mcp-management/scripts/dist/mcp-client.js +183 -0
  267. package/templates/repo/.github/skills/ck-mcp-management/scripts/mcp-client.ts +230 -0
  268. package/templates/repo/.github/skills/ck-mcp-management/scripts/package.json +20 -0
  269. package/templates/repo/.github/skills/ck-mcp-management/scripts/tsconfig.json +15 -0
  270. package/templates/repo/.github/skills/ck-media-processing/SKILL.md +90 -0
  271. package/templates/repo/.github/skills/ck-media-processing/references/common-workflows.md +132 -0
  272. package/templates/repo/.github/skills/ck-media-processing/references/ffmpeg-encoding.md +358 -0
  273. package/templates/repo/.github/skills/ck-media-processing/references/ffmpeg-filters.md +503 -0
  274. package/templates/repo/.github/skills/ck-media-processing/references/ffmpeg-streaming.md +403 -0
  275. package/templates/repo/.github/skills/ck-media-processing/references/format-compatibility.md +375 -0
  276. package/templates/repo/.github/skills/ck-media-processing/references/imagemagick-batch.md +612 -0
  277. package/templates/repo/.github/skills/ck-media-processing/references/imagemagick-editing.md +623 -0
  278. package/templates/repo/.github/skills/ck-media-processing/references/rmbg-background-removal.md +66 -0
  279. package/templates/repo/.github/skills/ck-media-processing/references/troubleshooting.md +109 -0
  280. package/templates/repo/.github/skills/ck-media-processing/scripts/README.md +111 -0
  281. package/templates/repo/.github/skills/ck-media-processing/scripts/batch-remove-background.sh +124 -0
  282. package/templates/repo/.github/skills/ck-media-processing/scripts/batch_resize.py +342 -0
  283. package/templates/repo/.github/skills/ck-media-processing/scripts/media_convert.py +311 -0
  284. package/templates/repo/.github/skills/ck-media-processing/scripts/remove-background.sh +96 -0
  285. package/templates/repo/.github/skills/ck-media-processing/scripts/remove-bg-node.js +158 -0
  286. package/templates/repo/.github/skills/ck-media-processing/scripts/requirements.txt +24 -0
  287. package/templates/repo/.github/skills/ck-media-processing/scripts/tests/.coverage +0 -0
  288. package/templates/repo/.github/skills/ck-media-processing/scripts/tests/requirements.txt +2 -0
  289. package/templates/repo/.github/skills/ck-media-processing/scripts/tests/test_batch_resize.py +372 -0
  290. package/templates/repo/.github/skills/ck-media-processing/scripts/tests/test_media_convert.py +259 -0
  291. package/templates/repo/.github/skills/ck-media-processing/scripts/tests/test_video_optimize.py +397 -0
  292. package/templates/repo/.github/skills/ck-media-processing/scripts/video_optimize.py +414 -0
  293. package/templates/repo/.github/skills/ck-mobile-development/SKILL.md +210 -0
  294. package/templates/repo/.github/skills/ck-mobile-development/references/mobile-android.md +604 -0
  295. package/templates/repo/.github/skills/ck-mobile-development/references/mobile-best-practices.md +545 -0
  296. package/templates/repo/.github/skills/ck-mobile-development/references/mobile-debugging.md +1089 -0
  297. package/templates/repo/.github/skills/ck-mobile-development/references/mobile-frameworks.md +465 -0
  298. package/templates/repo/.github/skills/ck-mobile-development/references/mobile-ios.md +496 -0
  299. package/templates/repo/.github/skills/ck-mobile-development/references/mobile-mindset.md +544 -0
  300. package/templates/repo/.github/skills/ck-payment-integration/README.md +185 -0
  301. package/templates/repo/.github/skills/ck-payment-integration/SKILL.md +116 -0
  302. package/templates/repo/.github/skills/ck-payment-integration/references/polar/benefits.md +396 -0
  303. package/templates/repo/.github/skills/ck-payment-integration/references/polar/best-practices.md +482 -0
  304. package/templates/repo/.github/skills/ck-payment-integration/references/polar/checkouts.md +266 -0
  305. package/templates/repo/.github/skills/ck-payment-integration/references/polar/overview.md +184 -0
  306. package/templates/repo/.github/skills/ck-payment-integration/references/polar/products.md +244 -0
  307. package/templates/repo/.github/skills/ck-payment-integration/references/polar/sdk.md +436 -0
  308. package/templates/repo/.github/skills/ck-payment-integration/references/polar/subscriptions.md +340 -0
  309. package/templates/repo/.github/skills/ck-payment-integration/references/polar/webhooks.md +405 -0
  310. package/templates/repo/.github/skills/ck-payment-integration/references/sepay/api.md +140 -0
  311. package/templates/repo/.github/skills/ck-payment-integration/references/sepay/best-practices.md +337 -0
  312. package/templates/repo/.github/skills/ck-payment-integration/references/sepay/overview.md +138 -0
  313. package/templates/repo/.github/skills/ck-payment-integration/references/sepay/qr-codes.md +228 -0
  314. package/templates/repo/.github/skills/ck-payment-integration/references/sepay/sdk.md +213 -0
  315. package/templates/repo/.github/skills/ck-payment-integration/references/sepay/webhooks.md +208 -0
  316. package/templates/repo/.github/skills/ck-payment-integration/scripts/.env.example +20 -0
  317. package/templates/repo/.github/skills/ck-payment-integration/scripts/checkout-helper.js +244 -0
  318. package/templates/repo/.github/skills/ck-payment-integration/scripts/package.json +17 -0
  319. package/templates/repo/.github/skills/ck-payment-integration/scripts/polar-webhook-verify.js +202 -0
  320. package/templates/repo/.github/skills/ck-payment-integration/scripts/sepay-webhook-verify.js +193 -0
  321. package/templates/repo/.github/skills/ck-payment-integration/scripts/test-scripts.js +237 -0
  322. package/templates/repo/.github/skills/ck-planning/SKILL.md +112 -0
  323. package/templates/repo/.github/skills/ck-planning/references/codebase-understanding.md +62 -0
  324. package/templates/repo/.github/skills/ck-planning/references/output-standards.md +127 -0
  325. package/templates/repo/.github/skills/ck-planning/references/plan-organization.md +150 -0
  326. package/templates/repo/.github/skills/ck-planning/references/research-phase.md +49 -0
  327. package/templates/repo/.github/skills/ck-planning/references/solution-design.md +63 -0
  328. package/templates/repo/.github/skills/ck-problem-solving/SKILL.md +95 -0
  329. package/templates/repo/.github/skills/ck-problem-solving/references/attribution.md +69 -0
  330. package/templates/repo/.github/skills/ck-problem-solving/references/collision-zone-thinking.md +79 -0
  331. package/templates/repo/.github/skills/ck-problem-solving/references/inversion-exercise.md +91 -0
  332. package/templates/repo/.github/skills/ck-problem-solving/references/meta-pattern-recognition.md +87 -0
  333. package/templates/repo/.github/skills/ck-problem-solving/references/scale-game.md +95 -0
  334. package/templates/repo/.github/skills/ck-problem-solving/references/simplification-cascades.md +80 -0
  335. package/templates/repo/.github/skills/ck-problem-solving/references/when-stuck.md +72 -0
  336. package/templates/repo/.github/skills/ck-repomix/SKILL.md +247 -0
  337. package/templates/repo/.github/skills/ck-repomix/references/configuration.md +211 -0
  338. package/templates/repo/.github/skills/ck-repomix/references/usage-patterns.md +232 -0
  339. package/templates/repo/.github/skills/ck-repomix/scripts/.coverage +0 -0
  340. package/templates/repo/.github/skills/ck-repomix/scripts/README.md +179 -0
  341. package/templates/repo/.github/skills/ck-repomix/scripts/repomix_batch.py +455 -0
  342. package/templates/repo/.github/skills/ck-repomix/scripts/repos.example.json +15 -0
  343. package/templates/repo/.github/skills/ck-repomix/scripts/requirements.txt +15 -0
  344. package/templates/repo/.github/skills/ck-repomix/scripts/tests/test_repomix_batch.py +531 -0
  345. package/templates/repo/.github/skills/ck-sequential-thinking/.env.example +8 -0
  346. package/templates/repo/.github/skills/ck-sequential-thinking/README.md +183 -0
  347. package/templates/repo/.github/skills/ck-sequential-thinking/SKILL.md +92 -0
  348. package/templates/repo/.github/skills/ck-sequential-thinking/package.json +31 -0
  349. package/templates/repo/.github/skills/ck-sequential-thinking/references/advanced-strategies.md +79 -0
  350. package/templates/repo/.github/skills/ck-sequential-thinking/references/advanced-techniques.md +76 -0
  351. package/templates/repo/.github/skills/ck-sequential-thinking/references/core-patterns.md +95 -0
  352. package/templates/repo/.github/skills/ck-sequential-thinking/references/examples-api.md +88 -0
  353. package/templates/repo/.github/skills/ck-sequential-thinking/references/examples-architecture.md +94 -0
  354. package/templates/repo/.github/skills/ck-sequential-thinking/references/examples-debug.md +90 -0
  355. package/templates/repo/.github/skills/ck-sequential-thinking/scripts/format-thought.js +159 -0
  356. package/templates/repo/.github/skills/ck-sequential-thinking/scripts/process-thought.js +236 -0
  357. package/templates/repo/.github/skills/ck-sequential-thinking/tests/format-thought.test.js +133 -0
  358. package/templates/repo/.github/skills/ck-sequential-thinking/tests/process-thought.test.js +215 -0
  359. package/templates/repo/.github/skills/ck-shopify/README.md +66 -0
  360. package/templates/repo/.github/skills/ck-shopify/SKILL.md +319 -0
  361. package/templates/repo/.github/skills/ck-shopify/references/app-development.md +470 -0
  362. package/templates/repo/.github/skills/ck-shopify/references/extensions.md +493 -0
  363. package/templates/repo/.github/skills/ck-shopify/references/themes.md +498 -0
  364. package/templates/repo/.github/skills/ck-shopify/scripts/.coverage +0 -0
  365. package/templates/repo/.github/skills/ck-shopify/scripts/requirements.txt +19 -0
  366. package/templates/repo/.github/skills/ck-shopify/scripts/shopify_init.py +423 -0
  367. package/templates/repo/.github/skills/ck-shopify/scripts/tests/.coverage +0 -0
  368. package/templates/repo/.github/skills/ck-shopify/scripts/tests/test_shopify_init.py +385 -0
  369. package/templates/repo/.github/skills/ck-skill-creator/LICENSE.txt +202 -0
  370. package/templates/repo/.github/skills/ck-skill-creator/SKILL.md +265 -0
  371. package/templates/repo/.github/skills/ck-skill-creator/scripts/init_skill.py +303 -0
  372. package/templates/repo/.github/skills/ck-skill-creator/scripts/package_skill.py +110 -0
  373. package/templates/repo/.github/skills/ck-skill-creator/scripts/quick_validate.py +65 -0
  374. package/templates/repo/.github/skills/ck-threejs/SKILL.md +87 -0
  375. package/templates/repo/.github/skills/ck-threejs/references/01-getting-started.md +177 -0
  376. package/templates/repo/.github/skills/ck-threejs/references/02-loaders.md +169 -0
  377. package/templates/repo/.github/skills/ck-threejs/references/03-textures.md +170 -0
  378. package/templates/repo/.github/skills/ck-threejs/references/04-cameras.md +195 -0
  379. package/templates/repo/.github/skills/ck-threejs/references/05-lights.md +183 -0
  380. package/templates/repo/.github/skills/ck-threejs/references/06-animations.md +214 -0
  381. package/templates/repo/.github/skills/ck-threejs/references/07-math.md +260 -0
  382. package/templates/repo/.github/skills/ck-threejs/references/08-interaction.md +267 -0
  383. package/templates/repo/.github/skills/ck-threejs/references/09-postprocessing.md +240 -0
  384. package/templates/repo/.github/skills/ck-threejs/references/10-controls.md +259 -0
  385. package/templates/repo/.github/skills/ck-threejs/references/11-materials-advanced.md +270 -0
  386. package/templates/repo/.github/skills/ck-threejs/references/12-performance.md +269 -0
  387. package/templates/repo/.github/skills/ck-threejs/references/13-node-materials.md +298 -0
  388. package/templates/repo/.github/skills/ck-threejs/references/14-physics-vr.md +304 -0
  389. package/templates/repo/.github/skills/ck-threejs/references/15-specialized-loaders.md +333 -0
  390. package/templates/repo/.github/skills/ck-threejs/references/16-webgpu.md +302 -0
  391. package/templates/repo/.github/skills/ck-ui-styling/LICENSE.txt +202 -0
  392. package/templates/repo/.github/skills/ck-ui-styling/SKILL.md +319 -0
  393. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  394. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  395. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  396. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
  397. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  398. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
  399. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
  400. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  401. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  402. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  403. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  404. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  405. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  406. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  407. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
  408. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
  409. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
  410. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
  411. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
  412. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
  413. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
  414. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
  415. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
  416. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  417. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  418. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  419. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  420. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  421. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  422. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  423. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  424. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  425. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  426. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  427. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  428. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  429. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  430. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
  431. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
  432. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  433. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  434. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  435. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
  436. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
  437. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
  438. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  439. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  440. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
  441. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  442. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
  443. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
  444. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
  445. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
  446. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
  447. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
  448. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  449. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  450. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
  451. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
  452. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
  453. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  454. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
  455. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
  456. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  457. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  458. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
  459. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  460. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
  461. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  462. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  463. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
  464. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
  465. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
  466. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
  467. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
  468. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  469. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
  470. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
  471. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
  472. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
  473. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  474. package/templates/repo/.github/skills/ck-ui-styling/references/canvas-design-system.md +320 -0
  475. package/templates/repo/.github/skills/ck-ui-styling/references/shadcn-accessibility.md +471 -0
  476. package/templates/repo/.github/skills/ck-ui-styling/references/shadcn-components.md +424 -0
  477. package/templates/repo/.github/skills/ck-ui-styling/references/shadcn-theming.md +373 -0
  478. package/templates/repo/.github/skills/ck-ui-styling/references/tailwind-customization.md +483 -0
  479. package/templates/repo/.github/skills/ck-ui-styling/references/tailwind-responsive.md +382 -0
  480. package/templates/repo/.github/skills/ck-ui-styling/references/tailwind-utilities.md +455 -0
  481. package/templates/repo/.github/skills/ck-ui-styling/scripts/.coverage +0 -0
  482. package/templates/repo/.github/skills/ck-ui-styling/scripts/requirements.txt +17 -0
  483. package/templates/repo/.github/skills/ck-ui-styling/scripts/shadcn_add.py +292 -0
  484. package/templates/repo/.github/skills/ck-ui-styling/scripts/tailwind_config_gen.py +456 -0
  485. package/templates/repo/.github/skills/ck-ui-styling/scripts/tests/coverage-ui.json +1 -0
  486. package/templates/repo/.github/skills/ck-ui-styling/scripts/tests/requirements.txt +3 -0
  487. package/templates/repo/.github/skills/ck-ui-styling/scripts/tests/test_shadcn_add.py +266 -0
  488. package/templates/repo/.github/skills/ck-ui-styling/scripts/tests/test_tailwind_config_gen.py +336 -0
  489. package/templates/repo/.github/skills/ck-ui-ux-pro-max/SKILL.md +227 -0
  490. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/charts.csv +26 -0
  491. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/colors.csv +97 -0
  492. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/landing.csv +31 -0
  493. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/products.csv +97 -0
  494. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/prompts.csv +24 -0
  495. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  496. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/stacks/html-tailwind.csv +51 -0
  497. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  498. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  499. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/stacks/react.csv +54 -0
  500. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  501. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  502. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/stacks/vue.csv +50 -0
  503. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/styles.csv +59 -0
  504. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/typography.csv +58 -0
  505. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  506. package/templates/repo/.github/skills/ck-ui-ux-pro-max/scripts/core.py +236 -0
  507. package/templates/repo/.github/skills/ck-ui-ux-pro-max/scripts/search.py +76 -0
  508. package/templates/repo/.github/skills/ck-web-frameworks/SKILL.md +322 -0
  509. package/templates/repo/.github/skills/ck-web-frameworks/references/nextjs-app-router.md +465 -0
  510. package/templates/repo/.github/skills/ck-web-frameworks/references/nextjs-data-fetching.md +459 -0
  511. package/templates/repo/.github/skills/ck-web-frameworks/references/nextjs-optimization.md +511 -0
  512. package/templates/repo/.github/skills/ck-web-frameworks/references/nextjs-server-components.md +495 -0
  513. package/templates/repo/.github/skills/ck-web-frameworks/references/remix-icon-integration.md +603 -0
  514. package/templates/repo/.github/skills/ck-web-frameworks/references/turborepo-caching.md +551 -0
  515. package/templates/repo/.github/skills/ck-web-frameworks/references/turborepo-pipelines.md +517 -0
  516. package/templates/repo/.github/skills/ck-web-frameworks/references/turborepo-setup.md +542 -0
  517. package/templates/repo/.github/skills/ck-web-frameworks/scripts/.coverage +0 -0
  518. package/templates/repo/.github/skills/ck-web-frameworks/scripts/__init__.py +0 -0
  519. package/templates/repo/.github/skills/ck-web-frameworks/scripts/nextjs_init.py +547 -0
  520. package/templates/repo/.github/skills/ck-web-frameworks/scripts/requirements.txt +16 -0
  521. package/templates/repo/.github/skills/ck-web-frameworks/scripts/tests/coverage-web.json +1 -0
  522. package/templates/repo/.github/skills/ck-web-frameworks/scripts/tests/requirements.txt +3 -0
  523. package/templates/repo/.github/skills/ck-web-frameworks/scripts/tests/test_nextjs_init.py +319 -0
  524. package/templates/repo/.github/skills/ck-web-frameworks/scripts/tests/test_turborepo_migrate.py +374 -0
  525. package/templates/repo/.github/skills/ck-web-frameworks/scripts/turborepo_migrate.py +394 -0
  526. package/templates/repo/.github/prompts/ck-docs.prompt.md +0 -23
  527. package/templates/repo/.github/prompts/ck-review.prompt.md +0 -24
@@ -0,0 +1,68 @@
1
+ # context7.com URL Patterns
2
+
3
+ ## Topic-Specific URLs (Priority #1)
4
+
5
+ **Pattern:** `https://context7.com/{path}/llms.txt?topic={keyword}`
6
+
7
+ **When to use:** User asks about specific feature/component
8
+
9
+ **Examples:**
10
+ ```
11
+ shadcn/ui date picker
12
+ → https://context7.com/shadcn-ui/ui/llms.txt?topic=date
13
+
14
+ Next.js caching
15
+ → https://context7.com/vercel/next.js/llms.txt?topic=cache
16
+
17
+ Better Auth OAuth
18
+ → https://context7.com/better-auth/better-auth/llms.txt?topic=oauth
19
+
20
+ FFmpeg compression
21
+ → https://context7.com/websites/ffmpeg_doxygen_8_0/llms.txt?topic=compress
22
+ ```
23
+
24
+ **Benefits:** Returns ONLY relevant docs, 10x faster, minimal tokens
25
+
26
+ ## General Library URLs (Priority #2)
27
+
28
+ **GitHub repos:** `https://context7.com/{org}/{repo}/llms.txt`
29
+
30
+ **Websites:** `https://context7.com/websites/{normalized-path}/llms.txt`
31
+
32
+ ## Known Repository Mappings
33
+
34
+ ```
35
+ next.js → vercel/next.js
36
+ nextjs → vercel/next.js
37
+ astro → withastro/astro
38
+ remix → remix-run/remix
39
+ shadcn → shadcn-ui/ui
40
+ shadcn/ui → shadcn-ui/ui
41
+ better-auth → better-auth/better-auth
42
+ ```
43
+
44
+ ## Official Site Fallbacks
45
+
46
+ Use ONLY if context7.com unavailable:
47
+ ```
48
+ Astro: https://docs.astro.build/llms.txt
49
+ Next.js: https://nextjs.org/llms.txt
50
+ Remix: https://remix.run/llms.txt
51
+ SvelteKit: https://kit.svelte.dev/llms.txt
52
+ ```
53
+
54
+ ## Topic Keyword Normalization
55
+
56
+ **Rules:**
57
+ - Lowercase
58
+ - Remove special chars
59
+ - Use first word for multi-word topics
60
+ - Max 20 chars
61
+
62
+ **Examples:**
63
+ ```
64
+ "date picker" → "date"
65
+ "OAuth" → "oauth"
66
+ "Server-Side" → "server"
67
+ "caching strategies" → "caching"
68
+ ```
@@ -0,0 +1,68 @@
1
+ # Error Handling & Fallback Strategies
2
+
3
+ ## Error Codes
4
+
5
+ **404 Not Found**
6
+ - Topic-specific URL not available
7
+ - Library not on context7.com
8
+ - llms.txt doesn't exist
9
+
10
+ **Timeout**
11
+ - Network issues
12
+ - Large repository clone
13
+ - Slow API response
14
+
15
+ **Invalid Response**
16
+ - Malformed llms.txt
17
+ - Empty content
18
+ - Invalid URLs
19
+
20
+ ## Fallback Chain
21
+
22
+ ### For Topic-Specific Queries
23
+
24
+ ```
25
+ 1. Try topic-specific URL
26
+ https://context7.com/{library}/llms.txt?topic={keyword}
27
+ ↓ 404
28
+ 2. Try general library URL
29
+ https://context7.com/{library}/llms.txt
30
+ ↓ 404
31
+ 3. WebSearch for llms.txt
32
+ "[library] llms.txt site:[official domain]"
33
+ ↓ Not found
34
+ 4. Repository analysis
35
+ Use Repomix on GitHub repo
36
+ ```
37
+
38
+ ### For General Library Queries
39
+
40
+ ```
41
+ 1. Try context7.com
42
+ https://context7.com/{library}/llms.txt
43
+ ↓ 404
44
+ 2. WebSearch for llms.txt
45
+ "[library] llms.txt"
46
+ ↓ Not found
47
+ 3. Repository analysis
48
+ Clone + Repomix
49
+ ↓ No repo
50
+ 4. Research agents
51
+ Deploy multiple Researcher agents
52
+ ```
53
+
54
+ ## Timeout Handling
55
+
56
+ **Set limits:**
57
+ - WebFetch: 60s
58
+ - Repository clone: 5min
59
+ - Repomix: 10min
60
+
61
+ **Fail fast:** Don't retry failed methods
62
+
63
+ ## Empty Results
64
+
65
+ **If llms.txt has 0 URLs:**
66
+ → Note in report
67
+ → Try repository analysis
68
+ → Check official website manually
@@ -0,0 +1,93 @@
1
+ # Search Patterns
2
+
3
+ Effective patterns for finding documentation.
4
+
5
+ ## Library Documentation
6
+
7
+ ### Getting Started
8
+ ```
9
+ [library] getting started
10
+ [library] quickstart guide
11
+ [library] tutorial for beginners
12
+ ```
13
+
14
+ ### Specific Features
15
+ ```
16
+ [library] [feature] example
17
+ [library] how to [action]
18
+ [library] [feature] documentation
19
+ ```
20
+
21
+ ### Version-Specific
22
+ ```
23
+ [library] [version] changelog
24
+ [library] [version] migration
25
+ [library] [version] breaking changes
26
+ ```
27
+
28
+ ### Troubleshooting
29
+ ```
30
+ [library] [error message]
31
+ [library] [error code] fix
32
+ [library] common issues
33
+ ```
34
+
35
+ ## API Documentation
36
+
37
+ ### Authentication
38
+ ```
39
+ [service] API authentication
40
+ [service] API key setup
41
+ [service] OAuth implementation
42
+ ```
43
+
44
+ ### Endpoints
45
+ ```
46
+ [service] API [endpoint] reference
47
+ [service] [resource] API documentation
48
+ [service] REST API examples
49
+ ```
50
+
51
+ ### Rate Limits
52
+ ```
53
+ [service] API rate limits
54
+ [service] API quotas
55
+ [service] API throttling
56
+ ```
57
+
58
+ ## Framework Documentation
59
+
60
+ ### Core Concepts
61
+ ```
62
+ [framework] core concepts
63
+ [framework] architecture guide
64
+ [framework] fundamentals
65
+ ```
66
+
67
+ ### Patterns
68
+ ```
69
+ [framework] best practices
70
+ [framework] [pattern] example
71
+ [framework] recommended approach
72
+ ```
73
+
74
+ ### Integration
75
+ ```
76
+ [framework] [library] integration
77
+ [framework] with [tool]
78
+ [framework] [database] setup
79
+ ```
80
+
81
+ ## Source Priority
82
+
83
+ 1. **Official docs** - Most authoritative
84
+ 2. **GitHub repos** - Real implementations
85
+ 3. **Stack Overflow** - Community solutions
86
+ 4. **Blogs** - Tutorials and explanations
87
+
88
+ ## Red Flags
89
+
90
+ - Outdated (check date)
91
+ - Wrong version
92
+ - Unverified source
93
+ - No working examples
@@ -0,0 +1,77 @@
1
+ # Source Evaluation
2
+
3
+ How to evaluate documentation sources for reliability.
4
+
5
+ ## Evaluation Criteria
6
+
7
+ ### Authority
8
+ - Official documentation?
9
+ - Recognized expert author?
10
+ - Reputable organization?
11
+ - Community-verified?
12
+
13
+ ### Currency
14
+ - Publication date visible?
15
+ - Last updated recently?
16
+ - Version matches yours?
17
+ - Active maintenance?
18
+
19
+ ### Accuracy
20
+ - Code examples work?
21
+ - Information consistent?
22
+ - Cross-referenced?
23
+ - No obvious errors?
24
+
25
+ ### Completeness
26
+ - Covers your use case?
27
+ - Explains edge cases?
28
+ - Includes examples?
29
+ - Links to related docs?
30
+
31
+ ## Source Ranking
32
+
33
+ ### Tier 1: Official Sources
34
+ - Official documentation
35
+ - API references
36
+ - Official tutorials
37
+ - Release notes
38
+
39
+ ### Tier 2: Primary Sources
40
+ - GitHub repositories
41
+ - Author blogs
42
+ - Conference talks
43
+ - RFC documents
44
+
45
+ ### Tier 3: Community Sources
46
+ - Stack Overflow (verified)
47
+ - Community tutorials
48
+ - Technical blogs
49
+ - Forum discussions
50
+
51
+ ### Tier 4: Use with Caution
52
+ - Outdated articles
53
+ - Unverified answers
54
+ - AI-generated content
55
+ - Anonymous sources
56
+
57
+ ## Red Flags
58
+
59
+ ### Content Issues
60
+ - No date/version info
61
+ - Broken code examples
62
+ - Outdated dependencies
63
+ - Copy-pasted errors
64
+
65
+ ### Source Issues
66
+ - Unknown author
67
+ - No references
68
+ - Clickbait title
69
+ - Excessive ads
70
+
71
+ ## Validation Checklist
72
+
73
+ - [ ] Source is authoritative?
74
+ - [ ] Content is current?
75
+ - [ ] Version matches?
76
+ - [ ] Examples tested?
77
+ - [ ] Cross-referenced?
@@ -0,0 +1,211 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * llms.txt Analyzer Script
5
+ * Parses llms.txt content and categorizes URLs for optimal agent distribution
6
+ */
7
+
8
+ const { loadEnv } = require('./utils/env-loader');
9
+
10
+ // Load environment
11
+ const env = loadEnv();
12
+ const DEBUG = env.DEBUG === 'true';
13
+
14
+ /**
15
+ * URL priority categories
16
+ */
17
+ const PRIORITY_KEYWORDS = {
18
+ critical: [
19
+ 'getting-started', 'quick-start', 'quickstart', 'introduction', 'intro', 'overview',
20
+ 'installation', 'install', 'setup', 'basics', 'core-concepts', 'fundamentals',
21
+ ],
22
+ supplementary: [
23
+ 'advanced', 'internals', 'migration', 'migrate', 'troubleshooting', 'troubleshoot',
24
+ 'faq', 'frequently-asked', 'changelog', 'contributing', 'contribute',
25
+ ],
26
+ important: [
27
+ 'guide', 'tutorial', 'example', 'api-reference', 'api', 'reference',
28
+ 'configuration', 'config', 'routing', 'route', 'data-fetching', 'authentication', 'auth',
29
+ ],
30
+ };
31
+
32
+ /**
33
+ * Categorize URL by priority
34
+ * @param {string} url - Documentation URL
35
+ * @returns {string} Priority level (critical/important/supplementary)
36
+ */
37
+ function categorizeUrl(url) {
38
+ const urlLower = url.toLowerCase();
39
+
40
+ // Check in priority order: critical first, then supplementary, then important
41
+ // This ensures specific keywords (advanced, internals) are caught before generic ones
42
+ const priorities = ['critical', 'supplementary', 'important'];
43
+
44
+ for (const priority of priorities) {
45
+ const keywords = PRIORITY_KEYWORDS[priority];
46
+ for (const keyword of keywords) {
47
+ if (urlLower.includes(keyword)) {
48
+ return priority;
49
+ }
50
+ }
51
+ }
52
+
53
+ return 'important'; // Default
54
+ }
55
+
56
+ /**
57
+ * Parse llms.txt content to extract URLs
58
+ * @param {string} content - llms.txt content
59
+ * @returns {Array<string>} Array of URLs
60
+ */
61
+ function parseUrls(content) {
62
+ if (!content || typeof content !== 'string') {
63
+ return [];
64
+ }
65
+
66
+ const urls = [];
67
+ const lines = content.split('\n');
68
+
69
+ for (const line of lines) {
70
+ const trimmed = line.trim();
71
+
72
+ // Skip comments and empty lines
73
+ if (!trimmed || trimmed.startsWith('#')) continue;
74
+
75
+ // Extract URLs (look for http/https)
76
+ const urlMatch = trimmed.match(/https?:\/\/[^\s<>"]+/i);
77
+ if (urlMatch) {
78
+ urls.push(urlMatch[0]);
79
+ }
80
+ }
81
+
82
+ return urls;
83
+ }
84
+
85
+ /**
86
+ * Group URLs by priority
87
+ * @param {Array<string>} urls - Array of URLs
88
+ * @returns {Object} URLs grouped by priority
89
+ */
90
+ function groupByPriority(urls) {
91
+ const groups = {
92
+ critical: [],
93
+ important: [],
94
+ supplementary: [],
95
+ };
96
+
97
+ for (const url of urls) {
98
+ const priority = categorizeUrl(url);
99
+ groups[priority].push(url);
100
+ }
101
+
102
+ return groups;
103
+ }
104
+
105
+ /**
106
+ * Suggest optimal agent distribution
107
+ * @param {number} urlCount - Total number of URLs
108
+ * @returns {Object} Agent distribution suggestion
109
+ */
110
+ function suggestAgentDistribution(urlCount) {
111
+ if (urlCount <= 3) {
112
+ return {
113
+ agentCount: 1,
114
+ strategy: 'single',
115
+ urlsPerAgent: urlCount,
116
+ description: 'Single agent can handle all URLs',
117
+ };
118
+ } else if (urlCount <= 10) {
119
+ const agents = Math.min(Math.ceil(urlCount / 2), 5);
120
+ return {
121
+ agentCount: agents,
122
+ strategy: 'parallel',
123
+ urlsPerAgent: Math.ceil(urlCount / agents),
124
+ description: `Deploy ${agents} agents in parallel`,
125
+ };
126
+ } else if (urlCount <= 20) {
127
+ return {
128
+ agentCount: 7,
129
+ strategy: 'parallel',
130
+ urlsPerAgent: Math.ceil(urlCount / 7),
131
+ description: 'Deploy 7 agents with balanced workload',
132
+ };
133
+ } else {
134
+ return {
135
+ agentCount: 7,
136
+ strategy: 'phased',
137
+ urlsPerAgent: Math.ceil(urlCount / 7),
138
+ phases: 2,
139
+ description: 'Use two-phase approach: critical first, then important',
140
+ };
141
+ }
142
+ }
143
+
144
+ /**
145
+ * Analyze llms.txt content
146
+ * @param {string} content - llms.txt content
147
+ * @returns {Object} Analysis result
148
+ */
149
+ function analyzeLlmsTxt(content) {
150
+ const urls = parseUrls(content);
151
+ const grouped = groupByPriority(urls);
152
+ const distribution = suggestAgentDistribution(urls.length);
153
+
154
+ return {
155
+ totalUrls: urls.length,
156
+ urls,
157
+ grouped,
158
+ distribution,
159
+ summary: {
160
+ critical: grouped.critical.length,
161
+ important: grouped.important.length,
162
+ supplementary: grouped.supplementary.length,
163
+ },
164
+ };
165
+ }
166
+
167
+ /**
168
+ * CLI entry point
169
+ */
170
+ function main() {
171
+ const args = process.argv.slice(2);
172
+
173
+ if (args.length === 0) {
174
+ console.error('Usage: node analyze-llms-txt.js <content-file-or-stdin>');
175
+ console.error('Or pipe content: cat llms.txt | node analyze-llms-txt.js');
176
+ process.exit(1);
177
+ }
178
+
179
+ const fs = require('fs');
180
+ let content;
181
+
182
+ if (args[0] === '-') {
183
+ // Read from stdin
184
+ content = fs.readFileSync(0, 'utf8');
185
+ } else {
186
+ // Read from file
187
+ const filePath = args[0];
188
+ if (!fs.existsSync(filePath)) {
189
+ console.error(`Error: File not found: ${filePath}`);
190
+ process.exit(1);
191
+ }
192
+ content = fs.readFileSync(filePath, 'utf8');
193
+ }
194
+
195
+ const result = analyzeLlmsTxt(content);
196
+ console.log(JSON.stringify(result, null, 2));
197
+ process.exit(0);
198
+ }
199
+
200
+ // Run if called directly
201
+ if (require.main === module) {
202
+ main();
203
+ }
204
+
205
+ module.exports = {
206
+ analyzeLlmsTxt,
207
+ parseUrls,
208
+ groupByPriority,
209
+ categorizeUrl,
210
+ suggestAgentDistribution,
211
+ };
@@ -0,0 +1,172 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Topic Detection Script
5
+ * Analyzes user queries to extract library name and topic keywords
6
+ * Returns null for general queries, topic info for specific queries
7
+ */
8
+
9
+ const { loadEnv } = require('./utils/env-loader');
10
+
11
+ // Load environment
12
+ const env = loadEnv();
13
+ const DEBUG = env.DEBUG === 'true';
14
+
15
+ /**
16
+ * Topic-specific query patterns
17
+ */
18
+ const TOPIC_PATTERNS = [
19
+ // "How do I use X in Y?"
20
+ /how (?:do i|to|can i) (?:use|implement|add|setup|configure) (?:the )?(.+?) (?:in|with|for) (.+)/i,
21
+
22
+ // "Y X strategies/patterns" - e.g., "Next.js caching strategies"
23
+ /(.+?) (.+?) (?:strategies|patterns|techniques|methods|approaches)/i,
24
+
25
+ // "X Y documentation" or "Y X docs"
26
+ /(.+?) (.+?) (?:documentation|docs|guide|tutorial)/i,
27
+
28
+ // "Using X with Y"
29
+ /using (.+?) (?:with|in|for) (.+)/i,
30
+
31
+ // "Y X guide/implementation/setup"
32
+ /(.+?) (.+?) (?:guide|implementation|setup|configuration)/i,
33
+
34
+ // "Implement X in Y"
35
+ /implement(?:ing)? (.+?) (?:in|with|for|using) (.+)/i,
36
+ ];
37
+
38
+ /**
39
+ * General library query patterns (non-topic specific)
40
+ */
41
+ const GENERAL_PATTERNS = [
42
+ /(?:documentation|docs) for (.+)/i,
43
+ /(.+?) (?:getting started|quick ?start|introduction)/i,
44
+ /(?:how to use|learn) (.+)/i,
45
+ /(.+?) (?:api reference|overview|basics)/i,
46
+ ];
47
+
48
+ /**
49
+ * Normalize topic keyword
50
+ * @param {string} topic - Raw topic string
51
+ * @returns {string} Normalized topic keyword
52
+ */
53
+ function normalizeTopic(topic) {
54
+ return topic
55
+ .toLowerCase()
56
+ .trim()
57
+ .replace(/[^a-z0-9\s-]/g, '') // Remove special chars
58
+ .replace(/\s+/g, '-') // Replace spaces with hyphens
59
+ .split('-')[0] // Take first word for multi-word topics
60
+ .slice(0, 20); // Limit length
61
+ }
62
+
63
+ /**
64
+ * Normalize library name
65
+ * @param {string} library - Raw library string
66
+ * @returns {string} Normalized library name
67
+ */
68
+ function normalizeLibrary(library) {
69
+ return library
70
+ .toLowerCase()
71
+ .trim()
72
+ .replace(/[^a-z0-9\s\-\/\.]/g, '')
73
+ .replace(/\s+/g, '-');
74
+ }
75
+
76
+ /**
77
+ * Detect if query is topic-specific or general
78
+ * @param {string} query - User query
79
+ * @returns {Object|null} Topic info or null for general query
80
+ */
81
+ function detectTopic(query) {
82
+ if (!query || typeof query !== 'string') {
83
+ return null;
84
+ }
85
+
86
+ const trimmedQuery = query.trim();
87
+
88
+ // Check general patterns first
89
+ for (const pattern of GENERAL_PATTERNS) {
90
+ const match = trimmedQuery.match(pattern);
91
+ if (match) {
92
+ if (DEBUG) console.error('[DEBUG] Matched general pattern, no topic');
93
+ return null;
94
+ }
95
+ }
96
+
97
+ // Check topic-specific patterns
98
+ for (let i = 0; i < TOPIC_PATTERNS.length; i++) {
99
+ const pattern = TOPIC_PATTERNS[i];
100
+ const match = trimmedQuery.match(pattern);
101
+ if (match) {
102
+ const [, term1, term2] = match;
103
+
104
+ // Determine which is library and which is topic based on pattern
105
+ let topic, library;
106
+
107
+ // Pattern 0: "How do I use X in Y?" -> X is topic, Y is library
108
+ // Pattern 1: "Y X strategies" -> X is topic, Y is library
109
+ // Pattern 2-5: X is topic, Y is library in most cases
110
+
111
+ // For pattern 1 (strategies/patterns), term1 is library, term2 is topic
112
+ if (i === 1) {
113
+ topic = normalizeTopic(term2);
114
+ library = normalizeLibrary(term1);
115
+ } else {
116
+ // For other patterns, term1 is topic, term2 is library
117
+ topic = normalizeTopic(term1);
118
+ library = normalizeLibrary(term2);
119
+ }
120
+
121
+ if (DEBUG) {
122
+ console.error('[DEBUG] Matched topic pattern');
123
+ console.error('[DEBUG] Topic:', topic);
124
+ console.error('[DEBUG] Library:', library);
125
+ }
126
+
127
+ return {
128
+ query: trimmedQuery,
129
+ topic,
130
+ library,
131
+ isTopicSpecific: true,
132
+ };
133
+ }
134
+ }
135
+
136
+ if (DEBUG) console.error('[DEBUG] No pattern matched, treating as general');
137
+ return null;
138
+ }
139
+
140
+ /**
141
+ * CLI entry point
142
+ */
143
+ function main() {
144
+ const args = process.argv.slice(2);
145
+
146
+ if (args.length === 0) {
147
+ console.error('Usage: node detect-topic.js "<user query>"');
148
+ process.exit(1);
149
+ }
150
+
151
+ const query = args.join(' ');
152
+ const result = detectTopic(query);
153
+
154
+ if (result) {
155
+ console.log(JSON.stringify(result, null, 2));
156
+ process.exit(0);
157
+ } else {
158
+ console.log(JSON.stringify({ isTopicSpecific: false }, null, 2));
159
+ process.exit(0);
160
+ }
161
+ }
162
+
163
+ // Run if called directly
164
+ if (require.main === module) {
165
+ main();
166
+ }
167
+
168
+ module.exports = {
169
+ detectTopic,
170
+ normalizeTopic,
171
+ normalizeLibrary,
172
+ };