opencode-starterkit 1.0.1

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 (656) hide show
  1. package/README.md +47 -0
  2. package/baseline/.env.example +196 -0
  3. package/baseline/.template-manifest.json +646 -0
  4. package/baseline/.version +1 -0
  5. package/baseline/AGENTS.md +410 -0
  6. package/baseline/AGENT_ALIGNMENT.md +564 -0
  7. package/baseline/README.md +79 -0
  8. package/baseline/agent/build.md +373 -0
  9. package/baseline/agent/explore.md +96 -0
  10. package/baseline/agent/general.md +186 -0
  11. package/baseline/agent/painter.md +74 -0
  12. package/baseline/agent/plan.md +435 -0
  13. package/baseline/agent/review.md +243 -0
  14. package/baseline/agent/runner.md +79 -0
  15. package/baseline/agent/scout.md +100 -0
  16. package/baseline/agent/vision.md +91 -0
  17. package/baseline/command/compound.md +143 -0
  18. package/baseline/command/create.md +213 -0
  19. package/baseline/command/design.md +112 -0
  20. package/baseline/command/handoff.md +147 -0
  21. package/baseline/command/init-context.md +273 -0
  22. package/baseline/command/init-user.md +105 -0
  23. package/baseline/command/init.md +117 -0
  24. package/baseline/command/lfg.md +170 -0
  25. package/baseline/command/plan.md +355 -0
  26. package/baseline/command/pr.md +161 -0
  27. package/baseline/command/research.md +125 -0
  28. package/baseline/command/resume.md +87 -0
  29. package/baseline/command/review-codebase.md +131 -0
  30. package/baseline/command/ship.md +342 -0
  31. package/baseline/command/start.md +158 -0
  32. package/baseline/command/status.md +117 -0
  33. package/baseline/command/ui-review.md +92 -0
  34. package/baseline/command/ui-slop-check.md +146 -0
  35. package/baseline/command/verify.md +160 -0
  36. package/baseline/context/README.md +29 -0
  37. package/baseline/dcp.jsonc +72 -0
  38. package/baseline/memory/README.md +89 -0
  39. package/baseline/memory/_templates/design.md +59 -0
  40. package/baseline/memory/_templates/prd.md +192 -0
  41. package/baseline/memory/_templates/project.md +58 -0
  42. package/baseline/memory/_templates/proposal.md +38 -0
  43. package/baseline/memory/_templates/roadmap.md +93 -0
  44. package/baseline/memory/_templates/state.md +89 -0
  45. package/baseline/memory/_templates/tasks.md +198 -0
  46. package/baseline/memory/_templates/tech-stack.md +85 -0
  47. package/baseline/memory/_templates/user.md +26 -0
  48. package/baseline/memory/project/gotchas.md +67 -0
  49. package/baseline/memory/project/project.md +92 -0
  50. package/baseline/memory/project/roadmap.md +142 -0
  51. package/baseline/memory/project/state.md +84 -0
  52. package/baseline/memory/project/tech-stack.md +53 -0
  53. package/baseline/memory/project/user.md +38 -0
  54. package/baseline/memory/research/benchmark-framework.md +162 -0
  55. package/baseline/memory/research/ccpm-analysis.md +334 -0
  56. package/baseline/memory/research/context-management-analysis.md +685 -0
  57. package/baseline/memory/research/effectiveness-audit.md +213 -0
  58. package/baseline/memory/research/opencode-mcp-bug-report.md +129 -0
  59. package/baseline/memory/research/openspec-analysis.md +226 -0
  60. package/baseline/memory/session-context.md +40 -0
  61. package/baseline/opencode.json +1431 -0
  62. package/baseline/opencode.json.tui-migration.bak +1380 -0
  63. package/baseline/package-lock.json +87 -0
  64. package/baseline/package.json +21 -0
  65. package/baseline/plans/1768385996691-silent-wizard.md +247 -0
  66. package/baseline/plans/1770006237537-mighty-otter.md +418 -0
  67. package/baseline/plans/1770006913647-glowing-forest.md +170 -0
  68. package/baseline/plans/1770013678126-witty-planet.md +278 -0
  69. package/baseline/plans/1770112267595-shiny-rocket.md +258 -0
  70. package/baseline/plans/swarm-protocol.md +123 -0
  71. package/baseline/plugin/README.md +70 -0
  72. package/baseline/plugin/copilot-auth.ts +607 -0
  73. package/baseline/plugin/lib/capture.ts +177 -0
  74. package/baseline/plugin/lib/context.ts +198 -0
  75. package/baseline/plugin/lib/curator.ts +234 -0
  76. package/baseline/plugin/lib/db/maintenance.ts +312 -0
  77. package/baseline/plugin/lib/db/observations.ts +299 -0
  78. package/baseline/plugin/lib/db/pipeline.ts +520 -0
  79. package/baseline/plugin/lib/db/schema.ts +356 -0
  80. package/baseline/plugin/lib/db/types.ts +211 -0
  81. package/baseline/plugin/lib/distill.ts +376 -0
  82. package/baseline/plugin/lib/inject.ts +126 -0
  83. package/baseline/plugin/lib/memory-admin-tools.ts +188 -0
  84. package/baseline/plugin/lib/memory-db.ts +58 -0
  85. package/baseline/plugin/lib/memory-helpers.ts +111 -0
  86. package/baseline/plugin/lib/memory-hooks.ts +195 -0
  87. package/baseline/plugin/lib/memory-tools.ts +341 -0
  88. package/baseline/plugin/lib/notify.ts +81 -0
  89. package/baseline/plugin/memory.ts +89 -0
  90. package/baseline/plugin/notification.ts.bak +64 -0
  91. package/baseline/plugin/package.json +7 -0
  92. package/baseline/plugin/sdk/copilot/chat/convert-to-openai-compatible-chat-messages.ts +178 -0
  93. package/baseline/plugin/sdk/copilot/chat/get-response-metadata.ts +15 -0
  94. package/baseline/plugin/sdk/copilot/chat/map-openai-compatible-finish-reason.ts +19 -0
  95. package/baseline/plugin/sdk/copilot/chat/openai-compatible-api-types.ts +72 -0
  96. package/baseline/plugin/sdk/copilot/chat/openai-compatible-chat-language-model.ts +833 -0
  97. package/baseline/plugin/sdk/copilot/chat/openai-compatible-chat-options.ts +30 -0
  98. package/baseline/plugin/sdk/copilot/chat/openai-compatible-metadata-extractor.ts +48 -0
  99. package/baseline/plugin/sdk/copilot/chat/openai-compatible-prepare-tools.ts +92 -0
  100. package/baseline/plugin/sdk/copilot/copilot-provider.ts +94 -0
  101. package/baseline/plugin/sdk/copilot/index.ts +5 -0
  102. package/baseline/plugin/sdk/copilot/openai-compatible-error.ts +30 -0
  103. package/baseline/plugin/sessions.ts +428 -0
  104. package/baseline/plugin/skill-mcp.ts +618 -0
  105. package/baseline/plugin/tsconfig.json +16 -0
  106. package/baseline/skill/accessibility-audit/SKILL.md +191 -0
  107. package/baseline/skill/agent-browser/SKILL.md +413 -0
  108. package/baseline/skill/agent-teams/SKILL.md +268 -0
  109. package/baseline/skill/augment-context-engine/SKILL.md +122 -0
  110. package/baseline/skill/augment-context-engine/mcp.json +6 -0
  111. package/baseline/skill/beads/SKILL.md +181 -0
  112. package/baseline/skill/beads/references/BEST_PRACTICES.md +27 -0
  113. package/baseline/skill/beads/references/BOUNDARIES.md +219 -0
  114. package/baseline/skill/beads/references/DEPENDENCIES.md +124 -0
  115. package/baseline/skill/beads/references/EXAMPLES.md +45 -0
  116. package/baseline/skill/beads/references/FILE_CLAIMING.md +101 -0
  117. package/baseline/skill/beads/references/GIT_SYNC.md +25 -0
  118. package/baseline/skill/beads/references/HIERARCHY.md +71 -0
  119. package/baseline/skill/beads/references/MULTI_AGENT.md +40 -0
  120. package/baseline/skill/beads/references/RESUMABILITY.md +177 -0
  121. package/baseline/skill/beads/references/SESSION_PROTOCOL.md +61 -0
  122. package/baseline/skill/beads/references/TASK_CREATION.md +38 -0
  123. package/baseline/skill/beads/references/TROUBLESHOOTING.md +38 -0
  124. package/baseline/skill/beads/references/WORKFLOWS.md +226 -0
  125. package/baseline/skill/beads-bridge/SKILL.md +321 -0
  126. package/baseline/skill/brainstorming/SKILL.md +114 -0
  127. package/baseline/skill/chrome-devtools/SKILL.md +76 -0
  128. package/baseline/skill/chrome-devtools/mcp.json +19 -0
  129. package/baseline/skill/cloudflare/SKILL.md +253 -0
  130. package/baseline/skill/cloudflare/references/agents-sdk/README.md +35 -0
  131. package/baseline/skill/cloudflare/references/agents-sdk/api.md +100 -0
  132. package/baseline/skill/cloudflare/references/agents-sdk/configuration.md +99 -0
  133. package/baseline/skill/cloudflare/references/agents-sdk/gotchas.md +59 -0
  134. package/baseline/skill/cloudflare/references/agents-sdk/patterns.md +89 -0
  135. package/baseline/skill/cloudflare/references/ai-gateway/README.md +695 -0
  136. package/baseline/skill/cloudflare/references/ai-search/README.md +14 -0
  137. package/baseline/skill/cloudflare/references/ai-search/api.md +38 -0
  138. package/baseline/skill/cloudflare/references/ai-search/configuration.md +52 -0
  139. package/baseline/skill/cloudflare/references/ai-search/gotchas.md +41 -0
  140. package/baseline/skill/cloudflare/references/ai-search/patterns.md +45 -0
  141. package/baseline/skill/cloudflare/references/analytics-engine/README.md +14 -0
  142. package/baseline/skill/cloudflare/references/analytics-engine/api.md +27 -0
  143. package/baseline/skill/cloudflare/references/analytics-engine/configuration.md +45 -0
  144. package/baseline/skill/cloudflare/references/analytics-engine/gotchas.md +3 -0
  145. package/baseline/skill/cloudflare/references/analytics-engine/patterns.md +36 -0
  146. package/baseline/skill/cloudflare/references/api/README.md +21 -0
  147. package/baseline/skill/cloudflare/references/api/api.md +31 -0
  148. package/baseline/skill/cloudflare/references/api/configuration.md +20 -0
  149. package/baseline/skill/cloudflare/references/api/gotchas.md +28 -0
  150. package/baseline/skill/cloudflare/references/api/patterns.md +47 -0
  151. package/baseline/skill/cloudflare/references/api-shield/README.md +20 -0
  152. package/baseline/skill/cloudflare/references/api-shield/api.md +78 -0
  153. package/baseline/skill/cloudflare/references/api-shield/configuration.md +128 -0
  154. package/baseline/skill/cloudflare/references/api-shield/gotchas.md +51 -0
  155. package/baseline/skill/cloudflare/references/api-shield/patterns.md +145 -0
  156. package/baseline/skill/cloudflare/references/argo-smart-routing/README.md +16 -0
  157. package/baseline/skill/cloudflare/references/argo-smart-routing/api.md +50 -0
  158. package/baseline/skill/cloudflare/references/argo-smart-routing/configuration.md +53 -0
  159. package/baseline/skill/cloudflare/references/argo-smart-routing/gotchas.md +16 -0
  160. package/baseline/skill/cloudflare/references/argo-smart-routing/patterns.md +45 -0
  161. package/baseline/skill/cloudflare/references/bindings/README.md +14 -0
  162. package/baseline/skill/cloudflare/references/bindings/api.md +3 -0
  163. package/baseline/skill/cloudflare/references/bindings/configuration.md +58 -0
  164. package/baseline/skill/cloudflare/references/bindings/gotchas.md +35 -0
  165. package/baseline/skill/cloudflare/references/bindings/patterns.md +37 -0
  166. package/baseline/skill/cloudflare/references/bot-management/README.md +71 -0
  167. package/baseline/skill/cloudflare/references/bot-management/api.md +168 -0
  168. package/baseline/skill/cloudflare/references/bot-management/configuration.md +114 -0
  169. package/baseline/skill/cloudflare/references/bot-management/gotchas.md +99 -0
  170. package/baseline/skill/cloudflare/references/bot-management/patterns.md +125 -0
  171. package/baseline/skill/cloudflare/references/browser-rendering/README.md +16 -0
  172. package/baseline/skill/cloudflare/references/browser-rendering/api.md +54 -0
  173. package/baseline/skill/cloudflare/references/browser-rendering/configuration.md +47 -0
  174. package/baseline/skill/cloudflare/references/browser-rendering/gotchas.md +29 -0
  175. package/baseline/skill/cloudflare/references/browser-rendering/patterns.md +29 -0
  176. package/baseline/skill/cloudflare/references/c3/README.md +264 -0
  177. package/baseline/skill/cloudflare/references/cache-reserve/README.md +93 -0
  178. package/baseline/skill/cloudflare/references/cache-reserve/api.md +176 -0
  179. package/baseline/skill/cloudflare/references/cache-reserve/configuration.md +164 -0
  180. package/baseline/skill/cloudflare/references/cache-reserve/gotchas.md +203 -0
  181. package/baseline/skill/cloudflare/references/cache-reserve/patterns.md +180 -0
  182. package/baseline/skill/cloudflare/references/containers/README.md +16 -0
  183. package/baseline/skill/cloudflare/references/containers/api.md +43 -0
  184. package/baseline/skill/cloudflare/references/containers/configuration.md +56 -0
  185. package/baseline/skill/cloudflare/references/containers/gotchas.md +21 -0
  186. package/baseline/skill/cloudflare/references/containers/patterns.md +40 -0
  187. package/baseline/skill/cloudflare/references/cron-triggers/README.md +85 -0
  188. package/baseline/skill/cloudflare/references/cron-triggers/api.md +198 -0
  189. package/baseline/skill/cloudflare/references/cron-triggers/configuration.md +151 -0
  190. package/baseline/skill/cloudflare/references/cron-triggers/gotchas.md +129 -0
  191. package/baseline/skill/cloudflare/references/cron-triggers/patterns.md +122 -0
  192. package/baseline/skill/cloudflare/references/d1/README.md +92 -0
  193. package/baseline/skill/cloudflare/references/d1/api.md +141 -0
  194. package/baseline/skill/cloudflare/references/d1/configuration.md +127 -0
  195. package/baseline/skill/cloudflare/references/d1/gotchas.md +70 -0
  196. package/baseline/skill/cloudflare/references/d1/patterns.md +144 -0
  197. package/baseline/skill/cloudflare/references/ddos/README.md +34 -0
  198. package/baseline/skill/cloudflare/references/ddos/api.md +136 -0
  199. package/baseline/skill/cloudflare/references/ddos/configuration.md +67 -0
  200. package/baseline/skill/cloudflare/references/ddos/gotchas.md +114 -0
  201. package/baseline/skill/cloudflare/references/ddos/patterns.md +158 -0
  202. package/baseline/skill/cloudflare/references/do-storage/README.md +62 -0
  203. package/baseline/skill/cloudflare/references/do-storage/api.md +89 -0
  204. package/baseline/skill/cloudflare/references/do-storage/configuration.md +116 -0
  205. package/baseline/skill/cloudflare/references/do-storage/gotchas.md +93 -0
  206. package/baseline/skill/cloudflare/references/do-storage/patterns.md +112 -0
  207. package/baseline/skill/cloudflare/references/durable-objects/README.md +125 -0
  208. package/baseline/skill/cloudflare/references/durable-objects/api.md +152 -0
  209. package/baseline/skill/cloudflare/references/durable-objects/configuration.md +148 -0
  210. package/baseline/skill/cloudflare/references/durable-objects/gotchas.md +158 -0
  211. package/baseline/skill/cloudflare/references/durable-objects/patterns.md +255 -0
  212. package/baseline/skill/cloudflare/references/email-routing/README.md +18 -0
  213. package/baseline/skill/cloudflare/references/email-routing/api.md +46 -0
  214. package/baseline/skill/cloudflare/references/email-routing/configuration.md +63 -0
  215. package/baseline/skill/cloudflare/references/email-routing/gotchas.md +16 -0
  216. package/baseline/skill/cloudflare/references/email-routing/patterns.md +46 -0
  217. package/baseline/skill/cloudflare/references/email-workers/README.md +598 -0
  218. package/baseline/skill/cloudflare/references/hyperdrive/README.md +62 -0
  219. package/baseline/skill/cloudflare/references/hyperdrive/api.md +137 -0
  220. package/baseline/skill/cloudflare/references/hyperdrive/configuration.md +133 -0
  221. package/baseline/skill/cloudflare/references/hyperdrive/gotchas.md +184 -0
  222. package/baseline/skill/cloudflare/references/hyperdrive/patterns.md +176 -0
  223. package/baseline/skill/cloudflare/references/images/README.md +14 -0
  224. package/baseline/skill/cloudflare/references/images/api.md +3 -0
  225. package/baseline/skill/cloudflare/references/images/configuration.md +45 -0
  226. package/baseline/skill/cloudflare/references/images/gotchas.md +23 -0
  227. package/baseline/skill/cloudflare/references/images/patterns.md +31 -0
  228. package/baseline/skill/cloudflare/references/kv/README.md +60 -0
  229. package/baseline/skill/cloudflare/references/kv/api.md +114 -0
  230. package/baseline/skill/cloudflare/references/kv/configuration.md +92 -0
  231. package/baseline/skill/cloudflare/references/kv/gotchas.md +117 -0
  232. package/baseline/skill/cloudflare/references/kv/patterns.md +139 -0
  233. package/baseline/skill/cloudflare/references/miniflare/README.md +64 -0
  234. package/baseline/skill/cloudflare/references/miniflare/api.md +144 -0
  235. package/baseline/skill/cloudflare/references/miniflare/configuration.md +203 -0
  236. package/baseline/skill/cloudflare/references/miniflare/gotchas.md +187 -0
  237. package/baseline/skill/cloudflare/references/miniflare/patterns.md +211 -0
  238. package/baseline/skill/cloudflare/references/network-interconnect/README.md +60 -0
  239. package/baseline/skill/cloudflare/references/network-interconnect/api.md +240 -0
  240. package/baseline/skill/cloudflare/references/network-interconnect/configuration.md +127 -0
  241. package/baseline/skill/cloudflare/references/network-interconnect/gotchas.md +171 -0
  242. package/baseline/skill/cloudflare/references/network-interconnect/patterns.md +171 -0
  243. package/baseline/skill/cloudflare/references/observability/README.md +18 -0
  244. package/baseline/skill/cloudflare/references/observability/api.md +51 -0
  245. package/baseline/skill/cloudflare/references/observability/configuration.md +60 -0
  246. package/baseline/skill/cloudflare/references/observability/gotchas.md +36 -0
  247. package/baseline/skill/cloudflare/references/observability/patterns.md +42 -0
  248. package/baseline/skill/cloudflare/references/pages/README.md +76 -0
  249. package/baseline/skill/cloudflare/references/pages/api.md +200 -0
  250. package/baseline/skill/cloudflare/references/pages/configuration.md +228 -0
  251. package/baseline/skill/cloudflare/references/pages/gotchas.md +161 -0
  252. package/baseline/skill/cloudflare/references/pages/patterns.md +145 -0
  253. package/baseline/skill/cloudflare/references/pages-functions/README.md +57 -0
  254. package/baseline/skill/cloudflare/references/pages-functions/api.md +201 -0
  255. package/baseline/skill/cloudflare/references/pages-functions/configuration.md +159 -0
  256. package/baseline/skill/cloudflare/references/pages-functions/gotchas.md +151 -0
  257. package/baseline/skill/cloudflare/references/pages-functions/patterns.md +190 -0
  258. package/baseline/skill/cloudflare/references/pipelines/README.md +664 -0
  259. package/baseline/skill/cloudflare/references/pulumi/README.md +107 -0
  260. package/baseline/skill/cloudflare/references/pulumi/api.md +194 -0
  261. package/baseline/skill/cloudflare/references/pulumi/configuration.md +216 -0
  262. package/baseline/skill/cloudflare/references/pulumi/gotchas.md +223 -0
  263. package/baseline/skill/cloudflare/references/pulumi/patterns.md +139 -0
  264. package/baseline/skill/cloudflare/references/queues/README.md +69 -0
  265. package/baseline/skill/cloudflare/references/queues/api.md +138 -0
  266. package/baseline/skill/cloudflare/references/queues/configuration.md +125 -0
  267. package/baseline/skill/cloudflare/references/queues/gotchas.md +112 -0
  268. package/baseline/skill/cloudflare/references/queues/patterns.md +155 -0
  269. package/baseline/skill/cloudflare/references/r2/README.md +61 -0
  270. package/baseline/skill/cloudflare/references/r2/api.md +127 -0
  271. package/baseline/skill/cloudflare/references/r2/configuration.md +76 -0
  272. package/baseline/skill/cloudflare/references/r2/gotchas.md +94 -0
  273. package/baseline/skill/cloudflare/references/r2/patterns.md +127 -0
  274. package/baseline/skill/cloudflare/references/r2-data-catalog/README.md +18 -0
  275. package/baseline/skill/cloudflare/references/r2-data-catalog/api.md +29 -0
  276. package/baseline/skill/cloudflare/references/r2-data-catalog/configuration.md +39 -0
  277. package/baseline/skill/cloudflare/references/r2-data-catalog/gotchas.md +20 -0
  278. package/baseline/skill/cloudflare/references/r2-data-catalog/patterns.md +46 -0
  279. package/baseline/skill/cloudflare/references/r2-sql/README.md +512 -0
  280. package/baseline/skill/cloudflare/references/realtime-sfu/README.md +21 -0
  281. package/baseline/skill/cloudflare/references/realtime-sfu/api.md +135 -0
  282. package/baseline/skill/cloudflare/references/realtime-sfu/configuration.md +63 -0
  283. package/baseline/skill/cloudflare/references/realtime-sfu/gotchas.md +75 -0
  284. package/baseline/skill/cloudflare/references/realtime-sfu/patterns.md +102 -0
  285. package/baseline/skill/cloudflare/references/realtimekit/README.md +81 -0
  286. package/baseline/skill/cloudflare/references/realtimekit/api.md +164 -0
  287. package/baseline/skill/cloudflare/references/realtimekit/configuration.md +147 -0
  288. package/baseline/skill/cloudflare/references/realtimekit/gotchas.md +172 -0
  289. package/baseline/skill/cloudflare/references/realtimekit/patterns.md +155 -0
  290. package/baseline/skill/cloudflare/references/sandbox/README.md +90 -0
  291. package/baseline/skill/cloudflare/references/sandbox/api.md +178 -0
  292. package/baseline/skill/cloudflare/references/sandbox/configuration.md +131 -0
  293. package/baseline/skill/cloudflare/references/sandbox/gotchas.md +156 -0
  294. package/baseline/skill/cloudflare/references/sandbox/patterns.md +203 -0
  295. package/baseline/skill/cloudflare/references/secrets-store/README.md +58 -0
  296. package/baseline/skill/cloudflare/references/secrets-store/api.md +182 -0
  297. package/baseline/skill/cloudflare/references/secrets-store/configuration.md +140 -0
  298. package/baseline/skill/cloudflare/references/secrets-store/gotchas.md +129 -0
  299. package/baseline/skill/cloudflare/references/secrets-store/patterns.md +218 -0
  300. package/baseline/skill/cloudflare/references/smart-placement/README.md +91 -0
  301. package/baseline/skill/cloudflare/references/smart-placement/api.md +139 -0
  302. package/baseline/skill/cloudflare/references/smart-placement/configuration.md +129 -0
  303. package/baseline/skill/cloudflare/references/smart-placement/gotchas.md +87 -0
  304. package/baseline/skill/cloudflare/references/smart-placement/patterns.md +135 -0
  305. package/baseline/skill/cloudflare/references/snippets/README.md +15 -0
  306. package/baseline/skill/cloudflare/references/snippets/api.md +47 -0
  307. package/baseline/skill/cloudflare/references/snippets/configuration.md +33 -0
  308. package/baseline/skill/cloudflare/references/snippets/gotchas.md +21 -0
  309. package/baseline/skill/cloudflare/references/snippets/patterns.md +34 -0
  310. package/baseline/skill/cloudflare/references/spectrum/README.md +16 -0
  311. package/baseline/skill/cloudflare/references/spectrum/api.md +24 -0
  312. package/baseline/skill/cloudflare/references/spectrum/configuration.md +43 -0
  313. package/baseline/skill/cloudflare/references/spectrum/gotchas.md +42 -0
  314. package/baseline/skill/cloudflare/references/spectrum/patterns.md +40 -0
  315. package/baseline/skill/cloudflare/references/static-assets/README.md +14 -0
  316. package/baseline/skill/cloudflare/references/static-assets/api.md +3 -0
  317. package/baseline/skill/cloudflare/references/static-assets/configuration.md +47 -0
  318. package/baseline/skill/cloudflare/references/static-assets/gotchas.md +44 -0
  319. package/baseline/skill/cloudflare/references/static-assets/patterns.md +42 -0
  320. package/baseline/skill/cloudflare/references/stream/README.md +103 -0
  321. package/baseline/skill/cloudflare/references/stream/api.md +204 -0
  322. package/baseline/skill/cloudflare/references/stream/configuration.md +127 -0
  323. package/baseline/skill/cloudflare/references/stream/gotchas.md +131 -0
  324. package/baseline/skill/cloudflare/references/stream/patterns.md +152 -0
  325. package/baseline/skill/cloudflare/references/tail-workers/README.md +640 -0
  326. package/baseline/skill/cloudflare/references/terraform/README.md +76 -0
  327. package/baseline/skill/cloudflare/references/terraform/api.md +159 -0
  328. package/baseline/skill/cloudflare/references/terraform/configuration.md +156 -0
  329. package/baseline/skill/cloudflare/references/terraform/gotchas.md +207 -0
  330. package/baseline/skill/cloudflare/references/terraform/patterns.md +135 -0
  331. package/baseline/skill/cloudflare/references/tunnel/README.md +82 -0
  332. package/baseline/skill/cloudflare/references/tunnel/api.md +105 -0
  333. package/baseline/skill/cloudflare/references/tunnel/configuration.md +113 -0
  334. package/baseline/skill/cloudflare/references/tunnel/gotchas.md +115 -0
  335. package/baseline/skill/cloudflare/references/tunnel/patterns.md +157 -0
  336. package/baseline/skill/cloudflare/references/turn/README.md +699 -0
  337. package/baseline/skill/cloudflare/references/turnstile/README.md +14 -0
  338. package/baseline/skill/cloudflare/references/turnstile/api.md +3 -0
  339. package/baseline/skill/cloudflare/references/turnstile/configuration.md +19 -0
  340. package/baseline/skill/cloudflare/references/turnstile/gotchas.md +27 -0
  341. package/baseline/skill/cloudflare/references/turnstile/patterns.md +41 -0
  342. package/baseline/skill/cloudflare/references/vectorize/README.md +682 -0
  343. package/baseline/skill/cloudflare/references/waf/README.md +14 -0
  344. package/baseline/skill/cloudflare/references/waf/api.md +3 -0
  345. package/baseline/skill/cloudflare/references/waf/configuration.md +44 -0
  346. package/baseline/skill/cloudflare/references/waf/gotchas.md +24 -0
  347. package/baseline/skill/cloudflare/references/waf/patterns.md +29 -0
  348. package/baseline/skill/cloudflare/references/web-analytics/README.md +19 -0
  349. package/baseline/skill/cloudflare/references/web-analytics/api.md +52 -0
  350. package/baseline/skill/cloudflare/references/web-analytics/configuration.md +31 -0
  351. package/baseline/skill/cloudflare/references/web-analytics/gotchas.md +28 -0
  352. package/baseline/skill/cloudflare/references/web-analytics/patterns.md +52 -0
  353. package/baseline/skill/cloudflare/references/workerd/README.md +47 -0
  354. package/baseline/skill/cloudflare/references/workerd/api.md +199 -0
  355. package/baseline/skill/cloudflare/references/workerd/configuration.md +185 -0
  356. package/baseline/skill/cloudflare/references/workerd/gotchas.md +203 -0
  357. package/baseline/skill/cloudflare/references/workerd/patterns.md +216 -0
  358. package/baseline/skill/cloudflare/references/workers/README.md +96 -0
  359. package/baseline/skill/cloudflare/references/workers/api.md +137 -0
  360. package/baseline/skill/cloudflare/references/workers/configuration.md +147 -0
  361. package/baseline/skill/cloudflare/references/workers/gotchas.md +99 -0
  362. package/baseline/skill/cloudflare/references/workers/patterns.md +149 -0
  363. package/baseline/skill/cloudflare/references/workers-ai/README.md +116 -0
  364. package/baseline/skill/cloudflare/references/workers-for-platforms/README.md +48 -0
  365. package/baseline/skill/cloudflare/references/workers-for-platforms/api.md +169 -0
  366. package/baseline/skill/cloudflare/references/workers-for-platforms/configuration.md +136 -0
  367. package/baseline/skill/cloudflare/references/workers-for-platforms/gotchas.md +130 -0
  368. package/baseline/skill/cloudflare/references/workers-for-platforms/patterns.md +170 -0
  369. package/baseline/skill/cloudflare/references/workers-playground/README.md +16 -0
  370. package/baseline/skill/cloudflare/references/workers-playground/api.md +20 -0
  371. package/baseline/skill/cloudflare/references/workers-playground/configuration.md +3 -0
  372. package/baseline/skill/cloudflare/references/workers-playground/gotchas.md +35 -0
  373. package/baseline/skill/cloudflare/references/workers-playground/patterns.md +42 -0
  374. package/baseline/skill/cloudflare/references/workers-vpc/README.md +579 -0
  375. package/baseline/skill/cloudflare/references/workflows/README.md +62 -0
  376. package/baseline/skill/cloudflare/references/workflows/api.md +125 -0
  377. package/baseline/skill/cloudflare/references/workflows/configuration.md +177 -0
  378. package/baseline/skill/cloudflare/references/workflows/gotchas.md +136 -0
  379. package/baseline/skill/cloudflare/references/workflows/patterns.md +132 -0
  380. package/baseline/skill/cloudflare/references/wrangler/README.md +90 -0
  381. package/baseline/skill/cloudflare/references/wrangler/api.md +140 -0
  382. package/baseline/skill/cloudflare/references/wrangler/configuration.md +128 -0
  383. package/baseline/skill/cloudflare/references/wrangler/gotchas.md +93 -0
  384. package/baseline/skill/cloudflare/references/wrangler/patterns.md +150 -0
  385. package/baseline/skill/cloudflare/references/zaraz/README.md +360 -0
  386. package/baseline/skill/code-navigation/SKILL.md +130 -0
  387. package/baseline/skill/compaction/SKILL.md +317 -0
  388. package/baseline/skill/condition-based-waiting/SKILL.md +123 -0
  389. package/baseline/skill/condition-based-waiting/example.ts +158 -0
  390. package/baseline/skill/context-engineering/SKILL.md +176 -0
  391. package/baseline/skill/context-initialization/SKILL.md +70 -0
  392. package/baseline/skill/context-management/SKILL.md +163 -0
  393. package/baseline/skill/core-data-expert/SKILL.md +93 -0
  394. package/baseline/skill/core-data-expert/references/batch-operations.md +543 -0
  395. package/baseline/skill/core-data-expert/references/cloudkit-integration.md +259 -0
  396. package/baseline/skill/core-data-expert/references/concurrency.md +522 -0
  397. package/baseline/skill/core-data-expert/references/fetch-requests.md +643 -0
  398. package/baseline/skill/core-data-expert/references/glossary.md +233 -0
  399. package/baseline/skill/core-data-expert/references/migration.md +393 -0
  400. package/baseline/skill/core-data-expert/references/model-configuration.md +597 -0
  401. package/baseline/skill/core-data-expert/references/performance.md +300 -0
  402. package/baseline/skill/core-data-expert/references/persistent-history.md +553 -0
  403. package/baseline/skill/core-data-expert/references/project-audit.md +60 -0
  404. package/baseline/skill/core-data-expert/references/saving.md +574 -0
  405. package/baseline/skill/core-data-expert/references/stack-setup.md +625 -0
  406. package/baseline/skill/core-data-expert/references/testing.md +300 -0
  407. package/baseline/skill/core-data-expert/references/threading.md +589 -0
  408. package/baseline/skill/deep-research/SKILL.md +384 -0
  409. package/baseline/skill/defense-in-depth/SKILL.md +166 -0
  410. package/baseline/skill/design-system-audit/SKILL.md +153 -0
  411. package/baseline/skill/development-lifecycle/SKILL.md +356 -0
  412. package/baseline/skill/dispatching-parallel-agents/SKILL.md +191 -0
  413. package/baseline/skill/executing-plans/SKILL.md +247 -0
  414. package/baseline/skill/figma/SKILL.md +224 -0
  415. package/baseline/skill/finishing-a-development-branch/SKILL.md +357 -0
  416. package/baseline/skill/frontend-design/SKILL.md +235 -0
  417. package/baseline/skill/frontend-design/references/animation/motion-advanced.md +224 -0
  418. package/baseline/skill/frontend-design/references/animation/motion-core.md +181 -0
  419. package/baseline/skill/frontend-design/references/canvas/execution.md +90 -0
  420. package/baseline/skill/frontend-design/references/canvas/philosophy.md +94 -0
  421. package/baseline/skill/frontend-design/references/design/color-system.md +111 -0
  422. package/baseline/skill/frontend-design/references/design/interaction.md +149 -0
  423. package/baseline/skill/frontend-design/references/design/typography-rules.md +106 -0
  424. package/baseline/skill/frontend-design/references/design/ux-writing.md +99 -0
  425. package/baseline/skill/frontend-design/references/shadcn/accessibility.md +132 -0
  426. package/baseline/skill/frontend-design/references/shadcn/core-components.md +153 -0
  427. package/baseline/skill/frontend-design/references/shadcn/form-components.md +158 -0
  428. package/baseline/skill/frontend-design/references/shadcn/setup.md +69 -0
  429. package/baseline/skill/frontend-design/references/shadcn/theming.md +152 -0
  430. package/baseline/skill/frontend-design/references/tailwind/responsive.md +112 -0
  431. package/baseline/skill/frontend-design/references/tailwind/utilities-layout.md +134 -0
  432. package/baseline/skill/frontend-design/references/tailwind/utilities-styling.md +165 -0
  433. package/baseline/skill/frontend-design/references/tailwind/v4-config.md +147 -0
  434. package/baseline/skill/frontend-design/references/tailwind/v4-features.md +128 -0
  435. package/baseline/skill/gemini-large-context/SKILL.md +216 -0
  436. package/baseline/skill/index-knowledge/SKILL.md +413 -0
  437. package/baseline/skill/jira/SKILL.md +283 -0
  438. package/baseline/skill/jira/mcp.json +6 -0
  439. package/baseline/skill/memory-system/SKILL.md +84 -0
  440. package/baseline/skill/mockup-to-code/SKILL.md +184 -0
  441. package/baseline/skill/mqdh/SKILL.md +171 -0
  442. package/baseline/skill/obsidian/SKILL.md +192 -0
  443. package/baseline/skill/obsidian/mcp.json +22 -0
  444. package/baseline/skill/opensrc/SKILL.md +127 -0
  445. package/baseline/skill/opensrc/references/architecture.md +176 -0
  446. package/baseline/skill/opensrc/references/cli-usage.md +176 -0
  447. package/baseline/skill/opensrc/references/registry-support.md +137 -0
  448. package/baseline/skill/pdf-extract/SKILL.md +438 -0
  449. package/baseline/skill/playwright/SKILL.md +320 -0
  450. package/baseline/skill/playwright/mcp.json +16 -0
  451. package/baseline/skill/playwriter/SKILL.md +158 -0
  452. package/baseline/skill/polar/SKILL.md +102 -0
  453. package/baseline/skill/prd/SKILL.md +146 -0
  454. package/baseline/skill/prd-task/SKILL.md +182 -0
  455. package/baseline/skill/prd-task/references/prd-schema.json +124 -0
  456. package/baseline/skill/ralph/SKILL.md +296 -0
  457. package/baseline/skill/react-best-practices/AGENTS.md +2410 -0
  458. package/baseline/skill/react-best-practices/README.md +123 -0
  459. package/baseline/skill/react-best-practices/SKILL.md +133 -0
  460. package/baseline/skill/react-best-practices/metadata.json +15 -0
  461. package/baseline/skill/react-best-practices/rules/_sections.md +46 -0
  462. package/baseline/skill/react-best-practices/rules/_template.md +28 -0
  463. package/baseline/skill/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  464. package/baseline/skill/react-best-practices/rules/advanced-use-latest.md +49 -0
  465. package/baseline/skill/react-best-practices/rules/async-api-routes.md +38 -0
  466. package/baseline/skill/react-best-practices/rules/async-defer-await.md +80 -0
  467. package/baseline/skill/react-best-practices/rules/async-dependencies.md +36 -0
  468. package/baseline/skill/react-best-practices/rules/async-parallel.md +28 -0
  469. package/baseline/skill/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  470. package/baseline/skill/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  471. package/baseline/skill/react-best-practices/rules/bundle-conditional.md +31 -0
  472. package/baseline/skill/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  473. package/baseline/skill/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  474. package/baseline/skill/react-best-practices/rules/bundle-preload.md +50 -0
  475. package/baseline/skill/react-best-practices/rules/client-event-listeners.md +74 -0
  476. package/baseline/skill/react-best-practices/rules/client-localstorage-schema.md +71 -0
  477. package/baseline/skill/react-best-practices/rules/client-passive-event-listeners.md +48 -0
  478. package/baseline/skill/react-best-practices/rules/client-swr-dedup.md +56 -0
  479. package/baseline/skill/react-best-practices/rules/js-batch-dom-css.md +82 -0
  480. package/baseline/skill/react-best-practices/rules/js-cache-function-results.md +80 -0
  481. package/baseline/skill/react-best-practices/rules/js-cache-property-access.md +28 -0
  482. package/baseline/skill/react-best-practices/rules/js-cache-storage.md +70 -0
  483. package/baseline/skill/react-best-practices/rules/js-combine-iterations.md +32 -0
  484. package/baseline/skill/react-best-practices/rules/js-early-exit.md +50 -0
  485. package/baseline/skill/react-best-practices/rules/js-hoist-regexp.md +45 -0
  486. package/baseline/skill/react-best-practices/rules/js-index-maps.md +37 -0
  487. package/baseline/skill/react-best-practices/rules/js-length-check-first.md +49 -0
  488. package/baseline/skill/react-best-practices/rules/js-min-max-loop.md +82 -0
  489. package/baseline/skill/react-best-practices/rules/js-set-map-lookups.md +24 -0
  490. package/baseline/skill/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  491. package/baseline/skill/react-best-practices/rules/rendering-activity.md +26 -0
  492. package/baseline/skill/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  493. package/baseline/skill/react-best-practices/rules/rendering-conditional-render.md +40 -0
  494. package/baseline/skill/react-best-practices/rules/rendering-content-visibility.md +38 -0
  495. package/baseline/skill/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  496. package/baseline/skill/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  497. package/baseline/skill/react-best-practices/rules/rendering-svg-precision.md +28 -0
  498. package/baseline/skill/react-best-practices/rules/rerender-defer-reads.md +39 -0
  499. package/baseline/skill/react-best-practices/rules/rerender-dependencies.md +45 -0
  500. package/baseline/skill/react-best-practices/rules/rerender-derived-state.md +29 -0
  501. package/baseline/skill/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  502. package/baseline/skill/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  503. package/baseline/skill/react-best-practices/rules/rerender-memo.md +44 -0
  504. package/baseline/skill/react-best-practices/rules/rerender-transitions.md +40 -0
  505. package/baseline/skill/react-best-practices/rules/server-after-nonblocking.md +73 -0
  506. package/baseline/skill/react-best-practices/rules/server-cache-lru.md +41 -0
  507. package/baseline/skill/react-best-practices/rules/server-cache-react.md +76 -0
  508. package/baseline/skill/react-best-practices/rules/server-parallel-fetching.md +83 -0
  509. package/baseline/skill/react-best-practices/rules/server-serialization.md +38 -0
  510. package/baseline/skill/receiving-code-review/SKILL.md +252 -0
  511. package/baseline/skill/requesting-code-review/SKILL.md +397 -0
  512. package/baseline/skill/requesting-code-review/review.md +160 -0
  513. package/baseline/skill/resend/SKILL.md +177 -0
  514. package/baseline/skill/resend/references/react-email.md +287 -0
  515. package/baseline/skill/resend/references/receive-email.md +248 -0
  516. package/baseline/skill/resend/references/send-email.md +318 -0
  517. package/baseline/skill/root-cause-tracing/SKILL.md +192 -0
  518. package/baseline/skill/root-cause-tracing/find-polluter.sh +63 -0
  519. package/baseline/skill/session-management/SKILL.md +9 -0
  520. package/baseline/skill/sharing-skills/SKILL.md +214 -0
  521. package/baseline/skill/skill-creator/SKILL.md +156 -0
  522. package/baseline/skill/source-code-research/SKILL.md +293 -0
  523. package/baseline/skill/source-code-research/references/analysis-tips.md +43 -0
  524. package/baseline/skill/source-code-research/references/anti-patterns.md +36 -0
  525. package/baseline/skill/source-code-research/references/common-patterns.md +57 -0
  526. package/baseline/skill/source-code-research/references/example-workflow.md +60 -0
  527. package/baseline/skill/source-code-research/references/further-reading.md +5 -0
  528. package/baseline/skill/source-code-research/references/source-structure.md +45 -0
  529. package/baseline/skill/stitch/SKILL.md +147 -0
  530. package/baseline/skill/stitch/mcp.json +9 -0
  531. package/baseline/skill/structured-edit/SKILL.md +181 -0
  532. package/baseline/skill/subagent-driven-development/SKILL.md +237 -0
  533. package/baseline/skill/supabase/SKILL.md +130 -0
  534. package/baseline/skill/supabase/mcp.json +27 -0
  535. package/baseline/skill/supabase-postgres-best-practices/AGENTS.md +1490 -0
  536. package/baseline/skill/supabase-postgres-best-practices/SKILL.md +65 -0
  537. package/baseline/skill/supabase-postgres-best-practices/rules/advanced-full-text-search.md +55 -0
  538. package/baseline/skill/supabase-postgres-best-practices/rules/advanced-jsonb-indexing.md +49 -0
  539. package/baseline/skill/supabase-postgres-best-practices/rules/conn-idle-timeout.md +46 -0
  540. package/baseline/skill/supabase-postgres-best-practices/rules/conn-limits.md +44 -0
  541. package/baseline/skill/supabase-postgres-best-practices/rules/conn-pooling.md +41 -0
  542. package/baseline/skill/supabase-postgres-best-practices/rules/conn-prepared-statements.md +46 -0
  543. package/baseline/skill/supabase-postgres-best-practices/rules/data-batch-inserts.md +54 -0
  544. package/baseline/skill/supabase-postgres-best-practices/rules/data-n-plus-one.md +53 -0
  545. package/baseline/skill/supabase-postgres-best-practices/rules/data-pagination.md +50 -0
  546. package/baseline/skill/supabase-postgres-best-practices/rules/data-upsert.md +50 -0
  547. package/baseline/skill/supabase-postgres-best-practices/rules/lock-advisory.md +56 -0
  548. package/baseline/skill/supabase-postgres-best-practices/rules/lock-deadlock-prevention.md +68 -0
  549. package/baseline/skill/supabase-postgres-best-practices/rules/lock-short-transactions.md +50 -0
  550. package/baseline/skill/supabase-postgres-best-practices/rules/lock-skip-locked.md +54 -0
  551. package/baseline/skill/supabase-postgres-best-practices/rules/monitor-explain-analyze.md +45 -0
  552. package/baseline/skill/supabase-postgres-best-practices/rules/monitor-pg-stat-statements.md +55 -0
  553. package/baseline/skill/supabase-postgres-best-practices/rules/monitor-vacuum-analyze.md +55 -0
  554. package/baseline/skill/supabase-postgres-best-practices/rules/query-composite-indexes.md +44 -0
  555. package/baseline/skill/supabase-postgres-best-practices/rules/query-covering-indexes.md +40 -0
  556. package/baseline/skill/supabase-postgres-best-practices/rules/query-index-types.md +45 -0
  557. package/baseline/skill/supabase-postgres-best-practices/rules/query-missing-indexes.md +43 -0
  558. package/baseline/skill/supabase-postgres-best-practices/rules/query-partial-indexes.md +45 -0
  559. package/baseline/skill/supabase-postgres-best-practices/rules/schema-data-types.md +46 -0
  560. package/baseline/skill/supabase-postgres-best-practices/rules/schema-foreign-key-indexes.md +59 -0
  561. package/baseline/skill/supabase-postgres-best-practices/rules/schema-lowercase-identifiers.md +55 -0
  562. package/baseline/skill/supabase-postgres-best-practices/rules/schema-partitioning.md +55 -0
  563. package/baseline/skill/supabase-postgres-best-practices/rules/schema-primary-keys.md +61 -0
  564. package/baseline/skill/supabase-postgres-best-practices/rules/security-privileges.md +54 -0
  565. package/baseline/skill/supabase-postgres-best-practices/rules/security-rls-basics.md +50 -0
  566. package/baseline/skill/supabase-postgres-best-practices/rules/security-rls-performance.md +57 -0
  567. package/baseline/skill/swarm-coordination/SKILL.md +179 -0
  568. package/baseline/skill/swarm-coordination/references/architecture.md +39 -0
  569. package/baseline/skill/swarm-coordination/references/delegation-worker-protocol.md +145 -0
  570. package/baseline/skill/swarm-coordination/references/dependency-graph.md +50 -0
  571. package/baseline/skill/swarm-coordination/references/drift-check.md +90 -0
  572. package/baseline/skill/swarm-coordination/references/integration-beads.md +20 -0
  573. package/baseline/skill/swarm-coordination/references/launch-flow.md +186 -0
  574. package/baseline/skill/swarm-coordination/references/reconciler.md +172 -0
  575. package/baseline/skill/swarm-coordination/references/tier-enforcement.md +78 -0
  576. package/baseline/skill/swarm-coordination/references/tmux-integration.md +134 -0
  577. package/baseline/skill/swift-concurrency/SKILL.md +266 -0
  578. package/baseline/skill/swift-concurrency/references/actors.md +640 -0
  579. package/baseline/skill/swift-concurrency/references/async-algorithms.md +822 -0
  580. package/baseline/skill/swift-concurrency/references/async-await-basics.md +249 -0
  581. package/baseline/skill/swift-concurrency/references/async-sequences.md +670 -0
  582. package/baseline/skill/swift-concurrency/references/core-data.md +533 -0
  583. package/baseline/skill/swift-concurrency/references/glossary.md +128 -0
  584. package/baseline/skill/swift-concurrency/references/linting.md +142 -0
  585. package/baseline/skill/swift-concurrency/references/memory-management.md +542 -0
  586. package/baseline/skill/swift-concurrency/references/migration.md +1076 -0
  587. package/baseline/skill/swift-concurrency/references/performance.md +574 -0
  588. package/baseline/skill/swift-concurrency/references/sendable.md +578 -0
  589. package/baseline/skill/swift-concurrency/references/tasks.md +604 -0
  590. package/baseline/skill/swift-concurrency/references/testing.md +565 -0
  591. package/baseline/skill/swift-concurrency/references/threading.md +452 -0
  592. package/baseline/skill/swiftui-expert-skill/SKILL.md +329 -0
  593. package/baseline/skill/swiftui-expert-skill/references/animation-advanced.md +351 -0
  594. package/baseline/skill/swiftui-expert-skill/references/animation-basics.md +284 -0
  595. package/baseline/skill/swiftui-expert-skill/references/animation-transitions.md +326 -0
  596. package/baseline/skill/swiftui-expert-skill/references/image-optimization.md +286 -0
  597. package/baseline/skill/swiftui-expert-skill/references/layout-best-practices.md +312 -0
  598. package/baseline/skill/swiftui-expert-skill/references/liquid-glass.md +377 -0
  599. package/baseline/skill/swiftui-expert-skill/references/list-patterns.md +153 -0
  600. package/baseline/skill/swiftui-expert-skill/references/modern-apis.md +400 -0
  601. package/baseline/skill/swiftui-expert-skill/references/performance-patterns.md +377 -0
  602. package/baseline/skill/swiftui-expert-skill/references/scroll-patterns.md +305 -0
  603. package/baseline/skill/swiftui-expert-skill/references/sheet-navigation-patterns.md +292 -0
  604. package/baseline/skill/swiftui-expert-skill/references/state-management.md +447 -0
  605. package/baseline/skill/swiftui-expert-skill/references/text-formatting.md +285 -0
  606. package/baseline/skill/swiftui-expert-skill/references/view-structure.md +276 -0
  607. package/baseline/skill/systematic-debugging/SKILL.md +402 -0
  608. package/baseline/skill/test-driven-development/SKILL.md +388 -0
  609. package/baseline/skill/testing-anti-patterns/SKILL.md +333 -0
  610. package/baseline/skill/testing-skills-with-subagents/SKILL.md +405 -0
  611. package/baseline/skill/tilth-cli/SKILL.md +180 -0
  612. package/baseline/skill/tool-priority/SKILL.md +299 -0
  613. package/baseline/skill/ui-ux-research/SKILL.md +9 -0
  614. package/baseline/skill/using-git-worktrees/SKILL.md +259 -0
  615. package/baseline/skill/using-skills/SKILL.md +117 -0
  616. package/baseline/skill/v0/SKILL.md +158 -0
  617. package/baseline/skill/v1-run/SKILL.md +175 -0
  618. package/baseline/skill/v1-run/mcp.json +6 -0
  619. package/baseline/skill/vercel-deploy-claimable/SKILL.md +124 -0
  620. package/baseline/skill/vercel-deploy-claimable/scripts/deploy.sh +249 -0
  621. package/baseline/skill/verification-before-completion/SKILL.md +236 -0
  622. package/baseline/skill/verification-before-completion/references/VERIFICATION_PROTOCOL.md +171 -0
  623. package/baseline/skill/visual-analysis/SKILL.md +154 -0
  624. package/baseline/skill/web-design-guidelines/SKILL.md +46 -0
  625. package/baseline/skill/writing-plans/SKILL.md +320 -0
  626. package/baseline/skill/writing-skills/SKILL.md +287 -0
  627. package/baseline/skill/writing-skills/anthropic-best-practices.md +1173 -0
  628. package/baseline/skill/writing-skills/graphviz-conventions.dot +172 -0
  629. package/baseline/skill/writing-skills/persuasion-principles.md +220 -0
  630. package/baseline/skill/writing-skills/references/anti-patterns.md +25 -0
  631. package/baseline/skill/writing-skills/references/claude-search-optimization.md +140 -0
  632. package/baseline/skill/writing-skills/references/discovery-workflow.md +11 -0
  633. package/baseline/skill/writing-skills/references/file-organization.md +32 -0
  634. package/baseline/skill/writing-skills/references/flowcharts-and-examples.md +57 -0
  635. package/baseline/skill/writing-skills/references/rationalization-hardening.md +75 -0
  636. package/baseline/skill/writing-skills/references/testing-skill-types.md +52 -0
  637. package/baseline/tool/context7.ts +191 -0
  638. package/baseline/tool/grepsearch.ts +143 -0
  639. package/baseline/tsconfig.json +21 -0
  640. package/baseline/tui.json +15 -0
  641. package/bin/mrc-opc.mjs +25 -0
  642. package/bin/ocp.mjs +25 -0
  643. package/bin/opc.mjs +25 -0
  644. package/bin/opencode-starterkit.mjs +25 -0
  645. package/docs/reports/2026-03-18-memory-db-architecture-note.md +47 -0
  646. package/docs/reports/2026-03-18-vat-opencode-classification-matrix.md +180 -0
  647. package/package.json +25 -0
  648. package/src/cli.mjs +41 -0
  649. package/src/config-merge.mjs +61 -0
  650. package/src/constants.mjs +58 -0
  651. package/src/fs-utils.mjs +46 -0
  652. package/src/install-global.mjs +102 -0
  653. package/src/install-project.mjs +81 -0
  654. package/src/memory-bootstrap.mjs +29 -0
  655. package/src/prompt.mjs +31 -0
  656. package/src/templates.mjs +31 -0
