@macpaw/cctk 1.0.0-beta.1

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 (415) hide show
  1. package/License +21 -0
  2. package/README.md +142 -0
  3. package/bin/index.js +5 -0
  4. package/dist/index.js +1 -0
  5. package/package.json +65 -0
  6. package/templates/claude/agents/brainstormer.md +113 -0
  7. package/templates/claude/agents/code-reviewer.md +157 -0
  8. package/templates/claude/agents/copywriter.md +110 -0
  9. package/templates/claude/agents/database-admin.md +92 -0
  10. package/templates/claude/agents/debugger.md +137 -0
  11. package/templates/claude/agents/docs-manager.md +208 -0
  12. package/templates/claude/agents/fullstack-developer.md +95 -0
  13. package/templates/claude/agents/git-manager.md +394 -0
  14. package/templates/claude/agents/journal-writer.md +113 -0
  15. package/templates/claude/agents/mcp-manager.md +89 -0
  16. package/templates/claude/agents/planner.md +108 -0
  17. package/templates/claude/agents/project-manager.md +125 -0
  18. package/templates/claude/agents/registry.json +304 -0
  19. package/templates/claude/agents/researcher.md +37 -0
  20. package/templates/claude/agents/scout-external.md +140 -0
  21. package/templates/claude/agents/scout.md +106 -0
  22. package/templates/claude/agents/tester.md +105 -0
  23. package/templates/claude/agents/ui-ux-designer.md +208 -0
  24. package/templates/claude/commands/ask.md +56 -0
  25. package/templates/claude/commands/bootstrap/auto/fast.md +106 -0
  26. package/templates/claude/commands/bootstrap/auto/parallel.md +64 -0
  27. package/templates/claude/commands/bootstrap/auto.md +110 -0
  28. package/templates/claude/commands/bootstrap.md +130 -0
  29. package/templates/claude/commands/brainstorm.md +75 -0
  30. package/templates/claude/commands/code/auto.md +198 -0
  31. package/templates/claude/commands/code/no-test.md +172 -0
  32. package/templates/claude/commands/code/parallel.md +100 -0
  33. package/templates/claude/commands/code.md +197 -0
  34. package/templates/claude/commands/coding-level.md +37 -0
  35. package/templates/claude/commands/content/cro.md +41 -0
  36. package/templates/claude/commands/content/enhance.md +12 -0
  37. package/templates/claude/commands/content/fast.md +11 -0
  38. package/templates/claude/commands/content/good.md +14 -0
  39. package/templates/claude/commands/cook/auto/fast.md +26 -0
  40. package/templates/claude/commands/cook/auto/parallel.md +49 -0
  41. package/templates/claude/commands/cook/auto.md +15 -0
  42. package/templates/claude/commands/cook.md +101 -0
  43. package/templates/claude/commands/debug.md +13 -0
  44. package/templates/claude/commands/docs/init.md +37 -0
  45. package/templates/claude/commands/docs/summarize.md +22 -0
  46. package/templates/claude/commands/docs/update.md +78 -0
  47. package/templates/claude/commands/fix/ci.md +17 -0
  48. package/templates/claude/commands/fix/fast.md +18 -0
  49. package/templates/claude/commands/fix/hard.md +35 -0
  50. package/templates/claude/commands/fix/logs.md +26 -0
  51. package/templates/claude/commands/fix/parallel.md +54 -0
  52. package/templates/claude/commands/fix/test.md +20 -0
  53. package/templates/claude/commands/fix/types.md +9 -0
  54. package/templates/claude/commands/fix/ui.md +33 -0
  55. package/templates/claude/commands/fix.md +43 -0
  56. package/templates/claude/commands/git/cm.md +5 -0
  57. package/templates/claude/commands/git/cp.md +4 -0
  58. package/templates/claude/commands/git/merge.md +40 -0
  59. package/templates/claude/commands/git/pr.md +50 -0
  60. package/templates/claude/commands/journal.md +7 -0
  61. package/templates/claude/commands/kanban.md +99 -0
  62. package/templates/claude/commands/plan/archive.md +57 -0
  63. package/templates/claude/commands/plan/ci.md +33 -0
  64. package/templates/claude/commands/plan/cro.md +67 -0
  65. package/templates/claude/commands/plan/fast.md +66 -0
  66. package/templates/claude/commands/plan/hard.md +92 -0
  67. package/templates/claude/commands/plan/parallel.md +129 -0
  68. package/templates/claude/commands/plan/two.md +45 -0
  69. package/templates/claude/commands/plan/validate.md +117 -0
  70. package/templates/claude/commands/plan.md +30 -0
  71. package/templates/claude/commands/preview.md +87 -0
  72. package/templates/claude/commands/registry.json +313 -0
  73. package/templates/claude/commands/review/codebase/parallel.md +122 -0
  74. package/templates/claude/commands/review/codebase.md +47 -0
  75. package/templates/claude/commands/scout/ext.md +35 -0
  76. package/templates/claude/commands/scout.md +28 -0
  77. package/templates/claude/commands/skill/add.md +36 -0
  78. package/templates/claude/commands/skill/create.md +29 -0
  79. package/templates/claude/commands/skill/fix-logs.md +22 -0
  80. package/templates/claude/commands/skill/optimize/auto.md +25 -0
  81. package/templates/claude/commands/skill/optimize.md +34 -0
  82. package/templates/claude/commands/skill/plan.md +45 -0
  83. package/templates/claude/commands/test/ui.md +91 -0
  84. package/templates/claude/commands/test.md +8 -0
  85. package/templates/claude/commands/use-mcp.md +34 -0
  86. package/templates/claude/commands/watzup.md +8 -0
  87. package/templates/claude/commands/worktree.md +126 -0
  88. package/templates/claude/hooks/dev-rules-reminder.cjs +258 -0
  89. package/templates/claude/hooks/docs/README.md +42 -0
  90. package/templates/claude/hooks/lib/cctk-config-utils.cjs +751 -0
  91. package/templates/claude/hooks/lib/cctk-paths.cjs +106 -0
  92. package/templates/claude/hooks/lib/context-tracker.cjs +346 -0
  93. package/templates/claude/hooks/privacy-block.cjs +289 -0
  94. package/templates/claude/hooks/registry.json +77 -0
  95. package/templates/claude/hooks/scout-block/broad-pattern-detector.cjs +293 -0
  96. package/templates/claude/hooks/scout-block/error-formatter.cjs +156 -0
  97. package/templates/claude/hooks/scout-block/path-extractor.cjs +359 -0
  98. package/templates/claude/hooks/scout-block/pattern-matcher.cjs +184 -0
  99. package/templates/claude/hooks/scout-block/vendor/ignore.js +626 -0
  100. package/templates/claude/hooks/scout-block.cjs +167 -0
  101. package/templates/claude/hooks/session-end.cjs +35 -0
  102. package/templates/claude/hooks/session-init.cjs +214 -0
  103. package/templates/claude/hooks/subagent-init.cjs +161 -0
  104. package/templates/claude/hooks/write-compact-marker.cjs +153 -0
  105. package/templates/claude/output-styles/coding-level-1.md +148 -0
  106. package/templates/claude/output-styles/coding-level-2.md +159 -0
  107. package/templates/claude/output-styles/coding-level-3.md +91 -0
  108. package/templates/claude/scripts/README.md +33 -0
  109. package/templates/claude/scripts/generate-catalogs.cjs +318 -0
  110. package/templates/claude/scripts/registry.json +48 -0
  111. package/templates/claude/scripts/set-active-plan.cjs +45 -0
  112. package/templates/claude/scripts/validate-docs.cjs +447 -0
  113. package/templates/claude/scripts/worktree.cjs +658 -0
  114. package/templates/claude/skills/README.md +112 -0
  115. package/templates/claude/skills/ai-artist/SKILL.md +75 -0
  116. package/templates/claude/skills/ai-artist/references/advanced-techniques.md +184 -0
  117. package/templates/claude/skills/ai-artist/references/domain-code.md +66 -0
  118. package/templates/claude/skills/ai-artist/references/domain-data.md +72 -0
  119. package/templates/claude/skills/ai-artist/references/domain-marketing.md +66 -0
  120. package/templates/claude/skills/ai-artist/references/domain-patterns.md +33 -0
  121. package/templates/claude/skills/ai-artist/references/domain-writing.md +68 -0
  122. package/templates/claude/skills/ai-artist/references/image-prompting.md +141 -0
  123. package/templates/claude/skills/ai-artist/references/llm-prompting.md +165 -0
  124. package/templates/claude/skills/ai-artist/references/nano-banana.md +59 -0
  125. package/templates/claude/skills/ai-artist/references/reasoning-techniques.md +201 -0
  126. package/templates/claude/skills/backend-development/SKILL.md +95 -0
  127. package/templates/claude/skills/backend-development/references/backend-api-design.md +495 -0
  128. package/templates/claude/skills/backend-development/references/backend-architecture.md +454 -0
  129. package/templates/claude/skills/backend-development/references/backend-authentication.md +338 -0
  130. package/templates/claude/skills/backend-development/references/backend-code-quality.md +659 -0
  131. package/templates/claude/skills/backend-development/references/backend-debugging.md +904 -0
  132. package/templates/claude/skills/backend-development/references/backend-devops.md +494 -0
  133. package/templates/claude/skills/backend-development/references/backend-mindset.md +387 -0
  134. package/templates/claude/skills/backend-development/references/backend-performance.md +397 -0
  135. package/templates/claude/skills/backend-development/references/backend-security.md +290 -0
  136. package/templates/claude/skills/backend-development/references/backend-technologies.md +256 -0
  137. package/templates/claude/skills/backend-development/references/backend-testing.md +429 -0
  138. package/templates/claude/skills/better-auth/SKILL.md +204 -0
  139. package/templates/claude/skills/better-auth/references/advanced-features.md +553 -0
  140. package/templates/claude/skills/better-auth/references/database-integration.md +577 -0
  141. package/templates/claude/skills/better-auth/references/email-password-auth.md +416 -0
  142. package/templates/claude/skills/better-auth/references/oauth-providers.md +430 -0
  143. package/templates/claude/skills/better-auth/scripts/better_auth_init.py +521 -0
  144. package/templates/claude/skills/chrome-devtools/SKILL.md +473 -0
  145. package/templates/claude/skills/chrome-devtools/references/cdp-domains.md +694 -0
  146. package/templates/claude/skills/chrome-devtools/references/performance-guide.md +940 -0
  147. package/templates/claude/skills/chrome-devtools/references/puppeteer-reference.md +953 -0
  148. package/templates/claude/skills/chrome-devtools/scripts/README.md +288 -0
  149. package/templates/claude/skills/chrome-devtools/scripts/aria-snapshot.js +368 -0
  150. package/templates/claude/skills/chrome-devtools/scripts/click.js +92 -0
  151. package/templates/claude/skills/chrome-devtools/scripts/console.js +85 -0
  152. package/templates/claude/skills/chrome-devtools/scripts/evaluate.js +59 -0
  153. package/templates/claude/skills/chrome-devtools/scripts/fill.js +84 -0
  154. package/templates/claude/skills/chrome-devtools/scripts/inject-auth.js +247 -0
  155. package/templates/claude/skills/chrome-devtools/scripts/install-deps.sh +11 -0
  156. package/templates/claude/skills/chrome-devtools/scripts/install.sh +36 -0
  157. package/templates/claude/skills/chrome-devtools/scripts/lib/browser.js +335 -0
  158. package/templates/claude/skills/chrome-devtools/scripts/lib/selector.js +183 -0
  159. package/templates/claude/skills/chrome-devtools/scripts/navigate.js +60 -0
  160. package/templates/claude/skills/chrome-devtools/scripts/network.js +113 -0
  161. package/templates/claude/skills/chrome-devtools/scripts/package.json +16 -0
  162. package/templates/claude/skills/chrome-devtools/scripts/performance.js +159 -0
  163. package/templates/claude/skills/chrome-devtools/scripts/screenshot.js +212 -0
  164. package/templates/claude/skills/chrome-devtools/scripts/select-ref.js +151 -0
  165. package/templates/claude/skills/chrome-devtools/scripts/snapshot.js +143 -0
  166. package/templates/claude/skills/chrome-devtools/scripts/ws-debug.js +47 -0
  167. package/templates/claude/skills/chrome-devtools/scripts/ws-full-debug.js +115 -0
  168. package/templates/claude/skills/claude-code/references/advanced-features.md +399 -0
  169. package/templates/claude/skills/claude-code/references/agent-skills.md +399 -0
  170. package/templates/claude/skills/claude-code/references/api-reference.md +498 -0
  171. package/templates/claude/skills/claude-code/references/best-practices.md +447 -0
  172. package/templates/claude/skills/claude-code/references/cicd-integration.md +428 -0
  173. package/templates/claude/skills/claude-code/references/common-workflows.md +107 -0
  174. package/templates/claude/skills/claude-code/references/configuration.md +480 -0
  175. package/templates/claude/skills/claude-code/references/enterprise-features.md +472 -0
  176. package/templates/claude/skills/claude-code/references/getting-started.md +244 -0
  177. package/templates/claude/skills/claude-code/references/hooks-and-plugins.md +444 -0
  178. package/templates/claude/skills/claude-code/references/hooks-comprehensive.md +622 -0
  179. package/templates/claude/skills/claude-code/references/ide-integration.md +316 -0
  180. package/templates/claude/skills/claude-code/references/mcp-integration.md +386 -0
  181. package/templates/claude/skills/claude-code/references/slash-commands.md +460 -0
  182. package/templates/claude/skills/claude-code/references/troubleshooting.md +455 -0
  183. package/templates/claude/skills/claude-code/skill.md +60 -0
  184. package/templates/claude/skills/code-review/SKILL.md +143 -0
  185. package/templates/claude/skills/code-review/references/code-review-reception.md +209 -0
  186. package/templates/claude/skills/code-review/references/requesting-code-review.md +105 -0
  187. package/templates/claude/skills/code-review/references/verification-before-completion.md +139 -0
  188. package/templates/claude/skills/context-engineering/SKILL.md +86 -0
  189. package/templates/claude/skills/context-engineering/references/context-compression.md +84 -0
  190. package/templates/claude/skills/context-engineering/references/context-degradation.md +93 -0
  191. package/templates/claude/skills/context-engineering/references/context-fundamentals.md +75 -0
  192. package/templates/claude/skills/context-engineering/references/context-optimization.md +82 -0
  193. package/templates/claude/skills/context-engineering/references/evaluation.md +89 -0
  194. package/templates/claude/skills/context-engineering/references/memory-systems.md +88 -0
  195. package/templates/claude/skills/context-engineering/references/multi-agent-patterns.md +90 -0
  196. package/templates/claude/skills/context-engineering/references/project-development.md +97 -0
  197. package/templates/claude/skills/context-engineering/references/tool-design.md +86 -0
  198. package/templates/claude/skills/context-engineering/scripts/compression_evaluator.py +329 -0
  199. package/templates/claude/skills/context-engineering/scripts/context_analyzer.py +294 -0
  200. package/templates/claude/skills/databases/SKILL.md +232 -0
  201. package/templates/claude/skills/databases/references/mongodb-aggregation.md +447 -0
  202. package/templates/claude/skills/databases/references/mongodb-atlas.md +465 -0
  203. package/templates/claude/skills/databases/references/mongodb-crud.md +408 -0
  204. package/templates/claude/skills/databases/references/mongodb-indexing.md +442 -0
  205. package/templates/claude/skills/databases/references/postgresql-administration.md +594 -0
  206. package/templates/claude/skills/databases/references/postgresql-performance.md +527 -0
  207. package/templates/claude/skills/databases/references/postgresql-psql-cli.md +467 -0
  208. package/templates/claude/skills/databases/references/postgresql-queries.md +475 -0
  209. package/templates/claude/skills/databases/scripts/db_backup.py +502 -0
  210. package/templates/claude/skills/databases/scripts/db_migrate.py +414 -0
  211. package/templates/claude/skills/databases/scripts/db_performance_check.py +445 -0
  212. package/templates/claude/skills/debugging/SKILL.md +84 -0
  213. package/templates/claude/skills/debugging/references/defense-in-depth.md +124 -0
  214. package/templates/claude/skills/debugging/references/root-cause-tracing.md +122 -0
  215. package/templates/claude/skills/debugging/references/systematic-debugging.md +102 -0
  216. package/templates/claude/skills/debugging/references/verification.md +123 -0
  217. package/templates/claude/skills/debugging/scripts/find-polluter.sh +63 -0
  218. package/templates/claude/skills/debugging/scripts/find-polluter.test.md +102 -0
  219. package/templates/claude/skills/devops/SKILL.md +293 -0
  220. package/templates/claude/skills/devops/references/browser-rendering.md +305 -0
  221. package/templates/claude/skills/devops/references/cloudflare-d1-kv.md +123 -0
  222. package/templates/claude/skills/devops/references/cloudflare-platform.md +271 -0
  223. package/templates/claude/skills/devops/references/cloudflare-r2-storage.md +280 -0
  224. package/templates/claude/skills/devops/references/cloudflare-workers-advanced.md +312 -0
  225. package/templates/claude/skills/devops/references/cloudflare-workers-apis.md +309 -0
  226. package/templates/claude/skills/devops/references/cloudflare-workers-basics.md +418 -0
  227. package/templates/claude/skills/devops/references/docker-basics.md +297 -0
  228. package/templates/claude/skills/devops/references/docker-compose.md +292 -0
  229. package/templates/claude/skills/devops/references/gcloud-platform.md +307 -0
  230. package/templates/claude/skills/devops/references/gcloud-services.md +304 -0
  231. package/templates/claude/skills/devops/scripts/cloudflare_deploy.py +269 -0
  232. package/templates/claude/skills/devops/scripts/docker_optimize.py +320 -0
  233. package/templates/claude/skills/docs-seeker/SKILL.md +95 -0
  234. package/templates/claude/skills/docs-seeker/package.json +24 -0
  235. package/templates/claude/skills/docs-seeker/references/advanced.md +78 -0
  236. package/templates/claude/skills/docs-seeker/references/context7-patterns.md +68 -0
  237. package/templates/claude/skills/docs-seeker/references/errors.md +68 -0
  238. package/templates/claude/skills/docs-seeker/scripts/analyze-llms-txt.js +245 -0
  239. package/templates/claude/skills/docs-seeker/scripts/detect-topic.js +172 -0
  240. package/templates/claude/skills/docs-seeker/scripts/fetch-docs.js +212 -0
  241. package/templates/claude/skills/docs-seeker/workflows/library-search.md +87 -0
  242. package/templates/claude/skills/docs-seeker/workflows/repo-analysis.md +91 -0
  243. package/templates/claude/skills/docs-seeker/workflows/topic-search.md +77 -0
  244. package/templates/claude/skills/frontend-design/SKILL.md +85 -0
  245. package/templates/claude/skills/frontend-design/references/analysis-best-practices.md +80 -0
  246. package/templates/claude/skills/frontend-design/references/analysis-prompts.md +141 -0
  247. package/templates/claude/skills/frontend-design/references/analysis-techniques.md +118 -0
  248. package/templates/claude/skills/frontend-design/references/animejs.md +396 -0
  249. package/templates/claude/skills/frontend-design/references/design-extraction-overview.md +71 -0
  250. package/templates/claude/skills/frontend-design/references/extraction-best-practices.md +141 -0
  251. package/templates/claude/skills/frontend-design/references/extraction-output-templates.md +162 -0
  252. package/templates/claude/skills/frontend-design/references/extraction-prompts.md +127 -0
  253. package/templates/claude/skills/frontend-design/references/technical-accessibility.md +119 -0
  254. package/templates/claude/skills/frontend-design/references/technical-best-practices.md +97 -0
  255. package/templates/claude/skills/frontend-design/references/technical-optimization.md +44 -0
  256. package/templates/claude/skills/frontend-design/references/technical-overview.md +90 -0
  257. package/templates/claude/skills/frontend-design/references/technical-workflows.md +150 -0
  258. package/templates/claude/skills/frontend-design/references/visual-analysis-overview.md +95 -0
  259. package/templates/claude/skills/frontend-development/SKILL.md +399 -0
  260. package/templates/claude/skills/frontend-development/resources/common-patterns.md +331 -0
  261. package/templates/claude/skills/frontend-development/resources/complete-examples.md +872 -0
  262. package/templates/claude/skills/frontend-development/resources/component-patterns.md +502 -0
  263. package/templates/claude/skills/frontend-development/resources/data-fetching.md +767 -0
  264. package/templates/claude/skills/frontend-development/resources/file-organization.md +502 -0
  265. package/templates/claude/skills/frontend-development/resources/loading-and-error-states.md +501 -0
  266. package/templates/claude/skills/frontend-development/resources/performance.md +406 -0
  267. package/templates/claude/skills/frontend-development/resources/routing-guide.md +364 -0
  268. package/templates/claude/skills/frontend-development/resources/styling-guide.md +428 -0
  269. package/templates/claude/skills/frontend-development/resources/typescript-standards.md +418 -0
  270. package/templates/claude/skills/markdown-novel-viewer/SKILL.md +272 -0
  271. package/templates/claude/skills/markdown-novel-viewer/assets/directory-browser.css +215 -0
  272. package/templates/claude/skills/markdown-novel-viewer/assets/favicon.png +0 -0
  273. package/templates/claude/skills/markdown-novel-viewer/assets/novel-theme.css +872 -0
  274. package/templates/claude/skills/markdown-novel-viewer/assets/reader.js +378 -0
  275. package/templates/claude/skills/markdown-novel-viewer/assets/template.html +85 -0
  276. package/templates/claude/skills/markdown-novel-viewer/package.json +15 -0
  277. package/templates/claude/skills/markdown-novel-viewer/scripts/lib/http-server.cjs +434 -0
  278. package/templates/claude/skills/markdown-novel-viewer/scripts/lib/markdown-renderer.cjs +335 -0
  279. package/templates/claude/skills/markdown-novel-viewer/scripts/lib/plan-navigator.cjs +509 -0
  280. package/templates/claude/skills/markdown-novel-viewer/scripts/lib/port-finder.cjs +49 -0
  281. package/templates/claude/skills/markdown-novel-viewer/scripts/lib/process-mgr.cjs +150 -0
  282. package/templates/claude/skills/markdown-novel-viewer/scripts/server.cjs +398 -0
  283. package/templates/claude/skills/mcp-builder/SKILL.md +328 -0
  284. package/templates/claude/skills/mcp-builder/reference/evaluation.md +602 -0
  285. package/templates/claude/skills/mcp-builder/reference/mcp_best_practices.md +915 -0
  286. package/templates/claude/skills/mcp-builder/reference/node_mcp_server.md +916 -0
  287. package/templates/claude/skills/mcp-builder/reference/python_mcp_server.md +752 -0
  288. package/templates/claude/skills/mcp-builder/scripts/connections.py +151 -0
  289. package/templates/claude/skills/mcp-builder/scripts/evaluation.py +381 -0
  290. package/templates/claude/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
  291. package/templates/claude/skills/mcp-builder/scripts/requirements.txt +2 -0
  292. package/templates/claude/skills/mcp-management/README.md +219 -0
  293. package/templates/claude/skills/mcp-management/SKILL.md +209 -0
  294. package/templates/claude/skills/mcp-management/assets/tools.json +3146 -0
  295. package/templates/claude/skills/mcp-management/references/configuration.md +114 -0
  296. package/templates/claude/skills/mcp-management/references/gemini-cli-integration.md +209 -0
  297. package/templates/claude/skills/mcp-management/references/mcp-protocol.md +116 -0
  298. package/templates/claude/skills/mcp-management/scripts/.env.example +10 -0
  299. package/templates/claude/skills/mcp-management/scripts/cli.ts +202 -0
  300. package/templates/claude/skills/mcp-management/scripts/mcp-client.ts +247 -0
  301. package/templates/claude/skills/mcp-management/scripts/package.json +20 -0
  302. package/templates/claude/skills/mcp-management/scripts/tsconfig.json +15 -0
  303. package/templates/claude/skills/media-processing/SKILL.md +91 -0
  304. package/templates/claude/skills/media-processing/references/common-workflows.md +132 -0
  305. package/templates/claude/skills/media-processing/references/ffmpeg-encoding.md +358 -0
  306. package/templates/claude/skills/media-processing/references/ffmpeg-filters.md +503 -0
  307. package/templates/claude/skills/media-processing/references/ffmpeg-streaming.md +395 -0
  308. package/templates/claude/skills/media-processing/references/format-compatibility.md +375 -0
  309. package/templates/claude/skills/media-processing/references/imagemagick-batch.md +612 -0
  310. package/templates/claude/skills/media-processing/references/imagemagick-editing.md +623 -0
  311. package/templates/claude/skills/media-processing/references/rmbg-background-removal.md +66 -0
  312. package/templates/claude/skills/media-processing/references/troubleshooting.md +109 -0
  313. package/templates/claude/skills/media-processing/scripts/README.md +102 -0
  314. package/templates/claude/skills/media-processing/scripts/batch-remove-background.sh +124 -0
  315. package/templates/claude/skills/media-processing/scripts/batch_resize.py +342 -0
  316. package/templates/claude/skills/media-processing/scripts/media_convert.py +311 -0
  317. package/templates/claude/skills/media-processing/scripts/remove-background.sh +96 -0
  318. package/templates/claude/skills/media-processing/scripts/remove-bg-node.js +181 -0
  319. package/templates/claude/skills/mermaidjs-v11/SKILL.md +115 -0
  320. package/templates/claude/skills/mermaidjs-v11/references/cli-usage.md +228 -0
  321. package/templates/claude/skills/mermaidjs-v11/references/configuration.md +232 -0
  322. package/templates/claude/skills/mermaidjs-v11/references/diagram-types.md +315 -0
  323. package/templates/claude/skills/mermaidjs-v11/references/examples.md +344 -0
  324. package/templates/claude/skills/mermaidjs-v11/references/integration.md +310 -0
  325. package/templates/claude/skills/planning/SKILL.md +115 -0
  326. package/templates/claude/skills/planning/references/codebase-understanding.md +62 -0
  327. package/templates/claude/skills/planning/references/output-standards.md +127 -0
  328. package/templates/claude/skills/planning/references/plan-organization.md +150 -0
  329. package/templates/claude/skills/planning/references/research-phase.md +49 -0
  330. package/templates/claude/skills/planning/references/solution-design.md +63 -0
  331. package/templates/claude/skills/plans-kanban/SKILL.md +157 -0
  332. package/templates/claude/skills/plans-kanban/assets/dashboard-template.html +119 -0
  333. package/templates/claude/skills/plans-kanban/assets/dashboard.css +1594 -0
  334. package/templates/claude/skills/plans-kanban/assets/dashboard.js +659 -0
  335. package/templates/claude/skills/plans-kanban/assets/favicon.png +0 -0
  336. package/templates/claude/skills/plans-kanban/package.json +13 -0
  337. package/templates/claude/skills/plans-kanban/scripts/lib/dashboard-renderer.cjs +941 -0
  338. package/templates/claude/skills/plans-kanban/scripts/lib/http-server.cjs +310 -0
  339. package/templates/claude/skills/plans-kanban/scripts/lib/plan-metadata-extractor.cjs +489 -0
  340. package/templates/claude/skills/plans-kanban/scripts/lib/plan-parser.cjs +194 -0
  341. package/templates/claude/skills/plans-kanban/scripts/lib/plan-scanner.cjs +277 -0
  342. package/templates/claude/skills/plans-kanban/scripts/lib/port-finder.cjs +49 -0
  343. package/templates/claude/skills/plans-kanban/scripts/lib/process-mgr.cjs +128 -0
  344. package/templates/claude/skills/plans-kanban/scripts/server.cjs +249 -0
  345. package/templates/claude/skills/problem-solving/SKILL.md +96 -0
  346. package/templates/claude/skills/problem-solving/references/attribution.md +69 -0
  347. package/templates/claude/skills/problem-solving/references/collision-zone-thinking.md +79 -0
  348. package/templates/claude/skills/problem-solving/references/inversion-exercise.md +91 -0
  349. package/templates/claude/skills/problem-solving/references/meta-pattern-recognition.md +87 -0
  350. package/templates/claude/skills/problem-solving/references/scale-game.md +95 -0
  351. package/templates/claude/skills/problem-solving/references/simplification-cascades.md +80 -0
  352. package/templates/claude/skills/problem-solving/references/when-stuck.md +72 -0
  353. package/templates/claude/skills/registry.json +258 -0
  354. package/templates/claude/skills/repomix/SKILL.md +247 -0
  355. package/templates/claude/skills/repomix/references/configuration.md +211 -0
  356. package/templates/claude/skills/repomix/references/usage-patterns.md +232 -0
  357. package/templates/claude/skills/repomix/scripts/README.md +179 -0
  358. package/templates/claude/skills/repomix/scripts/repomix_batch.py +455 -0
  359. package/templates/claude/skills/repomix/scripts/repos.example.json +15 -0
  360. package/templates/claude/skills/research/SKILL.md +168 -0
  361. package/templates/claude/skills/sequential-thinking/.env.example +8 -0
  362. package/templates/claude/skills/sequential-thinking/README.md +183 -0
  363. package/templates/claude/skills/sequential-thinking/SKILL.md +94 -0
  364. package/templates/claude/skills/sequential-thinking/package.json +31 -0
  365. package/templates/claude/skills/sequential-thinking/references/advanced-strategies.md +79 -0
  366. package/templates/claude/skills/sequential-thinking/references/advanced-techniques.md +76 -0
  367. package/templates/claude/skills/sequential-thinking/references/core-patterns.md +95 -0
  368. package/templates/claude/skills/sequential-thinking/references/examples-api.md +88 -0
  369. package/templates/claude/skills/sequential-thinking/references/examples-architecture.md +94 -0
  370. package/templates/claude/skills/sequential-thinking/references/examples-debug.md +90 -0
  371. package/templates/claude/skills/sequential-thinking/scripts/format-thought.js +182 -0
  372. package/templates/claude/skills/sequential-thinking/scripts/process-thought.js +252 -0
  373. package/templates/claude/skills/skill-creator/LICENSE.txt +202 -0
  374. package/templates/claude/skills/skill-creator/SKILL.md +266 -0
  375. package/templates/claude/skills/skill-creator/references/agent-skills-spec.md +51 -0
  376. package/templates/claude/skills/skill-creator/scripts/encoding_utils.py +21 -0
  377. package/templates/claude/skills/skill-creator/scripts/init_skill.py +304 -0
  378. package/templates/claude/skills/skill-creator/scripts/package_skill.py +110 -0
  379. package/templates/claude/skills/skill-creator/scripts/quick_validate.py +66 -0
  380. package/templates/claude/skills/template-skill/SKILL.md +6 -0
  381. package/templates/claude/skills/vitest/SKILL.md +595 -0
  382. package/templates/claude/skills/vitest/references/async-patterns.md +82 -0
  383. package/templates/claude/skills/vitest/references/mock-patterns.md +78 -0
  384. package/templates/claude/skills/vitest/references/monorepo-setup.md +185 -0
  385. package/templates/claude/skills/vitest/references/turborepo-setup.md +332 -0
  386. package/templates/claude/skills/web-frameworks/SKILL.md +324 -0
  387. package/templates/claude/skills/web-frameworks/references/nextjs-app-router.md +465 -0
  388. package/templates/claude/skills/web-frameworks/references/nextjs-data-fetching.md +459 -0
  389. package/templates/claude/skills/web-frameworks/references/nextjs-optimization.md +511 -0
  390. package/templates/claude/skills/web-frameworks/references/nextjs-server-components.md +495 -0
  391. package/templates/claude/skills/web-frameworks/references/remix-icon-integration.md +603 -0
  392. package/templates/claude/skills/web-frameworks/references/turborepo-caching.md +551 -0
  393. package/templates/claude/skills/web-frameworks/references/turborepo-pipelines.md +517 -0
  394. package/templates/claude/skills/web-frameworks/references/turborepo-setup.md +542 -0
  395. package/templates/claude/skills/web-frameworks/scripts/nextjs_init.py +547 -0
  396. package/templates/claude/skills/web-frameworks/scripts/turborepo_migrate.py +394 -0
  397. package/templates/claude/workflows/development-rules.md +40 -0
  398. package/templates/claude/workflows/documentation-management.md +121 -0
  399. package/templates/claude/workflows/orchestration-protocol.md +16 -0
  400. package/templates/claude/workflows/primary-workflow.md +45 -0
  401. package/templates/claude/workflows/registry.json +37 -0
  402. package/templates/common/.cct.json +41 -0
  403. package/templates/common/.cctkignore +22 -0
  404. package/templates/common/.env.example +39 -0
  405. package/templates/common/.mcp.json.example +16 -0
  406. package/templates/common/metadata.json +15 -0
  407. package/templates/common/settings.json +79 -0
  408. package/templates/common/statusline.cjs +271 -0
  409. package/templates/config/.repomixignore +22 -0
  410. package/templates/config/AGENTS.md +55 -0
  411. package/templates/config/CLAUDE.md +87 -0
  412. package/templates/plans/bug-fix-template.md +69 -0
  413. package/templates/plans/feature-implementation-template.md +84 -0
  414. package/templates/plans/refactor-template.md +82 -0
  415. package/templates/plans/template-usage-guide.md +58 -0
