cokit-cli 1.0.1 → 1.0.3

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 (564) hide show
  1. package/AGENTS.md +103 -0
  2. package/README.FLOW.md +237 -0
  3. package/README.md +153 -94
  4. package/agents/brainstormer.agent.md +71 -0
  5. package/agents/code-reviewer.agent.md +128 -0
  6. package/agents/database-admin.agent.md +91 -0
  7. package/agents/debugger.agent.md +128 -0
  8. package/agents/docs-manager.agent.md +121 -0
  9. package/agents/fullstack-developer.agent.md +96 -0
  10. package/agents/git-manager.agent.md +392 -0
  11. package/agents/mcp-manager.agent.md +93 -0
  12. package/agents/planner.agent.md +94 -0
  13. package/agents/project-manager.agent.md +124 -0
  14. package/agents/researcher.agent.md +32 -0
  15. package/agents/scout-external.agent.md +141 -0
  16. package/agents/scout.agent.md +107 -0
  17. package/agents/tester.agent.md +106 -0
  18. package/agents/ui-ux-designer.agent.md +225 -0
  19. package/collections/ck-core.collection.yml +30 -0
  20. package/collections/ck-development-rules.collection.yml +18 -0
  21. package/collections/ck-documentation.collection.yml +18 -0
  22. package/collections/ck-git-workflow.collection.yml +18 -0
  23. package/collections/ck-orchestration.collection.yml +22 -0
  24. package/collections/ck-ui-design.collection.yml +18 -0
  25. package/docs/README.md +85 -0
  26. package/docs/copilot-processing-flow.md +128 -0
  27. package/instructions/ck-backend.instructions.md +48 -0
  28. package/instructions/ck-development.instructions.md +40 -0
  29. package/instructions/ck-frontend-design-pro.instructions.md +58 -0
  30. package/instructions/ck-frontend.instructions.md +44 -0
  31. package/instructions/ck-google-adk-python.instructions.md +242 -0
  32. package/instructions/ck-research.instructions.md +167 -0
  33. package/instructions/ck-testing.instructions.md +36 -0
  34. package/package.json +9 -2
  35. package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-01-restructure-folders.md +183 -0
  36. package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-02-convert-agents.md +206 -0
  37. package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-03-convert-commands-to-prompts.md +284 -0
  38. package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-04-convert-skills-to-instructions.md +349 -0
  39. package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-05-create-collections.md +320 -0
  40. package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-06-update-cli-build-scripts.md +450 -0
  41. package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-07-update-documentation.md +407 -0
  42. package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/plan.md +136 -0
  43. package/prompts/ck-ask.prompt.md +57 -0
  44. package/prompts/ck-bootstrap-auto-fast.prompt.md +108 -0
  45. package/prompts/ck-bootstrap-auto-parallel.prompt.md +66 -0
  46. package/prompts/ck-bootstrap-auto.prompt.md +114 -0
  47. package/prompts/ck-bootstrap.prompt.md +136 -0
  48. package/prompts/ck-brainstorm.prompt.md +68 -0
  49. package/prompts/ck-ck-help.prompt.md +114 -0
  50. package/prompts/ck-code-auto.prompt.md +171 -0
  51. package/prompts/ck-code-no-test.prompt.md +159 -0
  52. package/prompts/ck-code-parallel.prompt.md +56 -0
  53. package/prompts/ck-code.prompt.md +177 -0
  54. package/prompts/ck-coding-level.prompt.md +54 -0
  55. package/prompts/ck-cook-auto-fast.prompt.md +26 -0
  56. package/prompts/ck-cook-auto-parallel.prompt.md +49 -0
  57. package/prompts/ck-cook-auto.prompt.md +15 -0
  58. package/prompts/ck-cook.prompt.md +96 -0
  59. package/prompts/ck-debug.prompt.md +14 -0
  60. package/prompts/ck-design-3d.prompt.md +84 -0
  61. package/prompts/ck-design-describe.prompt.md +24 -0
  62. package/prompts/ck-design-fast.prompt.md +32 -0
  63. package/prompts/ck-design-good.prompt.md +36 -0
  64. package/prompts/ck-design-screenshot.prompt.md +35 -0
  65. package/prompts/ck-design-video.prompt.md +35 -0
  66. package/prompts/ck-docs-init.prompt.md +27 -0
  67. package/prompts/ck-docs-summarize.prompt.md +23 -0
  68. package/prompts/ck-docs-update.prompt.md +36 -0
  69. package/prompts/ck-fix-ci.prompt.md +18 -0
  70. package/prompts/ck-fix-fast.prompt.md +18 -0
  71. package/prompts/ck-fix-hard.prompt.md +36 -0
  72. package/prompts/ck-fix-logs.prompt.md +27 -0
  73. package/prompts/ck-fix-parallel.prompt.md +54 -0
  74. package/prompts/ck-fix-test.prompt.md +19 -0
  75. package/prompts/ck-fix-types.prompt.md +11 -0
  76. package/prompts/ck-fix-ui.prompt.md +49 -0
  77. package/prompts/ck-fix.prompt.md +44 -0
  78. package/prompts/ck-git-cm.prompt.md +8 -0
  79. package/prompts/ck-git-cp.prompt.md +7 -0
  80. package/prompts/ck-git-merge.prompt.md +41 -0
  81. package/prompts/ck-git-pr.prompt.md +49 -0
  82. package/prompts/ck-kanban.prompt.md +77 -0
  83. package/prompts/ck-plan-archive.prompt.md +58 -0
  84. package/prompts/ck-plan-ci.prompt.md +34 -0
  85. package/prompts/ck-plan-cro.prompt.md +66 -0
  86. package/prompts/ck-plan-fast.prompt.md +67 -0
  87. package/prompts/ck-plan-hard.prompt.md +89 -0
  88. package/prompts/ck-plan-parallel.prompt.md +126 -0
  89. package/prompts/ck-plan-two.prompt.md +43 -0
  90. package/prompts/ck-plan-validate.prompt.md +118 -0
  91. package/prompts/ck-plan.prompt.md +29 -1
  92. package/prompts/ck-preview.prompt.md +65 -0
  93. package/prompts/ck-review-codebase.prompt.md +44 -0
  94. package/prompts/ck-scout-ext.prompt.md +35 -0
  95. package/prompts/ck-scout.prompt.md +25 -0
  96. package/prompts/ck-skill-add.prompt.md +36 -0
  97. package/prompts/ck-skill-create.prompt.md +29 -0
  98. package/prompts/ck-skill-fix-logs.prompt.md +22 -0
  99. package/prompts/ck-skill-optimize-auto.prompt.md +25 -0
  100. package/prompts/ck-skill-optimize.prompt.md +34 -0
  101. package/prompts/ck-skill-plan.prompt.md +46 -0
  102. package/prompts/ck-test-ui.prompt.md +92 -0
  103. package/prompts/ck-test.prompt.md +10 -0
  104. package/prompts/ck-use-mcp.prompt.md +27 -0
  105. package/prompts/ck-watzup.prompt.md +11 -0
  106. package/prompts/ck-worktree.prompt.md +127 -0
  107. package/rules/README.agents.md +55 -0
  108. package/rules/README.collections.md +78 -0
  109. package/rules/README.copilot-instructions.md +66 -0
  110. package/rules/README.instructions.md +73 -0
  111. package/rules/README.md +39 -0
  112. package/rules/README.prompts.md +76 -0
  113. package/rules/README.skills.md +71 -0
  114. package/skills/ck-ai-artist/SKILL.md +73 -0
  115. package/skills/ck-ai-artist/references/advanced-techniques.md +184 -0
  116. package/skills/ck-ai-artist/references/domain-code.md +66 -0
  117. package/skills/ck-ai-artist/references/domain-data.md +72 -0
  118. package/skills/ck-ai-artist/references/domain-marketing.md +66 -0
  119. package/skills/ck-ai-artist/references/domain-patterns.md +33 -0
  120. package/skills/ck-ai-artist/references/domain-writing.md +68 -0
  121. package/skills/ck-ai-artist/references/image-prompting.md +141 -0
  122. package/skills/ck-ai-artist/references/llm-prompting.md +165 -0
  123. package/skills/ck-ai-artist/references/nano-banana.md +59 -0
  124. package/skills/ck-ai-artist/references/reasoning-techniques.md +201 -0
  125. package/skills/ck-backend-development/SKILL.md +93 -0
  126. package/skills/ck-backend-development/references/backend-api-design.md +495 -0
  127. package/skills/ck-backend-development/references/backend-architecture.md +454 -0
  128. package/skills/ck-backend-development/references/backend-authentication.md +338 -0
  129. package/skills/ck-backend-development/references/backend-code-quality.md +659 -0
  130. package/skills/ck-backend-development/references/backend-debugging.md +904 -0
  131. package/skills/ck-backend-development/references/backend-devops.md +494 -0
  132. package/skills/ck-backend-development/references/backend-mindset.md +387 -0
  133. package/skills/ck-backend-development/references/backend-performance.md +397 -0
  134. package/skills/ck-backend-development/references/backend-security.md +290 -0
  135. package/skills/ck-backend-development/references/backend-technologies.md +256 -0
  136. package/skills/ck-backend-development/references/backend-testing.md +429 -0
  137. package/skills/ck-better-auth/SKILL.md +202 -0
  138. package/skills/ck-better-auth/references/advanced-features.md +553 -0
  139. package/skills/ck-better-auth/references/database-integration.md +577 -0
  140. package/skills/ck-better-auth/references/email-password-auth.md +416 -0
  141. package/skills/ck-better-auth/references/oauth-providers.md +430 -0
  142. package/skills/ck-better-auth/scripts/.coverage +0 -0
  143. package/skills/ck-better-auth/scripts/better_auth_init.py +521 -0
  144. package/skills/ck-better-auth/scripts/requirements.txt +15 -0
  145. package/skills/ck-better-auth/scripts/tests/.coverage +0 -0
  146. package/skills/ck-better-auth/scripts/tests/test_better_auth_init.py +421 -0
  147. package/skills/ck-chrome-devtools/SKILL.md +470 -0
  148. package/skills/ck-chrome-devtools/references/cdp-domains.md +694 -0
  149. package/skills/ck-chrome-devtools/references/performance-guide.md +940 -0
  150. package/skills/ck-chrome-devtools/references/puppeteer-reference.md +953 -0
  151. package/skills/ck-chrome-devtools/scripts/README.md +272 -0
  152. package/skills/ck-chrome-devtools/scripts/__tests__/selector.test.js +210 -0
  153. package/skills/ck-chrome-devtools/scripts/aria-snapshot.js +362 -0
  154. package/skills/ck-chrome-devtools/scripts/click.js +83 -0
  155. package/skills/ck-chrome-devtools/scripts/console.js +79 -0
  156. package/skills/ck-chrome-devtools/scripts/evaluate.js +53 -0
  157. package/skills/ck-chrome-devtools/scripts/fill.js +76 -0
  158. package/skills/ck-chrome-devtools/scripts/inject-auth.js +229 -0
  159. package/skills/ck-chrome-devtools/scripts/install-deps.sh +181 -0
  160. package/skills/ck-chrome-devtools/scripts/install.sh +83 -0
  161. package/skills/ck-chrome-devtools/scripts/lib/browser.js +318 -0
  162. package/skills/ck-chrome-devtools/scripts/lib/selector.js +178 -0
  163. package/skills/ck-chrome-devtools/scripts/navigate.js +54 -0
  164. package/skills/ck-chrome-devtools/scripts/network.js +106 -0
  165. package/skills/ck-chrome-devtools/scripts/package-lock.json +1589 -0
  166. package/skills/ck-chrome-devtools/scripts/package.json +16 -0
  167. package/skills/ck-chrome-devtools/scripts/performance.js +149 -0
  168. package/skills/ck-chrome-devtools/scripts/screenshot.js +198 -0
  169. package/skills/ck-chrome-devtools/scripts/select-ref.js +131 -0
  170. package/skills/ck-chrome-devtools/scripts/snapshot.js +135 -0
  171. package/skills/ck-code-review/SKILL.md +110 -53
  172. package/skills/ck-code-review/references/code-review-reception.md +182 -49
  173. package/skills/ck-code-review/references/requesting-code-review.md +105 -0
  174. package/skills/ck-code-review/references/verification-before-completion.md +111 -58
  175. package/skills/ck-databases/SKILL.md +231 -0
  176. package/skills/ck-databases/references/mongodb-aggregation.md +447 -0
  177. package/skills/ck-databases/references/mongodb-atlas.md +465 -0
  178. package/skills/ck-databases/references/mongodb-crud.md +408 -0
  179. package/skills/ck-databases/references/mongodb-indexing.md +442 -0
  180. package/skills/ck-databases/references/postgresql-administration.md +594 -0
  181. package/skills/ck-databases/references/postgresql-performance.md +527 -0
  182. package/skills/ck-databases/references/postgresql-psql-cli.md +467 -0
  183. package/skills/ck-databases/references/postgresql-queries.md +475 -0
  184. package/skills/ck-databases/scripts/.coverage +0 -0
  185. package/skills/ck-databases/scripts/db_backup.py +502 -0
  186. package/skills/ck-databases/scripts/db_migrate.py +425 -0
  187. package/skills/ck-databases/scripts/db_performance_check.py +456 -0
  188. package/skills/ck-databases/scripts/requirements.txt +20 -0
  189. package/skills/ck-databases/scripts/tests/coverage-db.json +1 -0
  190. package/skills/ck-databases/scripts/tests/requirements.txt +4 -0
  191. package/skills/ck-databases/scripts/tests/test_db_backup.py +340 -0
  192. package/skills/ck-databases/scripts/tests/test_db_migrate.py +277 -0
  193. package/skills/ck-databases/scripts/tests/test_db_performance_check.py +370 -0
  194. package/skills/ck-debugging/SKILL.md +55 -43
  195. package/skills/ck-debugging/references/defense-in-depth.md +124 -0
  196. package/skills/ck-debugging/references/root-cause-tracing.md +100 -43
  197. package/skills/ck-debugging/references/systematic-debugging.md +80 -52
  198. package/skills/ck-debugging/references/verification.md +101 -52
  199. package/skills/ck-debugging/scripts/find-polluter.sh +63 -0
  200. package/skills/ck-debugging/scripts/find-polluter.test.md +102 -0
  201. package/skills/ck-devops/.env.example +76 -0
  202. package/skills/ck-devops/SKILL.md +283 -0
  203. package/skills/ck-devops/references/browser-rendering.md +305 -0
  204. package/skills/ck-devops/references/cloudflare-d1-kv.md +123 -0
  205. package/skills/ck-devops/references/cloudflare-platform.md +271 -0
  206. package/skills/ck-devops/references/cloudflare-r2-storage.md +280 -0
  207. package/skills/ck-devops/references/cloudflare-workers-advanced.md +312 -0
  208. package/skills/ck-devops/references/cloudflare-workers-apis.md +309 -0
  209. package/skills/ck-devops/references/cloudflare-workers-basics.md +418 -0
  210. package/skills/ck-devops/references/docker-basics.md +297 -0
  211. package/skills/ck-devops/references/docker-compose.md +292 -0
  212. package/skills/ck-devops/references/gcloud-platform.md +297 -0
  213. package/skills/ck-devops/references/gcloud-services.md +304 -0
  214. package/skills/ck-devops/scripts/cloudflare_deploy.py +269 -0
  215. package/skills/ck-devops/scripts/docker_optimize.py +331 -0
  216. package/skills/ck-devops/scripts/requirements.txt +20 -0
  217. package/skills/ck-devops/scripts/tests/requirements.txt +3 -0
  218. package/skills/ck-devops/scripts/tests/test_cloudflare_deploy.py +285 -0
  219. package/skills/ck-devops/scripts/tests/test_docker_optimize.py +436 -0
  220. package/skills/ck-docs-seeker/.env.example +15 -0
  221. package/skills/ck-docs-seeker/SKILL.md +70 -65
  222. package/skills/ck-docs-seeker/package.json +25 -0
  223. package/skills/ck-docs-seeker/references/advanced.md +79 -0
  224. package/skills/ck-docs-seeker/references/context7-patterns.md +68 -0
  225. package/skills/ck-docs-seeker/references/errors.md +68 -0
  226. package/skills/ck-docs-seeker/scripts/analyze-llms-txt.js +211 -0
  227. package/skills/ck-docs-seeker/scripts/detect-topic.js +172 -0
  228. package/skills/ck-docs-seeker/scripts/fetch-docs.js +213 -0
  229. package/skills/ck-docs-seeker/scripts/tests/run-tests.js +72 -0
  230. package/skills/ck-docs-seeker/scripts/tests/test-analyze-llms.js +119 -0
  231. package/skills/ck-docs-seeker/scripts/tests/test-detect-topic.js +112 -0
  232. package/skills/ck-docs-seeker/scripts/tests/test-fetch-docs.js +84 -0
  233. package/skills/ck-docs-seeker/scripts/utils/env-loader.js +94 -0
  234. package/skills/ck-docs-seeker/workflows/library-search.md +87 -0
  235. package/skills/ck-docs-seeker/workflows/repo-analysis.md +91 -0
  236. package/skills/ck-docs-seeker/workflows/topic-search.md +77 -0
  237. package/skills/ck-frontend-design/SKILL.md +79 -0
  238. package/skills/ck-frontend-design/references/analysis-best-practices.md +80 -0
  239. package/skills/ck-frontend-design/references/analysis-prompts.md +141 -0
  240. package/skills/ck-frontend-design/references/analysis-techniques.md +118 -0
  241. package/skills/ck-frontend-design/references/animejs.md +396 -0
  242. package/skills/ck-frontend-design/references/design-extraction-overview.md +71 -0
  243. package/skills/ck-frontend-design/references/extraction-best-practices.md +141 -0
  244. package/skills/ck-frontend-design/references/extraction-output-templates.md +162 -0
  245. package/skills/ck-frontend-design/references/extraction-prompts.md +127 -0
  246. package/skills/ck-frontend-design/references/technical-accessibility.md +119 -0
  247. package/skills/ck-frontend-design/references/technical-best-practices.md +97 -0
  248. package/skills/ck-frontend-design/references/technical-optimization.md +44 -0
  249. package/skills/ck-frontend-design/references/technical-overview.md +90 -0
  250. package/skills/ck-frontend-design/references/technical-workflows.md +150 -0
  251. package/skills/ck-frontend-design/references/visual-analysis-overview.md +95 -0
  252. package/skills/ck-frontend-development/SKILL.md +399 -0
  253. package/skills/ck-frontend-development/resources/common-patterns.md +331 -0
  254. package/skills/ck-frontend-development/resources/complete-examples.md +872 -0
  255. package/skills/ck-frontend-development/resources/component-patterns.md +502 -0
  256. package/skills/ck-frontend-development/resources/data-fetching.md +767 -0
  257. package/skills/ck-frontend-development/resources/file-organization.md +502 -0
  258. package/skills/ck-frontend-development/resources/loading-and-error-states.md +501 -0
  259. package/skills/ck-frontend-development/resources/performance.md +406 -0
  260. package/skills/ck-frontend-development/resources/routing-guide.md +364 -0
  261. package/skills/ck-frontend-development/resources/styling-guide.md +428 -0
  262. package/skills/ck-frontend-development/resources/typescript-standards.md +418 -0
  263. package/skills/ck-markdown-novel-viewer/SKILL.md +190 -0
  264. package/skills/ck-markdown-novel-viewer/assets/directory-browser.css +215 -0
  265. package/skills/ck-markdown-novel-viewer/assets/favicon.png +0 -0
  266. package/skills/ck-markdown-novel-viewer/assets/novel-theme.css +818 -0
  267. package/skills/ck-markdown-novel-viewer/assets/reader.js +262 -0
  268. package/skills/ck-markdown-novel-viewer/assets/template.html +80 -0
  269. package/skills/ck-markdown-novel-viewer/package.json +15 -0
  270. package/skills/ck-markdown-novel-viewer/scripts/lib/http-server.cjs +434 -0
  271. package/skills/ck-markdown-novel-viewer/scripts/lib/markdown-renderer.cjs +272 -0
  272. package/skills/ck-markdown-novel-viewer/scripts/lib/plan-navigator.cjs +509 -0
  273. package/skills/ck-markdown-novel-viewer/scripts/lib/port-finder.cjs +48 -0
  274. package/skills/ck-markdown-novel-viewer/scripts/lib/process-mgr.cjs +150 -0
  275. package/skills/ck-markdown-novel-viewer/scripts/server.cjs +411 -0
  276. package/skills/ck-markdown-novel-viewer/scripts/tests/server.test.cjs +283 -0
  277. package/skills/ck-markdown-novel-viewer/tests/dashboard-assets.test.cjs +340 -0
  278. package/skills/ck-markdown-novel-viewer/tests/dashboard-renderer.test.cjs +404 -0
  279. package/skills/ck-markdown-novel-viewer/tests/http-server.test.cjs +271 -0
  280. package/skills/ck-markdown-novel-viewer/tests/run-tests.cjs +51 -0
  281. package/skills/ck-markdown-novel-viewer/tests/test-framework.cjs +154 -0
  282. package/skills/ck-markdown-novel-viewer/tests/verify-xss.cjs +90 -0
  283. package/skills/ck-mcp-builder/LICENSE.txt +202 -0
  284. package/skills/ck-mcp-builder/SKILL.md +327 -0
  285. package/skills/ck-mcp-builder/reference/evaluation.md +602 -0
  286. package/skills/ck-mcp-builder/reference/mcp_best_practices.md +915 -0
  287. package/skills/ck-mcp-builder/reference/node_mcp_server.md +916 -0
  288. package/skills/ck-mcp-builder/reference/python_mcp_server.md +752 -0
  289. package/skills/ck-mcp-builder/scripts/connections.py +151 -0
  290. package/skills/ck-mcp-builder/scripts/evaluation.py +373 -0
  291. package/skills/ck-mcp-builder/scripts/example_evaluation.xml +22 -0
  292. package/skills/ck-mcp-builder/scripts/requirements.txt +2 -0
  293. package/skills/ck-mcp-management/README.md +219 -0
  294. package/skills/ck-mcp-management/SKILL.md +209 -0
  295. package/skills/ck-mcp-management/assets/tools.json +3146 -0
  296. package/skills/ck-mcp-management/references/configuration.md +114 -0
  297. package/skills/ck-mcp-management/references/gemini-cli-integration.md +215 -0
  298. package/skills/ck-mcp-management/references/mcp-protocol.md +116 -0
  299. package/skills/ck-mcp-management/scripts/.env.example +10 -0
  300. package/skills/ck-mcp-management/scripts/cli.ts +195 -0
  301. package/skills/ck-mcp-management/scripts/dist/analyze-tools.js +70 -0
  302. package/skills/ck-mcp-management/scripts/dist/cli.js +160 -0
  303. package/skills/ck-mcp-management/scripts/dist/mcp-client.js +183 -0
  304. package/skills/ck-mcp-management/scripts/mcp-client.ts +230 -0
  305. package/skills/ck-mcp-management/scripts/package.json +20 -0
  306. package/skills/ck-mcp-management/scripts/tsconfig.json +15 -0
  307. package/skills/ck-media-processing/SKILL.md +90 -0
  308. package/skills/ck-media-processing/references/common-workflows.md +132 -0
  309. package/skills/ck-media-processing/references/ffmpeg-encoding.md +358 -0
  310. package/skills/ck-media-processing/references/ffmpeg-filters.md +503 -0
  311. package/skills/ck-media-processing/references/ffmpeg-streaming.md +403 -0
  312. package/skills/ck-media-processing/references/format-compatibility.md +375 -0
  313. package/skills/ck-media-processing/references/imagemagick-batch.md +612 -0
  314. package/skills/ck-media-processing/references/imagemagick-editing.md +623 -0
  315. package/skills/ck-media-processing/references/rmbg-background-removal.md +66 -0
  316. package/skills/ck-media-processing/references/troubleshooting.md +109 -0
  317. package/skills/ck-media-processing/scripts/README.md +111 -0
  318. package/skills/ck-media-processing/scripts/batch-remove-background.sh +124 -0
  319. package/skills/ck-media-processing/scripts/batch_resize.py +342 -0
  320. package/skills/ck-media-processing/scripts/media_convert.py +311 -0
  321. package/skills/ck-media-processing/scripts/remove-background.sh +96 -0
  322. package/skills/ck-media-processing/scripts/remove-bg-node.js +158 -0
  323. package/skills/ck-media-processing/scripts/requirements.txt +24 -0
  324. package/skills/ck-media-processing/scripts/tests/.coverage +0 -0
  325. package/skills/ck-media-processing/scripts/tests/requirements.txt +2 -0
  326. package/skills/ck-media-processing/scripts/tests/test_batch_resize.py +372 -0
  327. package/skills/ck-media-processing/scripts/tests/test_media_convert.py +259 -0
  328. package/skills/ck-media-processing/scripts/tests/test_video_optimize.py +397 -0
  329. package/skills/ck-media-processing/scripts/video_optimize.py +414 -0
  330. package/skills/ck-mobile-development/SKILL.md +210 -0
  331. package/skills/ck-mobile-development/references/mobile-android.md +604 -0
  332. package/skills/ck-mobile-development/references/mobile-best-practices.md +545 -0
  333. package/skills/ck-mobile-development/references/mobile-debugging.md +1089 -0
  334. package/skills/ck-mobile-development/references/mobile-frameworks.md +465 -0
  335. package/skills/ck-mobile-development/references/mobile-ios.md +496 -0
  336. package/skills/ck-mobile-development/references/mobile-mindset.md +544 -0
  337. package/skills/ck-payment-integration/README.md +185 -0
  338. package/skills/ck-payment-integration/SKILL.md +116 -0
  339. package/skills/ck-payment-integration/references/polar/benefits.md +396 -0
  340. package/skills/ck-payment-integration/references/polar/best-practices.md +482 -0
  341. package/skills/ck-payment-integration/references/polar/checkouts.md +266 -0
  342. package/skills/ck-payment-integration/references/polar/overview.md +184 -0
  343. package/skills/ck-payment-integration/references/polar/products.md +244 -0
  344. package/skills/ck-payment-integration/references/polar/sdk.md +436 -0
  345. package/skills/ck-payment-integration/references/polar/subscriptions.md +340 -0
  346. package/skills/ck-payment-integration/references/polar/webhooks.md +405 -0
  347. package/skills/ck-payment-integration/references/sepay/api.md +140 -0
  348. package/skills/ck-payment-integration/references/sepay/best-practices.md +337 -0
  349. package/skills/ck-payment-integration/references/sepay/overview.md +138 -0
  350. package/skills/ck-payment-integration/references/sepay/qr-codes.md +228 -0
  351. package/skills/ck-payment-integration/references/sepay/sdk.md +213 -0
  352. package/skills/ck-payment-integration/references/sepay/webhooks.md +208 -0
  353. package/skills/ck-payment-integration/scripts/.env.example +20 -0
  354. package/skills/ck-payment-integration/scripts/checkout-helper.js +244 -0
  355. package/skills/ck-payment-integration/scripts/package.json +17 -0
  356. package/skills/ck-payment-integration/scripts/polar-webhook-verify.js +202 -0
  357. package/skills/ck-payment-integration/scripts/sepay-webhook-verify.js +193 -0
  358. package/skills/ck-payment-integration/scripts/test-scripts.js +237 -0
  359. package/skills/ck-planning/SKILL.md +79 -49
  360. package/skills/ck-planning/references/codebase-understanding.md +62 -0
  361. package/skills/ck-planning/references/output-standards.md +127 -0
  362. package/skills/ck-planning/references/plan-organization.md +122 -60
  363. package/skills/ck-planning/references/research-phase.md +49 -56
  364. package/skills/ck-planning/references/solution-design.md +61 -63
  365. package/skills/ck-problem-solving/SKILL.md +95 -0
  366. package/skills/ck-problem-solving/references/attribution.md +69 -0
  367. package/skills/ck-problem-solving/references/collision-zone-thinking.md +79 -0
  368. package/skills/ck-problem-solving/references/inversion-exercise.md +91 -0
  369. package/skills/ck-problem-solving/references/meta-pattern-recognition.md +87 -0
  370. package/skills/ck-problem-solving/references/scale-game.md +95 -0
  371. package/skills/ck-problem-solving/references/simplification-cascades.md +80 -0
  372. package/skills/ck-problem-solving/references/when-stuck.md +72 -0
  373. package/skills/ck-repomix/SKILL.md +247 -0
  374. package/skills/ck-repomix/references/configuration.md +211 -0
  375. package/skills/ck-repomix/references/usage-patterns.md +232 -0
  376. package/skills/ck-repomix/scripts/.coverage +0 -0
  377. package/skills/ck-repomix/scripts/README.md +179 -0
  378. package/skills/ck-repomix/scripts/repomix_batch.py +455 -0
  379. package/skills/ck-repomix/scripts/repos.example.json +15 -0
  380. package/skills/ck-repomix/scripts/requirements.txt +15 -0
  381. package/skills/ck-repomix/scripts/tests/test_repomix_batch.py +531 -0
  382. package/skills/ck-sequential-thinking/.env.example +8 -0
  383. package/skills/ck-sequential-thinking/README.md +183 -0
  384. package/skills/ck-sequential-thinking/SKILL.md +14 -2
  385. package/skills/ck-sequential-thinking/package.json +31 -0
  386. package/skills/ck-sequential-thinking/references/advanced-strategies.md +79 -0
  387. package/skills/ck-sequential-thinking/references/advanced-techniques.md +2 -14
  388. package/skills/ck-sequential-thinking/references/core-patterns.md +8 -0
  389. package/skills/ck-sequential-thinking/references/examples-api.md +88 -0
  390. package/skills/ck-sequential-thinking/references/examples-architecture.md +94 -0
  391. package/skills/ck-sequential-thinking/references/examples-debug.md +90 -0
  392. package/skills/ck-sequential-thinking/scripts/format-thought.js +159 -0
  393. package/skills/ck-sequential-thinking/scripts/process-thought.js +236 -0
  394. package/skills/ck-sequential-thinking/tests/format-thought.test.js +133 -0
  395. package/skills/ck-sequential-thinking/tests/process-thought.test.js +215 -0
  396. package/skills/ck-shopify/README.md +66 -0
  397. package/skills/ck-shopify/SKILL.md +319 -0
  398. package/skills/ck-shopify/references/app-development.md +470 -0
  399. package/skills/ck-shopify/references/extensions.md +493 -0
  400. package/skills/ck-shopify/references/themes.md +498 -0
  401. package/skills/ck-shopify/scripts/.coverage +0 -0
  402. package/skills/ck-shopify/scripts/requirements.txt +19 -0
  403. package/skills/ck-shopify/scripts/shopify_init.py +423 -0
  404. package/skills/ck-shopify/scripts/tests/.coverage +0 -0
  405. package/skills/ck-shopify/scripts/tests/test_shopify_init.py +385 -0
  406. package/skills/ck-skill-creator/LICENSE.txt +202 -0
  407. package/skills/ck-skill-creator/SKILL.md +265 -0
  408. package/skills/ck-skill-creator/scripts/init_skill.py +303 -0
  409. package/skills/ck-skill-creator/scripts/package_skill.py +110 -0
  410. package/skills/ck-skill-creator/scripts/quick_validate.py +65 -0
  411. package/skills/ck-threejs/SKILL.md +87 -0
  412. package/skills/ck-threejs/references/01-getting-started.md +177 -0
  413. package/skills/ck-threejs/references/02-loaders.md +169 -0
  414. package/skills/ck-threejs/references/03-textures.md +170 -0
  415. package/skills/ck-threejs/references/04-cameras.md +195 -0
  416. package/skills/ck-threejs/references/05-lights.md +183 -0
  417. package/skills/ck-threejs/references/06-animations.md +214 -0
  418. package/skills/ck-threejs/references/07-math.md +260 -0
  419. package/skills/ck-threejs/references/08-interaction.md +267 -0
  420. package/skills/ck-threejs/references/09-postprocessing.md +240 -0
  421. package/skills/ck-threejs/references/10-controls.md +259 -0
  422. package/skills/ck-threejs/references/11-materials-advanced.md +270 -0
  423. package/skills/ck-threejs/references/12-performance.md +269 -0
  424. package/skills/ck-threejs/references/13-node-materials.md +298 -0
  425. package/skills/ck-threejs/references/14-physics-vr.md +304 -0
  426. package/skills/ck-threejs/references/15-specialized-loaders.md +333 -0
  427. package/skills/ck-threejs/references/16-webgpu.md +302 -0
  428. package/skills/ck-ui-styling/LICENSE.txt +202 -0
  429. package/skills/ck-ui-styling/SKILL.md +319 -0
  430. package/skills/ck-ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  431. package/skills/ck-ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  432. package/skills/ck-ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  433. package/skills/ck-ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
  434. package/skills/ck-ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  435. package/skills/ck-ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
  436. package/skills/ck-ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
  437. package/skills/ck-ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  438. package/skills/ck-ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  439. package/skills/ck-ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  440. package/skills/ck-ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  441. package/skills/ck-ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  442. package/skills/ck-ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  443. package/skills/ck-ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  444. package/skills/ck-ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
  445. package/skills/ck-ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
  446. package/skills/ck-ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
  447. package/skills/ck-ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
  448. package/skills/ck-ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
  449. package/skills/ck-ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
  450. package/skills/ck-ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
  451. package/skills/ck-ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
  452. package/skills/ck-ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
  453. package/skills/ck-ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  454. package/skills/ck-ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  455. package/skills/ck-ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  456. package/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  457. package/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  458. package/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  459. package/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  460. package/skills/ck-ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  461. package/skills/ck-ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  462. package/skills/ck-ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  463. package/skills/ck-ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  464. package/skills/ck-ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  465. package/skills/ck-ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  466. package/skills/ck-ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  467. package/skills/ck-ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
  468. package/skills/ck-ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
  469. package/skills/ck-ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  470. package/skills/ck-ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  471. package/skills/ck-ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  472. package/skills/ck-ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
  473. package/skills/ck-ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
  474. package/skills/ck-ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
  475. package/skills/ck-ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  476. package/skills/ck-ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  477. package/skills/ck-ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
  478. package/skills/ck-ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  479. package/skills/ck-ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
  480. package/skills/ck-ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
  481. package/skills/ck-ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
  482. package/skills/ck-ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
  483. package/skills/ck-ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
  484. package/skills/ck-ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
  485. package/skills/ck-ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  486. package/skills/ck-ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  487. package/skills/ck-ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
  488. package/skills/ck-ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
  489. package/skills/ck-ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
  490. package/skills/ck-ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  491. package/skills/ck-ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
  492. package/skills/ck-ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
  493. package/skills/ck-ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  494. package/skills/ck-ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  495. package/skills/ck-ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
  496. package/skills/ck-ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  497. package/skills/ck-ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
  498. package/skills/ck-ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  499. package/skills/ck-ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  500. package/skills/ck-ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
  501. package/skills/ck-ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
  502. package/skills/ck-ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
  503. package/skills/ck-ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
  504. package/skills/ck-ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
  505. package/skills/ck-ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  506. package/skills/ck-ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
  507. package/skills/ck-ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
  508. package/skills/ck-ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
  509. package/skills/ck-ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
  510. package/skills/ck-ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  511. package/skills/ck-ui-styling/references/canvas-design-system.md +320 -0
  512. package/skills/ck-ui-styling/references/shadcn-accessibility.md +471 -0
  513. package/skills/ck-ui-styling/references/shadcn-components.md +424 -0
  514. package/skills/ck-ui-styling/references/shadcn-theming.md +373 -0
  515. package/skills/ck-ui-styling/references/tailwind-customization.md +483 -0
  516. package/skills/ck-ui-styling/references/tailwind-responsive.md +382 -0
  517. package/skills/ck-ui-styling/references/tailwind-utilities.md +455 -0
  518. package/skills/ck-ui-styling/scripts/.coverage +0 -0
  519. package/skills/ck-ui-styling/scripts/requirements.txt +17 -0
  520. package/skills/ck-ui-styling/scripts/shadcn_add.py +292 -0
  521. package/skills/ck-ui-styling/scripts/tailwind_config_gen.py +456 -0
  522. package/skills/ck-ui-styling/scripts/tests/coverage-ui.json +1 -0
  523. package/skills/ck-ui-styling/scripts/tests/requirements.txt +3 -0
  524. package/skills/ck-ui-styling/scripts/tests/test_shadcn_add.py +266 -0
  525. package/skills/ck-ui-styling/scripts/tests/test_tailwind_config_gen.py +336 -0
  526. package/skills/ck-ui-ux-pro-max/SKILL.md +227 -0
  527. package/skills/ck-ui-ux-pro-max/data/charts.csv +26 -0
  528. package/skills/ck-ui-ux-pro-max/data/colors.csv +97 -0
  529. package/skills/ck-ui-ux-pro-max/data/landing.csv +31 -0
  530. package/skills/ck-ui-ux-pro-max/data/products.csv +97 -0
  531. package/skills/ck-ui-ux-pro-max/data/prompts.csv +24 -0
  532. package/skills/ck-ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  533. package/skills/ck-ui-ux-pro-max/data/stacks/html-tailwind.csv +51 -0
  534. package/skills/ck-ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  535. package/skills/ck-ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  536. package/skills/ck-ui-ux-pro-max/data/stacks/react.csv +54 -0
  537. package/skills/ck-ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  538. package/skills/ck-ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  539. package/skills/ck-ui-ux-pro-max/data/stacks/vue.csv +50 -0
  540. package/skills/ck-ui-ux-pro-max/data/styles.csv +59 -0
  541. package/skills/ck-ui-ux-pro-max/data/typography.csv +58 -0
  542. package/skills/ck-ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  543. package/skills/ck-ui-ux-pro-max/scripts/core.py +236 -0
  544. package/skills/ck-ui-ux-pro-max/scripts/search.py +76 -0
  545. package/skills/ck-web-frameworks/SKILL.md +322 -0
  546. package/skills/ck-web-frameworks/references/nextjs-app-router.md +465 -0
  547. package/skills/ck-web-frameworks/references/nextjs-data-fetching.md +459 -0
  548. package/skills/ck-web-frameworks/references/nextjs-optimization.md +511 -0
  549. package/skills/ck-web-frameworks/references/nextjs-server-components.md +495 -0
  550. package/skills/ck-web-frameworks/references/remix-icon-integration.md +603 -0
  551. package/skills/ck-web-frameworks/references/turborepo-caching.md +551 -0
  552. package/skills/ck-web-frameworks/references/turborepo-pipelines.md +517 -0
  553. package/skills/ck-web-frameworks/references/turborepo-setup.md +542 -0
  554. package/skills/ck-web-frameworks/scripts/.coverage +0 -0
  555. package/skills/ck-web-frameworks/scripts/__init__.py +0 -0
  556. package/skills/ck-web-frameworks/scripts/nextjs_init.py +547 -0
  557. package/skills/ck-web-frameworks/scripts/requirements.txt +16 -0
  558. package/skills/ck-web-frameworks/scripts/tests/coverage-web.json +1 -0
  559. package/skills/ck-web-frameworks/scripts/tests/requirements.txt +3 -0
  560. package/skills/ck-web-frameworks/scripts/tests/test_nextjs_init.py +319 -0
  561. package/skills/ck-web-frameworks/scripts/tests/test_turborepo_migrate.py +374 -0
  562. package/skills/ck-web-frameworks/scripts/turborepo_migrate.py +394 -0
  563. package/src/commands/init.js +61 -30
  564. package/src/utils/paths.js +35 -4
