cokit-cli 1.0.9 → 1.2.2

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 (888) hide show
  1. package/LICENSE +32 -32
  2. package/README.FLOW.md +237 -237
  3. package/README.md +142 -92
  4. package/agents/brainstormer.agent.md +71 -71
  5. package/agents/code-reviewer.agent.md +136 -136
  6. package/agents/code-simplifier.agent.md +43 -0
  7. package/agents/debugger.agent.md +128 -128
  8. package/agents/docs-manager.agent.md +121 -121
  9. package/agents/fullstack-developer.agent.md +52 -0
  10. package/agents/git-manager.agent.md +390 -390
  11. package/agents/planner.agent.md +94 -94
  12. package/agents/researcher.agent.md +31 -32
  13. package/agents/scout.agent.md +107 -107
  14. package/agents/tester.agent.md +117 -117
  15. package/agents/ui-ux-designer.agent.md +57 -0
  16. package/bin/cokit.js +4 -4
  17. package/collections/ck-core.collection.yml +28 -28
  18. package/collections/ck-development-rules.collection.yml +18 -18
  19. package/collections/ck-documentation.collection.yml +14 -14
  20. package/collections/ck-git-workflow.collection.yml +12 -12
  21. package/collections/ck-orchestration.collection.yml +16 -16
  22. package/docs/README.md +75 -108
  23. package/docs/code-standards.md +68 -0
  24. package/docs/codebase-summary.md +263 -0
  25. package/docs/cokit-commands-usage-guide.md +138 -0
  26. package/docs/cokit-comprehensive-mapping-guide.md +361 -374
  27. package/docs/cokit-slides.md +212 -222
  28. package/docs/cokit-sync-and-maintenance-guide.md +414 -0
  29. package/docs/cokit-team-presentation.md +356 -378
  30. package/docs/copilot-processing-flow.md +215 -212
  31. package/docs/guide-next-steps-speckit-cokit-implementation.md +187 -0
  32. package/docs/migration-guide.md +133 -133
  33. package/docs/project-overview-pdr.md +45 -0
  34. package/docs/project-roadmap.md +308 -280
  35. package/docs/system-architecture.md +81 -0
  36. package/instructions/ck-backend.instructions.md +48 -48
  37. package/instructions/ck-development.instructions.md +54 -54
  38. package/instructions/ck-frontend.instructions.md +44 -44
  39. package/instructions/ck-research.instructions.md +167 -167
  40. package/instructions/ck-testing.instructions.md +36 -36
  41. package/package.json +71 -42
  42. package/prompts/ck-ask.prompt.md +67 -57
  43. package/prompts/ck-bootstrap.prompt.md +141 -136
  44. package/prompts/ck-brainstorm.prompt.md +87 -105
  45. package/prompts/ck-cook.prompt.md +96 -97
  46. package/prompts/ck-debug.prompt.md +115 -14
  47. package/prompts/ck-docs.prompt.md +102 -51
  48. package/prompts/ck-fix-ci.prompt.md +46 -0
  49. package/prompts/ck-fix-fast.prompt.md +44 -0
  50. package/prompts/ck-fix-hard.prompt.md +60 -0
  51. package/prompts/ck-fix-logs.prompt.md +53 -0
  52. package/prompts/ck-fix-test.prompt.md +47 -0
  53. package/prompts/ck-fix-types.prompt.md +29 -0
  54. package/prompts/ck-fix-ui.prompt.md +50 -0
  55. package/prompts/ck-fix.prompt.md +50 -44
  56. package/prompts/ck-git.prompt.md +104 -79
  57. package/{templates/repo/.github/prompts/ck-ck-help.prompt.md → prompts/ck-help.prompt.md} +142 -112
  58. package/prompts/ck-journal.prompt.md +19 -0
  59. package/prompts/ck-plan-fast.prompt.md +106 -0
  60. package/prompts/ck-plan-hard.prompt.md +133 -0
  61. package/prompts/ck-plan-validate.prompt.md +209 -0
  62. package/prompts/ck-plan.prompt.md +75 -80
  63. package/prompts/ck-preview.prompt.md +77 -0
  64. package/{templates/repo/.github/prompts/ck-review-codebase.prompt.md → prompts/ck-review.prompt.md} +58 -44
  65. package/prompts/ck-scout.prompt.md +85 -25
  66. package/prompts/ck-simplify.prompt.md +46 -0
  67. package/prompts/ck-spec-analyze.prompt.md +201 -0
  68. package/prompts/ck-spec-checklist.prompt.md +308 -0
  69. package/prompts/ck-spec-clarify.prompt.md +190 -0
  70. package/prompts/ck-spec-constitution.prompt.md +92 -0
  71. package/prompts/ck-spec-implement.prompt.md +157 -0
  72. package/prompts/ck-spec-plan.prompt.md +95 -0
  73. package/prompts/ck-spec-specify.prompt.md +260 -0
  74. package/prompts/ck-spec-tasks.prompt.md +181 -0
  75. package/prompts/ck-test.prompt.md +21 -10
  76. package/prompts/ck-watzup.prompt.md +21 -0
  77. package/skills/INSTALLATION.md +311 -0
  78. package/skills/README.md +112 -0
  79. package/skills/THIRD_PARTY_NOTICES.md +405 -0
  80. package/skills/agent-browser/SKILL.md +291 -0
  81. package/skills/agent-browser/references/.gitkeep +0 -0
  82. package/skills/agent-browser/references/browserbase-cloud-setup.md +161 -0
  83. package/skills/agent_skills_spec.md +55 -0
  84. package/skills/{ck-backend-development → backend-development}/SKILL.md +94 -96
  85. package/skills/{ck-backend-development → backend-development}/references/backend-api-design.md +697 -495
  86. package/{templates/repo/.github/skills/ck-backend-development → skills/backend-development}/references/backend-architecture.md +454 -454
  87. package/skills/{ck-backend-development → backend-development}/references/backend-authentication.md +433 -338
  88. package/skills/{ck-backend-development → backend-development}/references/backend-code-quality.md +659 -659
  89. package/{templates/repo/.github/skills/ck-backend-development → skills/backend-development}/references/backend-debugging.md +904 -904
  90. package/{templates/repo/.github/skills/ck-backend-development → skills/backend-development}/references/backend-devops.md +494 -494
  91. package/{templates/repo/.github/skills/ck-backend-development → skills/backend-development}/references/backend-mindset.md +387 -387
  92. package/skills/{ck-backend-development → backend-development}/references/backend-performance.md +397 -397
  93. package/{templates/repo/.github/skills/ck-backend-development → skills/backend-development}/references/backend-security.md +340 -290
  94. package/{templates/repo/.github/skills/ck-backend-development → skills/backend-development}/references/backend-technologies.md +300 -290
  95. package/{templates/repo/.github/skills/ck-backend-development → skills/backend-development}/references/backend-testing.md +484 -561
  96. package/skills/brainstorm/SKILL.md +74 -0
  97. package/skills/{ck-code-review → code-review}/SKILL.md +143 -143
  98. package/skills/{ck-code-review → code-review}/references/code-review-reception.md +1 -1
  99. package/skills/{ck-code-review → code-review}/references/requesting-code-review.md +7 -7
  100. package/skills/common/README.md +120 -0
  101. package/skills/common/api_key_helper.py +411 -0
  102. package/skills/common/api_key_rotator.py +248 -0
  103. package/skills/context-engineering/SKILL.md +106 -0
  104. package/skills/context-engineering/references/context-compression.md +84 -0
  105. package/skills/context-engineering/references/context-degradation.md +93 -0
  106. package/skills/context-engineering/references/context-fundamentals.md +75 -0
  107. package/skills/context-engineering/references/context-optimization.md +82 -0
  108. package/skills/context-engineering/references/evaluation.md +89 -0
  109. package/skills/context-engineering/references/memory-systems.md +88 -0
  110. package/skills/context-engineering/references/multi-agent-patterns.md +90 -0
  111. package/skills/context-engineering/references/project-development.md +97 -0
  112. package/skills/context-engineering/references/runtime-awareness.md +202 -0
  113. package/skills/context-engineering/references/tool-design.md +86 -0
  114. package/skills/context-engineering/scripts/compression_evaluator.py +349 -0
  115. package/skills/context-engineering/scripts/context_analyzer.py +317 -0
  116. package/skills/cook/README.md +86 -0
  117. package/skills/cook/SKILL.md +93 -0
  118. package/skills/cook/references/agent-patterns.md +75 -0
  119. package/skills/cook/references/intent-detection.md +101 -0
  120. package/skills/cook/references/review-cycle.md +75 -0
  121. package/skills/cook/references/workflow-steps.md +140 -0
  122. package/skills/databases/SKILL.md +111 -0
  123. package/skills/databases/analytics.md +198 -0
  124. package/skills/databases/db-design.md +188 -0
  125. package/skills/databases/incremental-etl.md +213 -0
  126. package/skills/databases/references/mongodb-aggregation.md +447 -0
  127. package/skills/databases/references/mongodb-atlas.md +465 -0
  128. package/skills/databases/references/mongodb-crud.md +408 -0
  129. package/skills/databases/references/mongodb-indexing.md +442 -0
  130. package/skills/databases/references/postgresql-administration.md +594 -0
  131. package/skills/databases/references/postgresql-performance.md +527 -0
  132. package/skills/databases/references/postgresql-psql-cli.md +467 -0
  133. package/skills/databases/references/postgresql-queries.md +475 -0
  134. package/skills/databases/scripts/db_backup.py +502 -0
  135. package/skills/databases/scripts/db_migrate.py +426 -0
  136. package/skills/databases/scripts/db_performance_check.py +457 -0
  137. package/skills/databases/scripts/requirements.txt +20 -0
  138. package/skills/databases/stacks/bigquery.md +231 -0
  139. package/skills/databases/stacks/d1_cloudflare.md +137 -0
  140. package/skills/databases/stacks/mysql.md +216 -0
  141. package/skills/databases/stacks/postgres.md +235 -0
  142. package/skills/databases/stacks/sqlite.md +244 -0
  143. package/skills/databases/transactional.md +176 -0
  144. package/{templates/repo/.github/skills/ck-debugging → skills/debug}/SKILL.md +83 -82
  145. package/{templates/repo/.github/skills/ck-debugging → skills/debug}/references/defense-in-depth.md +124 -124
  146. package/skills/{ck-debugging → debug}/references/root-cause-tracing.md +122 -122
  147. package/{templates/repo/.github/skills/ck-debugging → skills/debug}/references/systematic-debugging.md +102 -102
  148. package/skills/{ck-debugging → debug}/references/verification.md +123 -123
  149. package/{templates/repo/.github/skills/ck-debugging → skills/debug}/scripts/find-polluter.sh +63 -63
  150. package/{templates/repo/.github/skills/ck-debugging → skills/debug}/scripts/find-polluter.test.md +102 -102
  151. package/skills/devops/.env.example +76 -0
  152. package/skills/devops/SKILL.md +102 -0
  153. package/skills/devops/references/browser-rendering.md +305 -0
  154. package/skills/devops/references/cloudflare-d1-kv.md +123 -0
  155. package/skills/devops/references/cloudflare-platform.md +271 -0
  156. package/skills/devops/references/cloudflare-r2-storage.md +280 -0
  157. package/skills/devops/references/cloudflare-workers-advanced.md +312 -0
  158. package/skills/devops/references/cloudflare-workers-apis.md +309 -0
  159. package/skills/devops/references/cloudflare-workers-basics.md +418 -0
  160. package/skills/devops/references/docker-basics.md +297 -0
  161. package/skills/devops/references/docker-compose.md +292 -0
  162. package/skills/devops/references/gcloud-platform.md +297 -0
  163. package/skills/devops/references/gcloud-services.md +304 -0
  164. package/skills/devops/references/kubernetes-basics.md +99 -0
  165. package/skills/devops/references/kubernetes-helm-advanced.md +75 -0
  166. package/skills/devops/references/kubernetes-helm.md +81 -0
  167. package/skills/devops/references/kubernetes-kubectl.md +74 -0
  168. package/skills/devops/references/kubernetes-security-advanced.md +98 -0
  169. package/skills/devops/references/kubernetes-security.md +95 -0
  170. package/skills/devops/references/kubernetes-troubleshooting-advanced.md +74 -0
  171. package/skills/devops/references/kubernetes-troubleshooting.md +49 -0
  172. package/skills/devops/references/kubernetes-workflows-advanced.md +75 -0
  173. package/skills/devops/references/kubernetes-workflows.md +78 -0
  174. package/skills/devops/scripts/cloudflare_deploy.py +269 -0
  175. package/skills/devops/scripts/docker_optimize.py +332 -0
  176. package/skills/devops/scripts/requirements.txt +20 -0
  177. package/skills/docs-seeker/.env.example +15 -0
  178. package/skills/docs-seeker/SKILL.md +96 -0
  179. package/skills/docs-seeker/package.json +25 -0
  180. package/skills/docs-seeker/references/advanced.md +79 -0
  181. package/skills/docs-seeker/references/context7-patterns.md +64 -0
  182. package/skills/docs-seeker/references/errors.md +68 -0
  183. package/skills/docs-seeker/scripts/analyze-llms-txt.js +211 -0
  184. package/skills/docs-seeker/scripts/detect-topic.js +172 -0
  185. package/skills/docs-seeker/scripts/fetch-docs.js +214 -0
  186. package/skills/docs-seeker/scripts/utils/env-loader.js +94 -0
  187. package/skills/docs-seeker/workflows/library-search.md +86 -0
  188. package/skills/docs-seeker/workflows/repo-analysis.md +91 -0
  189. package/skills/docs-seeker/workflows/topic-search.md +77 -0
  190. package/skills/fix/SKILL.md +100 -0
  191. package/skills/fix/references/complexity-assessment.md +61 -0
  192. package/skills/fix/references/mode-selection.md +30 -0
  193. package/skills/fix/references/parallel-exploration.md +77 -0
  194. package/skills/fix/references/review-cycle.md +77 -0
  195. package/skills/fix/references/skill-activation-matrix.md +65 -0
  196. package/skills/fix/references/workflow-ci.md +28 -0
  197. package/skills/fix/references/workflow-deep.md +91 -0
  198. package/skills/fix/references/workflow-logs.md +36 -0
  199. package/skills/fix/references/workflow-quick.md +59 -0
  200. package/skills/fix/references/workflow-standard.md +86 -0
  201. package/skills/fix/references/workflow-test.md +36 -0
  202. package/skills/fix/references/workflow-types.md +33 -0
  203. package/skills/fix/references/workflow-ui.md +34 -0
  204. package/skills/frontend-design/SKILL.md +74 -0
  205. package/skills/frontend-design/references/analysis-best-practices.md +80 -0
  206. package/skills/frontend-design/references/analysis-prompts.md +141 -0
  207. package/skills/frontend-design/references/analysis-techniques.md +118 -0
  208. package/skills/frontend-design/references/animejs.md +396 -0
  209. package/skills/frontend-design/references/asset-generation.md +161 -0
  210. package/skills/frontend-design/references/design-extraction-overview.md +71 -0
  211. package/skills/frontend-design/references/extraction-best-practices.md +141 -0
  212. package/skills/frontend-design/references/extraction-output-templates.md +162 -0
  213. package/skills/frontend-design/references/extraction-prompts.md +127 -0
  214. package/skills/frontend-design/references/technical-accessibility.md +119 -0
  215. package/skills/frontend-design/references/technical-best-practices.md +97 -0
  216. package/skills/frontend-design/references/technical-optimization.md +44 -0
  217. package/skills/frontend-design/references/technical-overview.md +90 -0
  218. package/skills/frontend-design/references/technical-workflows.md +150 -0
  219. package/skills/frontend-design/references/visual-analysis-overview.md +95 -0
  220. package/skills/frontend-design/references/workflow-describe.md +86 -0
  221. package/skills/frontend-design/references/workflow-quick.md +54 -0
  222. package/skills/frontend-design/references/workflow-screenshot.md +62 -0
  223. package/skills/git/SKILL.md +99 -0
  224. package/skills/git/references/branch-management.md +88 -0
  225. package/skills/git/references/commit-standards.md +46 -0
  226. package/skills/git/references/gh-cli-guide.md +109 -0
  227. package/skills/git/references/safety-protocols.md +69 -0
  228. package/skills/git/references/workflow-commit.md +58 -0
  229. package/skills/git/references/workflow-merge.md +48 -0
  230. package/skills/git/references/workflow-pr.md +58 -0
  231. package/skills/git/references/workflow-push.md +52 -0
  232. package/skills/install.ps1 +1247 -0
  233. package/skills/install.sh +1300 -0
  234. package/skills/mcp-management/README.md +219 -0
  235. package/skills/mcp-management/SKILL.md +209 -0
  236. package/skills/mcp-management/assets/tools.json +3146 -0
  237. package/skills/mcp-management/references/configuration.md +114 -0
  238. package/skills/mcp-management/references/gemini-cli-integration.md +221 -0
  239. package/skills/mcp-management/references/mcp-protocol.md +116 -0
  240. package/skills/mcp-management/scripts/.env.example +10 -0
  241. package/skills/mcp-management/scripts/cli.ts +195 -0
  242. package/skills/mcp-management/scripts/dist/analyze-tools.js +70 -0
  243. package/skills/mcp-management/scripts/dist/cli.js +160 -0
  244. package/skills/mcp-management/scripts/dist/mcp-client.js +183 -0
  245. package/skills/mcp-management/scripts/mcp-client.ts +230 -0
  246. package/skills/mcp-management/scripts/package.json +20 -0
  247. package/skills/mcp-management/scripts/tsconfig.json +15 -0
  248. package/skills/mermaidjs-v11/SKILL.md +115 -0
  249. package/skills/mermaidjs-v11/references/cli-usage.md +228 -0
  250. package/skills/mermaidjs-v11/references/configuration.md +232 -0
  251. package/skills/mermaidjs-v11/references/diagram-types.md +315 -0
  252. package/skills/mermaidjs-v11/references/examples.md +344 -0
  253. package/skills/mermaidjs-v11/references/integration.md +310 -0
  254. package/skills/{ck-planning → planning}/SKILL.md +131 -112
  255. package/{templates/repo/.github/skills/ck-planning → skills/planning}/references/codebase-understanding.md +62 -62
  256. package/skills/{ck-planning → planning}/references/output-standards.md +141 -127
  257. package/{templates/repo/.github/skills/ck-planning → skills/planning}/references/plan-organization.md +160 -150
  258. package/skills/{ck-planning → planning}/references/research-phase.md +49 -49
  259. package/{templates/repo/.github/skills/ck-planning → skills/planning}/references/solution-design.md +63 -63
  260. package/skills/{ck-problem-solving → problem-solving}/SKILL.md +95 -95
  261. package/{templates/repo/.github/skills/ck-problem-solving → skills/problem-solving}/references/attribution.md +69 -69
  262. package/skills/{ck-problem-solving → problem-solving}/references/collision-zone-thinking.md +79 -79
  263. package/{templates/repo/.github/skills/ck-problem-solving → skills/problem-solving}/references/inversion-exercise.md +91 -91
  264. package/skills/{ck-problem-solving → problem-solving}/references/meta-pattern-recognition.md +87 -87
  265. package/skills/{ck-problem-solving → problem-solving}/references/scale-game.md +95 -95
  266. package/skills/{ck-problem-solving → problem-solving}/references/simplification-cascades.md +80 -80
  267. package/{templates/repo/.github/skills/ck-problem-solving → skills/problem-solving}/references/when-stuck.md +72 -72
  268. package/skills/repomix/SKILL.md +247 -0
  269. package/skills/repomix/references/configuration.md +211 -0
  270. package/skills/repomix/references/usage-patterns.md +232 -0
  271. package/skills/repomix/scripts/README.md +179 -0
  272. package/skills/repomix/scripts/repomix_batch.py +455 -0
  273. package/skills/repomix/scripts/repos.example.json +15 -0
  274. package/skills/repomix/scripts/requirements.txt +15 -0
  275. package/skills/research/SKILL.md +169 -0
  276. package/skills/scout/SKILL.md +78 -0
  277. package/skills/scout/references/external-scouting.md +140 -0
  278. package/skills/scout/references/internal-scouting.md +119 -0
  279. package/skills/{ck-sequential-thinking → sequential-thinking}/.env.example +8 -8
  280. package/skills/{ck-sequential-thinking → sequential-thinking}/README.md +183 -183
  281. package/{templates/repo/.github/skills/ck-sequential-thinking → skills/sequential-thinking}/SKILL.md +92 -92
  282. package/skills/{ck-sequential-thinking → sequential-thinking}/package.json +31 -31
  283. package/{templates/repo/.github/skills/ck-sequential-thinking → skills/sequential-thinking}/references/advanced-strategies.md +79 -79
  284. package/{templates/repo/.github/skills/ck-sequential-thinking → skills/sequential-thinking}/references/advanced-techniques.md +76 -76
  285. package/{templates/repo/.github/skills/ck-sequential-thinking → skills/sequential-thinking}/references/core-patterns.md +95 -95
  286. package/skills/{ck-sequential-thinking → sequential-thinking}/references/examples-api.md +88 -88
  287. package/skills/{ck-sequential-thinking → sequential-thinking}/references/examples-architecture.md +94 -94
  288. package/skills/{ck-sequential-thinking → sequential-thinking}/references/examples-debug.md +90 -90
  289. package/skills/{ck-sequential-thinking → sequential-thinking}/scripts/format-thought.js +159 -159
  290. package/{templates/repo/.github/skills/ck-sequential-thinking → skills/sequential-thinking}/scripts/process-thought.js +236 -236
  291. package/skills/ui-styling/LICENSE.txt +202 -0
  292. package/skills/ui-styling/SKILL.md +319 -0
  293. package/skills/ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  294. package/skills/ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  295. package/skills/ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  296. package/skills/ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
  297. package/skills/ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  298. package/skills/ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
  299. package/skills/ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
  300. package/skills/ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  301. package/skills/ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  302. package/skills/ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  303. package/skills/ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  304. package/skills/ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  305. package/skills/ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  306. package/skills/ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  307. package/skills/ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
  308. package/skills/ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
  309. package/skills/ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
  310. package/skills/ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
  311. package/skills/ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
  312. package/skills/ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
  313. package/skills/ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
  314. package/skills/ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
  315. package/skills/ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
  316. package/skills/ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  317. package/skills/ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  318. package/skills/ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  319. package/skills/ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  320. package/skills/ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  321. package/skills/ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  322. package/skills/ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  323. package/skills/ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  324. package/skills/ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  325. package/skills/ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  326. package/skills/ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  327. package/skills/ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  328. package/skills/ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  329. package/skills/ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  330. package/skills/ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
  331. package/skills/ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
  332. package/skills/ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  333. package/skills/ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  334. package/skills/ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  335. package/skills/ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
  336. package/skills/ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
  337. package/skills/ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
  338. package/skills/ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  339. package/skills/ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  340. package/skills/ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
  341. package/skills/ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  342. package/skills/ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
  343. package/skills/ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
  344. package/skills/ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
  345. package/skills/ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
  346. package/skills/ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
  347. package/skills/ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
  348. package/skills/ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  349. package/skills/ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  350. package/skills/ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
  351. package/skills/ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
  352. package/skills/ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
  353. package/skills/ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  354. package/skills/ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
  355. package/skills/ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
  356. package/skills/ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  357. package/skills/ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  358. package/skills/ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
  359. package/skills/ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  360. package/skills/ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
  361. package/skills/ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  362. package/skills/ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  363. package/skills/ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
  364. package/skills/ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
  365. package/skills/ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
  366. package/skills/ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
  367. package/skills/ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
  368. package/skills/ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  369. package/skills/ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
  370. package/skills/ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
  371. package/skills/ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
  372. package/skills/ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
  373. package/skills/ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  374. package/skills/ui-styling/references/canvas-design-system.md +320 -0
  375. package/skills/ui-styling/references/shadcn-accessibility.md +471 -0
  376. package/skills/ui-styling/references/shadcn-components.md +424 -0
  377. package/skills/ui-styling/references/shadcn-theming.md +373 -0
  378. package/skills/ui-styling/references/tailwind-customization.md +483 -0
  379. package/skills/ui-styling/references/tailwind-responsive.md +382 -0
  380. package/skills/ui-styling/references/tailwind-utilities.md +455 -0
  381. package/skills/ui-styling/scripts/requirements.txt +17 -0
  382. package/skills/ui-styling/scripts/shadcn_add.py +292 -0
  383. package/skills/ui-styling/scripts/tailwind_config_gen.py +456 -0
  384. package/skills/web-testing/SKILL.md +94 -0
  385. package/skills/web-testing/references/accessibility-testing.md +84 -0
  386. package/skills/web-testing/references/api-testing.md +78 -0
  387. package/skills/web-testing/references/ci-cd-testing-workflows.md +121 -0
  388. package/skills/web-testing/references/component-testing.md +94 -0
  389. package/skills/web-testing/references/contract-testing.md +146 -0
  390. package/skills/web-testing/references/cross-browser-checklist.md +72 -0
  391. package/skills/web-testing/references/database-testing.md +139 -0
  392. package/skills/web-testing/references/e2e-testing-playwright.md +119 -0
  393. package/skills/web-testing/references/functional-testing-checklist.md +88 -0
  394. package/skills/web-testing/references/interactive-testing-patterns.md +89 -0
  395. package/skills/web-testing/references/load-testing-k6.md +93 -0
  396. package/skills/web-testing/references/mobile-gesture-testing.md +85 -0
  397. package/skills/web-testing/references/performance-core-web-vitals.md +124 -0
  398. package/skills/web-testing/references/playwright-component-testing.md +115 -0
  399. package/skills/web-testing/references/pre-release-checklist.md +75 -0
  400. package/skills/web-testing/references/security-checklists.md +81 -0
  401. package/skills/web-testing/references/security-testing-overview.md +92 -0
  402. package/skills/web-testing/references/shadow-dom-testing.md +70 -0
  403. package/skills/web-testing/references/test-data-management.md +131 -0
  404. package/skills/web-testing/references/test-flakiness-mitigation.md +86 -0
  405. package/skills/web-testing/references/testing-pyramid-strategy.md +76 -0
  406. package/skills/web-testing/references/unit-integration-testing.md +138 -0
  407. package/skills/web-testing/references/visual-regression.md +92 -0
  408. package/skills/web-testing/references/vulnerability-payloads.md +93 -0
  409. package/skills/web-testing/scripts/analyze-test-results.js +280 -0
  410. package/skills/web-testing/scripts/init-playwright.js +233 -0
  411. package/src/commands/add.js +93 -93
  412. package/src/commands/doctor.js +117 -117
  413. package/src/commands/init.js +183 -183
  414. package/src/commands/list.js +91 -91
  415. package/src/commands/update.js +22 -22
  416. package/src/index.js +35 -35
  417. package/src/utils/colors.js +14 -14
  418. package/src/utils/copy.js +122 -122
  419. package/src/utils/paths.js +66 -66
  420. package/src/utils/update-checker.js +126 -126
  421. package/templates/repo/.github/AGENTS.md +103 -55
  422. package/templates/repo/.github/agents/brainstormer.agent.md +71 -71
  423. package/templates/repo/.github/agents/code-reviewer.agent.md +136 -136
  424. package/templates/repo/.github/agents/code-simplifier.agent.md +43 -0
  425. package/templates/repo/.github/agents/debugger.agent.md +128 -128
  426. package/templates/repo/.github/agents/docs-manager.agent.md +121 -121
  427. package/templates/repo/.github/agents/fullstack-developer.agent.md +52 -0
  428. package/templates/repo/.github/agents/git-manager.agent.md +390 -390
  429. package/templates/repo/.github/agents/planner.agent.md +94 -94
  430. package/templates/repo/.github/agents/researcher.agent.md +31 -32
  431. package/templates/repo/.github/agents/scout.agent.md +107 -107
  432. package/templates/repo/.github/agents/tester.agent.md +117 -117
  433. package/templates/repo/.github/agents/ui-ux-designer.agent.md +57 -0
  434. package/templates/repo/.github/collections/ck-core.collection.yml +28 -28
  435. package/templates/repo/.github/collections/ck-development-rules.collection.yml +18 -18
  436. package/templates/repo/.github/collections/ck-documentation.collection.yml +14 -14
  437. package/templates/repo/.github/collections/ck-git-workflow.collection.yml +12 -12
  438. package/templates/repo/.github/collections/ck-orchestration.collection.yml +16 -16
  439. package/templates/repo/.github/instructions/ck-backend.instructions.md +48 -48
  440. package/templates/repo/.github/instructions/ck-development.instructions.md +54 -54
  441. package/templates/repo/.github/instructions/ck-frontend.instructions.md +44 -44
  442. package/templates/repo/.github/instructions/ck-research.instructions.md +167 -167
  443. package/templates/repo/.github/instructions/ck-testing.instructions.md +36 -36
  444. package/templates/repo/.github/prompts/ck-ask.prompt.md +67 -57
  445. package/templates/repo/.github/prompts/ck-bootstrap.prompt.md +141 -136
  446. package/templates/repo/.github/prompts/ck-brainstorm.prompt.md +87 -105
  447. package/templates/repo/.github/prompts/ck-cook.prompt.md +96 -97
  448. package/templates/repo/.github/prompts/ck-debug.prompt.md +115 -14
  449. package/templates/repo/.github/prompts/ck-docs.prompt.md +102 -51
  450. package/templates/repo/.github/prompts/ck-fix-ci.prompt.md +46 -0
  451. package/templates/repo/.github/prompts/ck-fix-fast.prompt.md +44 -0
  452. package/templates/repo/.github/prompts/ck-fix-hard.prompt.md +60 -0
  453. package/templates/repo/.github/prompts/ck-fix-logs.prompt.md +53 -0
  454. package/templates/repo/.github/prompts/ck-fix-test.prompt.md +47 -0
  455. package/templates/repo/.github/prompts/ck-fix-types.prompt.md +29 -0
  456. package/templates/repo/.github/prompts/ck-fix-ui.prompt.md +50 -0
  457. package/templates/repo/.github/prompts/ck-fix.prompt.md +50 -44
  458. package/templates/repo/.github/prompts/ck-git.prompt.md +104 -79
  459. package/{prompts/ck-ck-help.prompt.md → templates/repo/.github/prompts/ck-help.prompt.md} +142 -112
  460. package/templates/repo/.github/prompts/ck-journal.prompt.md +19 -0
  461. package/templates/repo/.github/prompts/ck-plan-fast.prompt.md +106 -0
  462. package/templates/repo/.github/prompts/ck-plan-hard.prompt.md +133 -0
  463. package/templates/repo/.github/prompts/ck-plan-validate.prompt.md +209 -0
  464. package/templates/repo/.github/prompts/ck-plan.prompt.md +75 -80
  465. package/templates/repo/.github/prompts/ck-preview.prompt.md +77 -0
  466. package/{prompts/ck-review-codebase.prompt.md → templates/repo/.github/prompts/ck-review.prompt.md} +58 -44
  467. package/templates/repo/.github/prompts/ck-scout.prompt.md +85 -25
  468. package/templates/repo/.github/prompts/ck-simplify.prompt.md +46 -0
  469. package/templates/repo/.github/prompts/ck-spec-analyze.prompt.md +201 -0
  470. package/templates/repo/.github/prompts/ck-spec-checklist.prompt.md +308 -0
  471. package/templates/repo/.github/prompts/ck-spec-clarify.prompt.md +190 -0
  472. package/templates/repo/.github/prompts/ck-spec-constitution.prompt.md +92 -0
  473. package/templates/repo/.github/prompts/ck-spec-implement.prompt.md +157 -0
  474. package/templates/repo/.github/prompts/ck-spec-plan.prompt.md +95 -0
  475. package/templates/repo/.github/prompts/ck-spec-specify.prompt.md +260 -0
  476. package/templates/repo/.github/prompts/ck-spec-tasks.prompt.md +181 -0
  477. package/templates/repo/.github/prompts/ck-test.prompt.md +21 -10
  478. package/templates/repo/.github/prompts/ck-watzup.prompt.md +21 -0
  479. package/templates/repo/.github/skills/INSTALLATION.md +311 -0
  480. package/templates/repo/.github/skills/README.md +112 -0
  481. package/templates/repo/.github/skills/THIRD_PARTY_NOTICES.md +405 -0
  482. package/templates/repo/.github/skills/agent-browser/SKILL.md +291 -0
  483. package/templates/repo/.github/skills/agent-browser/references/.gitkeep +0 -0
  484. package/templates/repo/.github/skills/agent-browser/references/browserbase-cloud-setup.md +161 -0
  485. package/templates/repo/.github/skills/agent_skills_spec.md +55 -0
  486. package/templates/repo/.github/skills/{ck-backend-development → backend-development}/SKILL.md +94 -96
  487. package/templates/repo/.github/skills/{ck-backend-development → backend-development}/references/backend-api-design.md +697 -495
  488. package/{skills/ck-backend-development → templates/repo/.github/skills/backend-development}/references/backend-architecture.md +454 -454
  489. package/templates/repo/.github/skills/{ck-backend-development → backend-development}/references/backend-authentication.md +433 -338
  490. package/templates/repo/.github/skills/{ck-backend-development → backend-development}/references/backend-code-quality.md +659 -659
  491. package/{skills/ck-backend-development → templates/repo/.github/skills/backend-development}/references/backend-debugging.md +904 -904
  492. package/{skills/ck-backend-development → templates/repo/.github/skills/backend-development}/references/backend-devops.md +494 -494
  493. package/{skills/ck-backend-development → templates/repo/.github/skills/backend-development}/references/backend-mindset.md +387 -387
  494. package/templates/repo/.github/skills/{ck-backend-development → backend-development}/references/backend-performance.md +397 -397
  495. package/{skills/ck-backend-development → templates/repo/.github/skills/backend-development}/references/backend-security.md +340 -290
  496. package/{skills/ck-backend-development → templates/repo/.github/skills/backend-development}/references/backend-technologies.md +300 -290
  497. package/{skills/ck-backend-development → templates/repo/.github/skills/backend-development}/references/backend-testing.md +484 -561
  498. package/templates/repo/.github/skills/brainstorm/SKILL.md +74 -0
  499. package/templates/repo/.github/skills/{ck-code-review → code-review}/SKILL.md +143 -143
  500. package/templates/repo/.github/skills/{ck-code-review → code-review}/references/code-review-reception.md +208 -208
  501. package/templates/repo/.github/skills/{ck-code-review → code-review}/references/requesting-code-review.md +104 -104
  502. package/templates/repo/.github/skills/{ck-code-review → code-review}/references/verification-before-completion.md +138 -138
  503. package/templates/repo/.github/skills/common/README.md +120 -0
  504. package/templates/repo/.github/skills/common/api_key_helper.py +411 -0
  505. package/templates/repo/.github/skills/common/api_key_rotator.py +248 -0
  506. package/templates/repo/.github/skills/context-engineering/SKILL.md +106 -0
  507. package/templates/repo/.github/skills/context-engineering/references/context-compression.md +84 -0
  508. package/templates/repo/.github/skills/context-engineering/references/context-degradation.md +93 -0
  509. package/templates/repo/.github/skills/context-engineering/references/context-fundamentals.md +75 -0
  510. package/templates/repo/.github/skills/context-engineering/references/context-optimization.md +82 -0
  511. package/templates/repo/.github/skills/context-engineering/references/evaluation.md +89 -0
  512. package/templates/repo/.github/skills/context-engineering/references/memory-systems.md +88 -0
  513. package/templates/repo/.github/skills/context-engineering/references/multi-agent-patterns.md +90 -0
  514. package/templates/repo/.github/skills/context-engineering/references/project-development.md +97 -0
  515. package/templates/repo/.github/skills/context-engineering/references/runtime-awareness.md +202 -0
  516. package/templates/repo/.github/skills/context-engineering/references/tool-design.md +86 -0
  517. package/templates/repo/.github/skills/context-engineering/scripts/compression_evaluator.py +349 -0
  518. package/templates/repo/.github/skills/context-engineering/scripts/context_analyzer.py +317 -0
  519. package/templates/repo/.github/skills/cook/README.md +86 -0
  520. package/templates/repo/.github/skills/cook/SKILL.md +93 -0
  521. package/templates/repo/.github/skills/cook/references/agent-patterns.md +75 -0
  522. package/templates/repo/.github/skills/cook/references/intent-detection.md +101 -0
  523. package/templates/repo/.github/skills/cook/references/review-cycle.md +75 -0
  524. package/templates/repo/.github/skills/cook/references/workflow-steps.md +140 -0
  525. package/templates/repo/.github/skills/databases/SKILL.md +111 -0
  526. package/templates/repo/.github/skills/databases/analytics.md +198 -0
  527. package/templates/repo/.github/skills/databases/db-design.md +188 -0
  528. package/templates/repo/.github/skills/databases/incremental-etl.md +213 -0
  529. package/templates/repo/.github/skills/databases/references/mongodb-aggregation.md +447 -0
  530. package/templates/repo/.github/skills/databases/references/mongodb-atlas.md +465 -0
  531. package/templates/repo/.github/skills/databases/references/mongodb-crud.md +408 -0
  532. package/templates/repo/.github/skills/databases/references/mongodb-indexing.md +442 -0
  533. package/templates/repo/.github/skills/databases/references/postgresql-administration.md +594 -0
  534. package/templates/repo/.github/skills/databases/references/postgresql-performance.md +527 -0
  535. package/templates/repo/.github/skills/databases/references/postgresql-psql-cli.md +467 -0
  536. package/templates/repo/.github/skills/databases/references/postgresql-queries.md +475 -0
  537. package/templates/repo/.github/skills/databases/scripts/db_backup.py +502 -0
  538. package/templates/repo/.github/skills/databases/scripts/db_migrate.py +426 -0
  539. package/templates/repo/.github/skills/databases/scripts/db_performance_check.py +457 -0
  540. package/templates/repo/.github/skills/databases/scripts/requirements.txt +20 -0
  541. package/templates/repo/.github/skills/databases/stacks/bigquery.md +231 -0
  542. package/templates/repo/.github/skills/databases/stacks/d1_cloudflare.md +137 -0
  543. package/templates/repo/.github/skills/databases/stacks/mysql.md +216 -0
  544. package/templates/repo/.github/skills/databases/stacks/postgres.md +235 -0
  545. package/templates/repo/.github/skills/databases/stacks/sqlite.md +244 -0
  546. package/templates/repo/.github/skills/databases/transactional.md +176 -0
  547. package/{skills/ck-debugging → templates/repo/.github/skills/debug}/SKILL.md +83 -82
  548. package/{skills/ck-debugging → templates/repo/.github/skills/debug}/references/defense-in-depth.md +124 -124
  549. package/templates/repo/.github/skills/{ck-debugging → debug}/references/root-cause-tracing.md +122 -122
  550. package/{skills/ck-debugging → templates/repo/.github/skills/debug}/references/systematic-debugging.md +102 -102
  551. package/templates/repo/.github/skills/{ck-debugging → debug}/references/verification.md +123 -123
  552. package/{skills/ck-debugging → templates/repo/.github/skills/debug}/scripts/find-polluter.sh +63 -63
  553. package/{skills/ck-debugging → templates/repo/.github/skills/debug}/scripts/find-polluter.test.md +102 -102
  554. package/templates/repo/.github/skills/devops/.env.example +76 -0
  555. package/templates/repo/.github/skills/devops/SKILL.md +102 -0
  556. package/templates/repo/.github/skills/devops/references/browser-rendering.md +305 -0
  557. package/templates/repo/.github/skills/devops/references/cloudflare-d1-kv.md +123 -0
  558. package/templates/repo/.github/skills/devops/references/cloudflare-platform.md +271 -0
  559. package/templates/repo/.github/skills/devops/references/cloudflare-r2-storage.md +280 -0
  560. package/templates/repo/.github/skills/devops/references/cloudflare-workers-advanced.md +312 -0
  561. package/templates/repo/.github/skills/devops/references/cloudflare-workers-apis.md +309 -0
  562. package/templates/repo/.github/skills/devops/references/cloudflare-workers-basics.md +418 -0
  563. package/templates/repo/.github/skills/devops/references/docker-basics.md +297 -0
  564. package/templates/repo/.github/skills/devops/references/docker-compose.md +292 -0
  565. package/templates/repo/.github/skills/devops/references/gcloud-platform.md +297 -0
  566. package/templates/repo/.github/skills/devops/references/gcloud-services.md +304 -0
  567. package/templates/repo/.github/skills/devops/references/kubernetes-basics.md +99 -0
  568. package/templates/repo/.github/skills/devops/references/kubernetes-helm-advanced.md +75 -0
  569. package/templates/repo/.github/skills/devops/references/kubernetes-helm.md +81 -0
  570. package/templates/repo/.github/skills/devops/references/kubernetes-kubectl.md +74 -0
  571. package/templates/repo/.github/skills/devops/references/kubernetes-security-advanced.md +98 -0
  572. package/templates/repo/.github/skills/devops/references/kubernetes-security.md +95 -0
  573. package/templates/repo/.github/skills/devops/references/kubernetes-troubleshooting-advanced.md +74 -0
  574. package/templates/repo/.github/skills/devops/references/kubernetes-troubleshooting.md +49 -0
  575. package/templates/repo/.github/skills/devops/references/kubernetes-workflows-advanced.md +75 -0
  576. package/templates/repo/.github/skills/devops/references/kubernetes-workflows.md +78 -0
  577. package/templates/repo/.github/skills/devops/scripts/cloudflare_deploy.py +269 -0
  578. package/templates/repo/.github/skills/devops/scripts/docker_optimize.py +332 -0
  579. package/templates/repo/.github/skills/devops/scripts/requirements.txt +20 -0
  580. package/templates/repo/.github/skills/docs-seeker/.env.example +15 -0
  581. package/templates/repo/.github/skills/docs-seeker/SKILL.md +96 -0
  582. package/templates/repo/.github/skills/docs-seeker/package.json +25 -0
  583. package/templates/repo/.github/skills/docs-seeker/references/advanced.md +79 -0
  584. package/templates/repo/.github/skills/docs-seeker/references/context7-patterns.md +64 -0
  585. package/templates/repo/.github/skills/docs-seeker/references/errors.md +68 -0
  586. package/templates/repo/.github/skills/docs-seeker/scripts/analyze-llms-txt.js +211 -0
  587. package/templates/repo/.github/skills/docs-seeker/scripts/detect-topic.js +172 -0
  588. package/templates/repo/.github/skills/docs-seeker/scripts/fetch-docs.js +214 -0
  589. package/templates/repo/.github/skills/docs-seeker/scripts/utils/env-loader.js +94 -0
  590. package/templates/repo/.github/skills/docs-seeker/workflows/library-search.md +86 -0
  591. package/templates/repo/.github/skills/docs-seeker/workflows/repo-analysis.md +91 -0
  592. package/templates/repo/.github/skills/docs-seeker/workflows/topic-search.md +77 -0
  593. package/templates/repo/.github/skills/fix/SKILL.md +100 -0
  594. package/templates/repo/.github/skills/fix/references/complexity-assessment.md +61 -0
  595. package/templates/repo/.github/skills/fix/references/mode-selection.md +30 -0
  596. package/templates/repo/.github/skills/fix/references/parallel-exploration.md +77 -0
  597. package/templates/repo/.github/skills/fix/references/review-cycle.md +77 -0
  598. package/templates/repo/.github/skills/fix/references/skill-activation-matrix.md +65 -0
  599. package/templates/repo/.github/skills/fix/references/workflow-ci.md +28 -0
  600. package/templates/repo/.github/skills/fix/references/workflow-deep.md +91 -0
  601. package/templates/repo/.github/skills/fix/references/workflow-logs.md +36 -0
  602. package/templates/repo/.github/skills/fix/references/workflow-quick.md +59 -0
  603. package/templates/repo/.github/skills/fix/references/workflow-standard.md +86 -0
  604. package/templates/repo/.github/skills/fix/references/workflow-test.md +36 -0
  605. package/templates/repo/.github/skills/fix/references/workflow-types.md +33 -0
  606. package/templates/repo/.github/skills/fix/references/workflow-ui.md +34 -0
  607. package/templates/repo/.github/skills/frontend-design/SKILL.md +74 -0
  608. package/templates/repo/.github/skills/frontend-design/references/analysis-best-practices.md +80 -0
  609. package/templates/repo/.github/skills/frontend-design/references/analysis-prompts.md +141 -0
  610. package/templates/repo/.github/skills/frontend-design/references/analysis-techniques.md +118 -0
  611. package/templates/repo/.github/skills/frontend-design/references/animejs.md +396 -0
  612. package/templates/repo/.github/skills/frontend-design/references/asset-generation.md +161 -0
  613. package/templates/repo/.github/skills/frontend-design/references/design-extraction-overview.md +71 -0
  614. package/templates/repo/.github/skills/frontend-design/references/extraction-best-practices.md +141 -0
  615. package/templates/repo/.github/skills/frontend-design/references/extraction-output-templates.md +162 -0
  616. package/templates/repo/.github/skills/frontend-design/references/extraction-prompts.md +127 -0
  617. package/templates/repo/.github/skills/frontend-design/references/technical-accessibility.md +119 -0
  618. package/templates/repo/.github/skills/frontend-design/references/technical-best-practices.md +97 -0
  619. package/templates/repo/.github/skills/frontend-design/references/technical-optimization.md +44 -0
  620. package/templates/repo/.github/skills/frontend-design/references/technical-overview.md +90 -0
  621. package/templates/repo/.github/skills/frontend-design/references/technical-workflows.md +150 -0
  622. package/templates/repo/.github/skills/frontend-design/references/visual-analysis-overview.md +95 -0
  623. package/templates/repo/.github/skills/frontend-design/references/workflow-describe.md +86 -0
  624. package/templates/repo/.github/skills/frontend-design/references/workflow-quick.md +54 -0
  625. package/templates/repo/.github/skills/frontend-design/references/workflow-screenshot.md +62 -0
  626. package/templates/repo/.github/skills/git/SKILL.md +99 -0
  627. package/templates/repo/.github/skills/git/references/branch-management.md +88 -0
  628. package/templates/repo/.github/skills/git/references/commit-standards.md +46 -0
  629. package/templates/repo/.github/skills/git/references/gh-cli-guide.md +109 -0
  630. package/templates/repo/.github/skills/git/references/safety-protocols.md +69 -0
  631. package/templates/repo/.github/skills/git/references/workflow-commit.md +58 -0
  632. package/templates/repo/.github/skills/git/references/workflow-merge.md +48 -0
  633. package/templates/repo/.github/skills/git/references/workflow-pr.md +58 -0
  634. package/templates/repo/.github/skills/git/references/workflow-push.md +52 -0
  635. package/templates/repo/.github/skills/install.ps1 +1247 -0
  636. package/templates/repo/.github/skills/install.sh +1300 -0
  637. package/templates/repo/.github/skills/mcp-management/README.md +219 -0
  638. package/templates/repo/.github/skills/mcp-management/SKILL.md +209 -0
  639. package/templates/repo/.github/skills/mcp-management/assets/tools.json +3146 -0
  640. package/templates/repo/.github/skills/mcp-management/references/configuration.md +114 -0
  641. package/templates/repo/.github/skills/mcp-management/references/gemini-cli-integration.md +221 -0
  642. package/templates/repo/.github/skills/mcp-management/references/mcp-protocol.md +116 -0
  643. package/templates/repo/.github/skills/mcp-management/scripts/.env.example +10 -0
  644. package/templates/repo/.github/skills/mcp-management/scripts/cli.ts +195 -0
  645. package/templates/repo/.github/skills/mcp-management/scripts/dist/analyze-tools.js +70 -0
  646. package/templates/repo/.github/skills/mcp-management/scripts/dist/cli.js +160 -0
  647. package/templates/repo/.github/skills/mcp-management/scripts/dist/mcp-client.js +183 -0
  648. package/templates/repo/.github/skills/mcp-management/scripts/mcp-client.ts +230 -0
  649. package/templates/repo/.github/skills/mcp-management/scripts/package.json +20 -0
  650. package/templates/repo/.github/skills/mcp-management/scripts/tsconfig.json +15 -0
  651. package/templates/repo/.github/skills/mermaidjs-v11/SKILL.md +115 -0
  652. package/templates/repo/.github/skills/mermaidjs-v11/references/cli-usage.md +228 -0
  653. package/templates/repo/.github/skills/mermaidjs-v11/references/configuration.md +232 -0
  654. package/templates/repo/.github/skills/mermaidjs-v11/references/diagram-types.md +315 -0
  655. package/templates/repo/.github/skills/mermaidjs-v11/references/examples.md +344 -0
  656. package/templates/repo/.github/skills/mermaidjs-v11/references/integration.md +310 -0
  657. package/templates/repo/.github/skills/{ck-planning → planning}/SKILL.md +131 -112
  658. package/{skills/ck-planning → templates/repo/.github/skills/planning}/references/codebase-understanding.md +62 -62
  659. package/templates/repo/.github/skills/{ck-planning → planning}/references/output-standards.md +141 -127
  660. package/{skills/ck-planning → templates/repo/.github/skills/planning}/references/plan-organization.md +160 -150
  661. package/templates/repo/.github/skills/{ck-planning → planning}/references/research-phase.md +49 -49
  662. package/{skills/ck-planning → templates/repo/.github/skills/planning}/references/solution-design.md +63 -63
  663. package/templates/repo/.github/skills/{ck-problem-solving → problem-solving}/SKILL.md +95 -95
  664. package/{skills/ck-problem-solving → templates/repo/.github/skills/problem-solving}/references/attribution.md +69 -69
  665. package/templates/repo/.github/skills/{ck-problem-solving → problem-solving}/references/collision-zone-thinking.md +79 -79
  666. package/{skills/ck-problem-solving → templates/repo/.github/skills/problem-solving}/references/inversion-exercise.md +91 -91
  667. package/templates/repo/.github/skills/{ck-problem-solving → problem-solving}/references/meta-pattern-recognition.md +87 -87
  668. package/templates/repo/.github/skills/{ck-problem-solving → problem-solving}/references/scale-game.md +95 -95
  669. package/templates/repo/.github/skills/{ck-problem-solving → problem-solving}/references/simplification-cascades.md +80 -80
  670. package/{skills/ck-problem-solving → templates/repo/.github/skills/problem-solving}/references/when-stuck.md +72 -72
  671. package/templates/repo/.github/skills/repomix/SKILL.md +247 -0
  672. package/templates/repo/.github/skills/repomix/references/configuration.md +211 -0
  673. package/templates/repo/.github/skills/repomix/references/usage-patterns.md +232 -0
  674. package/templates/repo/.github/skills/repomix/scripts/README.md +179 -0
  675. package/templates/repo/.github/skills/repomix/scripts/repomix_batch.py +455 -0
  676. package/templates/repo/.github/skills/repomix/scripts/repos.example.json +15 -0
  677. package/templates/repo/.github/skills/repomix/scripts/requirements.txt +15 -0
  678. package/templates/repo/.github/skills/research/SKILL.md +169 -0
  679. package/templates/repo/.github/skills/scout/SKILL.md +78 -0
  680. package/templates/repo/.github/skills/scout/references/external-scouting.md +140 -0
  681. package/templates/repo/.github/skills/scout/references/internal-scouting.md +119 -0
  682. package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/.env.example +8 -8
  683. package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/README.md +183 -183
  684. package/{skills/ck-sequential-thinking → templates/repo/.github/skills/sequential-thinking}/SKILL.md +92 -92
  685. package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/package.json +31 -31
  686. package/{skills/ck-sequential-thinking → templates/repo/.github/skills/sequential-thinking}/references/advanced-strategies.md +79 -79
  687. package/{skills/ck-sequential-thinking → templates/repo/.github/skills/sequential-thinking}/references/advanced-techniques.md +76 -76
  688. package/{skills/ck-sequential-thinking → templates/repo/.github/skills/sequential-thinking}/references/core-patterns.md +95 -95
  689. package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/references/examples-api.md +88 -88
  690. package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/references/examples-architecture.md +94 -94
  691. package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/references/examples-debug.md +90 -90
  692. package/templates/repo/.github/skills/{ck-sequential-thinking → sequential-thinking}/scripts/format-thought.js +159 -159
  693. package/{skills/ck-sequential-thinking → templates/repo/.github/skills/sequential-thinking}/scripts/process-thought.js +236 -236
  694. package/templates/repo/.github/skills/ui-styling/LICENSE.txt +202 -0
  695. package/templates/repo/.github/skills/ui-styling/SKILL.md +319 -0
  696. package/templates/repo/.github/skills/ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  697. package/templates/repo/.github/skills/ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  698. package/templates/repo/.github/skills/ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  699. package/templates/repo/.github/skills/ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
  700. package/templates/repo/.github/skills/ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  701. package/templates/repo/.github/skills/ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
  702. package/templates/repo/.github/skills/ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
  703. package/templates/repo/.github/skills/ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  704. package/templates/repo/.github/skills/ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  705. package/templates/repo/.github/skills/ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  706. package/templates/repo/.github/skills/ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  707. package/templates/repo/.github/skills/ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  708. package/templates/repo/.github/skills/ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  709. package/templates/repo/.github/skills/ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  710. package/templates/repo/.github/skills/ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
  711. package/templates/repo/.github/skills/ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
  712. package/templates/repo/.github/skills/ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
  713. package/templates/repo/.github/skills/ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
  714. package/templates/repo/.github/skills/ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
  715. package/templates/repo/.github/skills/ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
  716. package/templates/repo/.github/skills/ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
  717. package/templates/repo/.github/skills/ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
  718. package/templates/repo/.github/skills/ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
  719. package/templates/repo/.github/skills/ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  720. package/templates/repo/.github/skills/ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  721. package/templates/repo/.github/skills/ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  722. package/templates/repo/.github/skills/ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  723. package/templates/repo/.github/skills/ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  724. package/templates/repo/.github/skills/ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  725. package/templates/repo/.github/skills/ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  726. package/templates/repo/.github/skills/ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  727. package/templates/repo/.github/skills/ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  728. package/templates/repo/.github/skills/ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  729. package/templates/repo/.github/skills/ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  730. package/templates/repo/.github/skills/ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  731. package/templates/repo/.github/skills/ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  732. package/templates/repo/.github/skills/ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  733. package/templates/repo/.github/skills/ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
  734. package/templates/repo/.github/skills/ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
  735. package/templates/repo/.github/skills/ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  736. package/templates/repo/.github/skills/ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  737. package/templates/repo/.github/skills/ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  738. package/templates/repo/.github/skills/ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
  739. package/templates/repo/.github/skills/ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
  740. package/templates/repo/.github/skills/ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
  741. package/templates/repo/.github/skills/ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  742. package/templates/repo/.github/skills/ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  743. package/templates/repo/.github/skills/ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
  744. package/templates/repo/.github/skills/ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  745. package/templates/repo/.github/skills/ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
  746. package/templates/repo/.github/skills/ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
  747. package/templates/repo/.github/skills/ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
  748. package/templates/repo/.github/skills/ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
  749. package/templates/repo/.github/skills/ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
  750. package/templates/repo/.github/skills/ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
  751. package/templates/repo/.github/skills/ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  752. package/templates/repo/.github/skills/ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  753. package/templates/repo/.github/skills/ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
  754. package/templates/repo/.github/skills/ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
  755. package/templates/repo/.github/skills/ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
  756. package/templates/repo/.github/skills/ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  757. package/templates/repo/.github/skills/ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
  758. package/templates/repo/.github/skills/ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
  759. package/templates/repo/.github/skills/ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  760. package/templates/repo/.github/skills/ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  761. package/templates/repo/.github/skills/ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
  762. package/templates/repo/.github/skills/ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  763. package/templates/repo/.github/skills/ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
  764. package/templates/repo/.github/skills/ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  765. package/templates/repo/.github/skills/ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  766. package/templates/repo/.github/skills/ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
  767. package/templates/repo/.github/skills/ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
  768. package/templates/repo/.github/skills/ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
  769. package/templates/repo/.github/skills/ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
  770. package/templates/repo/.github/skills/ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
  771. package/templates/repo/.github/skills/ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  772. package/templates/repo/.github/skills/ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
  773. package/templates/repo/.github/skills/ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
  774. package/templates/repo/.github/skills/ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
  775. package/templates/repo/.github/skills/ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
  776. package/templates/repo/.github/skills/ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  777. package/templates/repo/.github/skills/ui-styling/references/canvas-design-system.md +320 -0
  778. package/templates/repo/.github/skills/ui-styling/references/shadcn-accessibility.md +471 -0
  779. package/templates/repo/.github/skills/ui-styling/references/shadcn-components.md +424 -0
  780. package/templates/repo/.github/skills/ui-styling/references/shadcn-theming.md +373 -0
  781. package/templates/repo/.github/skills/ui-styling/references/tailwind-customization.md +483 -0
  782. package/templates/repo/.github/skills/ui-styling/references/tailwind-responsive.md +382 -0
  783. package/templates/repo/.github/skills/ui-styling/references/tailwind-utilities.md +455 -0
  784. package/templates/repo/.github/skills/ui-styling/scripts/requirements.txt +17 -0
  785. package/templates/repo/.github/skills/ui-styling/scripts/shadcn_add.py +292 -0
  786. package/templates/repo/.github/skills/ui-styling/scripts/tailwind_config_gen.py +456 -0
  787. package/templates/repo/.github/skills/web-testing/SKILL.md +94 -0
  788. package/templates/repo/.github/skills/web-testing/references/accessibility-testing.md +84 -0
  789. package/templates/repo/.github/skills/web-testing/references/api-testing.md +78 -0
  790. package/templates/repo/.github/skills/web-testing/references/ci-cd-testing-workflows.md +121 -0
  791. package/templates/repo/.github/skills/web-testing/references/component-testing.md +94 -0
  792. package/templates/repo/.github/skills/web-testing/references/contract-testing.md +146 -0
  793. package/templates/repo/.github/skills/web-testing/references/cross-browser-checklist.md +72 -0
  794. package/templates/repo/.github/skills/web-testing/references/database-testing.md +139 -0
  795. package/templates/repo/.github/skills/web-testing/references/e2e-testing-playwright.md +119 -0
  796. package/templates/repo/.github/skills/web-testing/references/functional-testing-checklist.md +88 -0
  797. package/templates/repo/.github/skills/web-testing/references/interactive-testing-patterns.md +89 -0
  798. package/templates/repo/.github/skills/web-testing/references/load-testing-k6.md +93 -0
  799. package/templates/repo/.github/skills/web-testing/references/mobile-gesture-testing.md +85 -0
  800. package/templates/repo/.github/skills/web-testing/references/performance-core-web-vitals.md +124 -0
  801. package/templates/repo/.github/skills/web-testing/references/playwright-component-testing.md +115 -0
  802. package/templates/repo/.github/skills/web-testing/references/pre-release-checklist.md +75 -0
  803. package/templates/repo/.github/skills/web-testing/references/security-checklists.md +81 -0
  804. package/templates/repo/.github/skills/web-testing/references/security-testing-overview.md +92 -0
  805. package/templates/repo/.github/skills/web-testing/references/shadow-dom-testing.md +70 -0
  806. package/templates/repo/.github/skills/web-testing/references/test-data-management.md +131 -0
  807. package/templates/repo/.github/skills/web-testing/references/test-flakiness-mitigation.md +86 -0
  808. package/templates/repo/.github/skills/web-testing/references/testing-pyramid-strategy.md +76 -0
  809. package/templates/repo/.github/skills/web-testing/references/unit-integration-testing.md +138 -0
  810. package/templates/repo/.github/skills/web-testing/references/visual-regression.md +92 -0
  811. package/templates/repo/.github/skills/web-testing/references/vulnerability-payloads.md +93 -0
  812. package/templates/repo/.github/skills/web-testing/scripts/analyze-test-results.js +280 -0
  813. package/templates/repo/.github/skills/web-testing/scripts/init-playwright.js +233 -0
  814. package/templates/repo/.github/spec-kit/memory/constitution.md +50 -0
  815. package/templates/repo/.github/spec-kit/scripts/bash/check-prerequisites.sh +166 -0
  816. package/templates/repo/.github/spec-kit/scripts/bash/common.sh +156 -0
  817. package/templates/repo/.github/spec-kit/scripts/bash/create-new-feature.sh +297 -0
  818. package/templates/repo/.github/spec-kit/scripts/bash/setup-plan.sh +61 -0
  819. package/templates/repo/.github/spec-kit/scripts/bash/update-agent-context.sh +799 -0
  820. package/templates/repo/.github/spec-kit/scripts/powershell/check-prerequisites.ps1 +148 -0
  821. package/templates/repo/.github/spec-kit/scripts/powershell/common.ps1 +137 -0
  822. package/templates/repo/.github/spec-kit/scripts/powershell/create-new-feature.ps1 +283 -0
  823. package/templates/repo/.github/spec-kit/scripts/powershell/setup-plan.ps1 +61 -0
  824. package/templates/repo/.github/spec-kit/scripts/powershell/update-agent-context.ps1 +448 -0
  825. package/templates/repo/.github/spec-kit/templates/agent-file-template.md +28 -0
  826. package/templates/repo/.github/spec-kit/templates/checklist-template.md +40 -0
  827. package/templates/repo/.github/spec-kit/templates/commands/analyze.md +187 -0
  828. package/templates/repo/.github/spec-kit/templates/commands/checklist.md +297 -0
  829. package/templates/repo/.github/spec-kit/templates/commands/clarify.md +184 -0
  830. package/templates/repo/.github/spec-kit/templates/commands/constitution.md +82 -0
  831. package/templates/repo/.github/spec-kit/templates/commands/implement.md +138 -0
  832. package/templates/repo/.github/spec-kit/templates/commands/plan.md +95 -0
  833. package/templates/repo/.github/spec-kit/templates/commands/specify.md +261 -0
  834. package/templates/repo/.github/spec-kit/templates/commands/tasks.md +140 -0
  835. package/templates/repo/.github/spec-kit/templates/commands/taskstoissues.md +33 -0
  836. package/templates/repo/.github/spec-kit/templates/plan-template.md +104 -0
  837. package/templates/repo/.github/spec-kit/templates/spec-template.md +115 -0
  838. package/templates/repo/.github/spec-kit/templates/tasks-phase-template.md +42 -0
  839. package/templates/repo/.github/spec-kit/templates/tasks-template.md +268 -0
  840. package/templates/repo/.github/spec-kit/templates/vscode-settings.json +14 -0
  841. package/templates/repo/.vscode/settings.json +70 -70
  842. package/.vscode/settings.json +0 -70
  843. package/AGENTS.md +0 -103
  844. package/FAQ.md +0 -101
  845. package/INIT.md +0 -154
  846. package/QUICK-START.md +0 -37
  847. package/changelogs/1.0.8.md +0 -77
  848. package/changelogs/1.0.9.md +0 -173
  849. package/plans/reports/docs-manager-260120-0854-documentation-update.md +0 -323
  850. package/prompts/ck-code.prompt.md +0 -178
  851. package/repomix-output.xml +0 -40725
  852. package/rules/README.agents.md +0 -55
  853. package/rules/README.collections.md +0 -78
  854. package/rules/README.copilot-instructions.md +0 -66
  855. package/rules/README.instructions.md +0 -73
  856. package/rules/README.md +0 -39
  857. package/rules/README.prompts.md +0 -76
  858. package/rules/README.skills.md +0 -71
  859. package/skills/ck-frontend-development/SKILL.md +0 -399
  860. package/skills/ck-frontend-development/resources/common-patterns.md +0 -331
  861. package/skills/ck-frontend-development/resources/complete-examples.md +0 -872
  862. package/skills/ck-frontend-development/resources/component-patterns.md +0 -502
  863. package/skills/ck-frontend-development/resources/data-fetching.md +0 -767
  864. package/skills/ck-frontend-development/resources/file-organization.md +0 -502
  865. package/skills/ck-frontend-development/resources/loading-and-error-states.md +0 -501
  866. package/skills/ck-frontend-development/resources/performance.md +0 -406
  867. package/skills/ck-frontend-development/resources/routing-guide.md +0 -364
  868. package/skills/ck-frontend-development/resources/styling-guide.md +0 -428
  869. package/skills/ck-frontend-development/resources/typescript-standards.md +0 -418
  870. package/skills/ck-sequential-thinking/tests/format-thought.test.js +0 -133
  871. package/skills/ck-sequential-thinking/tests/process-thought.test.js +0 -215
  872. package/templates/repo/.github/.cokit-version +0 -4
  873. package/templates/repo/.github/copilot-instructions.md +0 -45
  874. package/templates/repo/.github/prompts/ck-code.prompt.md +0 -178
  875. package/templates/repo/.github/skills/ck-frontend-development/SKILL.md +0 -399
  876. package/templates/repo/.github/skills/ck-frontend-development/resources/common-patterns.md +0 -331
  877. package/templates/repo/.github/skills/ck-frontend-development/resources/complete-examples.md +0 -872
  878. package/templates/repo/.github/skills/ck-frontend-development/resources/component-patterns.md +0 -502
  879. package/templates/repo/.github/skills/ck-frontend-development/resources/data-fetching.md +0 -767
  880. package/templates/repo/.github/skills/ck-frontend-development/resources/file-organization.md +0 -502
  881. package/templates/repo/.github/skills/ck-frontend-development/resources/loading-and-error-states.md +0 -501
  882. package/templates/repo/.github/skills/ck-frontend-development/resources/performance.md +0 -406
  883. package/templates/repo/.github/skills/ck-frontend-development/resources/routing-guide.md +0 -364
  884. package/templates/repo/.github/skills/ck-frontend-development/resources/styling-guide.md +0 -428
  885. package/templates/repo/.github/skills/ck-frontend-development/resources/typescript-standards.md +0 -418
  886. package/templates/repo/.github/skills/ck-sequential-thinking/tests/format-thought.test.js +0 -133
  887. package/templates/repo/.github/skills/ck-sequential-thinking/tests/process-thought.test.js +0 -215
  888. /package/skills/{ck-code-review → code-review}/references/verification-before-completion.md +0 -0
