opencodekit 0.15.16 → 0.15.19

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 (526) hide show
  1. package/dist/index.js +16 -16
  2. package/dist/template/.opencode/agents/build.md +584 -0
  3. package/dist/template/.opencode/{command → commands}/implement.md +81 -22
  4. package/dist/template/.opencode/{command → commands}/new-feature.md +105 -39
  5. package/dist/template/.opencode/{command → commands}/research.md +49 -2
  6. package/dist/template/.opencode/memory/observations/2026-01-29-decision-copilot-auth-plugin-rate-limit-handling.md +27 -0
  7. package/dist/template/.opencode/memory/observations/2026-01-29-decision-spec-driven-approach-for-opencodekit.md +21 -0
  8. package/dist/template/.opencode/memory/observations/2026-01-30-decision-github-copilot-claude-routing-keep-disab.md +32 -0
  9. package/dist/template/.opencode/memory/observations/2026-01-30-discovery-kimi-k2-5-agent-swarm-architecture-patte.md +45 -0
  10. package/dist/template/.opencode/memory/observations/2026-01-30-pattern-swarm-tools-architecture.md +28 -0
  11. package/dist/template/.opencode/opencode.json +143 -75
  12. package/dist/template/.opencode/package.json +1 -1
  13. package/dist/template/.opencode/{plugin → plugins}/copilot-auth.ts +88 -25
  14. package/dist/template/.opencode/skills/notebooklm/SKILL.md +272 -0
  15. package/dist/template/.opencode/skills/notebooklm/references/setup.md +353 -0
  16. package/dist/template/.opencode/{skill → skills}/swarm-coordination/SKILL.md +180 -37
  17. package/dist/template/.opencode/tools/notebooklm.ts +488 -0
  18. package/dist/template/.opencode/{tool → tools}/swarm-delegate.ts +8 -8
  19. package/dist/template/.opencode/tools/swarm-monitor.ts +544 -0
  20. package/dist/template/.opencode/tools/swarm-plan.ts +466 -0
  21. package/package.json +1 -1
  22. package/dist/template/.opencode/agent/build.md +0 -390
  23. package/dist/template/.opencode/tool/swarm-helper.ts +0 -164
  24. /package/dist/template/.opencode/{agent → agents}/explore.md +0 -0
  25. /package/dist/template/.opencode/{agent → agents}/general.md +0 -0
  26. /package/dist/template/.opencode/{agent → agents}/looker.md +0 -0
  27. /package/dist/template/.opencode/{agent → agents}/painter.md +0 -0
  28. /package/dist/template/.opencode/{agent → agents}/plan.md +0 -0
  29. /package/dist/template/.opencode/{agent → agents}/review.md +0 -0
  30. /package/dist/template/.opencode/{agent → agents}/scout.md +0 -0
  31. /package/dist/template/.opencode/{agent → agents}/vision.md +0 -0
  32. /package/dist/template/.opencode/{command → commands}/accessibility-check.md +0 -0
  33. /package/dist/template/.opencode/{command → commands}/agent-browser.md +0 -0
  34. /package/dist/template/.opencode/{command → commands}/analyze-mockup.md +0 -0
  35. /package/dist/template/.opencode/{command → commands}/analyze-project.md +0 -0
  36. /package/dist/template/.opencode/{command → commands}/brainstorm.md +0 -0
  37. /package/dist/template/.opencode/{command → commands}/cloudflare.md +0 -0
  38. /package/dist/template/.opencode/{command → commands}/commit.md +0 -0
  39. /package/dist/template/.opencode/{command → commands}/complete-next-task.md +0 -0
  40. /package/dist/template/.opencode/{command → commands}/create.md +0 -0
  41. /package/dist/template/.opencode/{command → commands}/design-audit.md +0 -0
  42. /package/dist/template/.opencode/{command → commands}/design.md +0 -0
  43. /package/dist/template/.opencode/{command → commands}/edit-image.md +0 -0
  44. /package/dist/template/.opencode/{command → commands}/finish.md +0 -0
  45. /package/dist/template/.opencode/{command → commands}/fix-ci.md +0 -0
  46. /package/dist/template/.opencode/{command → commands}/fix-types.md +0 -0
  47. /package/dist/template/.opencode/{command → commands}/fix-ui.md +0 -0
  48. /package/dist/template/.opencode/{command → commands}/fix.md +0 -0
  49. /package/dist/template/.opencode/{command → commands}/frontend-design.md +0 -0
  50. /package/dist/template/.opencode/{command → commands}/generate-diagram.md +0 -0
  51. /package/dist/template/.opencode/{command → commands}/generate-icon.md +0 -0
  52. /package/dist/template/.opencode/{command → commands}/generate-image.md +0 -0
  53. /package/dist/template/.opencode/{command → commands}/generate-pattern.md +0 -0
  54. /package/dist/template/.opencode/{command → commands}/generate-storyboard.md +0 -0
  55. /package/dist/template/.opencode/{command → commands}/handoff.md +0 -0
  56. /package/dist/template/.opencode/{command → commands}/import-plan.md +0 -0
  57. /package/dist/template/.opencode/{command → commands}/index-knowledge.md +0 -0
  58. /package/dist/template/.opencode/{command → commands}/init.md +0 -0
  59. /package/dist/template/.opencode/{command → commands}/integration-test.md +0 -0
  60. /package/dist/template/.opencode/{command → commands}/issue.md +0 -0
  61. /package/dist/template/.opencode/{command → commands}/opensrc.md +0 -0
  62. /package/dist/template/.opencode/{command → commands}/plan.md +0 -0
  63. /package/dist/template/.opencode/{command → commands}/pr.md +0 -0
  64. /package/dist/template/.opencode/{command → commands}/quick-build.md +0 -0
  65. /package/dist/template/.opencode/{command → commands}/ralph.md +0 -0
  66. /package/dist/template/.opencode/{command → commands}/research-and-implement.md +0 -0
  67. /package/dist/template/.opencode/{command → commands}/research-ui.md +0 -0
  68. /package/dist/template/.opencode/{command → commands}/restore-image.md +0 -0
  69. /package/dist/template/.opencode/{command → commands}/resume.md +0 -0
  70. /package/dist/template/.opencode/{command → commands}/revert-feature.md +0 -0
  71. /package/dist/template/.opencode/{command → commands}/review-codebase.md +0 -0
  72. /package/dist/template/.opencode/{command → commands}/skill-create.md +0 -0
  73. /package/dist/template/.opencode/{command → commands}/skill-optimize.md +0 -0
  74. /package/dist/template/.opencode/{command → commands}/start.md +0 -0
  75. /package/dist/template/.opencode/{command → commands}/status.md +0 -0
  76. /package/dist/template/.opencode/{command → commands}/summarize.md +0 -0
  77. /package/dist/template/.opencode/{command → commands}/triage.md +0 -0
  78. /package/dist/template/.opencode/{command → commands}/ui-review.md +0 -0
  79. /package/dist/template/.opencode/{plugin → plugins}/README.md +0 -0
  80. /package/dist/template/.opencode/{plugin → plugins}/compaction.ts +0 -0
  81. /package/dist/template/.opencode/{plugin → plugins}/env-ctx.ts +0 -0
  82. /package/dist/template/.opencode/{plugin → plugins}/lib/notify.ts +0 -0
  83. /package/dist/template/.opencode/{plugin → plugins}/lsp.ts +0 -0
  84. /package/dist/template/.opencode/{plugin → plugins}/memory.ts +0 -0
  85. /package/dist/template/.opencode/{plugin → plugins}/notification.ts.bak +0 -0
  86. /package/dist/template/.opencode/{plugin → plugins}/package.json +0 -0
  87. /package/dist/template/.opencode/{plugin → plugins}/sessions.ts +0 -0
  88. /package/dist/template/.opencode/{plugin → plugins}/skill-mcp.ts +0 -0
  89. /package/dist/template/.opencode/{plugin → plugins}/swarm-enforcer.ts +0 -0
  90. /package/dist/template/.opencode/{plugin → plugins}/truncator.ts +0 -0
  91. /package/dist/template/.opencode/{plugin → plugins}/tsconfig.json +0 -0
  92. /package/dist/template/.opencode/{skill → skills}/accessibility-audit/SKILL.md +0 -0
  93. /package/dist/template/.opencode/{skill → skills}/agent-browser/SKILL.md +0 -0
  94. /package/dist/template/.opencode/{skill → skills}/beads/SKILL.md +0 -0
  95. /package/dist/template/.opencode/{skill → skills}/beads/references/BOUNDARIES.md +0 -0
  96. /package/dist/template/.opencode/{skill → skills}/beads/references/DEPENDENCIES.md +0 -0
  97. /package/dist/template/.opencode/{skill → skills}/beads/references/RESUMABILITY.md +0 -0
  98. /package/dist/template/.opencode/{skill → skills}/beads/references/WORKFLOWS.md +0 -0
  99. /package/dist/template/.opencode/{skill → skills}/brainstorming/SKILL.md +0 -0
  100. /package/dist/template/.opencode/{skill → skills}/chrome-devtools/SKILL.md +0 -0
  101. /package/dist/template/.opencode/{skill → skills}/chrome-devtools/mcp.json +0 -0
  102. /package/dist/template/.opencode/{skill → skills}/cloudflare/SKILL.md +0 -0
  103. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/agents-sdk/README.md +0 -0
  104. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/agents-sdk/api.md +0 -0
  105. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/agents-sdk/configuration.md +0 -0
  106. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/agents-sdk/gotchas.md +0 -0
  107. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/agents-sdk/patterns.md +0 -0
  108. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/ai-gateway/README.md +0 -0
  109. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/ai-search/README.md +0 -0
  110. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/ai-search/api.md +0 -0
  111. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/ai-search/configuration.md +0 -0
  112. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/ai-search/gotchas.md +0 -0
  113. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/ai-search/patterns.md +0 -0
  114. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/analytics-engine/README.md +0 -0
  115. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/analytics-engine/api.md +0 -0
  116. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/analytics-engine/configuration.md +0 -0
  117. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/analytics-engine/gotchas.md +0 -0
  118. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/analytics-engine/patterns.md +0 -0
  119. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/api/README.md +0 -0
  120. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/api/api.md +0 -0
  121. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/api/configuration.md +0 -0
  122. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/api/gotchas.md +0 -0
  123. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/api/patterns.md +0 -0
  124. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/api-shield/README.md +0 -0
  125. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/api-shield/api.md +0 -0
  126. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/api-shield/configuration.md +0 -0
  127. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/api-shield/gotchas.md +0 -0
  128. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/api-shield/patterns.md +0 -0
  129. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/argo-smart-routing/README.md +0 -0
  130. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/argo-smart-routing/api.md +0 -0
  131. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/argo-smart-routing/configuration.md +0 -0
  132. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/argo-smart-routing/gotchas.md +0 -0
  133. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/argo-smart-routing/patterns.md +0 -0
  134. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/bindings/README.md +0 -0
  135. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/bindings/api.md +0 -0
  136. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/bindings/configuration.md +0 -0
  137. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/bindings/gotchas.md +0 -0
  138. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/bindings/patterns.md +0 -0
  139. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/bot-management/README.md +0 -0
  140. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/bot-management/api.md +0 -0
  141. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/bot-management/configuration.md +0 -0
  142. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/bot-management/gotchas.md +0 -0
  143. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/bot-management/patterns.md +0 -0
  144. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/browser-rendering/README.md +0 -0
  145. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/browser-rendering/api.md +0 -0
  146. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/browser-rendering/configuration.md +0 -0
  147. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/browser-rendering/gotchas.md +0 -0
  148. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/browser-rendering/patterns.md +0 -0
  149. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/c3/README.md +0 -0
  150. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/cache-reserve/README.md +0 -0
  151. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/cache-reserve/api.md +0 -0
  152. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/cache-reserve/configuration.md +0 -0
  153. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/cache-reserve/gotchas.md +0 -0
  154. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/cache-reserve/patterns.md +0 -0
  155. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/containers/README.md +0 -0
  156. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/containers/api.md +0 -0
  157. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/containers/configuration.md +0 -0
  158. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/containers/gotchas.md +0 -0
  159. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/containers/patterns.md +0 -0
  160. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/cron-triggers/README.md +0 -0
  161. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/cron-triggers/api.md +0 -0
  162. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/cron-triggers/configuration.md +0 -0
  163. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/cron-triggers/gotchas.md +0 -0
  164. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/cron-triggers/patterns.md +0 -0
  165. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/d1/README.md +0 -0
  166. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/d1/api.md +0 -0
  167. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/d1/configuration.md +0 -0
  168. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/d1/gotchas.md +0 -0
  169. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/d1/patterns.md +0 -0
  170. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/ddos/README.md +0 -0
  171. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/ddos/api.md +0 -0
  172. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/ddos/configuration.md +0 -0
  173. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/ddos/gotchas.md +0 -0
  174. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/ddos/patterns.md +0 -0
  175. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/do-storage/README.md +0 -0
  176. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/do-storage/api.md +0 -0
  177. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/do-storage/configuration.md +0 -0
  178. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/do-storage/gotchas.md +0 -0
  179. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/do-storage/patterns.md +0 -0
  180. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/durable-objects/README.md +0 -0
  181. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/durable-objects/api.md +0 -0
  182. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/durable-objects/configuration.md +0 -0
  183. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/durable-objects/gotchas.md +0 -0
  184. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/durable-objects/patterns.md +0 -0
  185. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/email-routing/README.md +0 -0
  186. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/email-routing/api.md +0 -0
  187. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/email-routing/configuration.md +0 -0
  188. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/email-routing/gotchas.md +0 -0
  189. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/email-routing/patterns.md +0 -0
  190. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/email-workers/README.md +0 -0
  191. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/hyperdrive/README.md +0 -0
  192. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/hyperdrive/api.md +0 -0
  193. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/hyperdrive/configuration.md +0 -0
  194. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/hyperdrive/gotchas.md +0 -0
  195. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/hyperdrive/patterns.md +0 -0
  196. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/images/README.md +0 -0
  197. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/images/api.md +0 -0
  198. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/images/configuration.md +0 -0
  199. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/images/gotchas.md +0 -0
  200. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/images/patterns.md +0 -0
  201. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/kv/README.md +0 -0
  202. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/kv/api.md +0 -0
  203. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/kv/configuration.md +0 -0
  204. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/kv/gotchas.md +0 -0
  205. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/kv/patterns.md +0 -0
  206. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/miniflare/README.md +0 -0
  207. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/miniflare/api.md +0 -0
  208. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/miniflare/configuration.md +0 -0
  209. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/miniflare/gotchas.md +0 -0
  210. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/miniflare/patterns.md +0 -0
  211. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/network-interconnect/README.md +0 -0
  212. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/network-interconnect/api.md +0 -0
  213. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/network-interconnect/configuration.md +0 -0
  214. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/network-interconnect/gotchas.md +0 -0
  215. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/network-interconnect/patterns.md +0 -0
  216. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/observability/README.md +0 -0
  217. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/observability/api.md +0 -0
  218. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/observability/configuration.md +0 -0
  219. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/observability/gotchas.md +0 -0
  220. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/observability/patterns.md +0 -0
  221. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pages/README.md +0 -0
  222. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pages/api.md +0 -0
  223. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pages/configuration.md +0 -0
  224. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pages/gotchas.md +0 -0
  225. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pages/patterns.md +0 -0
  226. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pages-functions/README.md +0 -0
  227. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pages-functions/api.md +0 -0
  228. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pages-functions/configuration.md +0 -0
  229. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pages-functions/gotchas.md +0 -0
  230. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pages-functions/patterns.md +0 -0
  231. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pipelines/README.md +0 -0
  232. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pulumi/README.md +0 -0
  233. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pulumi/api.md +0 -0
  234. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pulumi/configuration.md +0 -0
  235. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pulumi/gotchas.md +0 -0
  236. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/pulumi/patterns.md +0 -0
  237. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/queues/README.md +0 -0
  238. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/queues/api.md +0 -0
  239. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/queues/configuration.md +0 -0
  240. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/queues/gotchas.md +0 -0
  241. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/queues/patterns.md +0 -0
  242. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/r2/README.md +0 -0
  243. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/r2/api.md +0 -0
  244. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/r2/configuration.md +0 -0
  245. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/r2/gotchas.md +0 -0
  246. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/r2/patterns.md +0 -0
  247. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/r2-data-catalog/README.md +0 -0
  248. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/r2-data-catalog/api.md +0 -0
  249. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/r2-data-catalog/configuration.md +0 -0
  250. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/r2-data-catalog/gotchas.md +0 -0
  251. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/r2-data-catalog/patterns.md +0 -0
  252. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/r2-sql/README.md +0 -0
  253. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/realtime-sfu/README.md +0 -0
  254. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/realtime-sfu/api.md +0 -0
  255. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/realtime-sfu/configuration.md +0 -0
  256. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/realtime-sfu/gotchas.md +0 -0
  257. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/realtime-sfu/patterns.md +0 -0
  258. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/realtimekit/README.md +0 -0
  259. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/realtimekit/api.md +0 -0
  260. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/realtimekit/configuration.md +0 -0
  261. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/realtimekit/gotchas.md +0 -0
  262. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/realtimekit/patterns.md +0 -0
  263. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/sandbox/README.md +0 -0
  264. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/sandbox/api.md +0 -0
  265. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/sandbox/configuration.md +0 -0
  266. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/sandbox/gotchas.md +0 -0
  267. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/sandbox/patterns.md +0 -0
  268. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/secrets-store/README.md +0 -0
  269. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/secrets-store/api.md +0 -0
  270. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/secrets-store/configuration.md +0 -0
  271. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/secrets-store/gotchas.md +0 -0
  272. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/secrets-store/patterns.md +0 -0
  273. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/smart-placement/README.md +0 -0
  274. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/smart-placement/api.md +0 -0
  275. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/smart-placement/configuration.md +0 -0
  276. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/smart-placement/gotchas.md +0 -0
  277. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/smart-placement/patterns.md +0 -0
  278. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/snippets/README.md +0 -0
  279. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/snippets/api.md +0 -0
  280. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/snippets/configuration.md +0 -0
  281. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/snippets/gotchas.md +0 -0
  282. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/snippets/patterns.md +0 -0
  283. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/spectrum/README.md +0 -0
  284. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/spectrum/api.md +0 -0
  285. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/spectrum/configuration.md +0 -0
  286. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/spectrum/gotchas.md +0 -0
  287. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/spectrum/patterns.md +0 -0
  288. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/static-assets/README.md +0 -0
  289. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/static-assets/api.md +0 -0
  290. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/static-assets/configuration.md +0 -0
  291. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/static-assets/gotchas.md +0 -0
  292. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/static-assets/patterns.md +0 -0
  293. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/stream/README.md +0 -0
  294. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/stream/api.md +0 -0
  295. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/stream/configuration.md +0 -0
  296. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/stream/gotchas.md +0 -0
  297. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/stream/patterns.md +0 -0
  298. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/tail-workers/README.md +0 -0
  299. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/terraform/README.md +0 -0
  300. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/terraform/api.md +0 -0
  301. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/terraform/configuration.md +0 -0
  302. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/terraform/gotchas.md +0 -0
  303. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/terraform/patterns.md +0 -0
  304. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/tunnel/README.md +0 -0
  305. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/tunnel/api.md +0 -0
  306. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/tunnel/configuration.md +0 -0
  307. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/tunnel/gotchas.md +0 -0
  308. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/tunnel/patterns.md +0 -0
  309. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/turn/README.md +0 -0
  310. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/turnstile/README.md +0 -0
  311. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/turnstile/api.md +0 -0
  312. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/turnstile/configuration.md +0 -0
  313. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/turnstile/gotchas.md +0 -0
  314. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/turnstile/patterns.md +0 -0
  315. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/vectorize/README.md +0 -0
  316. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/waf/README.md +0 -0
  317. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/waf/api.md +0 -0
  318. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/waf/configuration.md +0 -0
  319. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/waf/gotchas.md +0 -0
  320. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/waf/patterns.md +0 -0
  321. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/web-analytics/README.md +0 -0
  322. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/web-analytics/api.md +0 -0
  323. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/web-analytics/configuration.md +0 -0
  324. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/web-analytics/gotchas.md +0 -0
  325. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/web-analytics/patterns.md +0 -0
  326. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workerd/README.md +0 -0
  327. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workerd/api.md +0 -0
  328. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workerd/configuration.md +0 -0
  329. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workerd/gotchas.md +0 -0
  330. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workerd/patterns.md +0 -0
  331. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers/README.md +0 -0
  332. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers/api.md +0 -0
  333. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers/configuration.md +0 -0
  334. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers/gotchas.md +0 -0
  335. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers/patterns.md +0 -0
  336. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers-ai/README.md +0 -0
  337. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers-for-platforms/README.md +0 -0
  338. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers-for-platforms/api.md +0 -0
  339. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers-for-platforms/configuration.md +0 -0
  340. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers-for-platforms/gotchas.md +0 -0
  341. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers-for-platforms/patterns.md +0 -0
  342. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers-playground/README.md +0 -0
  343. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers-playground/api.md +0 -0
  344. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers-playground/configuration.md +0 -0
  345. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers-playground/gotchas.md +0 -0
  346. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers-playground/patterns.md +0 -0
  347. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workers-vpc/README.md +0 -0
  348. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workflows/README.md +0 -0
  349. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workflows/api.md +0 -0
  350. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workflows/configuration.md +0 -0
  351. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workflows/gotchas.md +0 -0
  352. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/workflows/patterns.md +0 -0
  353. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/wrangler/README.md +0 -0
  354. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/wrangler/api.md +0 -0
  355. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/wrangler/configuration.md +0 -0
  356. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/wrangler/gotchas.md +0 -0
  357. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/wrangler/patterns.md +0 -0
  358. /package/dist/template/.opencode/{skill → skills}/cloudflare/references/zaraz/README.md +0 -0
  359. /package/dist/template/.opencode/{skill → skills}/condition-based-waiting/SKILL.md +0 -0
  360. /package/dist/template/.opencode/{skill → skills}/condition-based-waiting/example.ts +0 -0
  361. /package/dist/template/.opencode/{skill → skills}/context-engineering/SKILL.md +0 -0
  362. /package/dist/template/.opencode/{skill → skills}/deep-research/SKILL.md +0 -0
  363. /package/dist/template/.opencode/{skill → skills}/defense-in-depth/SKILL.md +0 -0
  364. /package/dist/template/.opencode/{skill → skills}/design-system-audit/SKILL.md +0 -0
  365. /package/dist/template/.opencode/{skill → skills}/dispatching-parallel-agents/SKILL.md +0 -0
  366. /package/dist/template/.opencode/{skill → skills}/executing-plans/SKILL.md +0 -0
  367. /package/dist/template/.opencode/{skill → skills}/figma/SKILL.md +0 -0
  368. /package/dist/template/.opencode/{skill → skills}/finishing-a-development-branch/SKILL.md +0 -0
  369. /package/dist/template/.opencode/{skill → skills}/frontend-design/SKILL.md +0 -0
  370. /package/dist/template/.opencode/{skill → skills}/frontend-design/references/animation/motion-advanced.md +0 -0
  371. /package/dist/template/.opencode/{skill → skills}/frontend-design/references/animation/motion-core.md +0 -0
  372. /package/dist/template/.opencode/{skill → skills}/frontend-design/references/canvas/execution.md +0 -0
  373. /package/dist/template/.opencode/{skill → skills}/frontend-design/references/canvas/philosophy.md +0 -0
  374. /package/dist/template/.opencode/{skill → skills}/frontend-design/references/shadcn/accessibility.md +0 -0
  375. /package/dist/template/.opencode/{skill → skills}/frontend-design/references/shadcn/core-components.md +0 -0
  376. /package/dist/template/.opencode/{skill → skills}/frontend-design/references/shadcn/form-components.md +0 -0
  377. /package/dist/template/.opencode/{skill → skills}/frontend-design/references/shadcn/setup.md +0 -0
  378. /package/dist/template/.opencode/{skill → skills}/frontend-design/references/shadcn/theming.md +0 -0
  379. /package/dist/template/.opencode/{skill → skills}/frontend-design/references/tailwind/responsive.md +0 -0
  380. /package/dist/template/.opencode/{skill → skills}/frontend-design/references/tailwind/utilities-layout.md +0 -0
  381. /package/dist/template/.opencode/{skill → skills}/frontend-design/references/tailwind/utilities-styling.md +0 -0
  382. /package/dist/template/.opencode/{skill → skills}/frontend-design/references/tailwind/v4-config.md +0 -0
  383. /package/dist/template/.opencode/{skill → skills}/frontend-design/references/tailwind/v4-features.md +0 -0
  384. /package/dist/template/.opencode/{skill → skills}/gemini-large-context/SKILL.md +0 -0
  385. /package/dist/template/.opencode/{skill → skills}/index-knowledge/SKILL.md +0 -0
  386. /package/dist/template/.opencode/{skill → skills}/memory-system/SKILL.md +0 -0
  387. /package/dist/template/.opencode/{skill → skills}/mockup-to-code/SKILL.md +0 -0
  388. /package/dist/template/.opencode/{skill → skills}/mqdh/SKILL.md +0 -0
  389. /package/dist/template/.opencode/{skill → skills}/opensrc/SKILL.md +0 -0
  390. /package/dist/template/.opencode/{skill → skills}/opensrc/references/architecture.md +0 -0
  391. /package/dist/template/.opencode/{skill → skills}/opensrc/references/cli-usage.md +0 -0
  392. /package/dist/template/.opencode/{skill → skills}/opensrc/references/registry-support.md +0 -0
  393. /package/dist/template/.opencode/{skill → skills}/playwright/SKILL.md +0 -0
  394. /package/dist/template/.opencode/{skill → skills}/playwright/mcp.json +0 -0
  395. /package/dist/template/.opencode/{skill → skills}/playwriter/SKILL.md +0 -0
  396. /package/dist/template/.opencode/{skill → skills}/polar/SKILL.md +0 -0
  397. /package/dist/template/.opencode/{skill → skills}/prd/SKILL.md +0 -0
  398. /package/dist/template/.opencode/{skill → skills}/prd-task/SKILL.md +0 -0
  399. /package/dist/template/.opencode/{skill → skills}/prd-task/references/prd-schema.json +0 -0
  400. /package/dist/template/.opencode/{skill → skills}/ralph/SKILL.md +0 -0
  401. /package/dist/template/.opencode/{skill → skills}/react-best-practices/AGENTS.md +0 -0
  402. /package/dist/template/.opencode/{skill → skills}/react-best-practices/README.md +0 -0
  403. /package/dist/template/.opencode/{skill → skills}/react-best-practices/SKILL.md +0 -0
  404. /package/dist/template/.opencode/{skill → skills}/react-best-practices/metadata.json +0 -0
  405. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/_sections.md +0 -0
  406. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/_template.md +0 -0
  407. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/advanced-event-handler-refs.md +0 -0
  408. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/advanced-use-latest.md +0 -0
  409. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/async-api-routes.md +0 -0
  410. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/async-defer-await.md +0 -0
  411. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/async-dependencies.md +0 -0
  412. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/async-parallel.md +0 -0
  413. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/async-suspense-boundaries.md +0 -0
  414. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/bundle-barrel-imports.md +0 -0
  415. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/bundle-conditional.md +0 -0
  416. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/bundle-defer-third-party.md +0 -0
  417. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/bundle-dynamic-imports.md +0 -0
  418. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/bundle-preload.md +0 -0
  419. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/client-event-listeners.md +0 -0
  420. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/client-localstorage-schema.md +0 -0
  421. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/client-passive-event-listeners.md +0 -0
  422. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/client-swr-dedup.md +0 -0
  423. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/js-batch-dom-css.md +0 -0
  424. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/js-cache-function-results.md +0 -0
  425. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/js-cache-property-access.md +0 -0
  426. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/js-cache-storage.md +0 -0
  427. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/js-combine-iterations.md +0 -0
  428. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/js-early-exit.md +0 -0
  429. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/js-hoist-regexp.md +0 -0
  430. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/js-index-maps.md +0 -0
  431. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/js-length-check-first.md +0 -0
  432. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/js-min-max-loop.md +0 -0
  433. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/js-set-map-lookups.md +0 -0
  434. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/js-tosorted-immutable.md +0 -0
  435. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rendering-activity.md +0 -0
  436. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -0
  437. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rendering-conditional-render.md +0 -0
  438. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rendering-content-visibility.md +0 -0
  439. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rendering-hoist-jsx.md +0 -0
  440. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rendering-hydration-no-flicker.md +0 -0
  441. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rendering-svg-precision.md +0 -0
  442. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rerender-defer-reads.md +0 -0
  443. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rerender-dependencies.md +0 -0
  444. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rerender-derived-state.md +0 -0
  445. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rerender-functional-setstate.md +0 -0
  446. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rerender-lazy-state-init.md +0 -0
  447. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rerender-memo.md +0 -0
  448. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/rerender-transitions.md +0 -0
  449. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/server-after-nonblocking.md +0 -0
  450. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/server-cache-lru.md +0 -0
  451. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/server-cache-react.md +0 -0
  452. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/server-parallel-fetching.md +0 -0
  453. /package/dist/template/.opencode/{skill → skills}/react-best-practices/rules/server-serialization.md +0 -0
  454. /package/dist/template/.opencode/{skill → skills}/receiving-code-review/SKILL.md +0 -0
  455. /package/dist/template/.opencode/{skill → skills}/requesting-code-review/SKILL.md +0 -0
  456. /package/dist/template/.opencode/{skill → skills}/requesting-code-review/review.md +0 -0
  457. /package/dist/template/.opencode/{skill → skills}/root-cause-tracing/SKILL.md +0 -0
  458. /package/dist/template/.opencode/{skill → skills}/root-cause-tracing/find-polluter.sh +0 -0
  459. /package/dist/template/.opencode/{skill → skills}/session-management/SKILL.md +0 -0
  460. /package/dist/template/.opencode/{skill → skills}/sharing-skills/SKILL.md +0 -0
  461. /package/dist/template/.opencode/{skill → skills}/skill-creator/SKILL.md +0 -0
  462. /package/dist/template/.opencode/{skill → skills}/source-code-research/SKILL.md +0 -0
  463. /package/dist/template/.opencode/{skill → skills}/stitch/SKILL.md +0 -0
  464. /package/dist/template/.opencode/{skill → skills}/stitch/mcp.json +0 -0
  465. /package/dist/template/.opencode/{skill → skills}/subagent-driven-development/SKILL.md +0 -0
  466. /package/dist/template/.opencode/{skill → skills}/supabase/SKILL.md +0 -0
  467. /package/dist/template/.opencode/{skill → skills}/supabase/mcp.json +0 -0
  468. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/AGENTS.md +0 -0
  469. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/SKILL.md +0 -0
  470. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/advanced-full-text-search.md +0 -0
  471. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/advanced-jsonb-indexing.md +0 -0
  472. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/conn-idle-timeout.md +0 -0
  473. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/conn-limits.md +0 -0
  474. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/conn-pooling.md +0 -0
  475. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/conn-prepared-statements.md +0 -0
  476. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/data-batch-inserts.md +0 -0
  477. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/data-n-plus-one.md +0 -0
  478. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/data-pagination.md +0 -0
  479. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/data-upsert.md +0 -0
  480. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/lock-advisory.md +0 -0
  481. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/lock-deadlock-prevention.md +0 -0
  482. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/lock-short-transactions.md +0 -0
  483. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/lock-skip-locked.md +0 -0
  484. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/monitor-explain-analyze.md +0 -0
  485. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/monitor-pg-stat-statements.md +0 -0
  486. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/monitor-vacuum-analyze.md +0 -0
  487. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/query-composite-indexes.md +0 -0
  488. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/query-covering-indexes.md +0 -0
  489. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/query-index-types.md +0 -0
  490. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/query-missing-indexes.md +0 -0
  491. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/query-partial-indexes.md +0 -0
  492. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/schema-data-types.md +0 -0
  493. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/schema-foreign-key-indexes.md +0 -0
  494. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/schema-lowercase-identifiers.md +0 -0
  495. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/schema-partitioning.md +0 -0
  496. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/schema-primary-keys.md +0 -0
  497. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/security-privileges.md +0 -0
  498. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/security-rls-basics.md +0 -0
  499. /package/dist/template/.opencode/{skill → skills}/supabase-postgres-best-practices/rules/security-rls-performance.md +0 -0
  500. /package/dist/template/.opencode/{skill → skills}/systematic-debugging/SKILL.md +0 -0
  501. /package/dist/template/.opencode/{skill → skills}/test-driven-development/SKILL.md +0 -0
  502. /package/dist/template/.opencode/{skill → skills}/testing-anti-patterns/SKILL.md +0 -0
  503. /package/dist/template/.opencode/{skill → skills}/testing-skills-with-subagents/SKILL.md +0 -0
  504. /package/dist/template/.opencode/{skill → skills}/tool-priority/SKILL.md +0 -0
  505. /package/dist/template/.opencode/{skill → skills}/ui-ux-research/SKILL.md +0 -0
  506. /package/dist/template/.opencode/{skill → skills}/using-git-worktrees/SKILL.md +0 -0
  507. /package/dist/template/.opencode/{skill → skills}/using-skills/SKILL.md +0 -0
  508. /package/dist/template/.opencode/{skill → skills}/v0/SKILL.md +0 -0
  509. /package/dist/template/.opencode/{skill → skills}/vercel-deploy-claimable/SKILL.md +0 -0
  510. /package/dist/template/.opencode/{skill → skills}/vercel-deploy-claimable/scripts/deploy.sh +0 -0
  511. /package/dist/template/.opencode/{skill → skills}/verification-before-completion/SKILL.md +0 -0
  512. /package/dist/template/.opencode/{skill → skills}/visual-analysis/SKILL.md +0 -0
  513. /package/dist/template/.opencode/{skill → skills}/web-design-guidelines/SKILL.md +0 -0
  514. /package/dist/template/.opencode/{skill → skills}/writing-plans/SKILL.md +0 -0
  515. /package/dist/template/.opencode/{skill → skills}/writing-skills/SKILL.md +0 -0
  516. /package/dist/template/.opencode/{skill → skills}/writing-skills/anthropic-best-practices.md +0 -0
  517. /package/dist/template/.opencode/{skill → skills}/writing-skills/graphviz-conventions.dot +0 -0
  518. /package/dist/template/.opencode/{skill → skills}/writing-skills/persuasion-principles.md +0 -0
  519. /package/dist/template/.opencode/{tool → tools}/context7-query-docs.ts +0 -0
  520. /package/dist/template/.opencode/{tool → tools}/context7-resolve-library-id.ts +0 -0
  521. /package/dist/template/.opencode/{tool → tools}/grepsearch.ts +0 -0
  522. /package/dist/template/.opencode/{tool → tools}/memory-read.ts +0 -0
  523. /package/dist/template/.opencode/{tool → tools}/memory-search.ts +0 -0
  524. /package/dist/template/.opencode/{tool → tools}/memory-update.ts +0 -0
  525. /package/dist/template/.opencode/{tool → tools}/observation.ts +0 -0
  526. /package/dist/template/.opencode/{tool → tools}/oracle.ts +0 -0
