cokit-cli 1.0.4 → 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 (525) hide show
  1. package/package.json +1 -1
  2. package/templates/repo/.github/instructions/ck-backend.instructions.md +28 -15
  3. package/templates/repo/.github/instructions/ck-development.instructions.md +15 -0
  4. package/templates/repo/.github/instructions/ck-frontend-design-pro.instructions.md +58 -0
  5. package/templates/repo/.github/instructions/ck-frontend.instructions.md +20 -7
  6. package/templates/repo/.github/instructions/ck-google-adk-python.instructions.md +242 -0
  7. package/templates/repo/.github/instructions/ck-research.instructions.md +167 -0
  8. package/templates/repo/.github/instructions/ck-testing.instructions.md +18 -13
  9. package/templates/repo/.github/prompts/ck-ask.prompt.md +57 -0
  10. package/templates/repo/.github/prompts/ck-bootstrap-auto-fast.prompt.md +108 -0
  11. package/templates/repo/.github/prompts/ck-bootstrap-auto-parallel.prompt.md +66 -0
  12. package/templates/repo/.github/prompts/ck-bootstrap-auto.prompt.md +114 -0
  13. package/templates/repo/.github/prompts/ck-bootstrap.prompt.md +136 -0
  14. package/templates/repo/.github/prompts/ck-brainstorm.prompt.md +68 -0
  15. package/templates/repo/.github/prompts/ck-ck-help.prompt.md +114 -0
  16. package/templates/repo/.github/prompts/ck-code-auto.prompt.md +171 -0
  17. package/templates/repo/.github/prompts/ck-code-no-test.prompt.md +159 -0
  18. package/templates/repo/.github/prompts/ck-code-parallel.prompt.md +56 -0
  19. package/templates/repo/.github/prompts/ck-code.prompt.md +167 -18
  20. package/templates/repo/.github/prompts/ck-coding-level.prompt.md +54 -0
  21. package/templates/repo/.github/prompts/ck-cook-auto-fast.prompt.md +26 -0
  22. package/templates/repo/.github/prompts/ck-cook-auto-parallel.prompt.md +49 -0
  23. package/templates/repo/.github/prompts/ck-cook-auto.prompt.md +15 -0
  24. package/templates/repo/.github/prompts/ck-cook.prompt.md +96 -0
  25. package/templates/repo/.github/prompts/ck-debug.prompt.md +14 -0
  26. package/templates/repo/.github/prompts/ck-design-3d.prompt.md +84 -0
  27. package/templates/repo/.github/prompts/ck-design-describe.prompt.md +24 -0
  28. package/templates/repo/.github/prompts/ck-design-fast.prompt.md +32 -0
  29. package/templates/repo/.github/prompts/ck-design-good.prompt.md +36 -0
  30. package/templates/repo/.github/prompts/ck-design-screenshot.prompt.md +35 -0
  31. package/templates/repo/.github/prompts/ck-design-video.prompt.md +35 -0
  32. package/templates/repo/.github/prompts/ck-docs-init.prompt.md +27 -0
  33. package/templates/repo/.github/prompts/ck-docs-summarize.prompt.md +23 -0
  34. package/templates/repo/.github/prompts/ck-docs-update.prompt.md +36 -0
  35. package/templates/repo/.github/prompts/ck-fix-ci.prompt.md +18 -0
  36. package/templates/repo/.github/prompts/ck-fix-fast.prompt.md +18 -0
  37. package/templates/repo/.github/prompts/ck-fix-hard.prompt.md +36 -0
  38. package/templates/repo/.github/prompts/ck-fix-logs.prompt.md +27 -0
  39. package/templates/repo/.github/prompts/ck-fix-parallel.prompt.md +54 -0
  40. package/templates/repo/.github/prompts/ck-fix-test.prompt.md +19 -0
  41. package/templates/repo/.github/prompts/ck-fix-types.prompt.md +11 -0
  42. package/templates/repo/.github/prompts/ck-fix-ui.prompt.md +49 -0
  43. package/templates/repo/.github/prompts/ck-fix.prompt.md +36 -16
  44. package/templates/repo/.github/prompts/ck-git-cm.prompt.md +8 -0
  45. package/templates/repo/.github/prompts/ck-git-cp.prompt.md +7 -0
  46. package/templates/repo/.github/prompts/ck-git-merge.prompt.md +41 -0
  47. package/templates/repo/.github/prompts/ck-git-pr.prompt.md +49 -0
  48. package/templates/repo/.github/prompts/ck-kanban.prompt.md +77 -0
  49. package/templates/repo/.github/prompts/ck-plan-archive.prompt.md +58 -0
  50. package/templates/repo/.github/prompts/ck-plan-ci.prompt.md +34 -0
  51. package/templates/repo/.github/prompts/ck-plan-cro.prompt.md +66 -0
  52. package/templates/repo/.github/prompts/ck-plan-fast.prompt.md +67 -0
  53. package/templates/repo/.github/prompts/ck-plan-hard.prompt.md +89 -0
  54. package/templates/repo/.github/prompts/ck-plan-parallel.prompt.md +126 -0
  55. package/templates/repo/.github/prompts/ck-plan-two.prompt.md +43 -0
  56. package/templates/repo/.github/prompts/ck-plan-validate.prompt.md +118 -0
  57. package/templates/repo/.github/prompts/ck-plan.prompt.md +29 -25
  58. package/templates/repo/.github/prompts/ck-preview.prompt.md +65 -0
  59. package/templates/repo/.github/prompts/ck-review-codebase.prompt.md +44 -0
  60. package/templates/repo/.github/prompts/ck-scout-ext.prompt.md +35 -0
  61. package/templates/repo/.github/prompts/ck-scout.prompt.md +25 -0
  62. package/templates/repo/.github/prompts/ck-skill-add.prompt.md +36 -0
  63. package/templates/repo/.github/prompts/ck-skill-create.prompt.md +29 -0
  64. package/templates/repo/.github/prompts/ck-skill-fix-logs.prompt.md +22 -0
  65. package/templates/repo/.github/prompts/ck-skill-optimize-auto.prompt.md +25 -0
  66. package/templates/repo/.github/prompts/ck-skill-optimize.prompt.md +34 -0
  67. package/templates/repo/.github/prompts/ck-skill-plan.prompt.md +46 -0
  68. package/templates/repo/.github/prompts/ck-test-ui.prompt.md +92 -0
  69. package/templates/repo/.github/prompts/ck-test.prompt.md +6 -19
  70. package/templates/repo/.github/prompts/ck-use-mcp.prompt.md +27 -0
  71. package/templates/repo/.github/prompts/ck-watzup.prompt.md +11 -0
  72. package/templates/repo/.github/prompts/ck-worktree.prompt.md +127 -0
  73. package/templates/repo/.github/skills/ck-ai-artist/SKILL.md +73 -0
  74. package/templates/repo/.github/skills/ck-ai-artist/references/advanced-techniques.md +184 -0
  75. package/templates/repo/.github/skills/ck-ai-artist/references/domain-code.md +66 -0
  76. package/templates/repo/.github/skills/ck-ai-artist/references/domain-data.md +72 -0
  77. package/templates/repo/.github/skills/ck-ai-artist/references/domain-marketing.md +66 -0
  78. package/templates/repo/.github/skills/ck-ai-artist/references/domain-patterns.md +33 -0
  79. package/templates/repo/.github/skills/ck-ai-artist/references/domain-writing.md +68 -0
  80. package/templates/repo/.github/skills/ck-ai-artist/references/image-prompting.md +141 -0
  81. package/templates/repo/.github/skills/ck-ai-artist/references/llm-prompting.md +165 -0
  82. package/templates/repo/.github/skills/ck-ai-artist/references/nano-banana.md +59 -0
  83. package/templates/repo/.github/skills/ck-ai-artist/references/reasoning-techniques.md +201 -0
  84. package/templates/repo/.github/skills/ck-backend-development/SKILL.md +93 -0
  85. package/templates/repo/.github/skills/ck-backend-development/references/backend-api-design.md +495 -0
  86. package/templates/repo/.github/skills/ck-backend-development/references/backend-architecture.md +454 -0
  87. package/templates/repo/.github/skills/ck-backend-development/references/backend-authentication.md +338 -0
  88. package/templates/repo/.github/skills/ck-backend-development/references/backend-code-quality.md +659 -0
  89. package/templates/repo/.github/skills/ck-backend-development/references/backend-debugging.md +904 -0
  90. package/templates/repo/.github/skills/ck-backend-development/references/backend-devops.md +494 -0
  91. package/templates/repo/.github/skills/ck-backend-development/references/backend-mindset.md +387 -0
  92. package/templates/repo/.github/skills/ck-backend-development/references/backend-performance.md +397 -0
  93. package/templates/repo/.github/skills/ck-backend-development/references/backend-security.md +290 -0
  94. package/templates/repo/.github/skills/ck-backend-development/references/backend-technologies.md +256 -0
  95. package/templates/repo/.github/skills/ck-backend-development/references/backend-testing.md +429 -0
  96. package/templates/repo/.github/skills/ck-better-auth/SKILL.md +202 -0
  97. package/templates/repo/.github/skills/ck-better-auth/references/advanced-features.md +553 -0
  98. package/templates/repo/.github/skills/ck-better-auth/references/database-integration.md +577 -0
  99. package/templates/repo/.github/skills/ck-better-auth/references/email-password-auth.md +416 -0
  100. package/templates/repo/.github/skills/ck-better-auth/references/oauth-providers.md +430 -0
  101. package/templates/repo/.github/skills/ck-better-auth/scripts/.coverage +0 -0
  102. package/templates/repo/.github/skills/ck-better-auth/scripts/better_auth_init.py +521 -0
  103. package/templates/repo/.github/skills/ck-better-auth/scripts/requirements.txt +15 -0
  104. package/templates/repo/.github/skills/ck-better-auth/scripts/tests/.coverage +0 -0
  105. package/templates/repo/.github/skills/ck-better-auth/scripts/tests/test_better_auth_init.py +421 -0
  106. package/templates/repo/.github/skills/ck-chrome-devtools/SKILL.md +470 -0
  107. package/templates/repo/.github/skills/ck-chrome-devtools/references/cdp-domains.md +694 -0
  108. package/templates/repo/.github/skills/ck-chrome-devtools/references/performance-guide.md +940 -0
  109. package/templates/repo/.github/skills/ck-chrome-devtools/references/puppeteer-reference.md +953 -0
  110. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/README.md +272 -0
  111. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/__tests__/selector.test.js +210 -0
  112. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/aria-snapshot.js +362 -0
  113. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/click.js +83 -0
  114. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/console.js +79 -0
  115. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/evaluate.js +53 -0
  116. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/fill.js +76 -0
  117. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/inject-auth.js +229 -0
  118. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/install-deps.sh +181 -0
  119. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/install.sh +83 -0
  120. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/lib/browser.js +318 -0
  121. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/lib/selector.js +178 -0
  122. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/navigate.js +54 -0
  123. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/network.js +106 -0
  124. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/package-lock.json +1589 -0
  125. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/package.json +16 -0
  126. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/performance.js +149 -0
  127. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/screenshot.js +198 -0
  128. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/select-ref.js +131 -0
  129. package/templates/repo/.github/skills/ck-chrome-devtools/scripts/snapshot.js +135 -0
  130. package/templates/repo/.github/skills/ck-code-review/SKILL.md +130 -33
  131. package/templates/repo/.github/skills/ck-code-review/references/code-review-reception.md +209 -0
  132. package/templates/repo/.github/skills/ck-code-review/references/requesting-code-review.md +105 -0
  133. package/templates/repo/.github/skills/ck-code-review/references/verification-before-completion.md +139 -0
  134. package/templates/repo/.github/skills/ck-databases/SKILL.md +231 -0
  135. package/templates/repo/.github/skills/ck-databases/references/mongodb-aggregation.md +447 -0
  136. package/templates/repo/.github/skills/ck-databases/references/mongodb-atlas.md +465 -0
  137. package/templates/repo/.github/skills/ck-databases/references/mongodb-crud.md +408 -0
  138. package/templates/repo/.github/skills/ck-databases/references/mongodb-indexing.md +442 -0
  139. package/templates/repo/.github/skills/ck-databases/references/postgresql-administration.md +594 -0
  140. package/templates/repo/.github/skills/ck-databases/references/postgresql-performance.md +527 -0
  141. package/templates/repo/.github/skills/ck-databases/references/postgresql-psql-cli.md +467 -0
  142. package/templates/repo/.github/skills/ck-databases/references/postgresql-queries.md +475 -0
  143. package/templates/repo/.github/skills/ck-databases/scripts/.coverage +0 -0
  144. package/templates/repo/.github/skills/ck-databases/scripts/db_backup.py +502 -0
  145. package/templates/repo/.github/skills/ck-databases/scripts/db_migrate.py +425 -0
  146. package/templates/repo/.github/skills/ck-databases/scripts/db_performance_check.py +456 -0
  147. package/templates/repo/.github/skills/ck-databases/scripts/requirements.txt +20 -0
  148. package/templates/repo/.github/skills/ck-databases/scripts/tests/coverage-db.json +1 -0
  149. package/templates/repo/.github/skills/ck-databases/scripts/tests/requirements.txt +4 -0
  150. package/templates/repo/.github/skills/ck-databases/scripts/tests/test_db_backup.py +340 -0
  151. package/templates/repo/.github/skills/ck-databases/scripts/tests/test_db_migrate.py +277 -0
  152. package/templates/repo/.github/skills/ck-databases/scripts/tests/test_db_performance_check.py +370 -0
  153. package/templates/repo/.github/skills/ck-debugging/SKILL.md +70 -22
  154. package/templates/repo/.github/skills/ck-debugging/references/defense-in-depth.md +124 -0
  155. package/templates/repo/.github/skills/ck-debugging/references/root-cause-tracing.md +122 -0
  156. package/templates/repo/.github/skills/ck-debugging/references/systematic-debugging.md +102 -0
  157. package/templates/repo/.github/skills/ck-debugging/references/verification.md +123 -0
  158. package/templates/repo/.github/skills/ck-debugging/scripts/find-polluter.sh +63 -0
  159. package/templates/repo/.github/skills/ck-debugging/scripts/find-polluter.test.md +102 -0
  160. package/templates/repo/.github/skills/ck-devops/.env.example +76 -0
  161. package/templates/repo/.github/skills/ck-devops/SKILL.md +283 -0
  162. package/templates/repo/.github/skills/ck-devops/references/browser-rendering.md +305 -0
  163. package/templates/repo/.github/skills/ck-devops/references/cloudflare-d1-kv.md +123 -0
  164. package/templates/repo/.github/skills/ck-devops/references/cloudflare-platform.md +271 -0
  165. package/templates/repo/.github/skills/ck-devops/references/cloudflare-r2-storage.md +280 -0
  166. package/templates/repo/.github/skills/ck-devops/references/cloudflare-workers-advanced.md +312 -0
  167. package/templates/repo/.github/skills/ck-devops/references/cloudflare-workers-apis.md +309 -0
  168. package/templates/repo/.github/skills/ck-devops/references/cloudflare-workers-basics.md +418 -0
  169. package/templates/repo/.github/skills/ck-devops/references/docker-basics.md +297 -0
  170. package/templates/repo/.github/skills/ck-devops/references/docker-compose.md +292 -0
  171. package/templates/repo/.github/skills/ck-devops/references/gcloud-platform.md +297 -0
  172. package/templates/repo/.github/skills/ck-devops/references/gcloud-services.md +304 -0
  173. package/templates/repo/.github/skills/ck-devops/scripts/cloudflare_deploy.py +269 -0
  174. package/templates/repo/.github/skills/ck-devops/scripts/docker_optimize.py +331 -0
  175. package/templates/repo/.github/skills/ck-devops/scripts/requirements.txt +20 -0
  176. package/templates/repo/.github/skills/ck-devops/scripts/tests/requirements.txt +3 -0
  177. package/templates/repo/.github/skills/ck-devops/scripts/tests/test_cloudflare_deploy.py +285 -0
  178. package/templates/repo/.github/skills/ck-devops/scripts/tests/test_docker_optimize.py +436 -0
  179. package/templates/repo/.github/skills/ck-docs-seeker/.env.example +15 -0
  180. package/templates/repo/.github/skills/ck-docs-seeker/SKILL.md +96 -0
  181. package/templates/repo/.github/skills/ck-docs-seeker/package.json +25 -0
  182. package/templates/repo/.github/skills/ck-docs-seeker/references/advanced.md +79 -0
  183. package/templates/repo/.github/skills/ck-docs-seeker/references/context7-patterns.md +68 -0
  184. package/templates/repo/.github/skills/ck-docs-seeker/references/errors.md +68 -0
  185. package/templates/repo/.github/skills/ck-docs-seeker/references/search-patterns.md +93 -0
  186. package/templates/repo/.github/skills/ck-docs-seeker/references/source-evaluation.md +77 -0
  187. package/templates/repo/.github/skills/ck-docs-seeker/scripts/analyze-llms-txt.js +211 -0
  188. package/templates/repo/.github/skills/ck-docs-seeker/scripts/detect-topic.js +172 -0
  189. package/templates/repo/.github/skills/ck-docs-seeker/scripts/fetch-docs.js +213 -0
  190. package/templates/repo/.github/skills/ck-docs-seeker/scripts/tests/run-tests.js +72 -0
  191. package/templates/repo/.github/skills/ck-docs-seeker/scripts/tests/test-analyze-llms.js +119 -0
  192. package/templates/repo/.github/skills/ck-docs-seeker/scripts/tests/test-detect-topic.js +112 -0
  193. package/templates/repo/.github/skills/ck-docs-seeker/scripts/tests/test-fetch-docs.js +84 -0
  194. package/templates/repo/.github/skills/ck-docs-seeker/scripts/utils/env-loader.js +94 -0
  195. package/templates/repo/.github/skills/ck-docs-seeker/workflows/library-search.md +87 -0
  196. package/templates/repo/.github/skills/ck-docs-seeker/workflows/repo-analysis.md +91 -0
  197. package/templates/repo/.github/skills/ck-docs-seeker/workflows/topic-search.md +77 -0
  198. package/templates/repo/.github/skills/ck-frontend-design/SKILL.md +79 -0
  199. package/templates/repo/.github/skills/ck-frontend-design/references/analysis-best-practices.md +80 -0
  200. package/templates/repo/.github/skills/ck-frontend-design/references/analysis-prompts.md +141 -0
  201. package/templates/repo/.github/skills/ck-frontend-design/references/analysis-techniques.md +118 -0
  202. package/templates/repo/.github/skills/ck-frontend-design/references/animejs.md +396 -0
  203. package/templates/repo/.github/skills/ck-frontend-design/references/design-extraction-overview.md +71 -0
  204. package/templates/repo/.github/skills/ck-frontend-design/references/extraction-best-practices.md +141 -0
  205. package/templates/repo/.github/skills/ck-frontend-design/references/extraction-output-templates.md +162 -0
  206. package/templates/repo/.github/skills/ck-frontend-design/references/extraction-prompts.md +127 -0
  207. package/templates/repo/.github/skills/ck-frontend-design/references/technical-accessibility.md +119 -0
  208. package/templates/repo/.github/skills/ck-frontend-design/references/technical-best-practices.md +97 -0
  209. package/templates/repo/.github/skills/ck-frontend-design/references/technical-optimization.md +44 -0
  210. package/templates/repo/.github/skills/ck-frontend-design/references/technical-overview.md +90 -0
  211. package/templates/repo/.github/skills/ck-frontend-design/references/technical-workflows.md +150 -0
  212. package/templates/repo/.github/skills/ck-frontend-design/references/visual-analysis-overview.md +95 -0
  213. package/templates/repo/.github/skills/ck-frontend-development/SKILL.md +399 -0
  214. package/templates/repo/.github/skills/ck-frontend-development/resources/common-patterns.md +331 -0
  215. package/templates/repo/.github/skills/ck-frontend-development/resources/complete-examples.md +872 -0
  216. package/templates/repo/.github/skills/ck-frontend-development/resources/component-patterns.md +502 -0
  217. package/templates/repo/.github/skills/ck-frontend-development/resources/data-fetching.md +767 -0
  218. package/templates/repo/.github/skills/ck-frontend-development/resources/file-organization.md +502 -0
  219. package/templates/repo/.github/skills/ck-frontend-development/resources/loading-and-error-states.md +501 -0
  220. package/templates/repo/.github/skills/ck-frontend-development/resources/performance.md +406 -0
  221. package/templates/repo/.github/skills/ck-frontend-development/resources/routing-guide.md +364 -0
  222. package/templates/repo/.github/skills/ck-frontend-development/resources/styling-guide.md +428 -0
  223. package/templates/repo/.github/skills/ck-frontend-development/resources/typescript-standards.md +418 -0
  224. package/templates/repo/.github/skills/ck-markdown-novel-viewer/SKILL.md +190 -0
  225. package/templates/repo/.github/skills/ck-markdown-novel-viewer/assets/directory-browser.css +215 -0
  226. package/templates/repo/.github/skills/ck-markdown-novel-viewer/assets/favicon.png +0 -0
  227. package/templates/repo/.github/skills/ck-markdown-novel-viewer/assets/novel-theme.css +818 -0
  228. package/templates/repo/.github/skills/ck-markdown-novel-viewer/assets/reader.js +262 -0
  229. package/templates/repo/.github/skills/ck-markdown-novel-viewer/assets/template.html +80 -0
  230. package/templates/repo/.github/skills/ck-markdown-novel-viewer/package.json +15 -0
  231. package/templates/repo/.github/skills/ck-markdown-novel-viewer/scripts/lib/http-server.cjs +434 -0
  232. package/templates/repo/.github/skills/ck-markdown-novel-viewer/scripts/lib/markdown-renderer.cjs +272 -0
  233. package/templates/repo/.github/skills/ck-markdown-novel-viewer/scripts/lib/plan-navigator.cjs +509 -0
  234. package/templates/repo/.github/skills/ck-markdown-novel-viewer/scripts/lib/port-finder.cjs +48 -0
  235. package/templates/repo/.github/skills/ck-markdown-novel-viewer/scripts/lib/process-mgr.cjs +150 -0
  236. package/templates/repo/.github/skills/ck-markdown-novel-viewer/scripts/server.cjs +411 -0
  237. package/templates/repo/.github/skills/ck-markdown-novel-viewer/scripts/tests/server.test.cjs +283 -0
  238. package/templates/repo/.github/skills/ck-markdown-novel-viewer/tests/dashboard-assets.test.cjs +340 -0
  239. package/templates/repo/.github/skills/ck-markdown-novel-viewer/tests/dashboard-renderer.test.cjs +404 -0
  240. package/templates/repo/.github/skills/ck-markdown-novel-viewer/tests/http-server.test.cjs +271 -0
  241. package/templates/repo/.github/skills/ck-markdown-novel-viewer/tests/run-tests.cjs +51 -0
  242. package/templates/repo/.github/skills/ck-markdown-novel-viewer/tests/test-framework.cjs +154 -0
  243. package/templates/repo/.github/skills/ck-markdown-novel-viewer/tests/verify-xss.cjs +90 -0
  244. package/templates/repo/.github/skills/ck-mcp-builder/LICENSE.txt +202 -0
  245. package/templates/repo/.github/skills/ck-mcp-builder/SKILL.md +327 -0
  246. package/templates/repo/.github/skills/ck-mcp-builder/reference/evaluation.md +602 -0
  247. package/templates/repo/.github/skills/ck-mcp-builder/reference/mcp_best_practices.md +915 -0
  248. package/templates/repo/.github/skills/ck-mcp-builder/reference/node_mcp_server.md +916 -0
  249. package/templates/repo/.github/skills/ck-mcp-builder/reference/python_mcp_server.md +752 -0
  250. package/templates/repo/.github/skills/ck-mcp-builder/scripts/connections.py +151 -0
  251. package/templates/repo/.github/skills/ck-mcp-builder/scripts/evaluation.py +373 -0
  252. package/templates/repo/.github/skills/ck-mcp-builder/scripts/example_evaluation.xml +22 -0
  253. package/templates/repo/.github/skills/ck-mcp-builder/scripts/requirements.txt +2 -0
  254. package/templates/repo/.github/skills/ck-mcp-management/README.md +219 -0
  255. package/templates/repo/.github/skills/ck-mcp-management/SKILL.md +209 -0
  256. package/templates/repo/.github/skills/ck-mcp-management/assets/tools.json +3146 -0
  257. package/templates/repo/.github/skills/ck-mcp-management/references/configuration.md +114 -0
  258. package/templates/repo/.github/skills/ck-mcp-management/references/gemini-cli-integration.md +215 -0
  259. package/templates/repo/.github/skills/ck-mcp-management/references/mcp-protocol.md +116 -0
  260. package/templates/repo/.github/skills/ck-mcp-management/scripts/.env.example +10 -0
  261. package/templates/repo/.github/skills/ck-mcp-management/scripts/cli.ts +195 -0
  262. package/templates/repo/.github/skills/ck-mcp-management/scripts/dist/analyze-tools.js +70 -0
  263. package/templates/repo/.github/skills/ck-mcp-management/scripts/dist/cli.js +160 -0
  264. package/templates/repo/.github/skills/ck-mcp-management/scripts/dist/mcp-client.js +183 -0
  265. package/templates/repo/.github/skills/ck-mcp-management/scripts/mcp-client.ts +230 -0
  266. package/templates/repo/.github/skills/ck-mcp-management/scripts/package.json +20 -0
  267. package/templates/repo/.github/skills/ck-mcp-management/scripts/tsconfig.json +15 -0
  268. package/templates/repo/.github/skills/ck-media-processing/SKILL.md +90 -0
  269. package/templates/repo/.github/skills/ck-media-processing/references/common-workflows.md +132 -0
  270. package/templates/repo/.github/skills/ck-media-processing/references/ffmpeg-encoding.md +358 -0
  271. package/templates/repo/.github/skills/ck-media-processing/references/ffmpeg-filters.md +503 -0
  272. package/templates/repo/.github/skills/ck-media-processing/references/ffmpeg-streaming.md +403 -0
  273. package/templates/repo/.github/skills/ck-media-processing/references/format-compatibility.md +375 -0
  274. package/templates/repo/.github/skills/ck-media-processing/references/imagemagick-batch.md +612 -0
  275. package/templates/repo/.github/skills/ck-media-processing/references/imagemagick-editing.md +623 -0
  276. package/templates/repo/.github/skills/ck-media-processing/references/rmbg-background-removal.md +66 -0
  277. package/templates/repo/.github/skills/ck-media-processing/references/troubleshooting.md +109 -0
  278. package/templates/repo/.github/skills/ck-media-processing/scripts/README.md +111 -0
  279. package/templates/repo/.github/skills/ck-media-processing/scripts/batch-remove-background.sh +124 -0
  280. package/templates/repo/.github/skills/ck-media-processing/scripts/batch_resize.py +342 -0
  281. package/templates/repo/.github/skills/ck-media-processing/scripts/media_convert.py +311 -0
  282. package/templates/repo/.github/skills/ck-media-processing/scripts/remove-background.sh +96 -0
  283. package/templates/repo/.github/skills/ck-media-processing/scripts/remove-bg-node.js +158 -0
  284. package/templates/repo/.github/skills/ck-media-processing/scripts/requirements.txt +24 -0
  285. package/templates/repo/.github/skills/ck-media-processing/scripts/tests/.coverage +0 -0
  286. package/templates/repo/.github/skills/ck-media-processing/scripts/tests/requirements.txt +2 -0
  287. package/templates/repo/.github/skills/ck-media-processing/scripts/tests/test_batch_resize.py +372 -0
  288. package/templates/repo/.github/skills/ck-media-processing/scripts/tests/test_media_convert.py +259 -0
  289. package/templates/repo/.github/skills/ck-media-processing/scripts/tests/test_video_optimize.py +397 -0
  290. package/templates/repo/.github/skills/ck-media-processing/scripts/video_optimize.py +414 -0
  291. package/templates/repo/.github/skills/ck-mobile-development/SKILL.md +210 -0
  292. package/templates/repo/.github/skills/ck-mobile-development/references/mobile-android.md +604 -0
  293. package/templates/repo/.github/skills/ck-mobile-development/references/mobile-best-practices.md +545 -0
  294. package/templates/repo/.github/skills/ck-mobile-development/references/mobile-debugging.md +1089 -0
  295. package/templates/repo/.github/skills/ck-mobile-development/references/mobile-frameworks.md +465 -0
  296. package/templates/repo/.github/skills/ck-mobile-development/references/mobile-ios.md +496 -0
  297. package/templates/repo/.github/skills/ck-mobile-development/references/mobile-mindset.md +544 -0
  298. package/templates/repo/.github/skills/ck-payment-integration/README.md +185 -0
  299. package/templates/repo/.github/skills/ck-payment-integration/SKILL.md +116 -0
  300. package/templates/repo/.github/skills/ck-payment-integration/references/polar/benefits.md +396 -0
  301. package/templates/repo/.github/skills/ck-payment-integration/references/polar/best-practices.md +482 -0
  302. package/templates/repo/.github/skills/ck-payment-integration/references/polar/checkouts.md +266 -0
  303. package/templates/repo/.github/skills/ck-payment-integration/references/polar/overview.md +184 -0
  304. package/templates/repo/.github/skills/ck-payment-integration/references/polar/products.md +244 -0
  305. package/templates/repo/.github/skills/ck-payment-integration/references/polar/sdk.md +436 -0
  306. package/templates/repo/.github/skills/ck-payment-integration/references/polar/subscriptions.md +340 -0
  307. package/templates/repo/.github/skills/ck-payment-integration/references/polar/webhooks.md +405 -0
  308. package/templates/repo/.github/skills/ck-payment-integration/references/sepay/api.md +140 -0
  309. package/templates/repo/.github/skills/ck-payment-integration/references/sepay/best-practices.md +337 -0
  310. package/templates/repo/.github/skills/ck-payment-integration/references/sepay/overview.md +138 -0
  311. package/templates/repo/.github/skills/ck-payment-integration/references/sepay/qr-codes.md +228 -0
  312. package/templates/repo/.github/skills/ck-payment-integration/references/sepay/sdk.md +213 -0
  313. package/templates/repo/.github/skills/ck-payment-integration/references/sepay/webhooks.md +208 -0
  314. package/templates/repo/.github/skills/ck-payment-integration/scripts/.env.example +20 -0
  315. package/templates/repo/.github/skills/ck-payment-integration/scripts/checkout-helper.js +244 -0
  316. package/templates/repo/.github/skills/ck-payment-integration/scripts/package.json +17 -0
  317. package/templates/repo/.github/skills/ck-payment-integration/scripts/polar-webhook-verify.js +202 -0
  318. package/templates/repo/.github/skills/ck-payment-integration/scripts/sepay-webhook-verify.js +193 -0
  319. package/templates/repo/.github/skills/ck-payment-integration/scripts/test-scripts.js +237 -0
  320. package/templates/repo/.github/skills/ck-planning/SKILL.md +112 -0
  321. package/templates/repo/.github/skills/ck-planning/references/codebase-understanding.md +62 -0
  322. package/templates/repo/.github/skills/ck-planning/references/output-standards.md +127 -0
  323. package/templates/repo/.github/skills/ck-planning/references/plan-organization.md +150 -0
  324. package/templates/repo/.github/skills/ck-planning/references/research-phase.md +49 -0
  325. package/templates/repo/.github/skills/ck-planning/references/solution-design.md +63 -0
  326. package/templates/repo/.github/skills/ck-problem-solving/SKILL.md +95 -0
  327. package/templates/repo/.github/skills/ck-problem-solving/references/attribution.md +69 -0
  328. package/templates/repo/.github/skills/ck-problem-solving/references/collision-zone-thinking.md +79 -0
  329. package/templates/repo/.github/skills/ck-problem-solving/references/inversion-exercise.md +91 -0
  330. package/templates/repo/.github/skills/ck-problem-solving/references/meta-pattern-recognition.md +87 -0
  331. package/templates/repo/.github/skills/ck-problem-solving/references/scale-game.md +95 -0
  332. package/templates/repo/.github/skills/ck-problem-solving/references/simplification-cascades.md +80 -0
  333. package/templates/repo/.github/skills/ck-problem-solving/references/when-stuck.md +72 -0
  334. package/templates/repo/.github/skills/ck-repomix/SKILL.md +247 -0
  335. package/templates/repo/.github/skills/ck-repomix/references/configuration.md +211 -0
  336. package/templates/repo/.github/skills/ck-repomix/references/usage-patterns.md +232 -0
  337. package/templates/repo/.github/skills/ck-repomix/scripts/.coverage +0 -0
  338. package/templates/repo/.github/skills/ck-repomix/scripts/README.md +179 -0
  339. package/templates/repo/.github/skills/ck-repomix/scripts/repomix_batch.py +455 -0
  340. package/templates/repo/.github/skills/ck-repomix/scripts/repos.example.json +15 -0
  341. package/templates/repo/.github/skills/ck-repomix/scripts/requirements.txt +15 -0
  342. package/templates/repo/.github/skills/ck-repomix/scripts/tests/test_repomix_batch.py +531 -0
  343. package/templates/repo/.github/skills/ck-sequential-thinking/.env.example +8 -0
  344. package/templates/repo/.github/skills/ck-sequential-thinking/README.md +183 -0
  345. package/templates/repo/.github/skills/ck-sequential-thinking/SKILL.md +92 -0
  346. package/templates/repo/.github/skills/ck-sequential-thinking/package.json +31 -0
  347. package/templates/repo/.github/skills/ck-sequential-thinking/references/advanced-strategies.md +79 -0
  348. package/templates/repo/.github/skills/ck-sequential-thinking/references/advanced-techniques.md +76 -0
  349. package/templates/repo/.github/skills/ck-sequential-thinking/references/core-patterns.md +95 -0
  350. package/templates/repo/.github/skills/ck-sequential-thinking/references/examples-api.md +88 -0
  351. package/templates/repo/.github/skills/ck-sequential-thinking/references/examples-architecture.md +94 -0
  352. package/templates/repo/.github/skills/ck-sequential-thinking/references/examples-debug.md +90 -0
  353. package/templates/repo/.github/skills/ck-sequential-thinking/scripts/format-thought.js +159 -0
  354. package/templates/repo/.github/skills/ck-sequential-thinking/scripts/process-thought.js +236 -0
  355. package/templates/repo/.github/skills/ck-sequential-thinking/tests/format-thought.test.js +133 -0
  356. package/templates/repo/.github/skills/ck-sequential-thinking/tests/process-thought.test.js +215 -0
  357. package/templates/repo/.github/skills/ck-shopify/README.md +66 -0
  358. package/templates/repo/.github/skills/ck-shopify/SKILL.md +319 -0
  359. package/templates/repo/.github/skills/ck-shopify/references/app-development.md +470 -0
  360. package/templates/repo/.github/skills/ck-shopify/references/extensions.md +493 -0
  361. package/templates/repo/.github/skills/ck-shopify/references/themes.md +498 -0
  362. package/templates/repo/.github/skills/ck-shopify/scripts/.coverage +0 -0
  363. package/templates/repo/.github/skills/ck-shopify/scripts/requirements.txt +19 -0
  364. package/templates/repo/.github/skills/ck-shopify/scripts/shopify_init.py +423 -0
  365. package/templates/repo/.github/skills/ck-shopify/scripts/tests/.coverage +0 -0
  366. package/templates/repo/.github/skills/ck-shopify/scripts/tests/test_shopify_init.py +385 -0
  367. package/templates/repo/.github/skills/ck-skill-creator/LICENSE.txt +202 -0
  368. package/templates/repo/.github/skills/ck-skill-creator/SKILL.md +265 -0
  369. package/templates/repo/.github/skills/ck-skill-creator/scripts/init_skill.py +303 -0
  370. package/templates/repo/.github/skills/ck-skill-creator/scripts/package_skill.py +110 -0
  371. package/templates/repo/.github/skills/ck-skill-creator/scripts/quick_validate.py +65 -0
  372. package/templates/repo/.github/skills/ck-threejs/SKILL.md +87 -0
  373. package/templates/repo/.github/skills/ck-threejs/references/01-getting-started.md +177 -0
  374. package/templates/repo/.github/skills/ck-threejs/references/02-loaders.md +169 -0
  375. package/templates/repo/.github/skills/ck-threejs/references/03-textures.md +170 -0
  376. package/templates/repo/.github/skills/ck-threejs/references/04-cameras.md +195 -0
  377. package/templates/repo/.github/skills/ck-threejs/references/05-lights.md +183 -0
  378. package/templates/repo/.github/skills/ck-threejs/references/06-animations.md +214 -0
  379. package/templates/repo/.github/skills/ck-threejs/references/07-math.md +260 -0
  380. package/templates/repo/.github/skills/ck-threejs/references/08-interaction.md +267 -0
  381. package/templates/repo/.github/skills/ck-threejs/references/09-postprocessing.md +240 -0
  382. package/templates/repo/.github/skills/ck-threejs/references/10-controls.md +259 -0
  383. package/templates/repo/.github/skills/ck-threejs/references/11-materials-advanced.md +270 -0
  384. package/templates/repo/.github/skills/ck-threejs/references/12-performance.md +269 -0
  385. package/templates/repo/.github/skills/ck-threejs/references/13-node-materials.md +298 -0
  386. package/templates/repo/.github/skills/ck-threejs/references/14-physics-vr.md +304 -0
  387. package/templates/repo/.github/skills/ck-threejs/references/15-specialized-loaders.md +333 -0
  388. package/templates/repo/.github/skills/ck-threejs/references/16-webgpu.md +302 -0
  389. package/templates/repo/.github/skills/ck-ui-styling/LICENSE.txt +202 -0
  390. package/templates/repo/.github/skills/ck-ui-styling/SKILL.md +319 -0
  391. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  392. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  393. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  394. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
  395. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  396. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
  397. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
  398. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  399. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  400. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  401. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  402. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  403. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  404. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  405. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
  406. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
  407. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
  408. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
  409. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
  410. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
  411. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
  412. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
  413. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
  414. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  415. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  416. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  417. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  418. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  419. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  420. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  421. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  422. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  423. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  424. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  425. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  426. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  427. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  428. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
  429. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
  430. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  431. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  432. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  433. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
  434. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
  435. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
  436. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  437. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  438. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
  439. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  440. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
  441. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
  442. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
  443. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
  444. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
  445. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
  446. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  447. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  448. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
  449. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
  450. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
  451. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  452. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
  453. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
  454. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  455. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  456. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
  457. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  458. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
  459. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  460. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  461. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
  462. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
  463. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
  464. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
  465. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
  466. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  467. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
  468. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
  469. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
  470. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
  471. package/templates/repo/.github/skills/ck-ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  472. package/templates/repo/.github/skills/ck-ui-styling/references/canvas-design-system.md +320 -0
  473. package/templates/repo/.github/skills/ck-ui-styling/references/shadcn-accessibility.md +471 -0
  474. package/templates/repo/.github/skills/ck-ui-styling/references/shadcn-components.md +424 -0
  475. package/templates/repo/.github/skills/ck-ui-styling/references/shadcn-theming.md +373 -0
  476. package/templates/repo/.github/skills/ck-ui-styling/references/tailwind-customization.md +483 -0
  477. package/templates/repo/.github/skills/ck-ui-styling/references/tailwind-responsive.md +382 -0
  478. package/templates/repo/.github/skills/ck-ui-styling/references/tailwind-utilities.md +455 -0
  479. package/templates/repo/.github/skills/ck-ui-styling/scripts/.coverage +0 -0
  480. package/templates/repo/.github/skills/ck-ui-styling/scripts/requirements.txt +17 -0
  481. package/templates/repo/.github/skills/ck-ui-styling/scripts/shadcn_add.py +292 -0
  482. package/templates/repo/.github/skills/ck-ui-styling/scripts/tailwind_config_gen.py +456 -0
  483. package/templates/repo/.github/skills/ck-ui-styling/scripts/tests/coverage-ui.json +1 -0
  484. package/templates/repo/.github/skills/ck-ui-styling/scripts/tests/requirements.txt +3 -0
  485. package/templates/repo/.github/skills/ck-ui-styling/scripts/tests/test_shadcn_add.py +266 -0
  486. package/templates/repo/.github/skills/ck-ui-styling/scripts/tests/test_tailwind_config_gen.py +336 -0
  487. package/templates/repo/.github/skills/ck-ui-ux-pro-max/SKILL.md +227 -0
  488. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/charts.csv +26 -0
  489. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/colors.csv +97 -0
  490. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/landing.csv +31 -0
  491. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/products.csv +97 -0
  492. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/prompts.csv +24 -0
  493. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  494. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/stacks/html-tailwind.csv +51 -0
  495. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  496. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  497. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/stacks/react.csv +54 -0
  498. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  499. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  500. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/stacks/vue.csv +50 -0
  501. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/styles.csv +59 -0
  502. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/typography.csv +58 -0
  503. package/templates/repo/.github/skills/ck-ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  504. package/templates/repo/.github/skills/ck-ui-ux-pro-max/scripts/core.py +236 -0
  505. package/templates/repo/.github/skills/ck-ui-ux-pro-max/scripts/search.py +76 -0
  506. package/templates/repo/.github/skills/ck-web-frameworks/SKILL.md +322 -0
  507. package/templates/repo/.github/skills/ck-web-frameworks/references/nextjs-app-router.md +465 -0
  508. package/templates/repo/.github/skills/ck-web-frameworks/references/nextjs-data-fetching.md +459 -0
  509. package/templates/repo/.github/skills/ck-web-frameworks/references/nextjs-optimization.md +511 -0
  510. package/templates/repo/.github/skills/ck-web-frameworks/references/nextjs-server-components.md +495 -0
  511. package/templates/repo/.github/skills/ck-web-frameworks/references/remix-icon-integration.md +603 -0
  512. package/templates/repo/.github/skills/ck-web-frameworks/references/turborepo-caching.md +551 -0
  513. package/templates/repo/.github/skills/ck-web-frameworks/references/turborepo-pipelines.md +517 -0
  514. package/templates/repo/.github/skills/ck-web-frameworks/references/turborepo-setup.md +542 -0
  515. package/templates/repo/.github/skills/ck-web-frameworks/scripts/.coverage +0 -0
  516. package/templates/repo/.github/skills/ck-web-frameworks/scripts/__init__.py +0 -0
  517. package/templates/repo/.github/skills/ck-web-frameworks/scripts/nextjs_init.py +547 -0
  518. package/templates/repo/.github/skills/ck-web-frameworks/scripts/requirements.txt +16 -0
  519. package/templates/repo/.github/skills/ck-web-frameworks/scripts/tests/coverage-web.json +1 -0
  520. package/templates/repo/.github/skills/ck-web-frameworks/scripts/tests/requirements.txt +3 -0
  521. package/templates/repo/.github/skills/ck-web-frameworks/scripts/tests/test_nextjs_init.py +319 -0
  522. package/templates/repo/.github/skills/ck-web-frameworks/scripts/tests/test_turborepo_migrate.py +374 -0
  523. package/templates/repo/.github/skills/ck-web-frameworks/scripts/turborepo_migrate.py +394 -0
  524. package/templates/repo/.github/prompts/ck-docs.prompt.md +0 -23
  525. package/templates/repo/.github/prompts/ck-review.prompt.md +0 -24
