opencodekit 0.15.20 → 0.16.0

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 (606) hide show
  1. package/dist/index.js +7 -7
  2. package/dist/template/.opencode/AGENTS.md +21 -20
  3. package/dist/template/.opencode/agent/build.md +351 -0
  4. package/dist/template/.opencode/{agents → agent}/explore.md +1 -1
  5. package/dist/template/.opencode/{agents → agent}/general.md +54 -4
  6. package/dist/template/.opencode/{agents → agent}/looker.md +1 -1
  7. package/dist/template/.opencode/{agents → agent}/painter.md +1 -1
  8. package/dist/template/.opencode/{agents → agent}/plan.md +52 -0
  9. package/dist/template/.opencode/{agents → agent}/review.md +1 -1
  10. package/dist/template/.opencode/{agents → agent}/scout.md +3 -3
  11. package/dist/template/.opencode/{agents → agent}/vision.md +1 -1
  12. package/dist/template/.opencode/command/create.md +277 -0
  13. package/dist/template/.opencode/{commands → command}/design.md +5 -7
  14. package/dist/template/.opencode/{commands → command}/handoff.md +43 -1
  15. package/dist/template/.opencode/{commands → command}/init.md +25 -47
  16. package/dist/template/.opencode/{commands → command}/plan.md +35 -16
  17. package/dist/template/.opencode/{commands → command}/research.md +4 -10
  18. package/dist/template/.opencode/{commands → command}/resume.md +38 -22
  19. package/dist/template/.opencode/command/ship.md +156 -0
  20. package/dist/template/.opencode/command/start.md +613 -0
  21. package/dist/template/.opencode/{commands → command}/ui-review.md +5 -7
  22. package/dist/template/.opencode/command/verify.md +279 -0
  23. package/dist/template/.opencode/memory/_templates/README.md +57 -19
  24. package/dist/template/.opencode/memory/_templates/prd.md +29 -0
  25. package/dist/template/.opencode/memory/_templates/project/tech-stack.md +50 -0
  26. package/dist/template/.opencode/memory/_templates/proposal.md +38 -0
  27. package/dist/template/.opencode/memory/_templates/spec.md +66 -0
  28. package/dist/template/.opencode/memory/_templates/tasks.md +198 -0
  29. package/dist/template/.opencode/memory/observations/2026-01-31-decision-created-dedicated-worker-agent-for-swarm.md +20 -0
  30. package/dist/template/.opencode/memory/observations/2026-01-31-decision-rollback-to-v1-1-47-for-copilot-claude-r.md +21 -0
  31. package/dist/template/.opencode/memory/observations/2026-01-31-decision-simplified-swarm-to-task-tool-pattern.md +44 -0
  32. package/dist/template/.opencode/memory/observations/2026-01-31-decision-swarm-architecture-task-tool-over-tmux.md +33 -0
  33. package/dist/template/.opencode/memory/observations/2026-01-31-decision-worker-skills-defined-for-swarm-delegati.md +30 -0
  34. package/dist/template/.opencode/memory/observations/2026-01-31-learning-gpt-reasoning-config-for-github-copilot.md +51 -0
  35. package/dist/template/.opencode/memory/observations/2026-01-31-learning-opencode-custom-tools-api.md +48 -0
  36. package/dist/template/.opencode/memory/observations/2026-01-31-learning-opencode-v1-1-48-skills-as-slash-command.md +21 -0
  37. package/dist/template/.opencode/memory/observations/2026-01-31-learning-swarm-system-simplified-removed-mailbox-.md +30 -0
  38. package/dist/template/.opencode/memory/observations/2026-01-31-learning-v1-1-48-native-copilot-reasoning-via-pr-.md +45 -0
  39. package/dist/template/.opencode/memory/observations/2026-01-31-warning-cannot-add-custom-config-to-opencode-jso.md +18 -0
  40. package/dist/template/.opencode/memory/observations/2026-01-31-warning-opencode-v1-1-48-claude-thinking-block-s.md +51 -0
  41. package/dist/template/.opencode/memory/observations/2026-02-01-decision-add-skills-vs-commands-to-global-agents-.md +15 -0
  42. package/dist/template/.opencode/memory/observations/2026-02-01-decision-build-agent-auto-loads-skills-contextual.md +31 -0
  43. package/dist/template/.opencode/memory/observations/2026-02-01-decision-fixed-agent-configuration-for-opencodeki.md +25 -0
  44. package/dist/template/.opencode/memory/observations/2026-02-01-decision-focused-agents-md-upgrade-for-opencode-k.md +14 -0
  45. package/dist/template/.opencode/memory/observations/2026-02-01-decision-implement-tier-1-permission-upgrades.md +15 -0
  46. package/dist/template/.opencode/memory/observations/2026-02-01-decision-instructions-config-explicit-paths-not-w.md +40 -0
  47. package/dist/template/.opencode/memory/observations/2026-02-01-decision-merged-context-into-memory-project-singl.md +42 -0
  48. package/dist/template/.opencode/memory/observations/2026-02-01-decision-oracle-tool-should-use-review-agent-not-.md +14 -0
  49. package/dist/template/.opencode/memory/observations/2026-02-01-decision-plan-agent-auto-loads-skills-contextuall.md +31 -0
  50. package/dist/template/.opencode/memory/observations/2026-02-01-decision-plan-phased-oracle-command-merge-into-ne.md +14 -0
  51. package/dist/template/.opencode/memory/observations/2026-02-01-decision-prd-workflow-uses-prd-and-prd-task-skill.md +23 -0
  52. package/dist/template/.opencode/memory/observations/2026-02-01-decision-prefer-review-agent-via-opencode-cli-ove.md +14 -0
  53. package/dist/template/.opencode/memory/observations/2026-02-01-decision-remove-oracle-tool-add-ship-command-with.md +14 -0
  54. package/dist/template/.opencode/memory/observations/2026-02-01-decision-remove-oracle-tool-and-add-ship-command-.md +14 -0
  55. package/dist/template/.opencode/memory/observations/2026-02-01-decision-remove-oracle-tool-and-add-ship-command.md +14 -0
  56. package/dist/template/.opencode/memory/observations/2026-02-01-decision-remove-skills-vs-commands-section-from-a.md +14 -0
  57. package/dist/template/.opencode/memory/observations/2026-02-01-decision-replace-oracle-tool-with-ship-command-fl.md +14 -0
  58. package/dist/template/.opencode/memory/observations/2026-02-01-decision-replace-oracle-with-ship-command-workflo.md +14 -0
  59. package/dist/template/.opencode/memory/observations/2026-02-01-decision-replace-proxypal-oracle-with-cli-review-.md +14 -0
  60. package/dist/template/.opencode/memory/observations/2026-02-01-decision-simplified-dist-template-only-tech-stack.md +50 -0
  61. package/dist/template/.opencode/memory/observations/2026-02-01-decision-simplified-templates-only-tech-stack-md.md +26 -0
  62. package/dist/template/.opencode/memory/observations/2026-02-01-decision-subagents-load-minimal-skills-stay-lean.md +29 -0
  63. package/dist/template/.opencode/memory/observations/2026-02-01-decision-user-approved-permission-upgrades-in-ope.md +15 -0
  64. package/dist/template/.opencode/memory/observations/2026-02-01-discovery-verify-command-already-implemented.md +28 -0
  65. package/dist/template/.opencode/memory/observations/2026-02-01-feature-openspec-phase-b-complete-template-upgra.md +43 -0
  66. package/dist/template/.opencode/memory/observations/2026-02-01-learning-build-agent-should-use-dynamic-lsp-not-f.md +14 -0
  67. package/dist/template/.opencode/memory/observations/2026-02-01-learning-kimi-k2-5-model-requires-temperature-1-0.md +22 -0
  68. package/dist/template/.opencode/memory/observations/2026-02-01-learning-opencode-context-injection-already-imple.md +27 -0
  69. package/dist/template/.opencode/memory/observations/2026-02-01-learning-opencode-context-injection-uses-instruct.md +35 -0
  70. package/dist/template/.opencode/memory/observations/2026-02-01-learning-update-build-agent-prompt-to-use-context.md +14 -0
  71. package/dist/template/.opencode/memory/observations/2026-02-01-learning-upgrade-agents-md-using-opencode-expert-.md +14 -0
  72. package/dist/template/.opencode/memory/observations/2026-02-01-learning-upgrade-agents-md-with-opencode-expert-g.md +14 -0
  73. package/dist/template/.opencode/memory/observations/2026-02-01-learning-upgrade-agents-md-with-opencode-expert-r.md +14 -0
  74. package/dist/template/.opencode/memory/observations/2026-02-01-learning-user-prefers-copilot-gpt-5-2-codex-mediu.md +14 -0
  75. package/dist/template/.opencode/memory/observations/2026-02-01-learning-user-wants-general-agent-prompt-contextu.md +15 -0
  76. package/dist/template/.opencode/memory/observations/2026-02-01-learning-user-wants-general-agent-prompt-reviewed.md +15 -0
  77. package/dist/template/.opencode/memory/project/command-rules.md +122 -0
  78. package/dist/template/.opencode/memory/project/tech-stack.md +50 -0
  79. package/dist/template/.opencode/memory/research/ccpm-analysis.md +334 -0
  80. package/dist/template/.opencode/memory/research/openspec-analysis.md +226 -0
  81. package/dist/template/.opencode/opencode.json +176 -65
  82. package/dist/template/.opencode/package.json +2 -2
  83. package/dist/template/.opencode/{plugins → plugin}/copilot-auth.ts +107 -177
  84. package/dist/template/.opencode/{plugins → plugin}/sdk/copilot/chat/openai-compatible-chat-language-model.ts +12 -2
  85. package/dist/template/.opencode/{plugins → plugin}/sdk/copilot/chat/openai-compatible-chat-options.ts +1 -1
  86. package/dist/template/.opencode/{plugins → plugin}/sdk/copilot/openai-compatible-error.ts +1 -1
  87. package/dist/template/.opencode/{plugins → plugin}/swarm-enforcer.ts +18 -23
  88. package/dist/template/.opencode/{skills → skill}/beads/SKILL.md +41 -0
  89. package/dist/template/.opencode/skill/beads-bridge/SKILL.md +294 -0
  90. package/dist/template/.opencode/skill/resend/SKILL.md +167 -0
  91. package/dist/template/.opencode/skill/resend/references/react-email.md +287 -0
  92. package/dist/template/.opencode/skill/resend/references/receive-email.md +248 -0
  93. package/dist/template/.opencode/skill/resend/references/send-email.md +318 -0
  94. package/dist/template/.opencode/skill/swarm-coordination/SKILL.md +690 -0
  95. package/dist/template/.opencode/skill/tool-priority/SKILL.md +259 -0
  96. package/dist/template/.opencode/tool/beads-sync.ts +657 -0
  97. package/dist/template/.opencode/{tools → tool}/swarm-delegate.ts +13 -8
  98. package/dist/template/.opencode/{tools → tool}/swarm-monitor.ts +14 -170
  99. package/dist/template/.opencode/{tools → tool}/swarm-plan.ts +232 -1
  100. package/package.json +3 -1
  101. package/dist/template/.opencode/agents/build.md +0 -584
  102. package/dist/template/.opencode/commands/accessibility-check.md +0 -331
  103. package/dist/template/.opencode/commands/agent-browser.md +0 -21
  104. package/dist/template/.opencode/commands/analyze-mockup.md +0 -423
  105. package/dist/template/.opencode/commands/analyze-project.md +0 -295
  106. package/dist/template/.opencode/commands/brainstorm.md +0 -373
  107. package/dist/template/.opencode/commands/cloudflare.md +0 -70
  108. package/dist/template/.opencode/commands/commit.md +0 -245
  109. package/dist/template/.opencode/commands/complete-next-task.md +0 -77
  110. package/dist/template/.opencode/commands/create.md +0 -171
  111. package/dist/template/.opencode/commands/design-audit.md +0 -480
  112. package/dist/template/.opencode/commands/edit-image.md +0 -242
  113. package/dist/template/.opencode/commands/finish.md +0 -237
  114. package/dist/template/.opencode/commands/fix-ci.md +0 -109
  115. package/dist/template/.opencode/commands/fix-types.md +0 -104
  116. package/dist/template/.opencode/commands/fix-ui.md +0 -117
  117. package/dist/template/.opencode/commands/fix.md +0 -168
  118. package/dist/template/.opencode/commands/frontend-design.md +0 -21
  119. package/dist/template/.opencode/commands/generate-diagram.md +0 -349
  120. package/dist/template/.opencode/commands/generate-icon.md +0 -283
  121. package/dist/template/.opencode/commands/generate-image.md +0 -246
  122. package/dist/template/.opencode/commands/generate-pattern.md +0 -247
  123. package/dist/template/.opencode/commands/generate-storyboard.md +0 -250
  124. package/dist/template/.opencode/commands/implement.md +0 -607
  125. package/dist/template/.opencode/commands/import-plan.md +0 -406
  126. package/dist/template/.opencode/commands/index-knowledge.md +0 -25
  127. package/dist/template/.opencode/commands/integration-test.md +0 -424
  128. package/dist/template/.opencode/commands/issue.md +0 -102
  129. package/dist/template/.opencode/commands/new-feature.md +0 -650
  130. package/dist/template/.opencode/commands/opensrc.md +0 -58
  131. package/dist/template/.opencode/commands/quick-build.md +0 -238
  132. package/dist/template/.opencode/commands/ralph.md +0 -41
  133. package/dist/template/.opencode/commands/research-and-implement.md +0 -148
  134. package/dist/template/.opencode/commands/research-ui.md +0 -466
  135. package/dist/template/.opencode/commands/restore-image.md +0 -424
  136. package/dist/template/.opencode/commands/revert-feature.md +0 -386
  137. package/dist/template/.opencode/commands/skill-create.md +0 -517
  138. package/dist/template/.opencode/commands/skill-optimize.md +0 -556
  139. package/dist/template/.opencode/commands/start.md +0 -314
  140. package/dist/template/.opencode/commands/summarize.md +0 -412
  141. package/dist/template/.opencode/commands/triage.md +0 -398
  142. package/dist/template/.opencode/memory/_templates/project/architecture.md +0 -60
  143. package/dist/template/.opencode/memory/_templates/project/commands.md +0 -72
  144. package/dist/template/.opencode/memory/_templates/project/conventions.md +0 -68
  145. package/dist/template/.opencode/memory/_templates/project/gotchas.md +0 -41
  146. package/dist/template/.opencode/skills/notebooklm/SKILL.md +0 -272
  147. package/dist/template/.opencode/skills/notebooklm/references/setup.md +0 -353
  148. package/dist/template/.opencode/skills/swarm-coordination/SKILL.md +0 -548
  149. package/dist/template/.opencode/skills/tool-priority/SKILL.md +0 -190
  150. package/dist/template/.opencode/tools/notebooklm.ts +0 -488
  151. package/dist/template/.opencode/tools/oracle.ts +0 -240
  152. /package/dist/template/.opencode/{commands → command}/pr.md +0 -0
  153. /package/dist/template/.opencode/{commands → command}/review-codebase.md +0 -0
  154. /package/dist/template/.opencode/{commands → command}/status.md +0 -0
  155. /package/dist/template/.opencode/{plugins → plugin}/README.md +0 -0
  156. /package/dist/template/.opencode/{plugins → plugin}/compaction.ts +0 -0
  157. /package/dist/template/.opencode/{plugins → plugin}/env-ctx.ts +0 -0
  158. /package/dist/template/.opencode/{plugins → plugin}/lib/notify.ts +0 -0
  159. /package/dist/template/.opencode/{plugins → plugin}/lsp.ts +0 -0
  160. /package/dist/template/.opencode/{plugins → plugin}/memory.ts +0 -0
  161. /package/dist/template/.opencode/{plugins → plugin}/notification.ts.bak +0 -0
  162. /package/dist/template/.opencode/{plugins → plugin}/package.json +0 -0
  163. /package/dist/template/.opencode/{plugins → plugin}/sdk/copilot/chat/convert-to-openai-compatible-chat-messages.ts +0 -0
  164. /package/dist/template/.opencode/{plugins → plugin}/sdk/copilot/chat/get-response-metadata.ts +0 -0
  165. /package/dist/template/.opencode/{plugins → plugin}/sdk/copilot/chat/map-openai-compatible-finish-reason.ts +0 -0
  166. /package/dist/template/.opencode/{plugins → plugin}/sdk/copilot/chat/openai-compatible-api-types.ts +0 -0
  167. /package/dist/template/.opencode/{plugins → plugin}/sdk/copilot/chat/openai-compatible-metadata-extractor.ts +0 -0
  168. /package/dist/template/.opencode/{plugins → plugin}/sdk/copilot/chat/openai-compatible-prepare-tools.ts +0 -0
  169. /package/dist/template/.opencode/{plugins → plugin}/sdk/copilot/copilot-provider.ts +0 -0
  170. /package/dist/template/.opencode/{plugins → plugin}/sdk/copilot/index.ts +0 -0
  171. /package/dist/template/.opencode/{plugins → plugin}/sessions.ts +0 -0
  172. /package/dist/template/.opencode/{plugins → plugin}/skill-mcp.ts +0 -0
  173. /package/dist/template/.opencode/{plugins → plugin}/truncator.ts +0 -0
  174. /package/dist/template/.opencode/{plugins → plugin}/tsconfig.json +0 -0
  175. /package/dist/template/.opencode/{skills → skill}/accessibility-audit/SKILL.md +0 -0
  176. /package/dist/template/.opencode/{skills → skill}/agent-browser/SKILL.md +0 -0
  177. /package/dist/template/.opencode/{skills → skill}/beads/references/BOUNDARIES.md +0 -0
  178. /package/dist/template/.opencode/{skills → skill}/beads/references/DEPENDENCIES.md +0 -0
  179. /package/dist/template/.opencode/{skills → skill}/beads/references/RESUMABILITY.md +0 -0
  180. /package/dist/template/.opencode/{skills → skill}/beads/references/WORKFLOWS.md +0 -0
  181. /package/dist/template/.opencode/{skills → skill}/brainstorming/SKILL.md +0 -0
  182. /package/dist/template/.opencode/{skills → skill}/chrome-devtools/SKILL.md +0 -0
  183. /package/dist/template/.opencode/{skills → skill}/chrome-devtools/mcp.json +0 -0
  184. /package/dist/template/.opencode/{skills → skill}/cloudflare/SKILL.md +0 -0
  185. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/agents-sdk/README.md +0 -0
  186. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/agents-sdk/api.md +0 -0
  187. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/agents-sdk/configuration.md +0 -0
  188. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/agents-sdk/gotchas.md +0 -0
  189. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/agents-sdk/patterns.md +0 -0
  190. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/ai-gateway/README.md +0 -0
  191. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/ai-search/README.md +0 -0
  192. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/ai-search/api.md +0 -0
  193. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/ai-search/configuration.md +0 -0
  194. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/ai-search/gotchas.md +0 -0
  195. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/ai-search/patterns.md +0 -0
  196. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/analytics-engine/README.md +0 -0
  197. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/analytics-engine/api.md +0 -0
  198. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/analytics-engine/configuration.md +0 -0
  199. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/analytics-engine/gotchas.md +0 -0
  200. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/analytics-engine/patterns.md +0 -0
  201. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/api/README.md +0 -0
  202. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/api/api.md +0 -0
  203. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/api/configuration.md +0 -0
  204. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/api/gotchas.md +0 -0
  205. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/api/patterns.md +0 -0
  206. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/api-shield/README.md +0 -0
  207. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/api-shield/api.md +0 -0
  208. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/api-shield/configuration.md +0 -0
  209. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/api-shield/gotchas.md +0 -0
  210. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/api-shield/patterns.md +0 -0
  211. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/argo-smart-routing/README.md +0 -0
  212. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/argo-smart-routing/api.md +0 -0
  213. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/argo-smart-routing/configuration.md +0 -0
  214. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/argo-smart-routing/gotchas.md +0 -0
  215. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/argo-smart-routing/patterns.md +0 -0
  216. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/bindings/README.md +0 -0
  217. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/bindings/api.md +0 -0
  218. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/bindings/configuration.md +0 -0
  219. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/bindings/gotchas.md +0 -0
  220. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/bindings/patterns.md +0 -0
  221. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/bot-management/README.md +0 -0
  222. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/bot-management/api.md +0 -0
  223. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/bot-management/configuration.md +0 -0
  224. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/bot-management/gotchas.md +0 -0
  225. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/bot-management/patterns.md +0 -0
  226. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/browser-rendering/README.md +0 -0
  227. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/browser-rendering/api.md +0 -0
  228. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/browser-rendering/configuration.md +0 -0
  229. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/browser-rendering/gotchas.md +0 -0
  230. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/browser-rendering/patterns.md +0 -0
  231. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/c3/README.md +0 -0
  232. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/cache-reserve/README.md +0 -0
  233. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/cache-reserve/api.md +0 -0
  234. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/cache-reserve/configuration.md +0 -0
  235. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/cache-reserve/gotchas.md +0 -0
  236. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/cache-reserve/patterns.md +0 -0
  237. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/containers/README.md +0 -0
  238. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/containers/api.md +0 -0
  239. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/containers/configuration.md +0 -0
  240. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/containers/gotchas.md +0 -0
  241. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/containers/patterns.md +0 -0
  242. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/cron-triggers/README.md +0 -0
  243. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/cron-triggers/api.md +0 -0
  244. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/cron-triggers/configuration.md +0 -0
  245. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/cron-triggers/gotchas.md +0 -0
  246. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/cron-triggers/patterns.md +0 -0
  247. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/d1/README.md +0 -0
  248. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/d1/api.md +0 -0
  249. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/d1/configuration.md +0 -0
  250. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/d1/gotchas.md +0 -0
  251. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/d1/patterns.md +0 -0
  252. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/ddos/README.md +0 -0
  253. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/ddos/api.md +0 -0
  254. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/ddos/configuration.md +0 -0
  255. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/ddos/gotchas.md +0 -0
  256. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/ddos/patterns.md +0 -0
  257. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/do-storage/README.md +0 -0
  258. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/do-storage/api.md +0 -0
  259. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/do-storage/configuration.md +0 -0
  260. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/do-storage/gotchas.md +0 -0
  261. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/do-storage/patterns.md +0 -0
  262. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/durable-objects/README.md +0 -0
  263. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/durable-objects/api.md +0 -0
  264. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/durable-objects/configuration.md +0 -0
  265. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/durable-objects/gotchas.md +0 -0
  266. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/durable-objects/patterns.md +0 -0
  267. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/email-routing/README.md +0 -0
  268. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/email-routing/api.md +0 -0
  269. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/email-routing/configuration.md +0 -0
  270. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/email-routing/gotchas.md +0 -0
  271. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/email-routing/patterns.md +0 -0
  272. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/email-workers/README.md +0 -0
  273. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/hyperdrive/README.md +0 -0
  274. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/hyperdrive/api.md +0 -0
  275. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/hyperdrive/configuration.md +0 -0
  276. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/hyperdrive/gotchas.md +0 -0
  277. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/hyperdrive/patterns.md +0 -0
  278. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/images/README.md +0 -0
  279. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/images/api.md +0 -0
  280. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/images/configuration.md +0 -0
  281. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/images/gotchas.md +0 -0
  282. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/images/patterns.md +0 -0
  283. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/kv/README.md +0 -0
  284. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/kv/api.md +0 -0
  285. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/kv/configuration.md +0 -0
  286. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/kv/gotchas.md +0 -0
  287. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/kv/patterns.md +0 -0
  288. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/miniflare/README.md +0 -0
  289. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/miniflare/api.md +0 -0
  290. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/miniflare/configuration.md +0 -0
  291. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/miniflare/gotchas.md +0 -0
  292. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/miniflare/patterns.md +0 -0
  293. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/network-interconnect/README.md +0 -0
  294. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/network-interconnect/api.md +0 -0
  295. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/network-interconnect/configuration.md +0 -0
  296. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/network-interconnect/gotchas.md +0 -0
  297. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/network-interconnect/patterns.md +0 -0
  298. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/observability/README.md +0 -0
  299. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/observability/api.md +0 -0
  300. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/observability/configuration.md +0 -0
  301. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/observability/gotchas.md +0 -0
  302. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/observability/patterns.md +0 -0
  303. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/pages/README.md +0 -0
  304. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/pages/api.md +0 -0
  305. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/pages/configuration.md +0 -0
  306. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/pages/gotchas.md +0 -0
  307. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/pages/patterns.md +0 -0
  308. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/pages-functions/README.md +0 -0
  309. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/pages-functions/api.md +0 -0
  310. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/pages-functions/configuration.md +0 -0
  311. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/pages-functions/gotchas.md +0 -0
  312. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/pages-functions/patterns.md +0 -0
  313. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/pipelines/README.md +0 -0
  314. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/pulumi/README.md +0 -0
  315. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/pulumi/api.md +0 -0
  316. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/pulumi/configuration.md +0 -0
  317. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/pulumi/gotchas.md +0 -0
  318. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/pulumi/patterns.md +0 -0
  319. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/queues/README.md +0 -0
  320. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/queues/api.md +0 -0
  321. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/queues/configuration.md +0 -0
  322. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/queues/gotchas.md +0 -0
  323. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/queues/patterns.md +0 -0
  324. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/r2/README.md +0 -0
  325. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/r2/api.md +0 -0
  326. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/r2/configuration.md +0 -0
  327. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/r2/gotchas.md +0 -0
  328. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/r2/patterns.md +0 -0
  329. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/r2-data-catalog/README.md +0 -0
  330. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/r2-data-catalog/api.md +0 -0
  331. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/r2-data-catalog/configuration.md +0 -0
  332. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/r2-data-catalog/gotchas.md +0 -0
  333. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/r2-data-catalog/patterns.md +0 -0
  334. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/r2-sql/README.md +0 -0
  335. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/realtime-sfu/README.md +0 -0
  336. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/realtime-sfu/api.md +0 -0
  337. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/realtime-sfu/configuration.md +0 -0
  338. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/realtime-sfu/gotchas.md +0 -0
  339. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/realtime-sfu/patterns.md +0 -0
  340. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/realtimekit/README.md +0 -0
  341. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/realtimekit/api.md +0 -0
  342. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/realtimekit/configuration.md +0 -0
  343. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/realtimekit/gotchas.md +0 -0
  344. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/realtimekit/patterns.md +0 -0
  345. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/sandbox/README.md +0 -0
  346. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/sandbox/api.md +0 -0
  347. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/sandbox/configuration.md +0 -0
  348. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/sandbox/gotchas.md +0 -0
  349. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/sandbox/patterns.md +0 -0
  350. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/secrets-store/README.md +0 -0
  351. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/secrets-store/api.md +0 -0
  352. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/secrets-store/configuration.md +0 -0
  353. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/secrets-store/gotchas.md +0 -0
  354. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/secrets-store/patterns.md +0 -0
  355. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/smart-placement/README.md +0 -0
  356. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/smart-placement/api.md +0 -0
  357. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/smart-placement/configuration.md +0 -0
  358. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/smart-placement/gotchas.md +0 -0
  359. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/smart-placement/patterns.md +0 -0
  360. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/snippets/README.md +0 -0
  361. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/snippets/api.md +0 -0
  362. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/snippets/configuration.md +0 -0
  363. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/snippets/gotchas.md +0 -0
  364. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/snippets/patterns.md +0 -0
  365. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/spectrum/README.md +0 -0
  366. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/spectrum/api.md +0 -0
  367. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/spectrum/configuration.md +0 -0
  368. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/spectrum/gotchas.md +0 -0
  369. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/spectrum/patterns.md +0 -0
  370. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/static-assets/README.md +0 -0
  371. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/static-assets/api.md +0 -0
  372. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/static-assets/configuration.md +0 -0
  373. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/static-assets/gotchas.md +0 -0
  374. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/static-assets/patterns.md +0 -0
  375. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/stream/README.md +0 -0
  376. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/stream/api.md +0 -0
  377. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/stream/configuration.md +0 -0
  378. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/stream/gotchas.md +0 -0
  379. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/stream/patterns.md +0 -0
  380. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/tail-workers/README.md +0 -0
  381. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/terraform/README.md +0 -0
  382. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/terraform/api.md +0 -0
  383. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/terraform/configuration.md +0 -0
  384. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/terraform/gotchas.md +0 -0
  385. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/terraform/patterns.md +0 -0
  386. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/tunnel/README.md +0 -0
  387. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/tunnel/api.md +0 -0
  388. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/tunnel/configuration.md +0 -0
  389. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/tunnel/gotchas.md +0 -0
  390. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/tunnel/patterns.md +0 -0
  391. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/turn/README.md +0 -0
  392. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/turnstile/README.md +0 -0
  393. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/turnstile/api.md +0 -0
  394. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/turnstile/configuration.md +0 -0
  395. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/turnstile/gotchas.md +0 -0
  396. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/turnstile/patterns.md +0 -0
  397. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/vectorize/README.md +0 -0
  398. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/waf/README.md +0 -0
  399. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/waf/api.md +0 -0
  400. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/waf/configuration.md +0 -0
  401. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/waf/gotchas.md +0 -0
  402. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/waf/patterns.md +0 -0
  403. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/web-analytics/README.md +0 -0
  404. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/web-analytics/api.md +0 -0
  405. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/web-analytics/configuration.md +0 -0
  406. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/web-analytics/gotchas.md +0 -0
  407. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/web-analytics/patterns.md +0 -0
  408. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/workerd/README.md +0 -0
  409. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/workerd/api.md +0 -0
  410. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/workerd/configuration.md +0 -0
  411. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/workerd/gotchas.md +0 -0
  412. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/workerd/patterns.md +0 -0
  413. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/workers/README.md +0 -0
  414. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/workers/api.md +0 -0
  415. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/workers/configuration.md +0 -0
  416. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/workers/gotchas.md +0 -0
  417. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/workers/patterns.md +0 -0
  418. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/workers-ai/README.md +0 -0
  419. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/workers-for-platforms/README.md +0 -0
  420. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/workers-for-platforms/api.md +0 -0
  421. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/workers-for-platforms/configuration.md +0 -0
  422. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/workers-for-platforms/gotchas.md +0 -0
  423. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/workers-for-platforms/patterns.md +0 -0
  424. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/workers-playground/README.md +0 -0
  425. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/workers-playground/api.md +0 -0
  426. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/workers-playground/configuration.md +0 -0
  427. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/workers-playground/gotchas.md +0 -0
  428. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/workers-playground/patterns.md +0 -0
  429. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/workers-vpc/README.md +0 -0
  430. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/workflows/README.md +0 -0
  431. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/workflows/api.md +0 -0
  432. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/workflows/configuration.md +0 -0
  433. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/workflows/gotchas.md +0 -0
  434. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/workflows/patterns.md +0 -0
  435. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/wrangler/README.md +0 -0
  436. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/wrangler/api.md +0 -0
  437. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/wrangler/configuration.md +0 -0
  438. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/wrangler/gotchas.md +0 -0
  439. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/wrangler/patterns.md +0 -0
  440. /package/dist/template/.opencode/{skills → skill}/cloudflare/references/zaraz/README.md +0 -0
  441. /package/dist/template/.opencode/{skills → skill}/condition-based-waiting/SKILL.md +0 -0
  442. /package/dist/template/.opencode/{skills → skill}/condition-based-waiting/example.ts +0 -0
  443. /package/dist/template/.opencode/{skills → skill}/context-engineering/SKILL.md +0 -0
  444. /package/dist/template/.opencode/{skills → skill}/deep-research/SKILL.md +0 -0
  445. /package/dist/template/.opencode/{skills → skill}/defense-in-depth/SKILL.md +0 -0
  446. /package/dist/template/.opencode/{skills → skill}/design-system-audit/SKILL.md +0 -0
  447. /package/dist/template/.opencode/{skills → skill}/dispatching-parallel-agents/SKILL.md +0 -0
  448. /package/dist/template/.opencode/{skills → skill}/executing-plans/SKILL.md +0 -0
  449. /package/dist/template/.opencode/{skills → skill}/figma/SKILL.md +0 -0
  450. /package/dist/template/.opencode/{skills → skill}/finishing-a-development-branch/SKILL.md +0 -0
  451. /package/dist/template/.opencode/{skills → skill}/frontend-design/SKILL.md +0 -0
  452. /package/dist/template/.opencode/{skills → skill}/frontend-design/references/animation/motion-advanced.md +0 -0
  453. /package/dist/template/.opencode/{skills → skill}/frontend-design/references/animation/motion-core.md +0 -0
  454. /package/dist/template/.opencode/{skills → skill}/frontend-design/references/canvas/execution.md +0 -0
  455. /package/dist/template/.opencode/{skills → skill}/frontend-design/references/canvas/philosophy.md +0 -0
  456. /package/dist/template/.opencode/{skills → skill}/frontend-design/references/shadcn/accessibility.md +0 -0
  457. /package/dist/template/.opencode/{skills → skill}/frontend-design/references/shadcn/core-components.md +0 -0
  458. /package/dist/template/.opencode/{skills → skill}/frontend-design/references/shadcn/form-components.md +0 -0
  459. /package/dist/template/.opencode/{skills → skill}/frontend-design/references/shadcn/setup.md +0 -0
  460. /package/dist/template/.opencode/{skills → skill}/frontend-design/references/shadcn/theming.md +0 -0
  461. /package/dist/template/.opencode/{skills → skill}/frontend-design/references/tailwind/responsive.md +0 -0
  462. /package/dist/template/.opencode/{skills → skill}/frontend-design/references/tailwind/utilities-layout.md +0 -0
  463. /package/dist/template/.opencode/{skills → skill}/frontend-design/references/tailwind/utilities-styling.md +0 -0
  464. /package/dist/template/.opencode/{skills → skill}/frontend-design/references/tailwind/v4-config.md +0 -0
  465. /package/dist/template/.opencode/{skills → skill}/frontend-design/references/tailwind/v4-features.md +0 -0
  466. /package/dist/template/.opencode/{skills → skill}/gemini-large-context/SKILL.md +0 -0
  467. /package/dist/template/.opencode/{skills → skill}/index-knowledge/SKILL.md +0 -0
  468. /package/dist/template/.opencode/{skills → skill}/memory-system/SKILL.md +0 -0
  469. /package/dist/template/.opencode/{skills → skill}/mockup-to-code/SKILL.md +0 -0
  470. /package/dist/template/.opencode/{skills → skill}/mqdh/SKILL.md +0 -0
  471. /package/dist/template/.opencode/{skills → skill}/opensrc/SKILL.md +0 -0
  472. /package/dist/template/.opencode/{skills → skill}/opensrc/references/architecture.md +0 -0
  473. /package/dist/template/.opencode/{skills → skill}/opensrc/references/cli-usage.md +0 -0
  474. /package/dist/template/.opencode/{skills → skill}/opensrc/references/registry-support.md +0 -0
  475. /package/dist/template/.opencode/{skills → skill}/playwright/SKILL.md +0 -0
  476. /package/dist/template/.opencode/{skills → skill}/playwright/mcp.json +0 -0
  477. /package/dist/template/.opencode/{skills → skill}/playwriter/SKILL.md +0 -0
  478. /package/dist/template/.opencode/{skills → skill}/polar/SKILL.md +0 -0
  479. /package/dist/template/.opencode/{skills → skill}/prd/SKILL.md +0 -0
  480. /package/dist/template/.opencode/{skills → skill}/prd-task/SKILL.md +0 -0
  481. /package/dist/template/.opencode/{skills → skill}/prd-task/references/prd-schema.json +0 -0
  482. /package/dist/template/.opencode/{skills → skill}/ralph/SKILL.md +0 -0
  483. /package/dist/template/.opencode/{skills → skill}/react-best-practices/AGENTS.md +0 -0
  484. /package/dist/template/.opencode/{skills → skill}/react-best-practices/README.md +0 -0
  485. /package/dist/template/.opencode/{skills → skill}/react-best-practices/SKILL.md +0 -0
  486. /package/dist/template/.opencode/{skills → skill}/react-best-practices/metadata.json +0 -0
  487. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/_sections.md +0 -0
  488. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/_template.md +0 -0
  489. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/advanced-event-handler-refs.md +0 -0
  490. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/advanced-use-latest.md +0 -0
  491. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/async-api-routes.md +0 -0
  492. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/async-defer-await.md +0 -0
  493. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/async-dependencies.md +0 -0
  494. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/async-parallel.md +0 -0
  495. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/async-suspense-boundaries.md +0 -0
  496. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/bundle-barrel-imports.md +0 -0
  497. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/bundle-conditional.md +0 -0
  498. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/bundle-defer-third-party.md +0 -0
  499. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/bundle-dynamic-imports.md +0 -0
  500. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/bundle-preload.md +0 -0
  501. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/client-event-listeners.md +0 -0
  502. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/client-localstorage-schema.md +0 -0
  503. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/client-passive-event-listeners.md +0 -0
  504. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/client-swr-dedup.md +0 -0
  505. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/js-batch-dom-css.md +0 -0
  506. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/js-cache-function-results.md +0 -0
  507. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/js-cache-property-access.md +0 -0
  508. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/js-cache-storage.md +0 -0
  509. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/js-combine-iterations.md +0 -0
  510. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/js-early-exit.md +0 -0
  511. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/js-hoist-regexp.md +0 -0
  512. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/js-index-maps.md +0 -0
  513. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/js-length-check-first.md +0 -0
  514. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/js-min-max-loop.md +0 -0
  515. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/js-set-map-lookups.md +0 -0
  516. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/js-tosorted-immutable.md +0 -0
  517. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/rendering-activity.md +0 -0
  518. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -0
  519. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/rendering-conditional-render.md +0 -0
  520. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/rendering-content-visibility.md +0 -0
  521. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/rendering-hoist-jsx.md +0 -0
  522. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/rendering-hydration-no-flicker.md +0 -0
  523. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/rendering-svg-precision.md +0 -0
  524. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/rerender-defer-reads.md +0 -0
  525. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/rerender-dependencies.md +0 -0
  526. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/rerender-derived-state.md +0 -0
  527. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/rerender-functional-setstate.md +0 -0
  528. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/rerender-lazy-state-init.md +0 -0
  529. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/rerender-memo.md +0 -0
  530. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/rerender-transitions.md +0 -0
  531. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/server-after-nonblocking.md +0 -0
  532. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/server-cache-lru.md +0 -0
  533. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/server-cache-react.md +0 -0
  534. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/server-parallel-fetching.md +0 -0
  535. /package/dist/template/.opencode/{skills → skill}/react-best-practices/rules/server-serialization.md +0 -0
  536. /package/dist/template/.opencode/{skills → skill}/receiving-code-review/SKILL.md +0 -0
  537. /package/dist/template/.opencode/{skills → skill}/requesting-code-review/SKILL.md +0 -0
  538. /package/dist/template/.opencode/{skills → skill}/requesting-code-review/review.md +0 -0
  539. /package/dist/template/.opencode/{skills → skill}/root-cause-tracing/SKILL.md +0 -0
  540. /package/dist/template/.opencode/{skills → skill}/root-cause-tracing/find-polluter.sh +0 -0
  541. /package/dist/template/.opencode/{skills → skill}/session-management/SKILL.md +0 -0
  542. /package/dist/template/.opencode/{skills → skill}/sharing-skills/SKILL.md +0 -0
  543. /package/dist/template/.opencode/{skills → skill}/skill-creator/SKILL.md +0 -0
  544. /package/dist/template/.opencode/{skills → skill}/source-code-research/SKILL.md +0 -0
  545. /package/dist/template/.opencode/{skills → skill}/stitch/SKILL.md +0 -0
  546. /package/dist/template/.opencode/{skills → skill}/stitch/mcp.json +0 -0
  547. /package/dist/template/.opencode/{skills → skill}/subagent-driven-development/SKILL.md +0 -0
  548. /package/dist/template/.opencode/{skills → skill}/supabase/SKILL.md +0 -0
  549. /package/dist/template/.opencode/{skills → skill}/supabase/mcp.json +0 -0
  550. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/AGENTS.md +0 -0
  551. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/SKILL.md +0 -0
  552. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/advanced-full-text-search.md +0 -0
  553. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/advanced-jsonb-indexing.md +0 -0
  554. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/conn-idle-timeout.md +0 -0
  555. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/conn-limits.md +0 -0
  556. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/conn-pooling.md +0 -0
  557. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/conn-prepared-statements.md +0 -0
  558. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/data-batch-inserts.md +0 -0
  559. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/data-n-plus-one.md +0 -0
  560. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/data-pagination.md +0 -0
  561. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/data-upsert.md +0 -0
  562. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/lock-advisory.md +0 -0
  563. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/lock-deadlock-prevention.md +0 -0
  564. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/lock-short-transactions.md +0 -0
  565. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/lock-skip-locked.md +0 -0
  566. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/monitor-explain-analyze.md +0 -0
  567. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/monitor-pg-stat-statements.md +0 -0
  568. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/monitor-vacuum-analyze.md +0 -0
  569. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/query-composite-indexes.md +0 -0
  570. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/query-covering-indexes.md +0 -0
  571. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/query-index-types.md +0 -0
  572. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/query-missing-indexes.md +0 -0
  573. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/query-partial-indexes.md +0 -0
  574. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/schema-data-types.md +0 -0
  575. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/schema-foreign-key-indexes.md +0 -0
  576. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/schema-lowercase-identifiers.md +0 -0
  577. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/schema-partitioning.md +0 -0
  578. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/schema-primary-keys.md +0 -0
  579. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/security-privileges.md +0 -0
  580. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/security-rls-basics.md +0 -0
  581. /package/dist/template/.opencode/{skills → skill}/supabase-postgres-best-practices/rules/security-rls-performance.md +0 -0
  582. /package/dist/template/.opencode/{skills → skill}/systematic-debugging/SKILL.md +0 -0
  583. /package/dist/template/.opencode/{skills → skill}/test-driven-development/SKILL.md +0 -0
  584. /package/dist/template/.opencode/{skills → skill}/testing-anti-patterns/SKILL.md +0 -0
  585. /package/dist/template/.opencode/{skills → skill}/testing-skills-with-subagents/SKILL.md +0 -0
  586. /package/dist/template/.opencode/{skills → skill}/ui-ux-research/SKILL.md +0 -0
  587. /package/dist/template/.opencode/{skills → skill}/using-git-worktrees/SKILL.md +0 -0
  588. /package/dist/template/.opencode/{skills → skill}/using-skills/SKILL.md +0 -0
  589. /package/dist/template/.opencode/{skills → skill}/v0/SKILL.md +0 -0
  590. /package/dist/template/.opencode/{skills → skill}/vercel-deploy-claimable/SKILL.md +0 -0
  591. /package/dist/template/.opencode/{skills → skill}/vercel-deploy-claimable/scripts/deploy.sh +0 -0
  592. /package/dist/template/.opencode/{skills → skill}/verification-before-completion/SKILL.md +0 -0
  593. /package/dist/template/.opencode/{skills → skill}/visual-analysis/SKILL.md +0 -0
  594. /package/dist/template/.opencode/{skills → skill}/web-design-guidelines/SKILL.md +0 -0
  595. /package/dist/template/.opencode/{skills → skill}/writing-plans/SKILL.md +0 -0
  596. /package/dist/template/.opencode/{skills → skill}/writing-skills/SKILL.md +0 -0
  597. /package/dist/template/.opencode/{skills → skill}/writing-skills/anthropic-best-practices.md +0 -0
  598. /package/dist/template/.opencode/{skills → skill}/writing-skills/graphviz-conventions.dot +0 -0
  599. /package/dist/template/.opencode/{skills → skill}/writing-skills/persuasion-principles.md +0 -0
  600. /package/dist/template/.opencode/{tools → tool}/context7-query-docs.ts +0 -0
  601. /package/dist/template/.opencode/{tools → tool}/context7-resolve-library-id.ts +0 -0
  602. /package/dist/template/.opencode/{tools → tool}/grepsearch.ts +0 -0
  603. /package/dist/template/.opencode/{tools → tool}/memory-read.ts +0 -0
  604. /package/dist/template/.opencode/{tools → tool}/memory-search.ts +0 -0
  605. /package/dist/template/.opencode/{tools → tool}/memory-update.ts +0 -0
  606. /package/dist/template/.opencode/{tools → tool}/observation.ts +0 -0