@@ -0,0 +1,320 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Dockerfile Optimization Analyzer
4
+
5
+ Analyzes Dockerfiles for optimization opportunities including multi-stage builds,
6
+ security issues, size reduction, and best practices.
7
+
8
+ Usage:
9
+ python docker-optimize.py Dockerfile
10
+ python docker-optimize.py --json Dockerfile
11
+ python docker-optimize.py --verbose Dockerfile
12
+ """
13
+
14
+ import argparse
15
+ import json
16
+ import re
17
+ import sys
18
+ from pathlib import Path
19
+ from typing import Dict, List, Optional, Tuple
20
+
21
+
22
+ class DockerfileAnalyzer:
23
+ """Analyze Dockerfile for optimization opportunities."""
24
+
25
+ def __init__(self, dockerfile_path: Path, verbose: bool = False):
26
+ """
27
+ Initialize analyzer.
28
+
29
+ Args:
30
+ dockerfile_path: Path to Dockerfile
31
+ verbose: Enable verbose output
32
+ """
33
+ self.dockerfile_path = Path(dockerfile_path)
34
+ self.verbose = verbose
35
+ self.lines = []
36
+ self.issues = []
37
+ self.suggestions = []
38
+
39
+ def load_dockerfile(self) -> bool:
40
+ """
41
+ Load and parse Dockerfile.
42
+
43
+ Returns:
44
+ True if loaded successfully
45
+
46
+ Raises:
47
+ FileNotFoundError: If Dockerfile doesn't exist
48
+ """
49
+ if not self.dockerfile_path.exists():
50
+ raise FileNotFoundError(f"Dockerfile not found: {self.dockerfile_path}")
51
+
52
+ with open(self.dockerfile_path, 'r') as f:
53
+ self.lines = f.readlines()
54
+
55
+ return True
56
+
57
+ def analyze_base_image(self) -> None:
58
+ """Check base image for optimization opportunities."""
59
+ for i, line in enumerate(self.lines, 1):
60
+ line = line.strip()
61
+ if line.startswith('FROM'):
62
+ # Check for 'latest' tag
63
+ if ':latest' in line or (': ' not in line and 'AS' not in line and '@' not in line):
64
+ self.issues.append({
65
+ 'line': i,
66
+ 'severity': 'warning',
67
+ 'category': 'base_image',
68
+ 'message': 'Base image uses :latest or no tag',
69
+ 'suggestion': 'Use specific version tags for reproducibility'
70
+ })
71
+
72
+ # Check for non-alpine/slim variants
73
+ if 'node' in line.lower() and 'alpine' not in line.lower():
74
+ self.suggestions.append({
75
+ 'line': i,
76
+ 'category': 'size',
77
+ 'message': 'Consider using Alpine variant',
78
+ 'suggestion': 'node:20-alpine is ~10x smaller than node:20'
79
+ })
80
+
81
+ def analyze_multi_stage(self) -> None:
82
+ """Check if multi-stage build is used."""
83
+ from_count = sum(1 for line in self.lines if line.strip().startswith('FROM'))
84
+
85
+ if from_count == 1:
86
+ # Check if build tools are installed
87
+ has_build_tools = any(
88
+ any(tool in line.lower() for tool in ['gcc', 'make', 'build-essential', 'npm install', 'pip install'])
89
+ for line in self.lines
90
+ )
91
+
92
+ if has_build_tools:
93
+ self.issues.append({
94
+ 'line': 0,
95
+ 'severity': 'warning',
96
+ 'category': 'optimization',
97
+ 'message': 'Single-stage build with build tools',
98
+ 'suggestion': 'Use multi-stage build to exclude build dependencies from final image'
99
+ })
100
+
101
+ def analyze_layer_caching(self) -> None:
102
+ """Check for optimal layer caching order."""
103
+ copy_lines = []
104
+ run_lines = []
105
+
106
+ for i, line in enumerate(self.lines, 1):
107
+ stripped = line.strip()
108
+ if stripped.startswith('COPY'):
109
+ copy_lines.append((i, stripped))
110
+ elif stripped.startswith('RUN'):
111
+ run_lines.append((i, stripped))
112
+
113
+ # Check if dependency files copied before source
114
+ has_package_copy = any('package.json' in line or 'requirements.txt' in line or 'go.mod' in line
115
+ for _, line in copy_lines)
116
+ has_source_copy = any('COPY . .' in line or 'COPY ./' in line
117
+ for _, line in copy_lines)
118
+
119
+ if has_source_copy and not has_package_copy:
120
+ self.issues.append({
121
+ 'line': 0,
122
+ 'severity': 'warning',
123
+ 'category': 'caching',
124
+ 'message': 'Source copied before dependencies',
125
+ 'suggestion': 'Copy dependency files first (package.json, requirements.txt) then run install, then copy source'
126
+ })
127
+
128
+ def analyze_security(self) -> None:
129
+ """Check for security issues."""
130
+ has_user = any(line.strip().startswith('USER') and 'root' not in line.lower()
131
+ for line in self.lines)
132
+
133
+ if not has_user:
134
+ self.issues.append({
135
+ 'line': 0,
136
+ 'severity': 'error',
137
+ 'category': 'security',
138
+ 'message': 'Container runs as root',
139
+ 'suggestion': 'Create and use non-root user with USER instruction'
140
+ })
141
+
142
+ # Check for secrets in build
143
+ for i, line in enumerate(self.lines, 1):
144
+ if any(secret in line.upper() for secret in ['PASSWORD', 'SECRET', 'TOKEN', 'API_KEY']):
145
+ if 'ENV' in line or 'ARG' in line:
146
+ self.issues.append({
147
+ 'line': i,
148
+ 'severity': 'error',
149
+ 'category': 'security',
150
+ 'message': 'Potential secret in Dockerfile',
151
+ 'suggestion': 'Use build-time arguments or runtime environment variables'
152
+ })
153
+
154
+ def analyze_apt_cache(self) -> None:
155
+ """Check for apt cache cleanup."""
156
+ for i, line in enumerate(self.lines, 1):
157
+ if 'apt-get install' in line.lower() or 'apt install' in line.lower():
158
+ # Check if same RUN command cleans cache
159
+ if 'rm -rf /var/lib/apt/lists/*' not in line:
160
+ self.suggestions.append({
161
+ 'line': i,
162
+ 'category': 'size',
163
+ 'message': 'apt cache not cleaned in same layer',
164
+ 'suggestion': 'Add && rm -rf /var/lib/apt/lists/* to reduce image size'
165
+ })
166
+
167
+ def analyze_combine_run(self) -> None:
168
+ """Check for multiple consecutive RUN commands."""
169
+ consecutive_runs = 0
170
+ first_run_line = 0
171
+
172
+ for i, line in enumerate(self.lines, 1):
173
+ if line.strip().startswith('RUN'):
174
+ if consecutive_runs == 0:
175
+ first_run_line = i
176
+ consecutive_runs += 1
177
+ else:
178
+ if consecutive_runs > 1:
179
+ self.suggestions.append({
180
+ 'line': first_run_line,
181
+ 'category': 'layers',
182
+ 'message': f'{consecutive_runs} consecutive RUN commands',
183
+ 'suggestion': 'Combine related RUN commands with && to reduce layers'
184
+ })
185
+ consecutive_runs = 0
186
+
187
+ def analyze_workdir(self) -> None:
188
+ """Check for WORKDIR usage."""
189
+ has_workdir = any(line.strip().startswith('WORKDIR') for line in self.lines)
190
+
191
+ if not has_workdir:
192
+ self.suggestions.append({
193
+ 'line': 0,
194
+ 'category': 'best_practice',
195
+ 'message': 'No WORKDIR specified',
196
+ 'suggestion': 'Use WORKDIR to set working directory instead of cd commands'
197
+ })
198
+
199
+ def analyze(self) -> Dict:
200
+ """
201
+ Run all analyses.
202
+
203
+ Returns:
204
+ Analysis results dictionary
205
+ """
206
+ self.load_dockerfile()
207
+
208
+ self.analyze_base_image()
209
+ self.analyze_multi_stage()
210
+ self.analyze_layer_caching()
211
+ self.analyze_security()
212
+ self.analyze_apt_cache()
213
+ self.analyze_combine_run()
214
+ self.analyze_workdir()
215
+
216
+ return {
217
+ 'dockerfile': str(self.dockerfile_path),
218
+ 'total_lines': len(self.lines),
219
+ 'issues': self.issues,
220
+ 'suggestions': self.suggestions,
221
+ 'summary': {
222
+ 'errors': len([i for i in self.issues if i.get('severity') == 'error']),
223
+ 'warnings': len([i for i in self.issues if i.get('severity') == 'warning']),
224
+ 'suggestions': len(self.suggestions)
225
+ }
226
+ }
227
+
228
+ def print_results(self, results: Dict) -> None:
229
+ """
230
+ Print analysis results in human-readable format.
231
+
232
+ Args:
233
+ results: Analysis results from analyze()
234
+ """
235
+ print(f"\nDockerfile Analysis: {results['dockerfile']}")
236
+ print(f"Total lines: {results['total_lines']}")
237
+ print(f"\nSummary:")
238
+ print(f" Errors: {results['summary']['errors']}")
239
+ print(f" Warnings: {results['summary']['warnings']}")
240
+ print(f" Suggestions: {results['summary']['suggestions']}")
241
+
242
+ if results['issues']:
243
+ print(f"\n{'='*60}")
244
+ print("ISSUES:")
245
+ print('='*60)
246
+ for issue in results['issues']:
247
+ severity = issue.get('severity', 'info').upper()
248
+ line_info = f"Line {issue['line']}" if issue['line'] > 0 else "General"
249
+ print(f"\n[{severity}] {line_info} - {issue['category']}")
250
+ print(f" {issue['message']}")
251
+ print(f" → {issue['suggestion']}")
252
+
253
+ if results['suggestions']:
254
+ print(f"\n{'='*60}")
255
+ print("SUGGESTIONS:")
256
+ print('='*60)
257
+ for sugg in results['suggestions']:
258
+ line_info = f"Line {sugg['line']}" if sugg['line'] > 0 else "General"
259
+ print(f"\n{line_info} - {sugg['category']}")
260
+ print(f" {sugg['message']}")
261
+ print(f" → {sugg['suggestion']}")
262
+
263
+ print()
264
+
265
+
266
+ def main():
267
+ """CLI entry point."""
268
+ parser = argparse.ArgumentParser(
269
+ description="Analyze Dockerfile for optimization opportunities",
270
+ formatter_class=argparse.RawDescriptionHelpFormatter
271
+ )
272
+
273
+ parser.add_argument(
274
+ "dockerfile",
275
+ type=str,
276
+ help="Path to Dockerfile"
277
+ )
278
+
279
+ parser.add_argument(
280
+ "--json",
281
+ action="store_true",
282
+ help="Output results as JSON"
283
+ )
284
+
285
+ parser.add_argument(
286
+ "--verbose",
287
+ "-v",
288
+ action="store_true",
289
+ help="Enable verbose output"
290
+ )
291
+
292
+ args = parser.parse_args()
293
+
294
+ try:
295
+ analyzer = DockerfileAnalyzer(
296
+ dockerfile_path=args.dockerfile,
297
+ verbose=args.verbose
298
+ )
299
+
300
+ results = analyzer.analyze()
301
+
302
+ if args.json:
303
+ print(json.dumps(results, indent=2))
304
+ else:
305
+ analyzer.print_results(results)
306
+
307
+ # Exit with error code if issues found
308
+ if results['summary']['errors'] > 0:
309
+ sys.exit(1)
310
+
311
+ except FileNotFoundError as e:
312
+ print(f"Error: {e}", file=sys.stderr)
313
+ sys.exit(1)
314
+ except Exception as e:
315
+ print(f"Unexpected error: {e}", file=sys.stderr)
316
+ sys.exit(1)
317
+
318
+
319
+ if __name__ == "__main__":
320
+ main()
@@ -0,0 +1,95 @@
1
+ ---
2
+ name: docs-seeker
3
+ description: "Search technical documentation using executable scripts to detect query type, fetch from llms.txt sources (context7.com), and analyze results. Use when user needs: (1) Topic-specific documentation (features/components/concepts), (2) Library/framework documentation, (3) GitHub repository analysis, (4) Documentation discovery with automated agent distribution strategy"
4
+ version: 3.1.0
5
+ ---
6
+
7
+ # Documentation Discovery via Scripts
8
+
9
+ ## Overview
10
+
11
+ **Script-first** documentation discovery using llms.txt standard.
12
+
13
+ Execute scripts to handle entire workflow - no manual URL construction needed.
14
+
15
+ ## Primary Workflow
16
+
17
+ **ALWAYS execute scripts in this order:**
18
+
19
+ ```bash
20
+ # 1. DETECT query type (topic-specific vs general)
21
+ node scripts/detect-topic.js "<user query>"
22
+
23
+ # 2. FETCH documentation using script output
24
+ node scripts/fetch-docs.js "<user query>"
25
+
26
+ # 3. ANALYZE results (if multiple URLs returned)
27
+ cat llms.txt | node scripts/analyze-llms-txt.js -
28
+ ```
29
+
30
+ Scripts handle URL construction, fallback chains, and error handling automatically.
31
+
32
+ ## Scripts
33
+
34
+ **`detect-topic.js`** - Classify query type
35
+ - Identifies topic-specific vs general queries
36
+ - Extracts library name + topic keyword
37
+ - Returns JSON: `{topic, library, isTopicSpecific}`
38
+ - Zero-token execution
39
+
40
+ **`fetch-docs.js`** - Retrieve documentation
41
+ - Constructs context7.com URLs automatically
42
+ - Handles fallback: topic → general → error
43
+ - Outputs llms.txt content or error message
44
+ - Zero-token execution
45
+
46
+ **`analyze-llms-txt.js`** - Process llms.txt
47
+ - Categorizes URLs (critical/important/supplementary)
48
+ - Recommends agent distribution (1 agent, 3 agents, 7 agents, phased)
49
+ - Returns JSON with strategy
50
+ - Zero-token execution
51
+
52
+ ## Workflow References
53
+
54
+ **[Topic-Specific Search](./workflows/topic-search.md)** - Fastest path (10-15s)
55
+
56
+ **[General Library Search](./workflows/library-search.md)** - Comprehensive coverage (30-60s)
57
+
58
+ **[Repository Analysis](./workflows/repo-analysis.md)** - Fallback strategy
59
+
60
+ ## References
61
+
62
+ **[context7-patterns.md](./references/context7-patterns.md)** - URL patterns, known repositories
63
+
64
+ **[errors.md](./references/errors.md)** - Error handling, fallback strategies
65
+
66
+ **[advanced.md](./references/advanced.md)** - Edge cases, versioning, multi-language
67
+
68
+ ## Execution Principles
69
+
70
+ 1. **Scripts first** - Execute scripts instead of manual URL construction
71
+ 2. **Zero-token overhead** - Scripts run without context loading
72
+ 3. **Automatic fallback** - Scripts handle topic → general → error chains
73
+ 4. **Progressive disclosure** - Load workflows/references only when needed
74
+ 5. **Agent distribution** - Scripts recommend parallel agent strategy
75
+
76
+ ## Quick Start
77
+
78
+ **Topic query:** "How do I use date picker in shadcn?"
79
+ ```bash
80
+ node scripts/detect-topic.js "<query>" # → {topic, library, isTopicSpecific}
81
+ node scripts/fetch-docs.js "<query>" # → 2-3 URLs
82
+ # Read URLs with WebFetch
83
+ ```
84
+
85
+ **General query:** "Documentation for Next.js"
86
+ ```bash
87
+ node scripts/detect-topic.js "<query>" # → {isTopicSpecific: false}
88
+ node scripts/fetch-docs.js "<query>" # → 8+ URLs
89
+ cat llms.txt | node scripts/analyze-llms-txt.js - # → {totalUrls, distribution}
90
+ # Deploy agents per recommendation
91
+ ```
92
+
93
+ ## Environment
94
+
95
+ Scripts use `process.env.DEBUG=true` for debug output. No API keys required.
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "docs-seeker-scripts",
3
+ "version": "3.0.0",
4
+ "description": "Documentation discovery scripts for docs-seeker skill",
5
+ "private": true,
6
+ "scripts": {
7
+ "test": "node scripts/tests/run-tests.js",
8
+ "test:detect": "node scripts/tests/test-detect-topic.js",
9
+ "test:fetch": "node scripts/tests/test-fetch-docs.js",
10
+ "test:analyze": "node scripts/tests/test-analyze-llms.js"
11
+ },
12
+ "keywords": [
13
+ "documentation",
14
+ "llms.txt",
15
+ "context7",
16
+ "docs-discovery"
17
+ ],
18
+ "license": "MIT",
19
+ "dependencies": {},
20
+ "devDependencies": {},
21
+ "engines": {
22
+ "node": ">=14.0.0"
23
+ }
24
+ }
@@ -0,0 +1,78 @@
1
+ # Advanced Scenarios & Edge Cases
2
+
3
+ ## Multi-Language Documentation
4
+
5
+ **Challenge:** Docs in multiple languages
6
+
7
+ **Approach:**
8
+ 1. Identify target language from user
9
+ 2. Search for language-specific llms.txt
10
+ - `llms-es.txt`, `llms-ja.txt`
11
+ 3. Fallback to English if not found
12
+ 4. Note language limitations in report
13
+
14
+ ## Version-Specific Documentation
15
+
16
+ **Latest (default):**
17
+ - Use base llms.txt URL
18
+ - No version specifier needed
19
+
20
+ **Specific version:**
21
+ ```
22
+ WebSearch: "[library] v[version] llms.txt"
23
+ Check paths:
24
+ - /v2/llms.txt
25
+ - /docs/v2/llms.txt
26
+ - /{version}/llms.txt
27
+
28
+ For repos:
29
+ git checkout v[version] or tags/[version]
30
+ ```
31
+
32
+ ## Framework with Plugins
33
+
34
+ **Challenge:** Core framework + 50 plugins
35
+
36
+ **Strategy:**
37
+ 1. Focus on core framework first
38
+ 2. Ask user which plugins needed
39
+ 3. Launch targeted search for specific plugins
40
+ 4. Note available plugins in report
41
+ 5. Don't document everything upfront
42
+
43
+ ## Documentation Under Construction
44
+
45
+ **Signs:**
46
+ - New release with incomplete docs
47
+ - Many "Coming soon" pages
48
+ - GitHub issues requesting docs
49
+
50
+ **Approach:**
51
+ 1. Note status upfront in report
52
+ 2. Combine available docs + repo analysis
53
+ 3. Check tests/ and examples/ directories
54
+ 4. Clearly mark "inferred from code"
55
+ 5. Link to GitHub issues for updates
56
+
57
+ ## Conflicting Information
58
+
59
+ **When sources disagree:**
60
+ 1. Identify primary official source
61
+ 2. Note version differences
62
+ 3. Present both approaches with context
63
+ 4. Recommend official/latest
64
+ 5. Explain why conflict exists
65
+
66
+ **Priority order:**
67
+ 1. Official docs (latest version)
68
+ 2. Official docs (versioned)
69
+ 3. GitHub README
70
+ 4. Community tutorials
71
+ 5. Stack Overflow
72
+
73
+ ## Rate Limiting
74
+
75
+ **If hitting API limits:**
76
+ - Implement exponential backoff
77
+ - Cache results in session
78
+ - Batch requests where possible
@@ -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