@@ -0,0 +1,298 @@
1
+ # Node Materials (TSL - Three Shading Language)
2
+
3
+ Modern node-based material system for creating custom shaders visually.
4
+
5
+ ## What is TSL?
6
+
7
+ Three Shading Language (TSL) is a node-based system for creating materials and shaders:
8
+ - Functional approach to shader composition
9
+ - Type-safe node graph
10
+ - Unified GLSL/WGSL output (WebGL & WebGPU)
11
+ - No manual shader code required
12
+
13
+ ## Basic Node Material
14
+
15
+ ```javascript
16
+ import * as THREE from 'three/webgpu';
17
+ import { color, texture, normalMap, MeshStandardNodeMaterial } from 'three/nodes';
18
+
19
+ const material = new MeshStandardNodeMaterial();
20
+
21
+ // Set base color node
22
+ material.colorNode = color(0xff0000);
23
+
24
+ // Or use texture
25
+ material.colorNode = texture(colorTexture);
26
+
27
+ // Combine nodes
28
+ material.colorNode = texture(colorTexture).mul(color(0xffffff));
29
+
30
+ // Normal mapping
31
+ material.normalNode = normalMap(normalTexture);
32
+ ```
33
+
34
+ ## Node Types
35
+
36
+ ### Input Nodes
37
+
38
+ ```javascript
39
+ import {
40
+ attribute,
41
+ uniform,
42
+ texture,
43
+ cubeTexture,
44
+ instancedArray,
45
+ storage
46
+ } from 'three/nodes';
47
+
48
+ // Geometry attributes
49
+ const positionNode = attribute('position');
50
+ const normalNode = attribute('normal');
51
+ const uvNode = attribute('uv');
52
+
53
+ // Uniforms
54
+ const timeNode = uniform(0); // value
55
+
56
+ // Textures
57
+ const colorNode = texture(diffuseTexture);
58
+ const envNode = cubeTexture(cubeMapTexture);
59
+
60
+ // Instanced data
61
+ const instanceColorNode = instancedArray('instanceColor');
62
+
63
+ // Storage buffers (compute)
64
+ const storageNode = storage(buffer, 'vec4', count);
65
+ ```
66
+
67
+ ### Math Nodes
68
+
69
+ ```javascript
70
+ import { add, sub, mul, div, pow, sin, cos, length, normalize } from 'three/nodes';
71
+
72
+ // Basic operations
73
+ const result = add(a, b); // a + b
74
+ const result = sub(a, b); // a - b
75
+ const result = mul(a, b); // a * b
76
+ const result = div(a, b); // a / b
77
+
78
+ // Trigonometry
79
+ const result = sin(angle);
80
+ const result = cos(angle);
81
+
82
+ // Vector operations
83
+ const result = length(vector);
84
+ const result = normalize(vector);
85
+
86
+ // Chaining
87
+ const result = mul(texture(tex), color(0xff0000));
88
+ ```
89
+
90
+ ### Procedural Nodes
91
+
92
+ ```javascript
93
+ import { checker, dots, noise, voronoi } from 'three/nodes';
94
+
95
+ // Checker pattern
96
+ material.colorNode = checker(uvNode.mul(10));
97
+
98
+ // Noise
99
+ material.colorNode = noise(uvNode.mul(5));
100
+
101
+ // Voronoi cells
102
+ material.colorNode = voronoi(uvNode.mul(3));
103
+ ```
104
+
105
+ ## Custom Shader Function
106
+
107
+ ```javascript
108
+ import { Fn, vec3, float } from 'three/nodes';
109
+
110
+ // Define custom function
111
+ const customColor = Fn(([uv, time]) => {
112
+ const r = sin(uv.x.mul(10).add(time));
113
+ const g = cos(uv.y.mul(10).add(time));
114
+ const b = float(0.5);
115
+ return vec3(r, g, b);
116
+ });
117
+
118
+ // Use in material
119
+ material.colorNode = customColor(uvNode, timeNode);
120
+ ```
121
+
122
+ ## Animation with Nodes
123
+
124
+ ```javascript
125
+ import { uniform, oscSine, timerLocal } from 'three/nodes';
126
+
127
+ // Oscillating value
128
+ const oscillator = oscSine(timerLocal(0.5)); // frequency = 0.5
129
+
130
+ // Pulsing color
131
+ material.colorNode = color(0xff0000).mul(oscillator.add(0.5));
132
+
133
+ // Rotating UV
134
+ const rotatedUV = uvNode.rotateUV(timerLocal());
135
+ material.colorNode = texture(tex, rotatedUV);
136
+ ```
137
+
138
+ ## Advanced Effects
139
+
140
+ ### Fresnel Effect
141
+
142
+ ```javascript
143
+ import { normalView, positionView, dot, pow } from 'three/nodes';
144
+
145
+ const fresnel = pow(
146
+ float(1).sub(dot(normalView, positionView.normalize())),
147
+ 3
148
+ );
149
+
150
+ material.colorNode = mix(baseColor, edgeColor, fresnel);
151
+ ```
152
+
153
+ ### Vertex Displacement
154
+
155
+ ```javascript
156
+ import { positionLocal, normalLocal, timerLocal, sin } from 'three/nodes';
157
+
158
+ // Displace vertices along normal
159
+ const displacement = sin(positionLocal.y.add(timerLocal())).mul(0.5);
160
+ material.positionNode = positionLocal.add(normalLocal.mul(displacement));
161
+ ```
162
+
163
+ ### Custom Normal Mapping
164
+
165
+ ```javascript
166
+ import { normalMap, normalView, TBNViewMatrix } from 'three/nodes';
167
+
168
+ const normalMapNode = normalMap(normalTexture);
169
+ const transformedNormal = TBNViewMatrix.mul(normalMapNode);
170
+ material.normalNode = transformedNormal;
171
+ ```
172
+
173
+ ## Compute Shaders (WebGPU)
174
+
175
+ ```javascript
176
+ import { compute, uniform, storage, Fn } from 'three/nodes';
177
+
178
+ // Define compute shader
179
+ const computeShader = Fn(() => {
180
+ const storageBuffer = storage(buffer, 'vec4', count);
181
+ const index = instanceIndex; // built-in
182
+
183
+ // Modify buffer
184
+ const value = storageBuffer.element(index);
185
+ storageBuffer.element(index).assign(value.mul(2));
186
+ })();
187
+
188
+ // Create compute node
189
+ const computeNode = compute(computeShader, 256); // workgroup size
190
+
191
+ // Execute
192
+ renderer.compute(computeNode);
193
+ ```
194
+
195
+ ## Node Material Types
196
+
197
+ ```javascript
198
+ import {
199
+ MeshStandardNodeMaterial,
200
+ MeshPhysicalNodeMaterial,
201
+ MeshBasicNodeMaterial,
202
+ PointsNodeMaterial,
203
+ LineBasicNodeMaterial,
204
+ SpriteNodeMaterial
205
+ } from 'three/nodes';
206
+
207
+ // Standard PBR
208
+ const material = new MeshStandardNodeMaterial();
209
+ material.colorNode = colorNode;
210
+ material.roughnessNode = roughnessNode;
211
+ material.metalnessNode = metalnessNode;
212
+
213
+ // Physical (clearcoat, transmission, etc.)
214
+ const material = new MeshPhysicalNodeMaterial();
215
+ material.clearcoatNode = clearcoatNode;
216
+ material.transmissionNode = transmissionNode;
217
+ ```
218
+
219
+ ## Post-Processing with Nodes
220
+
221
+ ```javascript
222
+ import { pass, PassNode } from 'three/nodes';
223
+
224
+ // Custom post-processing pass
225
+ const customPass = new PassNode('customPass', (input, output) => {
226
+ // input: previous pass texture
227
+ // output: render target
228
+
229
+ // Apply effect
230
+ const modifiedColor = input.mul(color(1, 0.5, 0.5));
231
+ output.assign(modifiedColor);
232
+ });
233
+
234
+ // Add to post-processing chain
235
+ postProcessing.addPass(customPass);
236
+ ```
237
+
238
+ ## Practical Example: Animated Material
239
+
240
+ ```javascript
241
+ import * as THREE from 'three/webgpu';
242
+ import {
243
+ MeshStandardNodeMaterial,
244
+ texture,
245
+ uniform,
246
+ timerLocal,
247
+ sin,
248
+ cos,
249
+ vec2
250
+ } from 'three/nodes';
251
+
252
+ const material = new MeshStandardNodeMaterial();
253
+
254
+ // Animated UV scroll
255
+ const time = timerLocal();
256
+ const scrollSpeed = uniform(0.1);
257
+ const uvOffset = vec2(
258
+ time.mul(scrollSpeed),
259
+ sin(time).mul(0.1)
260
+ );
261
+ const scrolledUV = uv().add(uvOffset);
262
+
263
+ // Apply to color
264
+ material.colorNode = texture(diffuseTexture, scrolledUV);
265
+
266
+ // Animated emission
267
+ const pulseSpeed = uniform(2);
268
+ const emission = sin(time.mul(pulseSpeed)).mul(0.5).add(0.5);
269
+ material.emissiveNode = color(1, 0.5, 0).mul(emission);
270
+ ```
271
+
272
+ ## Migration from ShaderMaterial
273
+
274
+ ```javascript
275
+ // Old way (ShaderMaterial)
276
+ const material = new THREE.ShaderMaterial({
277
+ uniforms: {
278
+ time: { value: 0 }
279
+ },
280
+ vertexShader: `...`,
281
+ fragmentShader: `...`
282
+ });
283
+
284
+ // New way (Node Material)
285
+ const material = new MeshStandardNodeMaterial();
286
+ material.colorNode = customFunction(timerLocal());
287
+ // Much cleaner, type-safe, and reusable
288
+ ```
289
+
290
+ ## When to Use Node Materials
291
+
292
+ - Creating complex procedural materials
293
+ - Need both WebGL and WebGPU support
294
+ - Want visual/functional shader composition
295
+ - Reusable shader components
296
+ - Compute shader integration (WebGPU only)
297
+
298
+ **Note**: Node materials require WebGPU renderer for full features. Some features work with WebGL backend but compute shaders require WebGPU.
@@ -0,0 +1,304 @@
1
+ # Physics & VR/XR
2
+
3
+ Integrate physics simulations and virtual reality.
4
+
5
+ ## Physics Integration
6
+
7
+ Three.js doesn't include physics - use external libraries:
8
+
9
+ ### Rapier Physics (Recommended)
10
+
11
+ Rust-based, high-performance:
12
+
13
+ ```javascript
14
+ import { RapierPhysics } from 'three/addons/physics/RapierPhysics.js';
15
+
16
+ // Initialize
17
+ const physics = await RapierPhysics();
18
+
19
+ // Create physics body
20
+ const box = new THREE.Mesh(
21
+ new THREE.BoxGeometry(),
22
+ new THREE.MeshStandardMaterial()
23
+ );
24
+ scene.add(box);
25
+
26
+ // Add physics (mass > 0 = dynamic)
27
+ physics.addMesh(box, 1); // mass = 1
28
+
29
+ // Static ground
30
+ const ground = new THREE.Mesh(
31
+ new THREE.BoxGeometry(10, 0.5, 10),
32
+ new THREE.MeshStandardMaterial()
33
+ );
34
+ ground.position.y = -2;
35
+ scene.add(ground);
36
+ physics.addMesh(ground); // no mass = static
37
+
38
+ // Update in animation loop
39
+ function animate() {
40
+ physics.step();
41
+ renderer.render(scene, camera);
42
+ requestAnimationFrame(animate);
43
+ }
44
+ ```
45
+
46
+ ### Ammo Physics
47
+
48
+ Port of Bullet physics engine:
49
+
50
+ ```javascript
51
+ import { AmmoPhysics } from 'three/addons/physics/AmmoPhysics.js';
52
+
53
+ const physics = await AmmoPhysics();
54
+
55
+ // Same API as Rapier
56
+ physics.addMesh(mesh, mass);
57
+
58
+ function animate() {
59
+ physics.step();
60
+ renderer.render(scene, camera);
61
+ requestAnimationFrame(animate);
62
+ }
63
+ ```
64
+
65
+ ### Jolt Physics
66
+
67
+ High-performance alternative:
68
+
69
+ ```javascript
70
+ import { JoltPhysics } from 'three/addons/physics/JoltPhysics.js';
71
+
72
+ const physics = await JoltPhysics();
73
+ physics.addMesh(mesh, mass);
74
+ ```
75
+
76
+ ### Physics Constraints
77
+
78
+ ```javascript
79
+ // After initialization
80
+ const physics = await RapierPhysics();
81
+
82
+ // Point-to-point constraint
83
+ physics.addConstraint(meshA, meshB, 'fixed');
84
+ physics.addConstraint(meshA, meshB, 'spring', { stiffness: 100 });
85
+
86
+ // Remove constraint
87
+ physics.removeConstraint(constraint);
88
+ ```
89
+
90
+ ## VR/XR Setup
91
+
92
+ ### Basic WebXR
93
+
94
+ ```javascript
95
+ import { VRButton } from 'three/addons/webxr/VRButton.js';
96
+
97
+ // Enable XR
98
+ renderer.xr.enabled = true;
99
+
100
+ // Add VR button to page
101
+ document.body.appendChild(VRButton.createButton(renderer));
102
+
103
+ // Animation loop for VR
104
+ renderer.setAnimationLoop(() => {
105
+ renderer.render(scene, camera);
106
+ });
107
+
108
+ // Stop using requestAnimationFrame, use setAnimationLoop instead
109
+ ```
110
+
111
+ ### AR Mode
112
+
113
+ ```javascript
114
+ import { ARButton } from 'three/addons/webxr/ARButton.js';
115
+
116
+ renderer.xr.enabled = true;
117
+ document.body.appendChild(ARButton.createButton(renderer));
118
+
119
+ // AR-specific features
120
+ const session = renderer.xr.getSession();
121
+ session.requestHitTestSource({ space: viewerSpace }).then((hitTestSource) => {
122
+ // Use hit testing for placing objects
123
+ });
124
+ ```
125
+
126
+ ### VR Controllers
127
+
128
+ ```javascript
129
+ // Get controllers
130
+ const controller1 = renderer.xr.getController(0);
131
+ const controller2 = renderer.xr.getController(1);
132
+
133
+ scene.add(controller1);
134
+ scene.add(controller2);
135
+
136
+ // Controller events
137
+ controller1.addEventListener('selectstart', () => {
138
+ console.log('Trigger pressed');
139
+ });
140
+
141
+ controller1.addEventListener('selectend', () => {
142
+ console.log('Trigger released');
143
+ });
144
+
145
+ // Add visual controller models
146
+ import { XRControllerModelFactory } from 'three/addons/webxr/XRControllerModelFactory.js';
147
+
148
+ const controllerModelFactory = new XRControllerModelFactory();
149
+
150
+ const grip1 = renderer.xr.getControllerGrip(0);
151
+ grip1.add(controllerModelFactory.createControllerModel(grip1));
152
+ scene.add(grip1);
153
+
154
+ const grip2 = renderer.xr.getControllerGrip(1);
155
+ grip2.add(controllerModelFactory.createControllerModel(grip2));
156
+ scene.add(grip2);
157
+ ```
158
+
159
+ ### Hand Tracking
160
+
161
+ ```javascript
162
+ import { OculusHandModel } from 'three/addons/webxr/OculusHandModel.js';
163
+
164
+ const hand1 = renderer.xr.getHand(0);
165
+ const handModel1 = new OculusHandModel(hand1);
166
+ hand1.add(handModel1);
167
+ scene.add(hand1);
168
+
169
+ const hand2 = renderer.xr.getHand(1);
170
+ const handModel2 = new OculusHandModel(hand2);
171
+ hand2.add(handModel2);
172
+ scene.add(hand2);
173
+ ```
174
+
175
+ ### Teleportation
176
+
177
+ ```javascript
178
+ const raycaster = new THREE.Raycaster();
179
+ const tempMatrix = new THREE.Matrix4();
180
+
181
+ function handleController(controller) {
182
+ const intersections = getIntersections(controller);
183
+
184
+ if (intersections.length > 0) {
185
+ const intersection = intersections[0];
186
+
187
+ // Teleport on button release
188
+ controller.addEventListener('selectend', () => {
189
+ const offset = intersection.point.y;
190
+ camera.position.y += offset;
191
+ });
192
+ }
193
+ }
194
+
195
+ function getIntersections(controller) {
196
+ tempMatrix.identity().extractRotation(controller.matrixWorld);
197
+ raycaster.ray.origin.setFromMatrixPosition(controller.matrixWorld);
198
+ raycaster.ray.direction.set(0, 0, -1).applyMatrix4(tempMatrix);
199
+ return raycaster.intersectObjects(scene.children, true);
200
+ }
201
+ ```
202
+
203
+ ### Spatial Audio for VR
204
+
205
+ ```javascript
206
+ const listener = new THREE.AudioListener();
207
+ camera.add(listener);
208
+
209
+ const sound = new THREE.PositionalAudio(listener);
210
+ const audioLoader = new THREE.AudioLoader();
211
+
212
+ audioLoader.load('sound.ogg', (buffer) => {
213
+ sound.setBuffer(buffer);
214
+ sound.setRefDistance(1);
215
+ sound.setLoop(true);
216
+ sound.play();
217
+ });
218
+
219
+ // Attach to object
220
+ object.add(sound);
221
+
222
+ // Update listener in VR
223
+ renderer.setAnimationLoop(() => {
224
+ // Listener automatically updates with camera in VR
225
+ renderer.render(scene, camera);
226
+ });
227
+ ```
228
+
229
+ ### Room-Scale VR
230
+
231
+ ```javascript
232
+ // Request room-scale experience
233
+ navigator.xr.requestSession('immersive-vr', {
234
+ requiredFeatures: ['local-floor']
235
+ }).then((session) => {
236
+ // Session setup
237
+ });
238
+
239
+ // Get play area bounds
240
+ session.requestReferenceSpace('bounded-floor').then((space) => {
241
+ const bounds = space.boundsGeometry;
242
+ // Create visual boundary
243
+ });
244
+ ```
245
+
246
+ ### Performance Tips for VR
247
+
248
+ - Target 90 FPS (11.1ms per frame)
249
+ - Use lower polygon counts
250
+ - Reduce shadow quality
251
+ - Limit post-processing
252
+ - Use instancing for repeated objects
253
+ - Enable foveated rendering if available
254
+ - Test on actual VR hardware
255
+
256
+ ```javascript
257
+ // Foveated rendering (Quest 2+)
258
+ const gl = renderer.getContext();
259
+ const ext = gl.getExtension('WEBGL_foveated_rendering');
260
+ if (ext) {
261
+ ext.foveatedRenderingModeWEBGL(gl.FOVEATED_RENDERING_MODE_ENABLE_WEBGL);
262
+ }
263
+ ```
264
+
265
+ ## Mixed Reality (MR)
266
+
267
+ ```javascript
268
+ import { XRButton } from 'three/addons/webxr/XRButton.js';
269
+
270
+ // Request MR features
271
+ document.body.appendChild(
272
+ XRButton.createButton(renderer, {
273
+ requiredFeatures: ['hand-tracking', 'layers'],
274
+ optionalFeatures: ['local-floor', 'bounded-floor']
275
+ })
276
+ );
277
+
278
+ // Passthrough mode (Quest Pro, etc.)
279
+ const session = renderer.xr.getSession();
280
+ const baseLayer = session.renderState.baseLayer;
281
+ baseLayer.compositionDisabled = true; // enable passthrough
282
+ ```
283
+
284
+ ## Common VR Patterns
285
+
286
+ ```javascript
287
+ // Detect if in VR
288
+ if (renderer.xr.isPresenting) {
289
+ // In VR mode
290
+ }
291
+
292
+ // Get VR camera (for raycasting)
293
+ const vrCamera = renderer.xr.getCamera(camera);
294
+
295
+ // Different behavior for VR vs desktop
296
+ renderer.setAnimationLoop(() => {
297
+ if (renderer.xr.isPresenting) {
298
+ // VR rendering logic
299
+ } else {
300
+ // Desktop rendering logic
301
+ }
302
+ renderer.render(scene, camera);
303
+ });
304
+ ```