@@ -1,190 +0,0 @@
1
- ---
2
- description: Use when choosing between search tools (LSP, grep, glob) or need tool reference - covers when to use each tool and detailed syntax
3
- ---
4
-
5
- # Tool Priority Skill
6
-
7
- ## Priority Order
8
-
9
- **LSP tools → grep → glob**
10
-
11
- 1. **LSP tools** - Semantic code intelligence (10 tools)
12
- 2. `grep` - Text search (logs, config, code patterns, strings)
13
- 3. `glob` - File discovery by name pattern
14
- 4. `read`, `edit`, `write` - File operations
15
-
16
- **Rule**: Always `read` before `edit` to verify content.
17
-
18
- ## Choosing the Right Tool
19
-
20
- Ask: **"Am I looking for semantic understanding or just text?"**
21
-
22
- ### Code Understanding (Use LSP)
23
-
24
- | Need | Tool | Example |
25
- | ---------------- | --------------------------- | ------------------------------------ |
26
- | Symbol type info | `lsp_lsp_hover` | Type signature at cursor |
27
- | Definition jump | `lsp_lsp_goto_definition` | Source location |
28
- | All usages | `lsp_lsp_find_references` | Before refactoring |
29
- | File structure | `lsp_lsp_document_symbols` | What functions/classes in this file? |
30
- | Safe rename | `lsp_lsp_rename` | Update symbol across codebase |
31
- | Workspace search | `lsp_lsp_workspace_symbols` | Where is UserService defined? |
32
-
33
- ### Text Search (Use grep)
34
-
35
- | Need | Tool | Example pattern |
36
- | ----------------- | ------ | ---------------------- |
37
- | Function calls | `grep` | `functionName\(` |
38
- | Import statements | `grep` | `import.*from.*module` |
39
- | Error messages | `grep` | `FATAL\|ERROR` |
40
- | Config values | `grep` | `API_KEY` |
41
- | TODO comments | `grep` | `TODO\|FIXME` |
42
- | Hook usage | `grep` | `useState(` |
43
- | Debug logs | `grep` | `console\.log\(` |
44
-
45
- ### Workflow Pattern
46
-
47
- ```
48
- # Step 1: Find it
49
- grep "functionName" src/
50
-
51
- # Step 2: Understand it
52
- read src/file.ts
53
- lsp_lsp_document_symbols(filePath="src/file.ts", line=1, character=1)
54
-
55
- # Step 3: Trace it
56
- lsp_lsp_goto_definition(filePath="src/file.ts", line=42, character=10)
57
- lsp_lsp_find_references(filePath="src/file.ts", line=42, character=10)
58
-
59
- # Step 4: Modify it (if needed)
60
- lsp_lsp_hover(filePath="src/file.ts", line=42, character=10)
61
- ```
62
-
63
- ## LSP Tools Reference
64
-
65
- Semantic code intelligence via Language Server Protocol. **Uses `lsp_lsp_*` prefix** (built-in experimental).
66
-
67
- ### Navigation & Understanding
68
-
69
- | Tool | Purpose | When to Use |
70
- | ---------------------------------------------------- | ------------------------------------- | --------------------------------- |
71
- | `lsp_lsp_hover(filePath, line, character)` | Type info and docs at cursor | "What type is this variable?" |
72
- | `lsp_lsp_goto_definition(filePath, line, character)` | Jump to where symbol is defined | "Where is this function defined?" |
73
- | `lsp_lsp_find_references(filePath, line, character)` | Find all usages of a symbol | "What uses this function?" |
74
- | `lsp_lsp_document_symbols(filePath)` | File outline (classes, functions) | "What's in this file?" |
75
- | `lsp_lsp_workspace_symbols(query, filePath)` | Fuzzy search symbols across workspace | "Where is UserService defined?" |
76
-
77
- ### Diagnostics
78
-
79
- | Tool | Purpose | When to Use |
80
- | ------------------------------------------ | ------------------------------------ | ------------------------ |
81
- | `lsp_lsp_diagnostics(filePath, severity?)` | Errors/warnings from language server | "Are there type errors?" |
82
-
83
- ### Refactoring
84
-
85
- | Tool | Purpose | When to Use |
86
- | ------------------------------------------------------------------------ | ----------------------------- | ---------------------------------- |
87
- | `lsp_lsp_rename(filePath, line, character, newName)` | Rename symbol across codebase | "Rename this function safely" |
88
- | `lsp_lsp_code_actions(filePath, startLine, startChar, endLine, endChar)` | Get available refactorings | "What refactorings are available?" |
89
- | `lsp_lsp_code_action_apply(...)` | Apply a specific code action | Execute chosen refactoring |
90
- | `lsp_lsp_organize_imports(filePath)` | Clean up and sort imports | "Fix imports" |
91
-
92
- **Caveat**: LSP tools modify files directly. Re-read files before further edits.
93
-
94
- ## grep Reference
95
-
96
- Fast, text-based search using ripgrep.
97
-
98
- ### Basic Patterns
99
-
100
- ```bash
101
- # Find function definitions
102
- grep "function\|const.*=.*(" src/
103
-
104
- # Find imports
105
- grep "import.*from" src/
106
-
107
- # Find React hooks
108
- grep "useState\|useEffect" src/
109
-
110
- # Find console logs
111
- grep "console\.log" src/
112
-
113
- # Search for errors
114
- grep "Error\|Exception\|Throw" src/
115
-
116
- # Multiple patterns
117
- grep -e "TODO" -e "FIXME" src/
118
-
119
- # Case insensitive
120
- grep -i "test" src/
121
-
122
- # Specific file types
123
- grep -r "API_KEY" --include="*.ts" --include="*.js"
124
- ```
125
-
126
- ### grep vs LSP
127
-
128
- | Scenario | Use | Why |
129
- | ------------------ | ------------------------- | ----------------------------------------------- |
130
- | "Find all X" | `grep` | Fast text search, everything including comments |
131
- | "Where is X used?" | `lsp_lsp_find_references` | Semantic, only code usage, tracks dependencies |
132
- | "What type is X?" | `lsp_lsp_hover` | Type system intelligence |
133
- | "Find TODOs" | `grep` | Text search across all files |
134
- | "Rename X" | `lsp_lsp_rename` | Safe semantic refactoring |
135
-
136
- ### Common Gotchas
137
-
138
- **grep finds everything:**
139
-
140
- ```bash
141
- grep "fetchUser" # Matches: function fetchUser(), "fetchUser" string, // fetchUser comment
142
- ```
143
-
144
- **LSP finds only code:**
145
-
146
- ```bash
147
- lsp_lsp_find_references # Only actual usages in code, not strings/comments
148
- ```
149
-
150
- **When to use grep first:**
151
-
152
- - Quick exploration ("are there any X?")
153
- - Finding error patterns, logs, configs
154
- - Searching across file types (JSON, YAML, etc.)
155
-
156
- **When to use LSP first:**
157
-
158
- - Understanding code structure
159
- - Before refactoring
160
- - Tracing dependencies
161
- - Getting type information
162
-
163
- ## glob Reference
164
-
165
- Find files by pattern.
166
-
167
- ```bash
168
- # All TypeScript files
169
- glob "**/*.ts"
170
-
171
- # All test files
172
- glob "**/*.test.ts"
173
-
174
- # Specific directory
175
- glob "src/**/*.ts"
176
-
177
- # Multiple patterns
178
- glob ["src/**/*.ts", "tests/**/*.ts"]
179
- ```
180
-
181
- ## Research Tools
182
-
183
- | Tool | Use When |
184
- | ------------------------------- | ------------------------------------------------------- |
185
- | **context7_resolve-library-id** | Resolve library names to IDs (try first). |
186
- | **context7_query-docs** | Query official library documentation. Fast. |
187
- | **websearch** | Docs not in Context7, recent releases, troubleshooting. |
188
- | **codesearch** | Real implementation patterns from GitHub. |
189
- | **grepsearch** | Cross-repo code patterns via grep.app. |
190
- | **webfetch** | Specific URL user provided. |
@@ -1,488 +0,0 @@
1
- /**
2
- * NotebookLM Tool for OpenCodeKit
3
- *
4
- * Wraps the Python NotebookLM skill for querying Google NotebookLM notebooks.
5
- * Auto-clones the skill repository and manages the Python virtual environment.
6
- *
7
- * @module notebooklm
8
- */
9
-
10
- import { homedir } from "os";
11
- import { join } from "path";
12
- import { $ } from "bun";
13
-
14
- /**
15
- * Logger interface for OpenCode client app logging
16
- * Falls back to console if client logger not available
17
- */
18
- interface Logger {
19
- debug: (message: string, extra?: Record<string, unknown>) => void;
20
- info: (message: string, extra?: Record<string, unknown>) => void;
21
- warn: (message: string, extra?: Record<string, unknown>) => void;
22
- error: (message: string, extra?: Record<string, unknown>) => void;
23
- }
24
-
25
- /**
26
- * Create a logger that uses OpenCode client.app.log() when available,
27
- * otherwise falls back to console
28
- */
29
- function createLogger(client?: {
30
- app: {
31
- log: (log: {
32
- service: string;
33
- level: "debug" | "info" | "warn" | "error";
34
- message: string;
35
- extra?: Record<string, unknown>;
36
- }) => Promise<void>;
37
- };
38
- }): Logger {
39
- const service = "notebooklm";
40
-
41
- if (client?.app?.log) {
42
- // Use OpenCode client logging
43
- return {
44
- debug: (message: string, extra?: Record<string, unknown>) => {
45
- client.app
46
- .log({ service, level: "debug", message, extra })
47
- .catch(() => {});
48
- },
49
- info: (message: string, extra?: Record<string, unknown>) => {
50
- client.app
51
- .log({ service, level: "info", message, extra })
52
- .catch(() => {});
53
- },
54
- warn: (message: string, extra?: Record<string, unknown>) => {
55
- client.app
56
- .log({ service, level: "warn", message, extra })
57
- .catch(() => {});
58
- },
59
- error: (message: string, extra?: Record<string, unknown>) => {
60
- client.app
61
- .log({ service, level: "error", message, extra })
62
- .catch(() => {});
63
- },
64
- };
65
- }
66
-
67
- // Fallback to console
68
- return {
69
- debug: (message: string, extra?: Record<string, unknown>) => {
70
- console.log(`[DEBUG] ${message}`, extra ? JSON.stringify(extra) : "");
71
- },
72
- info: (message: string, extra?: Record<string, unknown>) => {
73
- console.log(`[INFO] ${message}`, extra ? JSON.stringify(extra) : "");
74
- },
75
- warn: (message: string, extra?: Record<string, unknown>) => {
76
- console.warn(`[WARN] ${message}`, extra ? JSON.stringify(extra) : "");
77
- },
78
- error: (message: string, extra?: Record<string, unknown>) => {
79
- console.error(`[ERROR] ${message}`, extra ? JSON.stringify(extra) : "");
80
- },
81
- };
82
- }
83
-
84
- // Global logger instance (will be initialized with client if available)
85
- let globalLogger: Logger = createLogger();
86
-
87
- /**
88
- * Set the logger instance (called by plugin initialization)
89
- */
90
- export function setNotebookLMLogger(client?: {
91
- app: {
92
- log: (log: {
93
- service: string;
94
- level: "debug" | "info" | "warn" | "error";
95
- message: string;
96
- extra?: Record<string, unknown>;
97
- }) => Promise<void>;
98
- };
99
- }): void {
100
- globalLogger = createLogger(client);
101
- }
102
-
103
- // Detect Python command (python or python3)
104
- async function getPythonCommand(): Promise<string> {
105
- try {
106
- await $`python --version`.quiet();
107
- return "python";
108
- } catch {
109
- try {
110
- await $`python3 --version`.quiet();
111
- return "python3";
112
- } catch {
113
- throw new Error("Python not found. Please install Python 3.10+");
114
- }
115
- }
116
- }
117
-
118
- // Skill repository URL
119
- const SKILL_REPO = "https://github.com/PleasePrompto/notebooklm-skill";
120
-
121
- // Skill installation directory
122
- const SKILL_DIR = join(homedir(), ".opencode", "skills", "notebooklm");
123
-
124
- // Scripts directory
125
- const SCRIPTS_DIR = join(SKILL_DIR, "scripts");
126
-
127
- /**
128
- * Input parameters for notebooklm tool
129
- */
130
- export interface NotebookLMInput {
131
- /** Operation to perform */
132
- operation: "auth" | "query" | "library" | "setup";
133
-
134
- /** Sub-operation for auth and library operations */
135
- subOperation?:
136
- | "setup"
137
- | "status"
138
- | "reauth"
139
- | "clear"
140
- | "validate"
141
- | "add"
142
- | "list"
143
- | "search"
144
- | "activate"
145
- | "remove"
146
- | "stats";
147
-
148
- /** Question to ask (for query operation) */
149
- question?: string;
150
-
151
- /** Notebook URL (for add or query operations) */
152
- notebookUrl?: string;
153
-
154
- /** Notebook ID from library (for query or activate operations) */
155
- notebookId?: string;
156
-
157
- /** Notebook name (for add operation) */
158
- name?: string;
159
-
160
- /** Notebook description (for add operation) */
161
- description?: string;
162
-
163
- /** Topics/tags (for add operation) - array or comma-separated string */
164
- topics?: string[] | string;
165
-
166
- /** Search query (for library search) */
167
- query?: string;
168
-
169
- /** Show browser window (for auth setup or debugging) */
170
- showBrowser?: boolean;
171
-
172
- /** Timeout in minutes for authentication */
173
- timeout?: number;
174
- }
175
-
176
- /**
177
- * Result from notebooklm operation
178
- */
179
- export interface NotebookLMResult {
180
- /** Whether the operation succeeded */
181
- success: boolean;
182
-
183
- /** Output from the operation */
184
- output: string;
185
-
186
- /** Error message if failed */
187
- error?: string;
188
-
189
- /** Parsed data (for library operations) */
190
- data?: unknown;
191
- }
192
-
193
- /**
194
- * Ensure Python virtual environment is set up with dependencies
195
- */
196
- async function ensureVirtualEnv(): Promise<void> {
197
- const venvPath = join(SKILL_DIR, ".venv");
198
- const venvPython = join(venvPath, "bin", "python");
199
- const venvPip = join(venvPath, "bin", "pip");
200
-
201
- // Check if venv exists with pip
202
- const venvExists = await Bun.file(venvPython).exists();
203
- const pipExists = await Bun.file(venvPip).exists();
204
-
205
- if (venvExists && pipExists) {
206
- // Check if patchright is installed
207
- const checkResult =
208
- await $`cd ${SKILL_DIR} && .venv/bin/python -c "import patchright" 2>&1`.nothrow();
209
- if (checkResult.exitCode === 0) {
210
- return;
211
- }
212
- }
213
-
214
- globalLogger.info("Setting up Python virtual environment...");
215
-
216
- const pythonCmd = await getPythonCommand();
217
-
218
- // Remove broken venv if exists
219
- if (venvExists && !pipExists) {
220
- globalLogger.warn("Removing incomplete virtual environment...");
221
- await $`cd ${SKILL_DIR} && rm -rf .venv`;
222
- }
223
-
224
- // Create virtual environment with pip
225
- globalLogger.info("Creating virtual environment...");
226
- const venvResult =
227
- await $`cd ${SKILL_DIR} && ${pythonCmd} -m venv .venv --without-pip`.nothrow();
228
- if (venvResult.exitCode !== 0) {
229
- throw new Error(
230
- `Failed to create virtual environment: ${venvResult.stderr}`,
231
- );
232
- }
233
-
234
- // Install pip manually
235
- globalLogger.info("Installing pip...");
236
- const pipInstallResult =
237
- await $`cd ${SKILL_DIR} && .venv/bin/python -m ensurepip --upgrade`.nothrow();
238
- if (pipInstallResult.exitCode !== 0) {
239
- // Try alternative method
240
- await $`cd ${SKILL_DIR} && curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && .venv/bin/python get-pip.py && rm get-pip.py`.nothrow();
241
- }
242
-
243
- // Install dependencies
244
- globalLogger.info("Installing dependencies (this may take a minute)...");
245
- const pipResult =
246
- await $`cd ${SKILL_DIR} && .venv/bin/python -m pip install -r requirements.txt`.nothrow();
247
- if (pipResult.exitCode !== 0) {
248
- throw new Error(`Failed to install dependencies: ${pipResult.stderr}`);
249
- }
250
-
251
- // Install patchright browser
252
- globalLogger.info("Installing browser automation...");
253
- const browserResult =
254
- await $`cd ${SKILL_DIR} && .venv/bin/python -m patchright install chromium`.nothrow();
255
- if (browserResult.exitCode !== 0) {
256
- globalLogger.warn("Browser install may have issues, but continuing...");
257
- }
258
-
259
- globalLogger.info("Virtual environment ready");
260
- }
261
-
262
- /**
263
- * Ensure the NotebookLM skill is installed
264
- */
265
- async function ensureSkillInstalled(): Promise<void> {
266
- const runPyPath = join(SCRIPTS_DIR, "run.py");
267
-
268
- // Check if skill is already installed
269
- const exists = await Bun.file(runPyPath).exists();
270
- if (exists) {
271
- return;
272
- }
273
-
274
- globalLogger.info("NotebookLM skill not found. Installing...");
275
-
276
- // Create parent directory
277
- const parentDir = join(homedir(), ".opencode", "skills");
278
- await $`mkdir -p ${parentDir}`;
279
-
280
- // Clone the repository
281
- globalLogger.info(`Cloning from ${SKILL_REPO}...`);
282
- const result =
283
- await $`cd ${parentDir} && git clone ${SKILL_REPO} notebooklm`.quiet();
284
-
285
- if (result.exitCode !== 0) {
286
- throw new Error(`Failed to clone NotebookLM skill: ${result.stderr}`);
287
- }
288
-
289
- globalLogger.info("Skill installed successfully", { location: SKILL_DIR });
290
-
291
- // Set up virtual environment
292
- await ensureVirtualEnv();
293
- }
294
-
295
- /**
296
- * Build command arguments for run.py wrapper
297
- */
298
- function buildCommandArgs(input: NotebookLMInput): string[] {
299
- const args: string[] = [];
300
-
301
- switch (input.operation) {
302
- case "auth":
303
- args.push(input.subOperation || "status");
304
-
305
- if (input.subOperation === "setup" || input.subOperation === "reauth") {
306
- if (!input.showBrowser) {
307
- args.push("--headless");
308
- }
309
- if (input.timeout) {
310
- args.push("--timeout", String(input.timeout));
311
- }
312
- }
313
- break;
314
-
315
- case "library":
316
- args.push(input.subOperation || "list");
317
-
318
- if (input.subOperation === "add") {
319
- if (input.notebookUrl) args.push("--url", input.notebookUrl);
320
- if (input.name) args.push("--name", input.name);
321
- if (input.description) args.push("--description", input.description);
322
- if (input.topics) {
323
- const topicsStr = Array.isArray(input.topics)
324
- ? input.topics.join(",")
325
- : input.topics;
326
- args.push("--topics", topicsStr);
327
- }
328
- } else if (input.subOperation === "search") {
329
- if (input.query) args.push("--query", input.query);
330
- } else if (
331
- input.subOperation === "activate" ||
332
- input.subOperation === "remove"
333
- ) {
334
- if (input.notebookId) args.push("--id", input.notebookId);
335
- }
336
- break;
337
-
338
- case "query":
339
- // ask_question.py is passed as script parameter
340
-
341
- if (input.question) {
342
- args.push("--question", input.question);
343
- }
344
-
345
- if (input.notebookUrl) {
346
- args.push("--notebook-url", input.notebookUrl);
347
- } else if (input.notebookId) {
348
- args.push("--notebook-id", input.notebookId);
349
- }
350
-
351
- if (input.showBrowser) {
352
- args.push("--show-browser");
353
- }
354
- break;
355
-
356
- case "setup":
357
- // Setup is handled by ensureSkillInstalled
358
- return [];
359
- }
360
-
361
- return args;
362
- }
363
-
364
- /**
365
- * Execute a NotebookLM operation
366
- */
367
- async function executeOperation(
368
- script: string,
369
- args: string[],
370
- ): Promise<{ stdout: string; stderr: string; exitCode: number }> {
371
- const runPyPath = join(SCRIPTS_DIR, "run.py");
372
- const venvPython = join(SKILL_DIR, ".venv", "bin", "python");
373
-
374
- // Use venv python if available, otherwise fall back to system
375
- const pythonCmd = (await Bun.file(venvPython).exists())
376
- ? venvPython
377
- : await getPythonCommand();
378
-
379
- // Build full command
380
- const cmd = [pythonCmd, runPyPath, script, ...args];
381
-
382
- globalLogger.debug(`Executing: ${cmd.join(" ")}`);
383
-
384
- // Execute with Bun
385
- const result = await $`cd ${SKILL_DIR} && ${cmd}`.nothrow();
386
-
387
- return {
388
- stdout: result.stdout.toString(),
389
- stderr: result.stderr.toString(),
390
- exitCode: result.exitCode,
391
- };
392
- }
393
-
394
- /**
395
- * Main notebooklm tool function
396
- *
397
- * @param input - Operation parameters
398
- * @returns Result of the operation
399
- *
400
- * @example
401
- * // Check authentication status
402
- * const status = await notebooklm({ operation: "auth", subOperation: "status" });
403
- *
404
- * @example
405
- * // Query a notebook
406
- * const answer = await notebooklm({
407
- * operation: "query",
408
- * question: "What are the key findings?",
409
- * notebookId: "my-notebook"
410
- * });
411
- */
412
- export default async function notebooklm(
413
- input: NotebookLMInput,
414
- ): Promise<NotebookLMResult> {
415
- try {
416
- // Ensure skill is installed
417
- await ensureSkillInstalled();
418
-
419
- // Ensure virtual environment is set up (for non-setup operations)
420
- if (input.operation !== "setup") {
421
- await ensureVirtualEnv();
422
- }
423
-
424
- // Handle setup operation (just verify installation)
425
- if (input.operation === "setup") {
426
- return {
427
- success: true,
428
- output: `NotebookLM skill installed at: ${SKILL_DIR}\n\nPrerequisites:\n- Python 3.10+ must be installed\n- Google Chrome must be installed\n- Run auth setup before querying`,
429
- data: { skillDir: SKILL_DIR },
430
- };
431
- }
432
-
433
- // Build command arguments
434
- const args = buildCommandArgs(input);
435
-
436
- // Determine which script to run
437
- let script: string;
438
- switch (input.operation) {
439
- case "auth":
440
- script = "auth_manager.py";
441
- break;
442
- case "library":
443
- script = "notebook_manager.py";
444
- break;
445
- case "query":
446
- script = "ask_question.py";
447
- break;
448
- default:
449
- throw new Error(`Unknown operation: ${input.operation}`);
450
- }
451
-
452
- // Execute the operation
453
- globalLogger.info(
454
- `NotebookLM: ${input.operation}${input.subOperation ? `/${input.subOperation}` : ""}`,
455
- );
456
- const result = await executeOperation(script, args);
457
-
458
- // Parse result
459
- const success = result.exitCode === 0;
460
-
461
- // Try to parse JSON data from output (for library operations)
462
- let data: unknown = undefined;
463
- try {
464
- // Look for JSON in the output
465
- const jsonMatch = result.stdout.match(/\{[\s\S]*\}/);
466
- if (jsonMatch) {
467
- data = JSON.parse(jsonMatch[0]);
468
- }
469
- } catch {
470
- // Not JSON, that's fine
471
- }
472
-
473
- return {
474
- success,
475
- output: result.stdout || result.stderr,
476
- error: success ? undefined : result.stderr,
477
- data,
478
- };
479
- } catch (error) {
480
- const errorMessage = error instanceof Error ? error.message : String(error);
481
-
482
- return {
483
- success: false,
484
- output: "",
485
- error: errorMessage,
486
- };
487
- }
488
- }