@@ -0,0 +1,466 @@
1
+ import { tool } from "@opencode-ai/plugin";
2
+
3
+ interface Phase {
4
+ name: string;
5
+ role: "explore" | "general" | "review" | "plan";
6
+ agent_count: number;
7
+ dependencies: string[];
8
+ }
9
+
10
+ interface TaskClassification {
11
+ type: "search" | "batch" | "writing" | "sequential" | "mixed";
12
+ coupling: "high" | "medium" | "low";
13
+ recommended_agents: number;
14
+ phases: Phase[];
15
+ reasoning: string;
16
+ confidence: "high" | "medium" | "low";
17
+ }
18
+
19
+ interface SerialCollapseCheck {
20
+ is_serial_collapse: boolean;
21
+ warning_signs: string[];
22
+ severity: "high" | "medium" | "none";
23
+ recommendation: string;
24
+ }
25
+
26
+ interface OrchestrationPlan {
27
+ task: string;
28
+ file_count: number;
29
+ classification: TaskClassification;
30
+ serial_collapse_check: SerialCollapseCheck;
31
+ allocation: {
32
+ initial_agents: number;
33
+ max_agents: number;
34
+ strategy: string;
35
+ };
36
+ recommendation: string;
37
+ }
38
+
39
+ export default tool({
40
+ description: `Swarm planning and orchestration with Kimi K2.5 PARL patterns.
41
+
42
+ Combines task classification, anti-serial-collapse detection, and dynamic agent allocation.
43
+
44
+ Operations:
45
+ - analyze: Full task analysis with classification and recommendations
46
+ - classify: Quick task classification only
47
+ - check: Check for serial collapse in current plan
48
+ - allocate: Get dynamic agent allocation strategy
49
+
50
+ Usage (pass the user's actual request):
51
+ swarm-plan({ operation: "analyze", task: "<user's request>", files: "<detected files>" })
52
+ swarm-plan({ operation: "check", task: "<user's request>", files: "<file count>", recommended_agents: <current> })`,
53
+
54
+ args: {
55
+ operation: tool.schema
56
+ .enum(["analyze", "classify", "check", "allocate"])
57
+ .describe("Planning operation to perform"),
58
+ task: tool.schema.string().describe("Task description"),
59
+ files: tool.schema
60
+ .string()
61
+ .optional()
62
+ .describe("Comma-separated file paths or file count"),
63
+ recommended_agents: tool.schema
64
+ .number()
65
+ .optional()
66
+ .describe("Current agent recommendation (for check operation)"),
67
+ current_phases: tool.schema
68
+ .string()
69
+ .optional()
70
+ .describe("Current phases JSON (for check operation)"),
71
+ context: tool.schema
72
+ .string()
73
+ .optional()
74
+ .describe("Additional context about the task"),
75
+ },
76
+
77
+ execute: async (args) => {
78
+ switch (args.operation) {
79
+ case "analyze":
80
+ return await analyzeOperation(args.task, args.files);
81
+ case "classify":
82
+ return await classifyOperation(args.task, args.files);
83
+ case "check":
84
+ return await checkOperation(
85
+ args.task,
86
+ args.files,
87
+ args.recommended_agents,
88
+ args.current_phases,
89
+ );
90
+ case "allocate":
91
+ return await allocateOperation(args.task, args.files);
92
+ default:
93
+ return `Error: Unknown operation: ${args.operation}`;
94
+ }
95
+ },
96
+ });
97
+
98
+ async function analyzeOperation(task: string, files?: string): Promise<string> {
99
+ const fileList = files?.split(",").filter(Boolean) || [];
100
+ const fileCount = Number.parseInt(files || "0") || fileList.length;
101
+
102
+ // Get classification
103
+ const classification = classifyTask(task, fileList);
104
+
105
+ // Check for serial collapse
106
+ const collapseCheck = detectSerialCollapse(
107
+ task,
108
+ fileCount,
109
+ classification.recommended_agents,
110
+ );
111
+
112
+ // Get allocation strategy
113
+ const allocation = calculateAllocation(fileCount);
114
+
115
+ // Build recommendation
116
+ let recommendation: string;
117
+ if (collapseCheck.is_serial_collapse) {
118
+ recommendation = `Use swarm mode with ${Math.min(fileCount, 5)} agents (serial collapse detected)`;
119
+ } else if (classification.recommended_agents > 1) {
120
+ recommendation = `Use swarm mode with ${classification.recommended_agents} agents`;
121
+ } else {
122
+ recommendation = "Single agent sufficient";
123
+ }
124
+
125
+ const plan: OrchestrationPlan = {
126
+ task,
127
+ file_count: fileCount,
128
+ classification,
129
+ serial_collapse_check: collapseCheck,
130
+ allocation,
131
+ recommendation,
132
+ };
133
+
134
+ return JSON.stringify(plan, null, 2);
135
+ }
136
+
137
+ async function classifyOperation(
138
+ task: string,
139
+ files?: string,
140
+ ): Promise<string> {
141
+ const fileList = files?.split(",").filter(Boolean) || [];
142
+ const classification = classifyTask(task, fileList);
143
+ return JSON.stringify(classification, null, 2);
144
+ }
145
+
146
+ async function checkOperation(
147
+ task: string,
148
+ files?: string,
149
+ recommendedAgents?: number,
150
+ currentPhases?: string,
151
+ ): Promise<string> {
152
+ const fileCount =
153
+ Number.parseInt(files || "0") || files?.split(",").length || 0;
154
+ const agents = recommendedAgents || 1;
155
+
156
+ const collapseCheck = detectSerialCollapse(task, fileCount, agents);
157
+
158
+ // Additional phase check
159
+ let phaseCheck: { issue: string; suggestion: string } | null = null;
160
+ if (currentPhases) {
161
+ try {
162
+ const phases = JSON.parse(currentPhases);
163
+ const allSingleAgent = phases.every((p: any) => p.agent_count === 1);
164
+ const noParallelPhases =
165
+ phases.filter((p: any) => p.agent_count > 1).length === 0;
166
+
167
+ if (allSingleAgent && noParallelPhases && fileCount > 3) {
168
+ phaseCheck = {
169
+ issue: "All phases use single agent despite multiple files",
170
+ suggestion: "Add parallel exploration phase",
171
+ };
172
+ }
173
+ } catch {
174
+ // Invalid phases JSON
175
+ }
176
+ }
177
+
178
+ return JSON.stringify(
179
+ {
180
+ task,
181
+ file_count: fileCount,
182
+ recommended_agents: agents,
183
+ serial_collapse_detected: collapseCheck.is_serial_collapse,
184
+ warning_signs: collapseCheck.warning_signs,
185
+ severity: collapseCheck.severity,
186
+ phase_check: phaseCheck,
187
+ action_required: collapseCheck.is_serial_collapse || phaseCheck !== null,
188
+ suggested_agents: collapseCheck.is_serial_collapse
189
+ ? Math.min(fileCount, 5)
190
+ : agents,
191
+ },
192
+ null,
193
+ 2,
194
+ );
195
+ }
196
+
197
+ async function allocateOperation(
198
+ task: string,
199
+ files?: string,
200
+ ): Promise<string> {
201
+ const fileCount =
202
+ Number.parseInt(files || "0") || files?.split(",").length || 0;
203
+ const allocation = calculateAllocation(fileCount);
204
+
205
+ return JSON.stringify(
206
+ {
207
+ task,
208
+ file_count: fileCount,
209
+ allocation,
210
+ scaling_rules: [
211
+ "Scale up if: Bottleneck detected (1 agent at 100%, others idle)",
212
+ "Scale up if: New files discovered during execution",
213
+ "Scale down if: Error rate exceeds 20%",
214
+ "Scale down if: File conflicts detected between workers",
215
+ ],
216
+ recommendation: `Start with ${allocation.initial_agents} agents, scale up to ${allocation.max_agents} if needed`,
217
+ },
218
+ null,
219
+ 2,
220
+ );
221
+ }
222
+
223
+ function classifyTask(task: string, files: string[]): TaskClassification {
224
+ // Search indicators
225
+ const searchPatterns =
226
+ /research|find|search|explore|investigate|compare|analyze.*codebase|look.*for|discover/i;
227
+
228
+ // Writing indicators
229
+ const writingPatterns =
230
+ /write|create|document|generate|draft|author|compose/i;
231
+
232
+ // Batch indicators
233
+ const batchPatterns =
234
+ /refactor|update|migrate|convert.*all|batch|multiple.*files|every.*file|all.*components/i;
235
+ const hasManyFiles = files.length > 3;
236
+
237
+ // Sequential indicators
238
+ const sequentialPatterns =
239
+ /debug|fix.*issue|optimize|complex.*refactor|architecture|design.*pattern|troubleshoot/i;
240
+
241
+ // Analyze coupling
242
+ const coupling = analyzeCoupling(files);
243
+
244
+ // Classification logic
245
+ if (searchPatterns.test(task)) {
246
+ return {
247
+ type: "search",
248
+ coupling: "low",
249
+ recommended_agents: Math.min(Math.max(files.length, 3), 5),
250
+ phases: [
251
+ {
252
+ name: "explore",
253
+ role: "explore",
254
+ agent_count: Math.min(files.length || 3, 3),
255
+ dependencies: [],
256
+ },
257
+ {
258
+ name: "synthesize",
259
+ role: "plan",
260
+ agent_count: 1,
261
+ dependencies: ["explore"],
262
+ },
263
+ ],
264
+ reasoning:
265
+ "Search tasks benefit from parallel exploration across multiple sources/domains",
266
+ confidence: "high",
267
+ };
268
+ }
269
+
270
+ if ((batchPatterns.test(task) || hasManyFiles) && files.length > 0) {
271
+ return {
272
+ type: "batch",
273
+ coupling: coupling,
274
+ recommended_agents: Math.min(files.length, 8),
275
+ phases: [
276
+ { name: "explore", role: "explore", agent_count: 2, dependencies: [] },
277
+ {
278
+ name: "generate",
279
+ role: "general",
280
+ agent_count: Math.min(files.length, 6),
281
+ dependencies: ["explore"],
282
+ },
283
+ {
284
+ name: "reflect",
285
+ role: "review",
286
+ agent_count: 2,
287
+ dependencies: ["generate"],
288
+ },
289
+ {
290
+ name: "synthesize",
291
+ role: "plan",
292
+ agent_count: 1,
293
+ dependencies: ["reflect"],
294
+ },
295
+ ],
296
+ reasoning: `Batch processing of ${files.length} files with ${coupling} coupling - parallel execution recommended`,
297
+ confidence: coupling === "low" ? "high" : "medium",
298
+ };
299
+ }
300
+
301
+ if (writingPatterns.test(task) && files.length > 0) {
302
+ return {
303
+ type: "writing",
304
+ coupling: coupling,
305
+ recommended_agents: Math.min(Math.ceil(files.length / 2), 4),
306
+ phases: [
307
+ {
308
+ name: "explore",
309
+ role: "explore",
310
+ agent_count: 1,
311
+ dependencies: [],
312
+ },
313
+ {
314
+ name: "generate",
315
+ role: "general",
316
+ agent_count: Math.min(files.length, 3),
317
+ dependencies: ["explore"],
318
+ },
319
+ {
320
+ name: "reflect",
321
+ role: "review",
322
+ agent_count: 1,
323
+ dependencies: ["generate"],
324
+ },
325
+ ],
326
+ reasoning:
327
+ "Writing tasks parallelize by section when coupling is low-medium",
328
+ confidence: coupling === "low" ? "high" : "medium",
329
+ };
330
+ }
331
+
332
+ if (
333
+ sequentialPatterns.test(task) ||
334
+ coupling === "high" ||
335
+ files.length <= 2
336
+ ) {
337
+ return {
338
+ type: "sequential",
339
+ coupling: "high",
340
+ recommended_agents: 1,
341
+ phases: [
342
+ {
343
+ name: "analyze",
344
+ role: "explore",
345
+ agent_count: 1,
346
+ dependencies: [],
347
+ },
348
+ {
349
+ name: "implement",
350
+ role: "general",
351
+ agent_count: 1,
352
+ dependencies: ["analyze"],
353
+ },
354
+ {
355
+ name: "verify",
356
+ role: "review",
357
+ agent_count: 1,
358
+ dependencies: ["implement"],
359
+ },
360
+ ],
361
+ reasoning:
362
+ "High coupling or complex debugging requires sequential execution for coherence",
363
+ confidence: "high",
364
+ };
365
+ }
366
+
367
+ // Default: mixed approach
368
+ return {
369
+ type: "mixed",
370
+ coupling: coupling,
371
+ recommended_agents: Math.min(files.length || 2, 4),
372
+ phases: [
373
+ { name: "explore", role: "explore", agent_count: 2, dependencies: [] },
374
+ {
375
+ name: "implement",
376
+ role: "general",
377
+ agent_count: 2,
378
+ dependencies: ["explore"],
379
+ },
380
+ ],
381
+ reasoning:
382
+ "Unclear task type - using conservative mixed approach with verification",
383
+ confidence: "low",
384
+ };
385
+ }
386
+
387
+ function analyzeCoupling(files: string[]): "high" | "medium" | "low" {
388
+ if (files.length <= 1) return "high";
389
+ if (files.length <= 3) return "medium";
390
+
391
+ // Check for shared directories (potential coupling)
392
+ const dirs = files.map((f) => {
393
+ const parts = f.split("/");
394
+ return parts.slice(0, -1).join("/");
395
+ });
396
+ const uniqueDirs = new Set(dirs);
397
+
398
+ if (uniqueDirs.size === 1) return "high"; // All in same directory
399
+ if (uniqueDirs.size <= files.length / 2) return "medium";
400
+ return "low";
401
+ }
402
+
403
+ function detectSerialCollapse(
404
+ task: string,
405
+ fileCount: number,
406
+ recommendedAgents: number,
407
+ ): SerialCollapseCheck {
408
+ const warningSigns: string[] = [];
409
+
410
+ // Sign 1: Many files but choosing 1 agent
411
+ if (fileCount >= 5 && recommendedAgents === 1) {
412
+ warningSigns.push(`${fileCount} files but single agent selected`);
413
+ }
414
+
415
+ // Sign 2: Search task with single agent
416
+ if (/research|search|explore/i.test(task) && recommendedAgents === 1) {
417
+ warningSigns.push("Search task with single agent");
418
+ }
419
+
420
+ // Sign 3: Batch operation with single agent
421
+ if (
422
+ /refactor.*all|update.*all|migrate.*all/i.test(task) &&
423
+ recommendedAgents === 1
424
+ ) {
425
+ warningSigns.push("Batch operation with single agent");
426
+ }
427
+
428
+ // Sign 4: Explicit parallel keywords but 1 agent
429
+ if (
430
+ /parallel|concurrent|multiple.*at.*once/i.test(task) &&
431
+ recommendedAgents === 1
432
+ ) {
433
+ warningSigns.push("Parallel keywords but single agent");
434
+ }
435
+
436
+ const isSerialCollapse =
437
+ warningSigns.length >= 2 || (warningSigns.length === 1 && fileCount > 8);
438
+
439
+ return {
440
+ is_serial_collapse: isSerialCollapse,
441
+ warning_signs: warningSigns,
442
+ severity:
443
+ warningSigns.length >= 2
444
+ ? "high"
445
+ : warningSigns.length === 1
446
+ ? "medium"
447
+ : "none",
448
+ recommendation: isSerialCollapse
449
+ ? `Increase to ${Math.min(fileCount, 5)} agents for parallel execution`
450
+ : "Current allocation appropriate",
451
+ };
452
+ }
453
+
454
+ function calculateAllocation(fileCount: number) {
455
+ // Conservative start: 50% of what we might need, at least 1, at most 3
456
+ const initialAgents = Math.max(1, Math.min(Math.ceil(fileCount * 0.5), 3));
457
+
458
+ // Max based on reasonable limits
459
+ const maxAgents = Math.min(fileCount, 10);
460
+
461
+ return {
462
+ initial_agents: initialAgents,
463
+ max_agents: maxAgents,
464
+ strategy: "Conservative start, scale based on bottlenecks",
465
+ };
466
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencodekit",
3
- "version": "0.15.16",
3
+ "version": "0.15.19",
4
4
  "description": "CLI tool for bootstrapping and managing OpenCodeKit projects",
5
5
  "keywords": ["agents", "cli", "mcp", "opencode", "opencodekit", "template"],
6
6
  "license": "MIT",