@@ -0,0 +1,457 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Database performance analysis tool for MongoDB and PostgreSQL.
4
+ Analyzes slow queries, recommends indexes, and generates reports.
5
+ """
6
+
7
+ import argparse
8
+ import json
9
+ import sys
10
+ from dataclasses import dataclass, asdict
11
+ from datetime import datetime
12
+ from pathlib import Path
13
+ from typing import Dict, List, Optional
14
+
15
+ # Windows UTF-8 compatibility (works for both local and global installs)
16
+ PROJECT_ROOT = Path(__file__).parent.parent.parent.parent
17
+ sys.path.insert(0, str(PROJECT_ROOT / 'scripts'))
18
+ try:
19
+ from win_compat import ensure_utf8_stdout
20
+ ensure_utf8_stdout()
21
+ except ImportError:
22
+ if sys.platform == 'win32':
23
+ import io
24
+ if hasattr(sys.stdout, 'buffer'):
25
+ sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
26
+
27
+ try:
28
+ from pymongo import MongoClient
29
+ MONGO_AVAILABLE = True
30
+ except ImportError:
31
+ MONGO_AVAILABLE = False
32
+
33
+ try:
34
+ import psycopg2
35
+ from psycopg2.extras import RealDictCursor
36
+ POSTGRES_AVAILABLE = True
37
+ except ImportError:
38
+ POSTGRES_AVAILABLE = False
39
+
40
+
41
+ @dataclass
42
+ class SlowQuery:
43
+ """Represents a slow query."""
44
+
45
+ query: str
46
+ execution_time_ms: float
47
+ count: int
48
+ collection_or_table: Optional[str] = None
49
+ index_used: Optional[str] = None
50
+
51
+
52
+ @dataclass
53
+ class IndexRecommendation:
54
+ """Index recommendation."""
55
+
56
+ collection_or_table: str
57
+ fields: List[str]
58
+ reason: str
59
+ estimated_benefit: str
60
+
61
+
62
+ @dataclass
63
+ class PerformanceReport:
64
+ """Performance analysis report."""
65
+
66
+ database_type: str
67
+ database_name: str
68
+ timestamp: datetime
69
+ slow_queries: List[SlowQuery]
70
+ index_recommendations: List[IndexRecommendation]
71
+ database_metrics: Dict[str, any]
72
+
73
+
74
+ class PerformanceAnalyzer:
75
+ """Analyzes database performance."""
76
+
77
+ def __init__(self, db_type: str, connection_string: str, threshold_ms: int = 100):
78
+ """
79
+ Initialize performance analyzer.
80
+
81
+ Args:
82
+ db_type: Database type ('mongodb' or 'postgres')
83
+ connection_string: Database connection string
84
+ threshold_ms: Slow query threshold in milliseconds
85
+ """
86
+ self.db_type = db_type.lower()
87
+ self.connection_string = connection_string
88
+ self.threshold_ms = threshold_ms
89
+
90
+ self.client = None
91
+ self.db = None
92
+ self.conn = None
93
+
94
+ def connect(self) -> bool:
95
+ """Connect to database."""
96
+ try:
97
+ if self.db_type == "mongodb":
98
+ if not MONGO_AVAILABLE:
99
+ print("Error: pymongo not installed")
100
+ return False
101
+ self.client = MongoClient(self.connection_string)
102
+ self.db = self.client.get_default_database()
103
+ self.client.server_info()
104
+ return True
105
+
106
+ elif self.db_type == "postgres":
107
+ if not POSTGRES_AVAILABLE:
108
+ print("Error: psycopg2 not installed")
109
+ return False
110
+ self.conn = psycopg2.connect(self.connection_string)
111
+ return True
112
+
113
+ else:
114
+ print(f"Error: Unsupported database type: {self.db_type}")
115
+ return False
116
+
117
+ except Exception as e:
118
+ print(f"Connection error: {e}")
119
+ return False
120
+
121
+ def disconnect(self):
122
+ """Disconnect from database."""
123
+ try:
124
+ if self.client:
125
+ self.client.close()
126
+ if self.conn:
127
+ self.conn.close()
128
+ except Exception as e:
129
+ print(f"Disconnect error: {e}")
130
+
131
+ def analyze(self) -> Optional[PerformanceReport]:
132
+ """
133
+ Analyze database performance.
134
+
135
+ Returns:
136
+ PerformanceReport if successful, None otherwise
137
+ """
138
+ try:
139
+ if self.db_type == "mongodb":
140
+ return self._analyze_mongodb()
141
+ elif self.db_type == "postgres":
142
+ return self._analyze_postgres()
143
+ else:
144
+ return None
145
+
146
+ except Exception as e:
147
+ print(f"Analysis error: {e}")
148
+ return None
149
+
150
+ def _analyze_mongodb(self) -> PerformanceReport:
151
+ """Analyze MongoDB performance."""
152
+ slow_queries = []
153
+ index_recommendations = []
154
+
155
+ # Enable profiling if not enabled
156
+ profiling_level = self.db.command("profile", -1)
157
+ if profiling_level.get("was", 0) == 0:
158
+ self.db.command("profile", 1, slowms=self.threshold_ms)
159
+
160
+ # Get slow queries from system.profile
161
+ for doc in self.db.system.profile.find(
162
+ {"millis": {"$gte": self.threshold_ms}},
163
+ limit=50
164
+ ).sort("millis", -1):
165
+
166
+ query_str = json.dumps(doc.get("command", {}), default=str)
167
+
168
+ slow_queries.append(SlowQuery(
169
+ query=query_str,
170
+ execution_time_ms=doc.get("millis", 0),
171
+ count=1,
172
+ collection_or_table=doc.get("ns", "").split(".")[-1] if "ns" in doc else None,
173
+ index_used=doc.get("planSummary")
174
+ ))
175
+
176
+ # Analyze collections for index recommendations
177
+ for coll_name in self.db.list_collection_names():
178
+ if coll_name.startswith("system."):
179
+ continue
180
+
181
+ coll = self.db[coll_name]
182
+
183
+ # Check for collections scans
184
+ stats = coll.aggregate([
185
+ {"$collStats": {"storageStats": {}}}
186
+ ]).next()
187
+
188
+ # Check if collection has indexes
189
+ indexes = list(coll.list_indexes())
190
+
191
+ if len(indexes) <= 1: # Only _id index
192
+ # Recommend indexes based on common patterns
193
+ # Sample documents to find frequently queried fields
194
+ sample = list(coll.find().limit(100))
195
+
196
+ if sample:
197
+ # Find fields that appear in most documents
198
+ field_freq = {}
199
+ for doc in sample:
200
+ for field in doc.keys():
201
+ if field != "_id":
202
+ field_freq[field] = field_freq.get(field, 0) + 1
203
+
204
+ # Recommend index on most common field
205
+ if field_freq:
206
+ top_field = max(field_freq.items(), key=lambda x: x[1])[0]
207
+ index_recommendations.append(IndexRecommendation(
208
+ collection_or_table=coll_name,
209
+ fields=[top_field],
210
+ reason="Frequently queried field without index",
211
+ estimated_benefit="High"
212
+ ))
213
+
214
+ # Get database metrics
215
+ server_status = self.client.admin.command("serverStatus")
216
+ db_stats = self.db.command("dbStats")
217
+
218
+ metrics = {
219
+ "connections": server_status.get("connections", {}).get("current", 0),
220
+ "operations_per_sec": server_status.get("opcounters", {}).get("query", 0),
221
+ "database_size_mb": db_stats.get("dataSize", 0) / (1024 * 1024),
222
+ "index_size_mb": db_stats.get("indexSize", 0) / (1024 * 1024),
223
+ "collections": db_stats.get("collections", 0)
224
+ }
225
+
226
+ return PerformanceReport(
227
+ database_type="mongodb",
228
+ database_name=self.db.name,
229
+ timestamp=datetime.now(),
230
+ slow_queries=slow_queries[:10], # Top 10
231
+ index_recommendations=index_recommendations,
232
+ database_metrics=metrics
233
+ )
234
+
235
+ def _analyze_postgres(self) -> PerformanceReport:
236
+ """Analyze PostgreSQL performance."""
237
+ slow_queries = []
238
+ index_recommendations = []
239
+
240
+ with self.conn.cursor(cursor_factory=RealDictCursor) as cur:
241
+ # Check if pg_stat_statements extension is available
242
+ cur.execute("""
243
+ SELECT EXISTS (
244
+ SELECT 1 FROM pg_extension WHERE extname = 'pg_stat_statements'
245
+ ) AS has_extension
246
+ """)
247
+ has_pg_stat_statements = cur.fetchone()["has_extension"]
248
+
249
+ if has_pg_stat_statements:
250
+ # Get slow queries from pg_stat_statements
251
+ cur.execute("""
252
+ SELECT
253
+ query,
254
+ mean_exec_time,
255
+ calls,
256
+ total_exec_time
257
+ FROM pg_stat_statements
258
+ WHERE mean_exec_time >= %s
259
+ ORDER BY mean_exec_time DESC
260
+ LIMIT 10
261
+ """, (self.threshold_ms,))
262
+
263
+ for row in cur.fetchall():
264
+ slow_queries.append(SlowQuery(
265
+ query=row["query"],
266
+ execution_time_ms=row["mean_exec_time"],
267
+ count=row["calls"]
268
+ ))
269
+
270
+ # Find tables with sequential scans (potential index candidates)
271
+ cur.execute("""
272
+ SELECT
273
+ schemaname,
274
+ tablename,
275
+ seq_scan,
276
+ seq_tup_read,
277
+ idx_scan
278
+ FROM pg_stat_user_tables
279
+ WHERE seq_scan > 1000
280
+ AND (idx_scan IS NULL OR seq_scan > idx_scan * 2)
281
+ ORDER BY seq_tup_read DESC
282
+ LIMIT 10
283
+ """)
284
+
285
+ for row in cur.fetchall():
286
+ index_recommendations.append(IndexRecommendation(
287
+ collection_or_table=f"{row['schemaname']}.{row['tablename']}",
288
+ fields=["<analyze query patterns>"],
289
+ reason=f"High sequential scans ({row['seq_scan']}) vs index scans ({row['idx_scan'] or 0})",
290
+ estimated_benefit="High" if row["seq_tup_read"] > 100000 else "Medium"
291
+ ))
292
+
293
+ # Find unused indexes
294
+ cur.execute("""
295
+ SELECT
296
+ schemaname,
297
+ tablename,
298
+ indexname,
299
+ idx_scan
300
+ FROM pg_stat_user_indexes
301
+ WHERE idx_scan = 0
302
+ AND indexname NOT LIKE '%_pkey'
303
+ ORDER BY pg_relation_size(indexrelid) DESC
304
+ """)
305
+
306
+ unused_indexes = []
307
+ for row in cur.fetchall():
308
+ unused_indexes.append(
309
+ f"{row['schemaname']}.{row['tablename']}.{row['indexname']}"
310
+ )
311
+
312
+ # Database metrics
313
+ cur.execute("""
314
+ SELECT
315
+ sum(numbackends) AS connections,
316
+ sum(xact_commit) AS commits,
317
+ sum(xact_rollback) AS rollbacks
318
+ FROM pg_stat_database
319
+ WHERE datname = current_database()
320
+ """)
321
+ stats = cur.fetchone()
322
+
323
+ cur.execute("""
324
+ SELECT pg_database_size(current_database()) AS db_size
325
+ """)
326
+ db_size = cur.fetchone()["db_size"]
327
+
328
+ cur.execute("""
329
+ SELECT
330
+ sum(heap_blks_hit) / NULLIF(sum(heap_blks_hit) + sum(heap_blks_read), 0) AS cache_hit_ratio
331
+ FROM pg_statio_user_tables
332
+ """)
333
+ cache_ratio = cur.fetchone()["cache_hit_ratio"] or 0
334
+
335
+ metrics = {
336
+ "connections": stats["connections"],
337
+ "commits": stats["commits"],
338
+ "rollbacks": stats["rollbacks"],
339
+ "database_size_mb": db_size / (1024 * 1024),
340
+ "cache_hit_ratio": float(cache_ratio),
341
+ "unused_indexes": unused_indexes
342
+ }
343
+
344
+ return PerformanceReport(
345
+ database_type="postgres",
346
+ database_name=self.conn.info.dbname,
347
+ timestamp=datetime.now(),
348
+ slow_queries=slow_queries,
349
+ index_recommendations=index_recommendations,
350
+ database_metrics=metrics
351
+ )
352
+
353
+ def print_report(self, report: PerformanceReport):
354
+ """Print performance report."""
355
+ print("=" * 80)
356
+ print(f"Database Performance Report - {report.database_type.upper()}")
357
+ print(f"Database: {report.database_name}")
358
+ print(f"Timestamp: {report.timestamp}")
359
+ print("=" * 80)
360
+
361
+ print("\n## Database Metrics")
362
+ print("-" * 80)
363
+ for key, value in report.database_metrics.items():
364
+ if isinstance(value, float):
365
+ print(f"{key}: {value:.2f}")
366
+ else:
367
+ print(f"{key}: {value}")
368
+
369
+ print("\n## Slow Queries")
370
+ print("-" * 80)
371
+ if report.slow_queries:
372
+ for i, query in enumerate(report.slow_queries, 1):
373
+ print(f"\n{i}. Execution Time: {query.execution_time_ms:.2f}ms | Count: {query.count}")
374
+ if query.collection_or_table:
375
+ print(f" Collection/Table: {query.collection_or_table}")
376
+ if query.index_used:
377
+ print(f" Index Used: {query.index_used}")
378
+ print(f" Query: {query.query[:200]}...")
379
+ else:
380
+ print("No slow queries found")
381
+
382
+ print("\n## Index Recommendations")
383
+ print("-" * 80)
384
+ if report.index_recommendations:
385
+ for i, rec in enumerate(report.index_recommendations, 1):
386
+ print(f"\n{i}. {rec.collection_or_table}")
387
+ print(f" Fields: {', '.join(rec.fields)}")
388
+ print(f" Reason: {rec.reason}")
389
+ print(f" Estimated Benefit: {rec.estimated_benefit}")
390
+
391
+ if report.database_type == "mongodb":
392
+ index_spec = {field: 1 for field in rec.fields}
393
+ print(f" Command: db.{rec.collection_or_table}.createIndex({json.dumps(index_spec)})")
394
+ elif report.database_type == "postgres":
395
+ fields_str = ", ".join(rec.fields)
396
+ print(f" Command: CREATE INDEX idx_{rec.collection_or_table.replace('.', '_')}_{rec.fields[0]} ON {rec.collection_or_table}({fields_str});")
397
+ else:
398
+ print("No index recommendations")
399
+
400
+ print("\n" + "=" * 80)
401
+
402
+ def save_report(self, report: PerformanceReport, filename: str):
403
+ """Save report to JSON file."""
404
+ # Convert dataclasses to dict
405
+ report_dict = {
406
+ "database_type": report.database_type,
407
+ "database_name": report.database_name,
408
+ "timestamp": report.timestamp.isoformat(),
409
+ "slow_queries": [asdict(q) for q in report.slow_queries],
410
+ "index_recommendations": [asdict(r) for r in report.index_recommendations],
411
+ "database_metrics": report.database_metrics
412
+ }
413
+
414
+ with open(filename, "w") as f:
415
+ json.dump(report_dict, f, indent=2, default=str)
416
+
417
+ print(f"\nReport saved to: {filename}")
418
+
419
+
420
+ def main():
421
+ """Main entry point."""
422
+ parser = argparse.ArgumentParser(description="Database performance analysis tool")
423
+ parser.add_argument("--db", required=True, choices=["mongodb", "postgres"],
424
+ help="Database type")
425
+ parser.add_argument("--uri", required=True, help="Database connection string")
426
+ parser.add_argument("--threshold", type=int, default=100,
427
+ help="Slow query threshold in milliseconds (default: 100)")
428
+ parser.add_argument("--output", help="Save report to JSON file")
429
+
430
+ args = parser.parse_args()
431
+
432
+ analyzer = PerformanceAnalyzer(args.db, args.uri, args.threshold)
433
+
434
+ if not analyzer.connect():
435
+ sys.exit(1)
436
+
437
+ try:
438
+ print(f"Analyzing {args.db} performance (threshold: {args.threshold}ms)...")
439
+ report = analyzer.analyze()
440
+
441
+ if report:
442
+ analyzer.print_report(report)
443
+
444
+ if args.output:
445
+ analyzer.save_report(report, args.output)
446
+
447
+ sys.exit(0)
448
+ else:
449
+ print("Analysis failed")
450
+ sys.exit(1)
451
+
452
+ finally:
453
+ analyzer.disconnect()
454
+
455
+
456
+ if __name__ == "__main__":
457
+ main()
@@ -0,0 +1,20 @@
1
+ # Databases Skill Dependencies
2
+ # Python 3.10+ required
3
+
4
+ # No Python package dependencies - uses only standard library
5
+
6
+ # Testing dependencies (dev)
7
+ pytest>=8.0.0
8
+ pytest-cov>=4.1.0
9
+ pytest-mock>=3.12.0
10
+
11
+ # Note: This skill requires database CLI tools:
12
+ #
13
+ # PostgreSQL:
14
+ # - psql CLI (comes with PostgreSQL)
15
+ # - Ubuntu/Debian: sudo apt-get install postgresql-client
16
+ # - macOS: brew install postgresql
17
+ #
18
+ # MongoDB:
19
+ # - mongosh CLI: https://www.mongodb.com/try/download/shell
20
+ # - mongodump/mongorestore: https://www.mongodb.com/try/download/database-tools
@@ -0,0 +1,231 @@
1
+ # BigQuery Rules
2
+
3
+ Guidelines for designing schemas specific to Google BigQuery.
4
+
5
+ ---
6
+
7
+ ## Data Types
8
+
9
+ | Use case | Type | Notes |
10
+ |----------|------|-------|
11
+ | Integer | `INT64` | |
12
+ | Decimal | `NUMERIC` or `BIGNUMERIC` | |
13
+ | Float | `FLOAT64` | |
14
+ | Boolean | `BOOL` | |
15
+ | String | `STRING` | |
16
+ | Timestamp | `TIMESTAMP` | |
17
+ | Date | `DATE` | |
18
+ | Time | `TIME` | |
19
+ | DateTime | `DATETIME` | No timezone |
20
+ | JSON | `JSON` | |
21
+ | Bytes | `BYTES` | |
22
+ | Nested | `STRUCT` | Record type |
23
+ | Repeated | `ARRAY` | |
24
+
25
+ ---
26
+
27
+ ## Description (NO metadata tables needed)
28
+
29
+ BigQuery supports description via `OPTIONS`:
30
+
31
+ ### Table description
32
+ ```sql
33
+ CREATE TABLE orders (
34
+ ...
35
+ ) OPTIONS(description='Table storing customer orders');
36
+ ```
37
+
38
+ ### Column descriptions
39
+ ```sql
40
+ CREATE TABLE orders (
41
+ id INT64 NOT NULL OPTIONS(description='Primary key'),
42
+ order_number STRING NOT NULL OPTIONS(description='Unique order code'),
43
+ status STRING NOT NULL OPTIONS(description='pending|confirmed|shipped|cancelled'),
44
+ total_amount NUMERIC OPTIONS(description='Total value')
45
+ );
46
+ ```
47
+
48
+ ### Query descriptions
49
+ ```sql
50
+ SELECT column_name, description
51
+ FROM `project.dataset.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS`
52
+ WHERE table_name = 'orders';
53
+ ```
54
+
55
+ ---
56
+
57
+ ## Partitioning & Clustering
58
+
59
+ BigQuery **does not have traditional indexes**. Instead, use partitioning and clustering:
60
+
61
+ ### Partitioning (required for large tables)
62
+
63
+ ```sql
64
+ -- Partition by date column
65
+ CREATE TABLE fact_orders (
66
+ order_date DATE,
67
+ customer_id INT64,
68
+ order_id INT64,
69
+ amount NUMERIC
70
+ )
71
+ PARTITION BY order_date;
72
+
73
+ -- Partition by timestamp (daily)
74
+ CREATE TABLE events (
75
+ event_time TIMESTAMP,
76
+ ...
77
+ )
78
+ PARTITION BY DATE(event_time);
79
+
80
+ -- Integer range partitioning
81
+ CREATE TABLE logs (
82
+ log_id INT64,
83
+ ...
84
+ )
85
+ PARTITION BY RANGE_BUCKET(log_id, GENERATE_ARRAY(0, 1000000, 10000));
86
+ ```
87
+
88
+ ### Clustering (optimize filter/group)
89
+
90
+ ```sql
91
+ CREATE TABLE fact_orders (
92
+ order_date DATE,
93
+ customer_id INT64,
94
+ product_id INT64,
95
+ store_id INT64,
96
+ amount NUMERIC
97
+ )
98
+ PARTITION BY order_date
99
+ CLUSTER BY customer_id, product_id;
100
+ -- Can cluster up to 4 columns
101
+ ```
102
+
103
+ ### When to use what?
104
+ - **Partition**: Filter by date range → reduces data scan
105
+ - **Cluster**: Filter/Group by specific columns → data is organized closer together
106
+
107
+ ---
108
+
109
+ ## Nested & Repeated Fields (Denormalization)
110
+
111
+ BigQuery encourages denormalization with STRUCT and ARRAY:
112
+
113
+ ```sql
114
+ CREATE TABLE orders (
115
+ order_id INT64,
116
+ order_date DATE,
117
+ customer STRUCT<
118
+ id INT64,
119
+ name STRING,
120
+ email STRING
121
+ >,
122
+ items ARRAY<STRUCT<
123
+ product_id INT64,
124
+ product_name STRING,
125
+ quantity INT64,
126
+ unit_price NUMERIC
127
+ >>
128
+ );
129
+
130
+ -- Query nested fields
131
+ SELECT
132
+ order_id,
133
+ customer.name,
134
+ item.product_name,
135
+ item.quantity
136
+ FROM orders, UNNEST(items) AS item;
137
+ ```
138
+
139
+ ---
140
+
141
+ ## Best Practices
142
+
143
+ ### Query optimization
144
+ - **Avoid `SELECT *`** - only select needed columns
145
+ - **Filter early** - use partition column in WHERE
146
+ - **Avoid cross-join** with large tables
147
+
148
+ ### Table design
149
+ - Partition tables > 1GB
150
+ - Cluster by frequently filtered/grouped columns
151
+ - Denormalize with STRUCT/ARRAY when appropriate
152
+ - Avoid too many small tables
153
+
154
+ ### Cost control
155
+ - Partition pruning: always filter by partition column
156
+ - Use `--dry_run` to estimate cost
157
+ - Set up query quotas
158
+
159
+ ---
160
+
161
+ ## Example DDL
162
+
163
+ ```sql
164
+ CREATE TABLE `project.dataset.fact_orders` (
165
+ -- Keys
166
+ order_id INT64 NOT NULL OPTIONS(description='PK from source'),
167
+ order_date DATE NOT NULL OPTIONS(description='Order date'),
168
+
169
+ -- Dimensions (denormalized)
170
+ customer_id INT64 NOT NULL,
171
+ customer_name STRING,
172
+ customer_segment STRING OPTIONS(description='VIP|Regular|New'),
173
+
174
+ -- Measures
175
+ item_count INT64 NOT NULL,
176
+ gross_amount NUMERIC NOT NULL,
177
+ discount_amount NUMERIC DEFAULT 0,
178
+ net_amount NUMERIC NOT NULL,
179
+
180
+ -- Nested items
181
+ items ARRAY<STRUCT<
182
+ product_id INT64,
183
+ product_name STRING,
184
+ quantity INT64,
185
+ unit_price NUMERIC
186
+ >> OPTIONS(description='Product details in order'),
187
+
188
+ -- Metadata
189
+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
190
+ updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP()
191
+ )
192
+ PARTITION BY order_date
193
+ CLUSTER BY customer_id
194
+ OPTIONS(
195
+ description='Fact table for orders, partitioned by date, clustered by customer'
196
+ );
197
+ ```
198
+
199
+ ---
200
+
201
+ ## Scheduled Queries / Materialized Views
202
+
203
+ ### Materialized View
204
+ ```sql
205
+ CREATE MATERIALIZED VIEW `project.dataset.mv_daily_sales`
206
+ PARTITION BY report_date
207
+ CLUSTER BY store_id
208
+ AS
209
+ SELECT
210
+ DATE(order_date) as report_date,
211
+ store_id,
212
+ COUNT(*) as order_count,
213
+ SUM(net_amount) as revenue
214
+ FROM `project.dataset.fact_orders`
215
+ GROUP BY 1, 2;
216
+ ```
217
+
218
+ ### Scheduled Query (ETL)
219
+ Create via BigQuery Console or API with schedule expression.
220
+
221
+ ---
222
+
223
+ ## Checklist
224
+
225
+ - [ ] Partition large tables by date column
226
+ - [ ] Cluster by frequently filtered/grouped columns (max 4)
227
+ - [ ] `OPTIONS(description=...)` for tables and columns
228
+ - [ ] Denormalize with STRUCT/ARRAY when appropriate
229
+ - [ ] Avoid `SELECT *` and cross-join large tables
230
+ - [ ] Filter by partition column in queries
231
+ - [ ] Consider Materialized Views for frequently used aggregations