@@ -0,0 +1,533 @@
1
+ # Core Data and Swift Concurrency
2
+
3
+ Thread-safe patterns for using Core Data with Swift Concurrency.
4
+
5
+ ## Core Principles
6
+
7
+ ### Thread safety still matters
8
+
9
+ Core Data's thread safety rules don't change with Swift Concurrency:
10
+ - Can't pass `NSManagedObject` between threads
11
+ - Must access objects on their context's thread
12
+ - `NSManagedObjectID` is thread-safe (can pass around)
13
+
14
+ ### NSManagedObject cannot be Sendable
15
+
16
+ ```swift
17
+ @objc(Article)
18
+ public class Article: NSManagedObject {
19
+ @NSManaged public var title: String // ❌ Mutable, can't be Sendable
20
+ }
21
+ ```
22
+
23
+ **Don't use `@unchecked Sendable`** - hides warnings without fixing safety.
24
+
25
+ > **Course Deep Dive**: This topic is covered in detail in [Lesson 9.1: An introduction to Swift Concurrency and Core Data](https://www.swiftconcurrencycourse.com?utm_source=github&utm_medium=agent-skill&utm_campaign=lesson-reference)
26
+
27
+ ## Available Async APIs
28
+
29
+ ### Context perform
30
+
31
+ ```swift
32
+ extension NSManagedObjectContext {
33
+ func perform<T>(
34
+ schedule: ScheduledTaskType = .immediate,
35
+ _ block: @escaping () throws -> T
36
+ ) async rethrows -> T
37
+ }
38
+ ```
39
+
40
+ ### What's missing
41
+
42
+ No async alternative for:
43
+ ```swift
44
+ func loadPersistentStores(
45
+ completionHandler: @escaping (NSPersistentStoreDescription, Error?) -> Void
46
+ )
47
+ ```
48
+
49
+ Must bridge manually (see below).
50
+
51
+ ## Data Access Objects (DAO)
52
+
53
+ Thread-safe value types representing managed objects.
54
+
55
+ ### Pattern
56
+
57
+ ```swift
58
+ // Managed object (not Sendable)
59
+ @objc(Article)
60
+ public class Article: NSManagedObject {
61
+ @NSManaged public var title: String?
62
+ @NSManaged public var timestamp: Date?
63
+ }
64
+
65
+ // DAO (Sendable)
66
+ struct ArticleDAO: Sendable, Identifiable {
67
+ let id: NSManagedObjectID
68
+ let title: String
69
+ let timestamp: Date
70
+
71
+ init?(managedObject: Article) {
72
+ guard let title = managedObject.title,
73
+ let timestamp = managedObject.timestamp else {
74
+ return nil
75
+ }
76
+ self.id = managedObject.objectID
77
+ self.title = title
78
+ self.timestamp = timestamp
79
+ }
80
+ }
81
+ ```
82
+
83
+ ### Benefits
84
+
85
+ - **Sendable**: Safe to pass across isolation domains
86
+ - **Immutable**: No accidental mutations
87
+ - **Clear API**: Explicit data transfer
88
+
89
+ ### Drawbacks
90
+
91
+ - **Requires rewrite**: All fetch/mutation logic
92
+ - **Boilerplate**: DAO for each entity
93
+ - **Complexity**: Additional layer of abstraction
94
+
95
+ > **Course Deep Dive**: This topic is covered in detail in [Lesson 9.2: Sendable and NSManageObjects](https://www.swiftconcurrencycourse.com?utm_source=github&utm_medium=agent-skill&utm_campaign=lesson-reference)
96
+
97
+ ## Working Without DAOs
98
+
99
+ Pass only `NSManagedObjectID` between contexts.
100
+
101
+ ### Basic pattern
102
+
103
+ ```swift
104
+ @MainActor
105
+ func fetchArticle(id: NSManagedObjectID) -> Article? {
106
+ viewContext.object(with: id) as? Article
107
+ }
108
+
109
+ func processInBackground(articleID: NSManagedObjectID) async throws {
110
+ let backgroundContext = container.newBackgroundContext()
111
+ try await backgroundContext.perform {
112
+ guard let article = backgroundContext.object(with: articleID) as? Article else {
113
+ return
114
+ }
115
+ // Process article
116
+ try backgroundContext.save()
117
+ }
118
+ }
119
+ ```
120
+
121
+ ### NSManagedObjectID is Sendable
122
+
123
+ ```swift
124
+ // Safe to pass between tasks
125
+ let articleID = article.objectID
126
+
127
+ Task {
128
+ await processInBackground(articleID: articleID)
129
+ }
130
+ ```
131
+
132
+ ## Bridging Closures to Async
133
+
134
+ ### Load persistent stores
135
+
136
+ ```swift
137
+ extension NSPersistentContainer {
138
+ func loadPersistentStores() async throws {
139
+ try await withCheckedThrowingContinuation { continuation in
140
+ self.loadPersistentStores { description, error in
141
+ if let error {
142
+ continuation.resume(throwing: error)
143
+ } else {
144
+ continuation.resume(returning: ())
145
+ }
146
+ }
147
+ }
148
+ }
149
+ }
150
+
151
+ // Usage
152
+ try await container.loadPersistentStores()
153
+ ```
154
+
155
+ ## Simple CoreDataStore Pattern
156
+
157
+ Enforce isolation at API level:
158
+
159
+ ```swift
160
+ nonisolated struct CoreDataStore {
161
+ static let shared = CoreDataStore()
162
+
163
+ let persistentContainer: NSPersistentContainer
164
+ private var viewContext: NSManagedObjectContext {
165
+ persistentContainer.viewContext
166
+ }
167
+
168
+ private init() {
169
+ persistentContainer = NSPersistentContainer(name: "MyApp")
170
+ persistentContainer.viewContext.automaticallyMergesChangesFromParent = true
171
+
172
+ Task { [persistentContainer] in
173
+ try? await persistentContainer.loadPersistentStores()
174
+ }
175
+ }
176
+
177
+ // View context operations (main thread)
178
+ @MainActor
179
+ func perform(_ block: (NSManagedObjectContext) throws -> Void) rethrows {
180
+ try block(viewContext)
181
+ }
182
+
183
+ // Background operations
184
+ @concurrent
185
+ func performInBackground<T>(
186
+ _ block: @escaping (NSManagedObjectContext) throws -> T
187
+ ) async rethrows -> T {
188
+ let context = persistentContainer.newBackgroundContext()
189
+ return try await context.perform {
190
+ try block(context)
191
+ }
192
+ }
193
+ }
194
+ ```
195
+
196
+ ### Usage
197
+
198
+ ```swift
199
+ // Main thread operations
200
+ @MainActor
201
+ func loadArticles() throws -> [Article] {
202
+ try CoreDataStore.shared.perform { context in
203
+ let request = Article.fetchRequest()
204
+ return try context.fetch(request)
205
+ }
206
+ }
207
+
208
+ // Background operations
209
+ func deleteAll() async throws {
210
+ try await CoreDataStore.shared.performInBackground { context in
211
+ let request = Article.fetchRequest()
212
+ let articles = try context.fetch(request)
213
+ articles.forEach { context.delete($0) }
214
+ try context.save()
215
+ }
216
+ }
217
+ ```
218
+
219
+ ### Why this pattern works
220
+
221
+ - **@MainActor**: Enforces view context on main thread
222
+ - **@concurrent**: Forces background execution
223
+ - **Compile-time safety**: Wrong isolation = error
224
+ - **Simple**: No custom executors needed
225
+
226
+ ## Custom Actor Executor (Advanced)
227
+
228
+ **Note**: Usually not needed. Consider simple pattern first.
229
+
230
+ > **Course Deep Dive**: This topic is covered in detail in [Lesson 9.3: Using a custom Actor executor for Core Data (advanced)](https://www.swiftconcurrencycourse.com?utm_source=github&utm_medium=agent-skill&utm_campaign=lesson-reference)
231
+
232
+ ### Implementation
233
+
234
+ ```swift
235
+ final class NSManagedObjectContextExecutor: @unchecked Sendable, SerialExecutor {
236
+ private let context: NSManagedObjectContext
237
+
238
+ init(context: NSManagedObjectContext) {
239
+ self.context = context
240
+ }
241
+
242
+ func enqueue(_ job: consuming ExecutorJob) {
243
+ let unownedJob = UnownedJob(job)
244
+ let executor = asUnownedSerialExecutor()
245
+
246
+ context.perform {
247
+ unownedJob.runSynchronously(on: executor)
248
+ }
249
+ }
250
+
251
+ func asUnownedSerialExecutor() -> UnownedSerialExecutor {
252
+ UnownedSerialExecutor(ordinary: self)
253
+ }
254
+ }
255
+ ```
256
+
257
+ ### Actor usage
258
+
259
+ ```swift
260
+ actor CoreDataStore {
261
+ let persistentContainer: NSPersistentContainer
262
+ nonisolated let modelExecutor: NSManagedObjectContextExecutor
263
+
264
+ nonisolated var unownedExecutor: UnownedSerialExecutor {
265
+ modelExecutor.asUnownedSerialExecutor()
266
+ }
267
+
268
+ private init() {
269
+ persistentContainer = NSPersistentContainer(name: "MyApp")
270
+ let context = persistentContainer.newBackgroundContext()
271
+ modelExecutor = NSManagedObjectContextExecutor(context: context)
272
+ }
273
+
274
+ func deleteAll<T: NSManagedObject>(
275
+ using request: NSFetchRequest<T>
276
+ ) throws {
277
+ let objects = try context.fetch(request)
278
+ objects.forEach { context.delete($0) }
279
+ try context.save()
280
+ }
281
+ }
282
+ ```
283
+
284
+ ### Drawbacks
285
+
286
+ - **Hidden complexity**: Executor details obscure Core Data
287
+ - **Forces concurrency**: Even for main thread operations
288
+ - **Not simpler**: More code than `perform { }`
289
+ - **Error prone**: Easy to use wrong context
290
+
291
+ **Recommendation**: Use simple pattern instead.
292
+
293
+ ## Default MainActor Isolation
294
+
295
+ ### Problem with auto-generated code
296
+
297
+ When default isolation set to `@MainActor`, auto-generated managed objects conflict:
298
+
299
+ ```swift
300
+ // Auto-generated (can't modify)
301
+ class Article: NSManagedObject {
302
+ // Inherits @MainActor, conflicts with NSManagedObject
303
+ }
304
+ ```
305
+
306
+ **Error**: `Main actor-isolated initializer has different actor isolation from nonisolated overridden declaration`
307
+
308
+ ### Solution: Manual code generation
309
+
310
+ 1. Set entity to "Manual/None" code generation
311
+ 2. Generate class definitions
312
+ 3. Mark as `nonisolated`:
313
+
314
+ ```swift
315
+ nonisolated class Article: NSManagedObject {
316
+ @NSManaged public var title: String?
317
+ @NSManaged public var timestamp: Date?
318
+ }
319
+
320
+ > **Course Deep Dive**: This topic is covered in detail in [Lesson 9.4: Autogenerated Core Data Objects and Default MainActor Isolation Conflicts](https://www.swiftconcurrencycourse.com?utm_source=github&utm_medium=agent-skill&utm_campaign=lesson-reference)
321
+ ```
322
+
323
+ **Benefit**: Full control over isolation.
324
+
325
+ ## Common Patterns
326
+
327
+ ### Fetch on main thread
328
+
329
+ ```swift
330
+ @MainActor
331
+ func fetchArticles() throws -> [Article] {
332
+ let request = Article.fetchRequest()
333
+ return try viewContext.fetch(request)
334
+ }
335
+ ```
336
+
337
+ ### Background save
338
+
339
+ ```swift
340
+ func saveInBackground() async throws {
341
+ let context = container.newBackgroundContext()
342
+ try await context.perform {
343
+ let article = Article(context: context)
344
+ article.title = "New Article"
345
+ try context.save()
346
+ }
347
+ }
348
+ ```
349
+
350
+ ### Pass ID, fetch in context
351
+
352
+ ```swift
353
+ @MainActor
354
+ func displayArticle(id: NSManagedObjectID) {
355
+ guard let article = viewContext.object(with: id) as? Article else {
356
+ return
357
+ }
358
+ // Use article
359
+ }
360
+
361
+ func processArticle(id: NSManagedObjectID) async throws {
362
+ try await CoreDataStore.shared.performInBackground { context in
363
+ guard let article = context.object(with: id) as? Article else {
364
+ return
365
+ }
366
+ // Process article
367
+ try context.save()
368
+ }
369
+ }
370
+ ```
371
+
372
+ ### Batch operations
373
+
374
+ ```swift
375
+ @concurrent
376
+ func deleteAllArticles() async throws {
377
+ try await CoreDataStore.shared.performInBackground { context in
378
+ let request = NSFetchRequest<NSFetchRequestResult>(entityName: "Article")
379
+ let deleteRequest = NSBatchDeleteRequest(fetchRequest: request)
380
+ try context.execute(deleteRequest)
381
+ }
382
+ }
383
+ ```
384
+
385
+ ## SwiftUI Integration
386
+
387
+ ### Environment injection
388
+
389
+ ```swift
390
+ @main
391
+ struct MyApp: App {
392
+ let persistentContainer = NSPersistentContainer(name: "MyApp")
393
+
394
+ var body: some Scene {
395
+ WindowGroup {
396
+ ContentView()
397
+ .environment(\.managedObjectContext, persistentContainer.viewContext)
398
+ }
399
+ }
400
+ }
401
+ ```
402
+
403
+ ### View usage
404
+
405
+ ```swift
406
+ struct ContentView: View {
407
+ @Environment(\.managedObjectContext) private var viewContext
408
+ @FetchRequest(
409
+ sortDescriptors: [NSSortDescriptor(keyPath: \Article.timestamp, ascending: true)]
410
+ ) private var articles: FetchedResults<Article>
411
+
412
+ var body: some View {
413
+ List(articles) { article in
414
+ Text(article.title ?? "")
415
+ }
416
+ }
417
+ }
418
+ ```
419
+
420
+ ## Best Practices
421
+
422
+ 1. **Pass NSManagedObjectID only** - never managed objects
423
+ 2. **Use perform { }** - don't access context directly
424
+ 3. **@MainActor for view context** - enforce main thread
425
+ 4. **@concurrent for background** - force background execution
426
+ 5. **Manual code generation** - control isolation
427
+ 6. **Keep it simple** - avoid custom executors unless needed
428
+ 7. **Enable Core Data debugging** - catch thread violations
429
+ 8. **Merge changes automatically** - `automaticallyMergesChangesFromParent = true`
430
+ 9. **Use background contexts** - for heavy operations
431
+ 10. **Test with Thread Sanitizer** - catch violations early
432
+
433
+ ## Debugging
434
+
435
+ ### Enable Core Data concurrency debugging
436
+
437
+ ```swift
438
+ // Launch argument
439
+ -com.apple.CoreData.ConcurrencyDebug 1
440
+ ```
441
+
442
+ Crashes immediately on thread violations.
443
+
444
+ ### Thread Sanitizer
445
+
446
+ Enable in scheme settings to catch data races.
447
+
448
+ ### Assertions
449
+
450
+ ```swift
451
+ @MainActor
452
+ func fetchArticles() -> [Article] {
453
+ assert(Thread.isMainThread)
454
+ // Fetch from viewContext
455
+ }
456
+ ```
457
+
458
+ ## Decision Tree
459
+
460
+ ```
461
+ Need to access Core Data?
462
+ ├─ UI/View context?
463
+ │ └─ Use @MainActor + viewContext
464
+
465
+ ├─ Background operation?
466
+ │ ├─ Quick operation? → perform { } on background context
467
+ │ └─ Batch operation? → NSBatchDeleteRequest/NSBatchUpdateRequest
468
+
469
+ ├─ Pass between contexts?
470
+ │ └─ Use NSManagedObjectID only
471
+
472
+ └─ Need Sendable type?
473
+ ├─ Can refactor? → Use DAO pattern
474
+ └─ Can't refactor? → Pass NSManagedObjectID
475
+ ```
476
+
477
+ ## Migration Strategy
478
+
479
+ ### For existing projects
480
+
481
+ 1. **Enable manual code generation** for all entities
482
+ 2. **Mark entities as nonisolated** if using default @MainActor
483
+ 3. **Wrap Core Data access** in CoreDataStore
484
+ 4. **Use @MainActor** for view context operations
485
+ 5. **Use @concurrent** for background operations
486
+ 6. **Pass NSManagedObjectID** between contexts
487
+ 7. **Test with debugging enabled**
488
+
489
+ ### For new projects
490
+
491
+ 1. **Start with simple pattern** (CoreDataStore)
492
+ 2. **Manual code generation** from the start
493
+ 3. **Consider DAOs** if heavy cross-context usage
494
+ 4. **Enable strict concurrency** early
495
+
496
+ ## Common Mistakes
497
+
498
+ ### ❌ Passing managed objects
499
+
500
+ ```swift
501
+ func process(article: Article) async {
502
+ // ❌ Article not Sendable
503
+ }
504
+ ```
505
+
506
+ ### ❌ Accessing context from wrong thread
507
+
508
+ ```swift
509
+ func background() async {
510
+ let articles = viewContext.fetch(request) // ❌ Not on main thread
511
+ }
512
+ ```
513
+
514
+ ### ❌ Using @unchecked Sendable
515
+
516
+ ```swift
517
+ extension Article: @unchecked Sendable {} // ❌ Doesn't make it safe
518
+ ```
519
+
520
+ ### ❌ Not using perform
521
+
522
+ ```swift
523
+ func save() async {
524
+ backgroundContext.save() // ❌ Not on context's thread
525
+ }
526
+ ```
527
+
528
+ ## Further Learning
529
+
530
+ For Core Data best practices, migration strategies, and advanced patterns:
531
+ - [Core Data Best Practices](https://github.com/avanderlee/CoreDataBestPractices)
532
+ - [Swift Concurrency Course](https://www.swiftconcurrencycourse.com)
533
+
@@ -0,0 +1,128 @@
1
+ # Glossary
2
+
3
+ Concise definitions of key Swift Concurrency terms used throughout this skill.
4
+
5
+ ## Actor isolation
6
+
7
+ A rule enforced by the compiler: actor-isolated state can only be accessed from the actor's executor. Cross-actor access requires `await`.
8
+
9
+ ## Global actor
10
+
11
+ A shared isolation domain applied via attributes like `@MainActor` or a custom `@globalActor`. Types/functions isolated to the same global actor can interact without crossing isolation.
12
+
13
+ ## Default actor isolation
14
+
15
+ A module/target-level setting that changes the default isolation of declarations. App targets often choose `@MainActor` as the default to reduce migration noise, but it changes behavior and diagnostics.
16
+
17
+ ## Strict concurrency checking
18
+
19
+ Compiler enforcement levels for Sendable and isolation diagnostics (minimal/targeted/complete). Raising the level typically reveals more issues and can trigger the “concurrency rabbit hole” unless migrated incrementally.
20
+
21
+ ## Sendable
22
+
23
+ A marker protocol that indicates a type is safe to transfer across isolation boundaries. The compiler verifies stored properties and captured values for thread-safety.
24
+
25
+ ## @Sendable
26
+
27
+ An annotation for function types/closures that can be executed concurrently. It tightens capture rules (captured values must be Sendable or safely transferred).
28
+
29
+ ## Suspension point
30
+
31
+ An `await` site where a task may suspend and later resume. After a suspension point, you must assume other work may have run and (for actors) state may have changed (reentrancy).
32
+
33
+ ## Reentrancy (actors)
34
+
35
+ While an actor is suspended at an `await`, other tasks can enter the actor and mutate state. Code after `await` must not assume actor state is unchanged.
36
+
37
+ ## nonisolated
38
+
39
+ Marks a declaration as not isolated to the surrounding actor/global actor. Use only when it truly does not touch isolated mutable state (typically immutable Sendable data).
40
+
41
+ ## nonisolated(nonsending) (Swift 6.2+ behavior)
42
+
43
+ An opt-out to prevent “sending” non-Sendable values across isolation while still allowing an async function to run in the caller’s isolation. Used to reduce Sendable friction when you do not need to hop executors.
44
+
45
+ ## @concurrent (Swift 6.2+ behavior)
46
+
47
+ An attribute used to explicitly opt a nonisolated async function into concurrent execution (i.e., not inheriting the caller’s actor). It is used during migration when enabling `NonisolatedNonsendingByDefault`.
48
+
49
+ ## @preconcurrency
50
+
51
+ An annotation used to suppress Sendable-related diagnostics from a module that predates concurrency annotations. It reduces noise but shifts safety responsibility to you.
52
+
53
+ ## Region-based isolation / sending
54
+
55
+ Mechanisms that model ownership transfer so certain non-Sendable values can be moved between regions safely. The `sending` keyword enforces that a value is no longer used after transfer.
56
+
57
+ ## AsyncSequence
58
+
59
+ A protocol for types that provide asynchronous, sequential iteration over elements. Conforms to the `for await` loop pattern. Use for streaming data where elements arrive over time.
60
+
61
+ ## AsyncStream
62
+
63
+ A concrete implementation of `AsyncSequence` that bridges callback-based or delegate-based APIs to async/await. Provides `yield()` to emit values and `finish()` to complete the stream.
64
+
65
+ ## Continuation
66
+
67
+ A mechanism to bridge callback-based APIs to async/await. `withCheckedContinuation` and `withCheckedThrowingContinuation` provide safe bridging with runtime checks. `withUnsafeContinuation` variants skip checks for performance-critical code.
68
+
69
+ ## Task Local
70
+
71
+ Task-scoped storage that propagates values through the task hierarchy automatically. Declared with `@TaskLocal` and accessed via the wrapper's static property. Child tasks inherit parent task locals.
72
+
73
+ ## Cooperative thread pool
74
+
75
+ Swift's threading model where tasks run on a limited pool of threads managed by the runtime. Tasks yield cooperatively at suspension points, allowing other tasks to run. Avoid blocking operations that would starve the pool.
76
+
77
+ ## Executor
78
+
79
+ The scheduling mechanism that determines where and when actor code runs. `MainActor` uses the main thread executor. Custom actors use the default executor unless a custom executor is specified.
80
+
81
+ ## Structured concurrency
82
+
83
+ A pattern where child tasks have a well-defined relationship to parent tasks. Child tasks must complete before the parent scope exits. Provides automatic cancellation propagation and prevents orphaned tasks. Implemented via `async let` and `TaskGroup`.
84
+
85
+ ## Isolation domain
86
+
87
+ A boundary that protects mutable state from concurrent access. Each actor instance defines its own isolation domain. The `@MainActor` global actor defines a shared isolation domain for UI work. Code must cross isolation boundaries explicitly via `await`.
88
+
89
+ ## Task priority
90
+
91
+ A hint to the runtime about the relative importance of a task. Priorities include `.high`, `.medium`, `.low`, `.userInitiated`, `.utility`, and `.background`. Higher priority tasks are scheduled before lower priority ones. Priority can escalate when a high-priority task awaits a low-priority one.
92
+
93
+ ## Cancellation
94
+
95
+ A cooperative mechanism to signal that a task should stop. Check `Task.isCancelled` or call `Task.checkCancellation()` (throws) in long-running work. Cancellation propagates to child tasks in structured concurrency.
96
+
97
+ ## Debounce
98
+
99
+ Wait for a period of inactivity before emitting a value. Used to reduce API calls for rapid inputs like search fields. Implemented as `debounce(for:tolerance:clock:)` in AsyncAlgorithms.
100
+
101
+ ## Throttle
102
+
103
+ Emit at most one value per time interval, discarding intermediate values. Used to prevent excessive calls from repeated actions like button taps. Implemented as `throttle(for:clock:reducing:)` in AsyncAlgorithms.
104
+
105
+ ## Merge (AsyncAlgorithms)
106
+
107
+ Combine multiple asynchronous sequences into one, emitting values as they arrive from any source. Order is interleaved based on emission timing. Stable operator.
108
+
109
+ ## CombineLatest (AsyncAlgorithms)
110
+
111
+ Combine multiple asynchronous sequences, emitting a tuple whenever any source emits a new value. Always uses the latest value from each sequence. Stable operator.
112
+
113
+ ## Zip (AsyncAlgorithms)
114
+
115
+ Combine multiple asynchronous sequences by pairing elements in order. Waits for all sequences to emit before producing a tuple. Stable operator.
116
+
117
+ ## AsyncChannel
118
+
119
+ An AsyncSequence with backpressure sending semantics. Allows multiple producers to send values safely to multiple consumers with flow control. Stable operator.
120
+
121
+ ## AsyncThrowingChannel
122
+
123
+ Like AsyncChannel but can emit errors through the stream. Stable operator.
124
+
125
+ ## AsyncTimerSequence
126
+
127
+ An AsyncSequence that emits a value at regular intervals. Replaces timer-based publishers and manual sleep loops. Stable operator.
128
+