@@ -0,0 +1,266 @@
1
+ # Polar Checkouts
2
+
3
+ Checkout flows, embedded checkout, and session management.
4
+
5
+ ## Checkout Approaches
6
+
7
+ ### 1. Checkout Links
8
+ - Pre-configured shareable links
9
+ - Created via dashboard or API
10
+ - For marketing campaigns
11
+ - Can pre-apply discounts
12
+
13
+ **Create via API:**
14
+ ```typescript
15
+ const link = await polar.checkoutLinks.create({
16
+ product_price_id: "price_xxx",
17
+ success_url: "https://example.com/success"
18
+ });
19
+ // Returns: link.url
20
+ ```
21
+
22
+ ### 2. Checkout Sessions (API)
23
+ - Programmatically created
24
+ - Server-side API call
25
+ - Dynamic workflows
26
+ - Custom logic
27
+
28
+ **Create Session:**
29
+ ```typescript
30
+ const session = await polar.checkouts.create({
31
+ product_price_id: "price_xxx",
32
+ success_url: "https://example.com/success?checkout_id={CHECKOUT_ID}",
33
+ customer_email: "user@example.com",
34
+ external_customer_id: "user_123",
35
+ metadata: {
36
+ user_id: "123",
37
+ source: "web"
38
+ }
39
+ });
40
+
41
+ // Redirect to: session.url
42
+ ```
43
+
44
+ **Response:**
45
+ ```json
46
+ {
47
+ "id": "checkout_xxx",
48
+ "url": "https://polar.sh/checkout/...",
49
+ "client_secret": "cs_xxx",
50
+ "status": "open",
51
+ "expires_at": "2025-01-15T10:00:00Z"
52
+ }
53
+ ```
54
+
55
+ ### 3. Embedded Checkout
56
+ - Inline checkout within your site
57
+ - Seamless purchase experience
58
+ - Theme customization
59
+
60
+ **Implementation:**
61
+ ```html
62
+ <script src="https://polar.sh/embed.js"></script>
63
+
64
+ <div id="polar-checkout"></div>
65
+
66
+ <script>
67
+ const checkout = await fetch('/api/create-checkout', {
68
+ method: 'POST',
69
+ body: JSON.stringify({ productPriceId: 'price_xxx' })
70
+ }).then(r => r.json());
71
+
72
+ Polar('checkout', {
73
+ checkoutId: checkout.id,
74
+ clientSecret: checkout.client_secret,
75
+ onSuccess: () => {
76
+ window.location.href = '/success';
77
+ },
78
+ theme: 'dark' // or 'light'
79
+ });
80
+ </script>
81
+ ```
82
+
83
+ **Server-side (create session):**
84
+ ```typescript
85
+ app.post('/api/create-checkout', async (req, res) => {
86
+ const session = await polar.checkouts.create({
87
+ product_price_id: req.body.productPriceId,
88
+ embed_origin: "https://example.com",
89
+ external_customer_id: req.user.id
90
+ });
91
+
92
+ res.json({
93
+ id: session.id,
94
+ client_secret: session.client_secret
95
+ });
96
+ });
97
+ ```
98
+
99
+ ## Configuration Parameters
100
+
101
+ ### Required
102
+ - `product_price_id` - Product to checkout (or `products` array for multiple)
103
+ - `success_url` - Post-payment redirect (absolute URL)
104
+
105
+ ### Optional
106
+ - `external_customer_id` - Your user ID mapping
107
+ - `embed_origin` - For embedded checkouts
108
+ - `customer_email` - Pre-fill email
109
+ - `customer_name` - Pre-fill name
110
+ - `discount_id` - Pre-apply discount code
111
+ - `allow_discount_codes` - Allow customer to enter codes (default: true)
112
+ - `metadata` - Custom data (key-value)
113
+ - `custom_field_data` - Pre-fill custom fields
114
+ - `customer_billing_address` - Pre-fill billing address
115
+
116
+ ### Success URL Placeholder
117
+ ```typescript
118
+ {
119
+ success_url: "https://example.com/success?checkout_id={CHECKOUT_ID}"
120
+ }
121
+ // Polar replaces {CHECKOUT_ID} with actual checkout ID
122
+ ```
123
+
124
+ ## Multi-Product Checkout
125
+
126
+ ```typescript
127
+ const session = await polar.checkouts.create({
128
+ products: [
129
+ { product_price_id: "price_1", quantity: 1 },
130
+ { product_price_id: "price_2", quantity: 2 }
131
+ ],
132
+ success_url: "https://example.com/success"
133
+ });
134
+ ```
135
+
136
+ ## Discount Application
137
+
138
+ ### Pre-apply Discount
139
+ ```typescript
140
+ const session = await polar.checkouts.create({
141
+ product_price_id: "price_xxx",
142
+ discount_id: "discount_xxx",
143
+ success_url: "https://example.com/success"
144
+ });
145
+ ```
146
+
147
+ ### Allow Customer Codes
148
+ ```typescript
149
+ {
150
+ allow_discount_codes: true // default
151
+ // Set to false to disable code entry
152
+ }
153
+ ```
154
+
155
+ ## Checkout States
156
+
157
+ - `open` - Ready for payment
158
+ - `confirmed` - Payment successful
159
+ - `expired` - Session expired (typically 24 hours)
160
+
161
+ ## Events
162
+
163
+ **Webhook Events:**
164
+ - `checkout.created` - Session created
165
+ - `checkout.updated` - Session updated
166
+ - `order.created` - Order created after successful payment
167
+ - `order.paid` - Payment confirmed
168
+
169
+ **Handle Success:**
170
+ ```typescript
171
+ // Listen to order.paid webhook
172
+ app.post('/webhook/polar', async (req, res) => {
173
+ const event = validateEvent(req.body, req.headers, secret);
174
+
175
+ if (event.type === 'order.paid') {
176
+ const order = event.data;
177
+ await fulfillOrder(order);
178
+ }
179
+
180
+ res.json({ received: true });
181
+ });
182
+ ```
183
+
184
+ ## Best Practices
185
+
186
+ 1. **Success URL:**
187
+ - Must be absolute URL: `https://example.com/success`
188
+ - Use `{CHECKOUT_ID}` placeholder to retrieve checkout details
189
+ - Verify payment via webhook, not just success redirect
190
+
191
+ 2. **External Customer ID:**
192
+ - Set on first checkout
193
+ - Never change once set
194
+ - Use for all customer operations
195
+ - Enables customer lookup without storing Polar IDs
196
+
197
+ 3. **Pre-filling Data:**
198
+ - Pre-fill customer info when available
199
+ - Reduces friction in checkout
200
+ - Improves conversion rates
201
+
202
+ 4. **Embedded Checkout:**
203
+ - Provide seamless experience
204
+ - Match your site's theme
205
+ - Handle errors gracefully
206
+ - Show loading states
207
+
208
+ 5. **Metadata:**
209
+ - Store tracking info (source, campaign, etc.)
210
+ - Link to your internal systems
211
+ - Use for analytics and reporting
212
+
213
+ 6. **Error Handling:**
214
+ - Handle expired sessions
215
+ - Provide clear error messages
216
+ - Offer to create new session
217
+ - Log failures for debugging
218
+
219
+ 7. **Mobile Optimization:**
220
+ - Test on mobile devices
221
+ - Ensure responsive design
222
+ - Consider mobile payment methods
223
+ - Test embedded checkout on mobile
224
+
225
+ ## Framework Examples
226
+
227
+ ### Next.js
228
+ ```typescript
229
+ // app/actions/checkout.ts
230
+ 'use server'
231
+
232
+ export async function createCheckout(productPriceId: string) {
233
+ const session = await polar.checkouts.create({
234
+ product_price_id: productPriceId,
235
+ success_url: `${process.env.NEXT_PUBLIC_URL}/success?checkout_id={CHECKOUT_ID}`,
236
+ external_customer_id: await getCurrentUserId()
237
+ });
238
+
239
+ return session.url;
240
+ }
241
+
242
+ // app/product/page.tsx
243
+ export default function ProductPage() {
244
+ async function handleCheckout() {
245
+ const url = await createCheckout(productPriceId);
246
+ window.location.href = url;
247
+ }
248
+
249
+ return <button onClick={handleCheckout}>Buy Now</button>;
250
+ }
251
+ ```
252
+
253
+ ### Laravel
254
+ ```php
255
+ Route::post('/checkout', function (Request $request) {
256
+ $polar = new Polar(config('polar.access_token'));
257
+
258
+ $session = $polar->checkouts->create([
259
+ 'product_price_id' => $request->input('product_price_id'),
260
+ 'success_url' => route('checkout.success'),
261
+ 'external_customer_id' => auth()->id(),
262
+ ]);
263
+
264
+ return redirect($session['url']);
265
+ });
266
+ ```
@@ -0,0 +1,184 @@
1
+ # Polar Overview
2
+
3
+ Comprehensive payment & billing platform for software monetization with Merchant of Record services.
4
+
5
+ ## Core Capabilities
6
+
7
+ **Platform Features:**
8
+ - Digital product sales (one-time, recurring, usage-based)
9
+ - Merchant of Record - handles global tax compliance
10
+ - Subscription lifecycle management
11
+ - Automated benefit distribution
12
+ - Customer self-service portal
13
+ - Real-time webhook system
14
+ - Analytics dashboard
15
+ - Multi-language SDKs
16
+
17
+ **Merchant of Record Benefits:**
18
+ - Global tax compliance (VAT, GST, sales tax)
19
+ - Tax calculations for all jurisdictions
20
+ - B2B reverse charge, B2C tax collection
21
+ - Invoicing from Polar to customers
22
+ - Payout invoicing to merchants
23
+ - Transparent fees (20% discount vs other MoRs)
24
+
25
+ ## Authentication
26
+
27
+ ### Organization Access Tokens (OAT)
28
+
29
+ **For:** Server-side API access
30
+
31
+ **Create:**
32
+ 1. Org Settings → Developers
33
+ 2. Create new access token
34
+ 3. Copy and store securely
35
+
36
+ **Usage:**
37
+ ```bash
38
+ Authorization: Bearer polar_xxxxxxxxxxxxxxxx
39
+ ```
40
+
41
+ **Security:** Never expose client-side (auto-revoked if leaked)
42
+
43
+ ### OAuth 2.0
44
+
45
+ **For:** Third-party app integration
46
+
47
+ **Authorization URL:** `https://polar.sh/oauth2/authorize`
48
+ **Token URL:** `https://api.polar.sh/v1/oauth2/token`
49
+
50
+ **Flow:**
51
+ ```
52
+ 1. Redirect to authorize URL with scopes
53
+ 2. User approves permissions
54
+ 3. Receive authorization code
55
+ 4. Exchange code for access_token + refresh_token
56
+ 5. Use access_token for API calls
57
+ ```
58
+
59
+ **Scopes:**
60
+ - `products:read/write` - Product management
61
+ - `checkouts:read/write` - Checkout operations
62
+ - `orders:read` - View orders
63
+ - `subscriptions:read/write` - Subscription management
64
+ - `benefits:read/write` - Benefit configuration
65
+ - `customers:read/write` - Customer management
66
+ - `discounts:read/write` - Discount codes
67
+ - `refunds:read/write` - Refund processing
68
+
69
+ ### Customer Sessions
70
+
71
+ **For:** Customer-facing portal operations
72
+
73
+ **Create:** Server-side API call returns customer access token
74
+ **Usage:** Pre-authenticated customer portal links
75
+ **Scope:** Restricted to customer-specific operations
76
+
77
+ ## Base URLs
78
+
79
+ **Production:**
80
+ - Dashboard: `https://polar.sh`
81
+ - API: `https://api.polar.sh/v1/`
82
+
83
+ **Sandbox:**
84
+ - Dashboard: `https://sandbox.polar.sh`
85
+ - API: `https://sandbox-api.polar.sh/v1/`
86
+
87
+ **SDK Configuration:**
88
+ ```typescript
89
+ const polar = new Polar({
90
+ accessToken: process.env.POLAR_ACCESS_TOKEN,
91
+ server: "production" // or "sandbox"
92
+ });
93
+ ```
94
+
95
+ ## Rate Limits
96
+
97
+ **Limits:**
98
+ - 300 requests/minute per org/customer/OAuth2 client
99
+ - 3 requests/second for unauthenticated license validation
100
+
101
+ **Response:** HTTP 429 with `Retry-After` header
102
+
103
+ **Handling:**
104
+ ```javascript
105
+ if (response.status === 429) {
106
+ const retryAfter = response.headers.get('Retry-After');
107
+ await sleep(retryAfter * 1000);
108
+ return retry();
109
+ }
110
+ ```
111
+
112
+ ## Key Concepts
113
+
114
+ ### External Customer ID
115
+ - Map your user IDs to Polar customers
116
+ - Set at checkout: `external_customer_id`
117
+ - Query API by external_id
118
+ - Immutable once set
119
+ - Use for all customer operations
120
+
121
+ ### Metadata
122
+ - Custom key-value storage
123
+ - Available on products, customers, subscriptions, orders
124
+ - For reporting and filtering
125
+ - Not indexed, use for supplementary data
126
+
127
+ ### Billing Reasons
128
+ Track order types via `billing_reason`:
129
+ - `purchase` - One-time product
130
+ - `subscription_create` - New subscription
131
+ - `subscription_cycle` - Renewal invoice
132
+ - `subscription_update` - Plan change
133
+
134
+ ## Environments
135
+
136
+ **Sandbox:**
137
+ - Separate account required
138
+ - Separate organization
139
+ - Separate access tokens (production tokens don't work)
140
+ - Test with Stripe test cards
141
+
142
+ **Test Cards (Stripe):**
143
+ - Success: `4242 4242 4242 4242`
144
+ - Decline: `4000 0000 0000 0002`
145
+ - Auth Required: `4000 0025 0000 3155`
146
+ - Expiry: Any future date
147
+ - CVC: Any 3 digits
148
+
149
+ ## SDKs
150
+
151
+ **Official SDKs:**
152
+ - TypeScript/JavaScript: `@polar-sh/sdk`
153
+ - Python: `polar-sdk`
154
+ - PHP: `polar-sh/sdk`
155
+ - Go: Official SDK
156
+
157
+ **Framework Adapters:**
158
+ - Next.js: `@polar-sh/nextjs` (quickstart: `npx polar-init`)
159
+ - Laravel: `polar-sh/laravel`
160
+ - Remix, Astro, Express, TanStack Start
161
+ - Elysia, Fastify, Hono, SvelteKit
162
+
163
+ **BetterAuth Integration:**
164
+ - Package: `@polar-sh/better-auth`
165
+ - Auto-create customers on signup
166
+ - External ID mapping
167
+ - User-customer sync
168
+
169
+ ## Support & Resources
170
+
171
+ - Docs: https://polar.sh/docs
172
+ - API Reference: https://polar.sh/docs/api-reference
173
+ - LLMs.txt: https://polar.sh/docs/llms.txt
174
+ - GitHub: https://github.com/polarsource/polar
175
+ - Discussions: https://github.com/orgs/polarsource/discussions
176
+
177
+ ## Next Steps
178
+
179
+ - **For products:** Load `products.md`
180
+ - **For checkout:** Load `checkouts.md`
181
+ - **For subscriptions:** Load `subscriptions.md`
182
+ - **For webhooks:** Load `webhooks.md`
183
+ - **For benefits:** Load `benefits.md`
184
+ - **For SDK usage:** Load `sdk.md`
@@ -0,0 +1,244 @@
1
+ # Polar Products & Pricing
2
+
3
+ Product management, pricing models, and usage-based billing.
4
+
5
+ ## Billing Cycles
6
+
7
+ **Options:**
8
+ - One-time: Charged once, forever access
9
+ - Monthly: Charged every month
10
+ - Yearly: Charged every year
11
+
12
+ **Important:** Cannot change after product creation
13
+
14
+ ## Pricing Types
15
+
16
+ **Fixed Price:** Set amount
17
+ **Pay What You Want:** Customer decides (optional minimum)
18
+ **Free:** No charge
19
+
20
+ **Important:** Cannot change after product creation
21
+
22
+ ## Advanced Pricing Models
23
+
24
+ ### Seat-Based Pricing
25
+ - Team access with assignable seats
26
+ - Works for recurring or one-time
27
+ - Tiered pricing structures
28
+ - Customer manages seat assignments
29
+
30
+ **Configuration:**
31
+ ```typescript
32
+ const product = await polar.products.create({
33
+ name: "Team Plan",
34
+ prices: [{
35
+ type: "recurring",
36
+ recurring_interval: "month",
37
+ price_amount: 5000, // per seat
38
+ pricing_type: "fixed"
39
+ }],
40
+ is_seat_based: true,
41
+ max_seats: 100
42
+ });
43
+ ```
44
+
45
+ ### Usage-Based Billing
46
+
47
+ **Architecture:** Events → Meters → Metered Prices
48
+
49
+ **1. Events:** Usage data from your application
50
+ ```typescript
51
+ await polar.events.create({
52
+ external_customer_id: "user_123",
53
+ event_name: "api_call",
54
+ properties: {
55
+ tokens: 1000,
56
+ model: "gpt-4"
57
+ }
58
+ });
59
+ ```
60
+
61
+ **2. Meters:** Filter & aggregate events
62
+ ```typescript
63
+ const meter = await polar.meters.create({
64
+ name: "API Tokens",
65
+ slug: "api_tokens",
66
+ event_name: "api_call",
67
+ aggregation: {
68
+ type: "sum",
69
+ property: "tokens"
70
+ }
71
+ });
72
+ ```
73
+
74
+ **3. Metered Prices:** Billing based on usage
75
+ ```typescript
76
+ const price = await polar.products.createPrice(productId, {
77
+ type: "metered",
78
+ meter_id: meter.id,
79
+ price_per_unit: 10, // 10 cents per 1000 tokens
80
+ billing_interval: "month"
81
+ });
82
+ ```
83
+
84
+ **Credits System:**
85
+ - Pre-purchased usage credits
86
+ - Credit customer's meter balance
87
+ - Use as subscription benefit
88
+ - Balance tracking API
89
+
90
+ **Ingestion Strategies:**
91
+ - LLM Strategy: AI/ML tracking
92
+ - S3 Strategy: Bulk import
93
+ - Stream Strategy: Real-time
94
+ - Delta Time Strategy: Time-based
95
+
96
+ ## Product Features
97
+
98
+ ### Metadata
99
+ ```typescript
100
+ const product = await polar.products.create({
101
+ name: "Pro Plan",
102
+ metadata: {
103
+ feature_x: "enabled",
104
+ tier: "pro",
105
+ custom_field: "value"
106
+ }
107
+ });
108
+ ```
109
+
110
+ ### Custom Fields
111
+ ```typescript
112
+ const product = await polar.products.create({
113
+ name: "Enterprise Plan",
114
+ custom_fields: [
115
+ {
116
+ slug: "company_name",
117
+ label: "Company Name",
118
+ type: "text",
119
+ required: true
120
+ },
121
+ {
122
+ slug: "employees",
123
+ label: "Number of Employees",
124
+ type: "number"
125
+ }
126
+ ]
127
+ });
128
+ ```
129
+
130
+ Data collected at checkout, accessible via Orders/Subscriptions API in `custom_field_data`.
131
+
132
+ ### Trials
133
+ - Set on recurring products
134
+ - Customer not charged during trial
135
+ - Benefits granted immediately
136
+ - Configure at product or checkout level
137
+
138
+ ```typescript
139
+ const product = await polar.products.create({
140
+ name: "Pro Plan",
141
+ prices: [{
142
+ type: "recurring",
143
+ recurring_interval: "month",
144
+ price_amount: 2000,
145
+ trial_period_days: 14
146
+ }]
147
+ });
148
+ ```
149
+
150
+ ## Product Operations
151
+
152
+ ### Create Product
153
+ ```typescript
154
+ const product = await polar.products.create({
155
+ organization_id: "org_xxx",
156
+ name: "Pro Plan",
157
+ description: "Professional features",
158
+ prices: [{
159
+ type: "recurring",
160
+ recurring_interval: "month",
161
+ price_amount: 2000,
162
+ pricing_type: "fixed"
163
+ }]
164
+ });
165
+ ```
166
+
167
+ ### List Products
168
+ ```typescript
169
+ const products = await polar.products.list({
170
+ organization_id: "org_xxx",
171
+ is_archived: false
172
+ });
173
+ ```
174
+
175
+ ### Update Product
176
+ ```typescript
177
+ const product = await polar.products.update(productId, {
178
+ name: "Pro Plan Updated",
179
+ description: "New description"
180
+ });
181
+ ```
182
+
183
+ ### Archive Product
184
+ ```typescript
185
+ await polar.products.archive(productId);
186
+ // Products can be unarchived later
187
+ // Cannot be deleted (maintains order history)
188
+ ```
189
+
190
+ ### Update Benefits
191
+ ```typescript
192
+ await polar.products.updateBenefits(productId, {
193
+ benefits: [benefitId1, benefitId2]
194
+ });
195
+ ```
196
+
197
+ ## Important Constraints
198
+
199
+ 1. **Cannot change after creation:**
200
+ - Billing cycle (one-time, monthly, yearly)
201
+ - Pricing type (fixed, pay-what-you-want, free)
202
+
203
+ 2. **Price changes don't affect existing subscribers:**
204
+ - Current subscribers keep their original price
205
+ - New subscribers get new price
206
+ - Use separate products for significant changes
207
+
208
+ 3. **Products cannot be deleted:**
209
+ - Archive instead
210
+ - Maintains order history integrity
211
+ - Archived products not shown to new customers
212
+
213
+ 4. **Metadata vs Custom Fields:**
214
+ - Metadata: For internal use, not shown to customers
215
+ - Custom Fields: Collected from customers at checkout
216
+
217
+ ## Best Practices
218
+
219
+ 1. **Product Strategy:**
220
+ - Plan billing cycle carefully before creation
221
+ - Use separate products for different tiers
222
+ - Archive unused products rather than delete
223
+
224
+ 2. **Pricing Changes:**
225
+ - Create new product for major changes
226
+ - Grandfather existing customers
227
+ - Communicate changes clearly
228
+
229
+ 3. **Usage-Based:**
230
+ - Define clear meter aggregations
231
+ - Set appropriate billing intervals
232
+ - Monitor usage patterns
233
+ - Provide usage dashboards to customers
234
+
235
+ 4. **Custom Fields:**
236
+ - Collect only necessary information
237
+ - Validate on frontend before checkout
238
+ - Use for personalization and support
239
+
240
+ 5. **Trials:**
241
+ - Set appropriate trial duration
242
+ - Communicate trial end clearly
243
+ - Notify before trial expires
244
+ - Easy cancellation during trial