@rotifer/playground 0.8.0 → 0.8.5

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 (445) hide show
  1. package/CHANGELOG.md +38 -11
  2. package/README.md +64 -48
  3. package/README.zh.md +60 -37
  4. package/dist/cloud/auth.d.ts +9 -3
  5. package/dist/cloud/auth.d.ts.map +1 -1
  6. package/dist/cloud/auth.js +28 -13
  7. package/dist/cloud/auth.js.map +1 -1
  8. package/dist/cloud/client.d.ts +4 -3
  9. package/dist/cloud/client.d.ts.map +1 -1
  10. package/dist/cloud/client.js +152 -72
  11. package/dist/cloud/client.js.map +1 -1
  12. package/dist/cloud/types.d.ts +3 -0
  13. package/dist/cloud/types.d.ts.map +1 -1
  14. package/dist/cloud/types.js.map +1 -1
  15. package/dist/commands/agent-create.d.ts +20 -0
  16. package/dist/commands/agent-create.d.ts.map +1 -1
  17. package/dist/commands/agent-create.js +94 -80
  18. package/dist/commands/agent-create.js.map +1 -1
  19. package/dist/commands/agent-list.d.ts.map +1 -1
  20. package/dist/commands/agent-list.js +27 -24
  21. package/dist/commands/agent-list.js.map +1 -1
  22. package/dist/commands/agent-run.d.ts +24 -0
  23. package/dist/commands/agent-run.d.ts.map +1 -1
  24. package/dist/commands/agent-run.js +302 -26
  25. package/dist/commands/agent-run.js.map +1 -1
  26. package/dist/commands/api-key.d.ts +3 -0
  27. package/dist/commands/api-key.d.ts.map +1 -0
  28. package/dist/commands/api-key.js +235 -0
  29. package/dist/commands/api-key.js.map +1 -0
  30. package/dist/commands/arena-list.d.ts.map +1 -1
  31. package/dist/commands/arena-list.js +113 -97
  32. package/dist/commands/arena-list.js.map +1 -1
  33. package/dist/commands/arena-submit.d.ts.map +1 -1
  34. package/dist/commands/arena-submit.js +114 -31
  35. package/dist/commands/arena-submit.js.map +1 -1
  36. package/dist/commands/arena-watch.d.ts.map +1 -1
  37. package/dist/commands/arena-watch.js +59 -87
  38. package/dist/commands/arena-watch.js.map +1 -1
  39. package/dist/commands/compare.d.ts.map +1 -1
  40. package/dist/commands/compare.js +40 -50
  41. package/dist/commands/compare.js.map +1 -1
  42. package/dist/commands/compile.d.ts.map +1 -1
  43. package/dist/commands/compile.js +60 -37
  44. package/dist/commands/compile.js.map +1 -1
  45. package/dist/commands/hello.d.ts +3 -0
  46. package/dist/commands/hello.d.ts.map +1 -0
  47. package/dist/commands/hello.js +575 -0
  48. package/dist/commands/hello.js.map +1 -0
  49. package/dist/commands/info.d.ts.map +1 -1
  50. package/dist/commands/info.js +130 -40
  51. package/dist/commands/info.js.map +1 -1
  52. package/dist/commands/init.d.ts.map +1 -1
  53. package/dist/commands/init.js +39 -60
  54. package/dist/commands/init.js.map +1 -1
  55. package/dist/commands/install.d.ts.map +1 -1
  56. package/dist/commands/install.js +35 -9
  57. package/dist/commands/install.js.map +1 -1
  58. package/dist/commands/list.d.ts.map +1 -1
  59. package/dist/commands/list.js +111 -58
  60. package/dist/commands/list.js.map +1 -1
  61. package/dist/commands/login.d.ts.map +1 -1
  62. package/dist/commands/login.js +23 -10
  63. package/dist/commands/login.js.map +1 -1
  64. package/dist/commands/network.d.ts.map +1 -1
  65. package/dist/commands/network.js +48 -67
  66. package/dist/commands/network.js.map +1 -1
  67. package/dist/commands/publish.d.ts.map +1 -1
  68. package/dist/commands/publish.js +127 -53
  69. package/dist/commands/publish.js.map +1 -1
  70. package/dist/commands/reputation.js +84 -85
  71. package/dist/commands/reputation.js.map +1 -1
  72. package/dist/commands/run.d.ts.map +1 -1
  73. package/dist/commands/run.js +26 -9
  74. package/dist/commands/run.js.map +1 -1
  75. package/dist/commands/scan.d.ts.map +1 -1
  76. package/dist/commands/scan.js +8 -9
  77. package/dist/commands/scan.js.map +1 -1
  78. package/dist/commands/search.d.ts.map +1 -1
  79. package/dist/commands/search.js +80 -54
  80. package/dist/commands/search.js.map +1 -1
  81. package/dist/commands/self-update.d.ts +7 -0
  82. package/dist/commands/self-update.d.ts.map +1 -0
  83. package/dist/commands/self-update.js +187 -0
  84. package/dist/commands/self-update.js.map +1 -0
  85. package/dist/commands/stats.d.ts.map +1 -1
  86. package/dist/commands/stats.js +20 -26
  87. package/dist/commands/stats.js.map +1 -1
  88. package/dist/commands/test.d.ts.map +1 -1
  89. package/dist/commands/test.js +95 -75
  90. package/dist/commands/test.js.map +1 -1
  91. package/dist/commands/user-config.d.ts +3 -0
  92. package/dist/commands/user-config.d.ts.map +1 -0
  93. package/dist/commands/user-config.js +82 -0
  94. package/dist/commands/user-config.js.map +1 -0
  95. package/dist/commands/versions.d.ts.map +1 -1
  96. package/dist/commands/versions.js +46 -33
  97. package/dist/commands/versions.js.map +1 -1
  98. package/dist/commands/vg.d.ts.map +1 -1
  99. package/dist/commands/vg.js +65 -63
  100. package/dist/commands/vg.js.map +1 -1
  101. package/dist/commands/whoami.d.ts.map +1 -1
  102. package/dist/commands/whoami.js +33 -23
  103. package/dist/commands/whoami.js.map +1 -1
  104. package/dist/commands/wrap.d.ts.map +1 -1
  105. package/dist/commands/wrap.js +269 -29
  106. package/dist/commands/wrap.js.map +1 -1
  107. package/dist/index.js +61 -1
  108. package/dist/index.js.map +1 -1
  109. package/dist/publish/pre-publish-check.d.ts +15 -0
  110. package/dist/publish/pre-publish-check.d.ts.map +1 -0
  111. package/dist/publish/pre-publish-check.js +228 -0
  112. package/dist/publish/pre-publish-check.js.map +1 -0
  113. package/dist/runtime/domain-failover.d.ts +63 -0
  114. package/dist/runtime/domain-failover.d.ts.map +1 -0
  115. package/dist/runtime/domain-failover.js +164 -0
  116. package/dist/runtime/domain-failover.js.map +1 -0
  117. package/dist/runtime/network-gateway.d.ts +1 -1
  118. package/dist/runtime/network-gateway.d.ts.map +1 -1
  119. package/dist/runtime/network-gateway.js +10 -10
  120. package/dist/runtime/network-gateway.js.map +1 -1
  121. package/dist/scanner/scanner.js +3 -3
  122. package/dist/scanner/scanner.js.map +1 -1
  123. package/dist/utils/binding.d.ts.map +1 -1
  124. package/dist/utils/binding.js +5 -4
  125. package/dist/utils/binding.js.map +1 -1
  126. package/dist/utils/content-hash.d.ts +3 -0
  127. package/dist/utils/content-hash.d.ts.map +1 -0
  128. package/dist/utils/content-hash.js +25 -0
  129. package/dist/utils/content-hash.js.map +1 -0
  130. package/dist/utils/display.d.ts +44 -1
  131. package/dist/utils/display.d.ts.map +1 -1
  132. package/dist/utils/display.js +443 -14
  133. package/dist/utils/display.js.map +1 -1
  134. package/dist/utils/domain-suggest.d.ts.map +1 -1
  135. package/dist/utils/domain-suggest.js +3 -3
  136. package/dist/utils/domain-suggest.js.map +1 -1
  137. package/dist/utils/javy-compiler.js +9 -3
  138. package/dist/utils/javy-compiler.js.map +1 -1
  139. package/dist/utils/open-browser.d.ts +7 -3
  140. package/dist/utils/open-browser.d.ts.map +1 -1
  141. package/dist/utils/open-browser.js +15 -4
  142. package/dist/utils/open-browser.js.map +1 -1
  143. package/dist/utils/palette.d.ts +49 -0
  144. package/dist/utils/palette.d.ts.map +1 -0
  145. package/dist/utils/palette.js +80 -0
  146. package/dist/utils/palette.js.map +1 -0
  147. package/dist/utils/private-fs.d.ts +3 -0
  148. package/dist/utils/private-fs.d.ts.map +1 -0
  149. package/dist/utils/private-fs.js +25 -0
  150. package/dist/utils/private-fs.js.map +1 -0
  151. package/dist/utils/project-root.d.ts +2 -0
  152. package/dist/utils/project-root.d.ts.map +1 -0
  153. package/dist/utils/project-root.js +49 -0
  154. package/dist/utils/project-root.js.map +1 -0
  155. package/dist/utils/run-logger.d.ts +24 -0
  156. package/dist/utils/run-logger.d.ts.map +1 -0
  157. package/dist/utils/run-logger.js +70 -0
  158. package/dist/utils/run-logger.js.map +1 -0
  159. package/dist/utils/update-check.d.ts +20 -0
  160. package/dist/utils/update-check.d.ts.map +1 -0
  161. package/dist/utils/update-check.js +155 -0
  162. package/dist/utils/update-check.js.map +1 -0
  163. package/dist/utils/user-config.d.ts +10 -0
  164. package/dist/utils/user-config.d.ts.map +1 -0
  165. package/dist/utils/user-config.js +54 -0
  166. package/dist/utils/user-config.js.map +1 -0
  167. package/dist/utils/validate-gene-name.d.ts +7 -0
  168. package/dist/utils/validate-gene-name.d.ts.map +1 -0
  169. package/dist/utils/validate-gene-name.js +28 -0
  170. package/dist/utils/validate-gene-name.js.map +1 -0
  171. package/genes/genesis-code-format/phenotype.json +4 -3
  172. package/genes/genesis-file-read/phenotype.json +4 -3
  173. package/genes/genesis-l0-constraint/phenotype.json +4 -3
  174. package/genes/genesis-web-search/phenotype.json +5 -4
  175. package/genes/genesis-web-search-lite/phenotype.json +4 -3
  176. package/package.json +29 -8
  177. package/scripts/postinstall.js +38 -0
  178. package/dist/errors/formatter.d.ts +0 -25
  179. package/dist/errors/formatter.d.ts.map +0 -1
  180. package/dist/errors/formatter.js +0 -43
  181. package/dist/errors/formatter.js.map +0 -1
  182. package/genes/academic-writer/.cloud-manifest.json +0 -6
  183. package/genes/academic-writer/.gene-manifest.json +0 -8
  184. package/genes/academic-writer/SKILL.md +0 -274
  185. package/genes/academic-writer/phenotype.json +0 -28
  186. package/genes/ai-components/.cloud-manifest.json +0 -6
  187. package/genes/ai-components/.gene-manifest.json +0 -8
  188. package/genes/ai-components/SKILL.md +0 -381
  189. package/genes/ai-components/phenotype.json +0 -28
  190. package/genes/algorithmic-art/.cloud-manifest.json +0 -6
  191. package/genes/algorithmic-art/.gene-manifest.json +0 -8
  192. package/genes/algorithmic-art/SKILL.md +0 -405
  193. package/genes/algorithmic-art/phenotype.json +0 -28
  194. package/genes/answer-synthesizer/.cloud-manifest.json +0 -6
  195. package/genes/answer-synthesizer/index.ts +0 -194
  196. package/genes/answer-synthesizer/phenotype.json +0 -61
  197. package/genes/api-designer/.cloud-manifest.json +0 -6
  198. package/genes/api-designer/.gene-manifest.json +0 -8
  199. package/genes/api-designer/SKILL.md +0 -456
  200. package/genes/api-designer/phenotype.json +0 -28
  201. package/genes/auto-coder/.cloud-manifest.json +0 -6
  202. package/genes/auto-coder/.gene-manifest.json +0 -8
  203. package/genes/auto-coder/SKILL.md +0 -400
  204. package/genes/auto-coder/phenotype.json +0 -28
  205. package/genes/auto-writer/.cloud-manifest.json +0 -6
  206. package/genes/auto-writer/.gene-manifest.json +0 -8
  207. package/genes/auto-writer/SKILL.md +0 -361
  208. package/genes/auto-writer/phenotype.json +0 -28
  209. package/genes/brand-personality/.cloud-manifest.json +0 -6
  210. package/genes/brand-personality/.gene-manifest.json +0 -8
  211. package/genes/brand-personality/SKILL.md +0 -549
  212. package/genes/brand-personality/phenotype.json +0 -28
  213. package/genes/business-writer/.cloud-manifest.json +0 -6
  214. package/genes/business-writer/.gene-manifest.json +0 -8
  215. package/genes/business-writer/SKILL.md +0 -448
  216. package/genes/business-writer/phenotype.json +0 -28
  217. package/genes/citation-manager/.cloud-manifest.json +0 -6
  218. package/genes/citation-manager/.gene-manifest.json +0 -8
  219. package/genes/citation-manager/SKILL.md +0 -279
  220. package/genes/citation-manager/index.ts +0 -162
  221. package/genes/citation-manager/package.json +0 -1
  222. package/genes/citation-manager/phenotype.json +0 -50
  223. package/genes/code-complexity/.cloud-manifest.json +0 -6
  224. package/genes/code-complexity/README.md +0 -35
  225. package/genes/code-complexity/index.ts +0 -101
  226. package/genes/code-complexity/phenotype.json +0 -34
  227. package/genes/copywriter/.cloud-manifest.json +0 -6
  228. package/genes/copywriter/.gene-manifest.json +0 -8
  229. package/genes/copywriter/SKILL.md +0 -329
  230. package/genes/copywriter/phenotype.json +0 -28
  231. package/genes/creative-writer/.cloud-manifest.json +0 -6
  232. package/genes/creative-writer/.gene-manifest.json +0 -8
  233. package/genes/creative-writer/SKILL.md +0 -356
  234. package/genes/creative-writer/phenotype.json +0 -28
  235. package/genes/data-modeler/.cloud-manifest.json +0 -6
  236. package/genes/data-modeler/.gene-manifest.json +0 -8
  237. package/genes/data-modeler/SKILL.md +0 -486
  238. package/genes/data-modeler/phenotype.json +0 -28
  239. package/genes/debugger/.cloud-manifest.json +0 -6
  240. package/genes/debugger/.gene-manifest.json +0 -8
  241. package/genes/debugger/SKILL.md +0 -416
  242. package/genes/debugger/phenotype.json +0 -28
  243. package/genes/design-tokens/.cloud-manifest.json +0 -6
  244. package/genes/design-tokens/.gene-manifest.json +0 -8
  245. package/genes/design-tokens/SKILL.md +0 -222
  246. package/genes/design-tokens/index.ts +0 -128
  247. package/genes/design-tokens/package.json +0 -1
  248. package/genes/design-tokens/phenotype.json +0 -1
  249. package/genes/devops-automator/.cloud-manifest.json +0 -6
  250. package/genes/devops-automator/.gene-manifest.json +0 -8
  251. package/genes/devops-automator/SKILL.md +0 -490
  252. package/genes/devops-automator/phenotype.json +0 -28
  253. package/genes/doc-coauthoring/.cloud-manifest.json +0 -6
  254. package/genes/doc-coauthoring/.gene-manifest.json +0 -8
  255. package/genes/doc-coauthoring/SKILL.md +0 -375
  256. package/genes/doc-coauthoring/phenotype.json +0 -28
  257. package/genes/doc-retrieval/.cloud-manifest.json +0 -6
  258. package/genes/doc-retrieval/index.ts +0 -134
  259. package/genes/doc-retrieval/phenotype.json +0 -54
  260. package/genes/docs-writer/.cloud-manifest.json +0 -6
  261. package/genes/docs-writer/.gene-manifest.json +0 -8
  262. package/genes/docs-writer/SKILL.md +0 -492
  263. package/genes/docs-writer/phenotype.json +0 -28
  264. package/genes/evolve-life/.cloud-manifest.json +0 -6
  265. package/genes/evolve-life/.compile-result.json +0 -12
  266. package/genes/evolve-life/README.md +0 -52
  267. package/genes/evolve-life/gene.ir.wasm +0 -0
  268. package/genes/evolve-life/gene.wasm +0 -0
  269. package/genes/evolve-life/index.ts +0 -255
  270. package/genes/evolve-life/phenotype.json +0 -129
  271. package/genes/evolve-life-bitwise/.cloud-manifest.json +0 -6
  272. package/genes/evolve-life-bitwise/.compile-result.json +0 -12
  273. package/genes/evolve-life-bitwise/gene.ir.wasm +0 -0
  274. package/genes/evolve-life-bitwise/gene.wasm +0 -0
  275. package/genes/evolve-life-bitwise/index.ts +0 -273
  276. package/genes/evolve-life-bitwise/phenotype.json +0 -129
  277. package/genes/evolve-life-sparse/.cloud-manifest.json +0 -6
  278. package/genes/evolve-life-sparse/.compile-result.json +0 -12
  279. package/genes/evolve-life-sparse/gene.ir.wasm +0 -0
  280. package/genes/evolve-life-sparse/gene.wasm +0 -0
  281. package/genes/evolve-life-sparse/index.ts +0 -236
  282. package/genes/evolve-life-sparse/phenotype.json +0 -129
  283. package/genes/fact-checker/.cloud-manifest.json +0 -6
  284. package/genes/fact-checker/.gene-manifest.json +0 -8
  285. package/genes/fact-checker/SKILL.md +0 -373
  286. package/genes/fact-checker/phenotype.json +0 -28
  287. package/genes/git-workflow/.cloud-manifest.json +0 -6
  288. package/genes/git-workflow/.gene-manifest.json +0 -8
  289. package/genes/git-workflow/SKILL.md +0 -407
  290. package/genes/git-workflow/phenotype.json +0 -28
  291. package/genes/grammar-checker/.cloud-manifest.json +0 -6
  292. package/genes/grammar-checker/.gene-manifest.json +0 -8
  293. package/genes/grammar-checker/SKILL.md +0 -194
  294. package/genes/grammar-checker/index.ts +0 -168
  295. package/genes/grammar-checker/package.json +0 -1
  296. package/genes/grammar-checker/phenotype.json +0 -52
  297. package/genes/guard-balanced/.gene-manifest.json +0 -8
  298. package/genes/guard-balanced/phenotype.json +0 -105
  299. package/genes/guard-balanced/system-prompt.md +0 -23
  300. package/genes/guard-strict/.gene-manifest.json +0 -8
  301. package/genes/guard-strict/phenotype.json +0 -107
  302. package/genes/guard-strict/system-prompt.md +0 -18
  303. package/genes/json-validator/.cloud-manifest.json +0 -6
  304. package/genes/json-validator/README.md +0 -42
  305. package/genes/json-validator/index.ts +0 -112
  306. package/genes/json-validator/phenotype.json +0 -42
  307. package/genes/license-advisor/.cloud-manifest.json +0 -6
  308. package/genes/license-advisor/.gene-manifest.json +0 -8
  309. package/genes/license-advisor/SKILL.md +0 -117
  310. package/genes/license-advisor/phenotype.json +0 -28
  311. package/genes/logic-architect/.cloud-manifest.json +0 -6
  312. package/genes/logic-architect/.gene-manifest.json +0 -8
  313. package/genes/logic-architect/SKILL.md +0 -451
  314. package/genes/logic-architect/phenotype.json +0 -28
  315. package/genes/markdown-formatter/.cloud-manifest.json +0 -6
  316. package/genes/markdown-formatter/README.md +0 -34
  317. package/genes/markdown-formatter/index.ts +0 -86
  318. package/genes/markdown-formatter/phenotype.json +0 -32
  319. package/genes/orch/.cloud-manifest.json +0 -6
  320. package/genes/orch/.gene-manifest.json +0 -8
  321. package/genes/orch/SKILL.md +0 -504
  322. package/genes/orch/phenotype.json +0 -28
  323. package/genes/particle-barneshut/.cloud-manifest.json +0 -6
  324. package/genes/particle-barneshut/.compile-result.json +0 -12
  325. package/genes/particle-barneshut/README.md +0 -55
  326. package/genes/particle-barneshut/gene.ir.wasm +0 -0
  327. package/genes/particle-barneshut/gene.wasm +0 -0
  328. package/genes/particle-barneshut/index.ts +0 -486
  329. package/genes/particle-barneshut/phenotype.json +0 -137
  330. package/genes/particle-brute/.cloud-manifest.json +0 -6
  331. package/genes/particle-brute/.compile-result.json +0 -12
  332. package/genes/particle-brute/README.md +0 -55
  333. package/genes/particle-brute/gene.ir.wasm +0 -0
  334. package/genes/particle-brute/gene.wasm +0 -0
  335. package/genes/particle-brute/index.ts +0 -277
  336. package/genes/particle-brute/phenotype.json +0 -137
  337. package/genes/particle-spatial/.cloud-manifest.json +0 -6
  338. package/genes/particle-spatial/.compile-result.json +0 -12
  339. package/genes/particle-spatial/README.md +0 -53
  340. package/genes/particle-spatial/gene.ir.wasm +0 -0
  341. package/genes/particle-spatial/gene.wasm +0 -0
  342. package/genes/particle-spatial/index.ts +0 -352
  343. package/genes/particle-spatial/phenotype.json +0 -137
  344. package/genes/performance-optimizer/.cloud-manifest.json +0 -6
  345. package/genes/performance-optimizer/.gene-manifest.json +0 -8
  346. package/genes/performance-optimizer/SKILL.md +0 -480
  347. package/genes/performance-optimizer/phenotype.json +0 -28
  348. package/genes/plagiarism-checker/.cloud-manifest.json +0 -6
  349. package/genes/plagiarism-checker/.gene-manifest.json +0 -8
  350. package/genes/plagiarism-checker/SKILL.md +0 -342
  351. package/genes/plagiarism-checker/phenotype.json +0 -28
  352. package/genes/product-manager/.cloud-manifest.json +0 -6
  353. package/genes/product-manager/.gene-manifest.json +0 -8
  354. package/genes/product-manager/SKILL.md +0 -249
  355. package/genes/product-manager/phenotype.json +0 -28
  356. package/genes/project-reviewer/.cloud-manifest.json +0 -6
  357. package/genes/project-reviewer/.gene-manifest.json +0 -8
  358. package/genes/project-reviewer/SKILL.md +0 -312
  359. package/genes/project-reviewer/phenotype.json +0 -28
  360. package/genes/prompt-engineer/.cloud-manifest.json +0 -6
  361. package/genes/prompt-engineer/.gene-manifest.json +0 -8
  362. package/genes/prompt-engineer/SKILL.md +0 -411
  363. package/genes/prompt-engineer/phenotype.json +0 -28
  364. package/genes/prompt-review-perf/.gene-manifest.json +0 -8
  365. package/genes/prompt-review-perf/phenotype.json +0 -61
  366. package/genes/prompt-review-perf/system-prompt.md +0 -22
  367. package/genes/prompt-review-readability/.gene-manifest.json +0 -8
  368. package/genes/prompt-review-readability/phenotype.json +0 -60
  369. package/genes/prompt-review-readability/system-prompt.md +0 -21
  370. package/genes/prompt-review-security/.gene-manifest.json +0 -8
  371. package/genes/prompt-review-security/phenotype.json +0 -60
  372. package/genes/prompt-review-security/system-prompt.md +0 -21
  373. package/genes/readability-analyzer/.cloud-manifest.json +0 -6
  374. package/genes/readability-analyzer/.gene-manifest.json +0 -8
  375. package/genes/readability-analyzer/SKILL.md +0 -357
  376. package/genes/readability-analyzer/index.ts +0 -123
  377. package/genes/readability-analyzer/package.json +0 -1
  378. package/genes/readability-analyzer/phenotype.json +0 -35
  379. package/genes/rotifer-protocol/SKILL.md +0 -121
  380. package/genes/rule-router-frequency/.gene-manifest.json +0 -8
  381. package/genes/rule-router-frequency/phenotype.json +0 -76
  382. package/genes/rule-router-frequency/system-prompt.md +0 -26
  383. package/genes/rule-router-relevance/.gene-manifest.json +0 -8
  384. package/genes/rule-router-relevance/phenotype.json +0 -76
  385. package/genes/rule-router-relevance/system-prompt.md +0 -29
  386. package/genes/security-auditor/.cloud-manifest.json +0 -6
  387. package/genes/security-auditor/.gene-manifest.json +0 -8
  388. package/genes/security-auditor/SKILL.md +0 -494
  389. package/genes/security-auditor/phenotype.json +0 -28
  390. package/genes/seo-optimizer/.cloud-manifest.json +0 -6
  391. package/genes/seo-optimizer/.gene-manifest.json +0 -8
  392. package/genes/seo-optimizer/SKILL.md +0 -327
  393. package/genes/seo-optimizer/index.ts +0 -206
  394. package/genes/seo-optimizer/package.json +0 -1
  395. package/genes/seo-optimizer/phenotype.json +0 -1
  396. package/genes/source-linker/.cloud-manifest.json +0 -6
  397. package/genes/source-linker/index.ts +0 -88
  398. package/genes/source-linker/phenotype.json +0 -45
  399. package/genes/style-optimizer/.cloud-manifest.json +0 -6
  400. package/genes/style-optimizer/.gene-manifest.json +0 -8
  401. package/genes/style-optimizer/SKILL.md +0 -285
  402. package/genes/style-optimizer/phenotype.json +0 -28
  403. package/genes/tech-lead/.cloud-manifest.json +0 -6
  404. package/genes/tech-lead/.gene-manifest.json +0 -8
  405. package/genes/tech-lead/SKILL.md +0 -451
  406. package/genes/tech-lead/phenotype.json +0 -28
  407. package/genes/test-wrap/.cloud-manifest.json +0 -6
  408. package/genes/test-wrap/.gene-manifest.json +0 -8
  409. package/genes/test-wrap/phenotype.json +0 -28
  410. package/genes/testing-strategist/.cloud-manifest.json +0 -6
  411. package/genes/testing-strategist/.gene-manifest.json +0 -8
  412. package/genes/testing-strategist/SKILL.md +0 -500
  413. package/genes/testing-strategist/phenotype.json +0 -28
  414. package/genes/text-summarizer/.cloud-manifest.json +0 -6
  415. package/genes/text-summarizer/README.md +0 -34
  416. package/genes/text-summarizer/index.ts +0 -122
  417. package/genes/text-summarizer/phenotype.json +0 -32
  418. package/genes/tone-analyzer/.cloud-manifest.json +0 -6
  419. package/genes/tone-analyzer/.gene-manifest.json +0 -8
  420. package/genes/tone-analyzer/SKILL.md +0 -410
  421. package/genes/tone-analyzer/phenotype.json +0 -28
  422. package/genes/translator/.cloud-manifest.json +0 -6
  423. package/genes/translator/.gene-manifest.json +0 -8
  424. package/genes/translator/SKILL.md +0 -355
  425. package/genes/translator/phenotype.json +0 -28
  426. package/genes/ui-components/.cloud-manifest.json +0 -6
  427. package/genes/ui-components/.gene-manifest.json +0 -8
  428. package/genes/ui-components/SKILL.md +0 -467
  429. package/genes/ui-components/phenotype.json +0 -28
  430. package/genes/uiux-designer/.cloud-manifest.json +0 -6
  431. package/genes/uiux-designer/.gene-manifest.json +0 -8
  432. package/genes/uiux-designer/SKILL.md +0 -353
  433. package/genes/uiux-designer/phenotype.json +0 -28
  434. package/genes/url-extractor/.cloud-manifest.json +0 -6
  435. package/genes/url-extractor/README.md +0 -37
  436. package/genes/url-extractor/index.ts +0 -86
  437. package/genes/url-extractor/phenotype.json +0 -48
  438. package/genes/ux-patterns/.cloud-manifest.json +0 -6
  439. package/genes/ux-patterns/.gene-manifest.json +0 -8
  440. package/genes/ux-patterns/SKILL.md +0 -872
  441. package/genes/ux-patterns/phenotype.json +0 -28
  442. package/genes/web3-components/.cloud-manifest.json +0 -6
  443. package/genes/web3-components/.gene-manifest.json +0 -8
  444. package/genes/web3-components/SKILL.md +0 -390
  445. package/genes/web3-components/phenotype.json +0 -28
@@ -1,128 +0,0 @@
1
- interface DesignTokenInput {
2
- primaryHue?: number;
3
- mode?: "light" | "dark";
4
- density?: "compact" | "normal" | "spacious";
5
- borderRadius?: "sharp" | "rounded" | "pill";
6
- }
7
-
8
- interface DesignTokenOutput {
9
- css: string;
10
- tokens: Record<string, string>;
11
- totalTokens: number;
12
- }
13
-
14
- function hsl(h: number, s: number, l: number): string {
15
- return `hsl(${Math.round(h)}, ${Math.round(s)}%, ${Math.round(l)}%)`;
16
- }
17
-
18
- function generatePalette(hue: number, dark: boolean): Record<string, string> {
19
- const bg = dark ? hsl(hue, 5, 5) : hsl(hue, 10, 99);
20
- const surface = dark ? hsl(hue, 5, 8) : hsl(hue, 8, 96);
21
- const surfaceHover = dark ? hsl(hue, 5, 12) : hsl(hue, 8, 93);
22
- const border = dark ? hsl(hue, 6, 15) : hsl(hue, 10, 88);
23
- const borderHover = dark ? hsl(hue, 6, 25) : hsl(hue, 10, 75);
24
- const text = dark ? hsl(hue, 5, 96) : hsl(hue, 8, 8);
25
- const textMuted = dark ? hsl(hue, 4, 60) : hsl(hue, 5, 40);
26
- const textDim = dark ? hsl(hue, 3, 40) : hsl(hue, 4, 60);
27
- const primary = hsl(hue, 70, dark ? 55 : 45);
28
- const primaryHover = hsl(hue, 70, dark ? 60 : 40);
29
- const primaryForeground = dark ? hsl(hue, 5, 5) : hsl(0, 0, 100);
30
- const accent = hsl((hue + 30) % 360, 60, dark ? 50 : 45);
31
- const destructive = hsl(0, 70, dark ? 55 : 45);
32
- const success = hsl(140, 60, dark ? 50 : 40);
33
- const warning = hsl(40, 80, dark ? 55 : 45);
34
-
35
- return {
36
- "--color-bg": bg,
37
- "--color-surface": surface,
38
- "--color-surface-hover": surfaceHover,
39
- "--color-border": border,
40
- "--color-border-hover": borderHover,
41
- "--color-text": text,
42
- "--color-text-muted": textMuted,
43
- "--color-text-dim": textDim,
44
- "--color-primary": primary,
45
- "--color-primary-hover": primaryHover,
46
- "--color-primary-fg": primaryForeground,
47
- "--color-accent": accent,
48
- "--color-destructive": destructive,
49
- "--color-success": success,
50
- "--color-warning": warning,
51
- };
52
- }
53
-
54
- function generateSpacing(density: string): Record<string, string> {
55
- const base = density === "compact" ? 4 : density === "spacious" ? 8 : 6;
56
- const scale = [0.25, 0.5, 1, 1.5, 2, 3, 4, 6, 8, 12];
57
- const tokens: Record<string, string> = {};
58
- scale.forEach((m, i) => {
59
- tokens[`--space-${i}`] = `${Math.round(base * m)}px`;
60
- });
61
- return tokens;
62
- }
63
-
64
- function generateRadius(style: string): Record<string, string> {
65
- const values: Record<string, Record<string, string>> = {
66
- sharp: { "--radius-sm": "2px", "--radius-md": "4px", "--radius-lg": "6px", "--radius-full": "8px" },
67
- rounded: { "--radius-sm": "4px", "--radius-md": "8px", "--radius-lg": "12px", "--radius-full": "9999px" },
68
- pill: { "--radius-sm": "9999px", "--radius-md": "9999px", "--radius-lg": "9999px", "--radius-full": "9999px" },
69
- };
70
- return values[style] || values.rounded;
71
- }
72
-
73
- function generateTypography(): Record<string, string> {
74
- return {
75
- "--font-sans": "'Inter', -apple-system, BlinkMacSystemFont, sans-serif",
76
- "--font-mono": "'JetBrains Mono', 'Fira Code', monospace",
77
- "--text-xs": "0.75rem",
78
- "--text-sm": "0.875rem",
79
- "--text-base": "1rem",
80
- "--text-lg": "1.125rem",
81
- "--text-xl": "1.25rem",
82
- "--text-2xl": "1.5rem",
83
- "--text-3xl": "2rem",
84
- "--line-height-tight": "1.25",
85
- "--line-height-normal": "1.5",
86
- "--line-height-relaxed": "1.75",
87
- "--font-weight-normal": "400",
88
- "--font-weight-medium": "500",
89
- "--font-weight-semibold": "600",
90
- "--font-weight-bold": "700",
91
- };
92
- }
93
-
94
- function generateShadows(dark: boolean): Record<string, string> {
95
- const opacity = dark ? 0.5 : 0.1;
96
- return {
97
- "--shadow-sm": `0 1px 2px rgba(0,0,0,${opacity})`,
98
- "--shadow-md": `0 4px 6px rgba(0,0,0,${opacity})`,
99
- "--shadow-lg": `0 10px 15px rgba(0,0,0,${opacity})`,
100
- "--shadow-xl": `0 20px 25px rgba(0,0,0,${opacity})`,
101
- };
102
- }
103
-
104
- /**
105
- * Design Tokens Gene
106
- *
107
- * Generates a complete CSS custom property system from brand parameters.
108
- * Pure HSL math and scale calculations — no external dependencies.
109
- */
110
- export async function express(input: DesignTokenInput): Promise<DesignTokenOutput> {
111
- const hue = input.primaryHue ?? 220;
112
- const dark = (input.mode ?? "dark") === "dark";
113
- const density = input.density ?? "normal";
114
- const radius = input.borderRadius ?? "rounded";
115
-
116
- const tokens: Record<string, string> = {
117
- ...generatePalette(hue, dark),
118
- ...generateSpacing(density),
119
- ...generateRadius(radius),
120
- ...generateTypography(),
121
- ...generateShadows(dark),
122
- };
123
-
124
- const lines = Object.entries(tokens).map(([k, v]) => ` ${k}: ${v};`);
125
- const css = `:root {\n${lines.join("\n")}\n}`;
126
-
127
- return { css, tokens, totalTokens: Object.keys(tokens).length };
128
- }
@@ -1 +0,0 @@
1
- {"type":"module"}
@@ -1 +0,0 @@
1
- {"domain":"ui.design","description":"Parameterized design token system. Dynamically generates CSS variables for colors, border-radius, spacing, and typography based on brand parameters.","inputSchema":{"type":"object","properties":{"primaryHue":{"type":"number","description":"Primary color hue (0-360)"},"mode":{"type":"string","enum":["light","dark"],"description":"Color mode"},"density":{"type":"string","enum":["compact","normal","spacious"],"description":"Spacing density"},"borderRadius":{"type":"string","enum":["sharp","rounded","pill"],"description":"Border radius style"}},"required":[]},"outputSchema":{"type":"object","properties":{"css":{"type":"string","description":"Full :root { --var: value; } block"},"tokens":{"type":"object","additionalProperties":{"type":"string"},"description":"Token name to value mapping"},"totalTokens":{"type":"number","description":"Total number of token variables"}},"required":["css","tokens","totalTokens"]},"dependencies":[],"version":"0.2.0","author":"rotifer-team","createdAt":1771939246888,"fidelity":"Native","transparency":"Open","source":"skill"}
@@ -1,6 +0,0 @@
1
- {
2
- "cloud_id": "5cc8c2ea-7ce4-4d9a-8347-a43a3ec80a96",
3
- "owner": "Rotifer Protocol",
4
- "version": "0.1.0",
5
- "published_at": "2026-03-17T14:12:28.975Z"
6
- }
@@ -1,8 +0,0 @@
1
- {
2
- "geneId": "613f1a7b180c758016c44f85210f4beec2dede9944a36f77a4d4fad9d02285c2",
3
- "name": "devops-automator",
4
- "domain": "devops.cicd",
5
- "fidelity": "Wrapped",
6
- "wrappedAt": "2026-02-24T13:23:33.758Z",
7
- "fromSkill": "../.cursor/skills/devops-automator/SKILL.md"
8
- }
@@ -1,490 +0,0 @@
1
- ---
2
- name: devops-automator
3
- description: Automate CI/CD pipelines, Docker configuration, and deployment for Next.js AI/Web3 apps. Setup GitHub Actions, Vercel, and environment management. Use when setting up deployment, CI/CD, or when the user mentions deploy, docker, github actions, vercel, or ci/cd.
4
- ---
5
-
6
- # DevOps Automator (自动化运维师)
7
-
8
- **Goal**: 自动化构建、测试、部署流程,降低 OPC 运维负担。
9
-
10
- **原则**: 能自动化的不手动,能托管的不自建。
11
-
12
- ---
13
-
14
- ## 1. GitHub Actions
15
-
16
- ### 基础 CI 流程
17
-
18
- ```yaml
19
- # .github/workflows/ci.yml
20
- name: CI
21
-
22
- on:
23
- push:
24
- branches: [main]
25
- pull_request:
26
- branches: [main]
27
-
28
- jobs:
29
- lint:
30
- runs-on: ubuntu-latest
31
- steps:
32
- - uses: actions/checkout@v4
33
- - uses: pnpm/action-setup@v2
34
- - uses: actions/setup-node@v4
35
- with:
36
- node-version: 20
37
- cache: 'pnpm'
38
- - run: pnpm install
39
- - run: pnpm lint
40
- - run: pnpm typecheck
41
-
42
- test:
43
- runs-on: ubuntu-latest
44
- steps:
45
- - uses: actions/checkout@v4
46
- - uses: pnpm/action-setup@v2
47
- - uses: actions/setup-node@v4
48
- with:
49
- node-version: 20
50
- cache: 'pnpm'
51
- - run: pnpm install
52
- - run: pnpm test
53
-
54
- build:
55
- runs-on: ubuntu-latest
56
- needs: [lint, test]
57
- steps:
58
- - uses: actions/checkout@v4
59
- - uses: pnpm/action-setup@v2
60
- - uses: actions/setup-node@v4
61
- with:
62
- node-version: 20
63
- cache: 'pnpm'
64
- - run: pnpm install
65
- - run: pnpm build
66
- ```
67
-
68
- ### 带数据库的测试
69
-
70
- ```yaml
71
- # .github/workflows/test.yml
72
- name: Test
73
-
74
- on: [push, pull_request]
75
-
76
- jobs:
77
- test:
78
- runs-on: ubuntu-latest
79
-
80
- services:
81
- postgres:
82
- image: postgres:15
83
- env:
84
- POSTGRES_USER: test
85
- POSTGRES_PASSWORD: test
86
- POSTGRES_DB: test
87
- ports:
88
- - 5432:5432
89
- options: >-
90
- --health-cmd pg_isready
91
- --health-interval 10s
92
- --health-timeout 5s
93
- --health-retries 5
94
-
95
- steps:
96
- - uses: actions/checkout@v4
97
- - uses: pnpm/action-setup@v2
98
- - uses: actions/setup-node@v4
99
- with:
100
- node-version: 20
101
- cache: 'pnpm'
102
-
103
- - run: pnpm install
104
-
105
- - name: Setup Database
106
- run: pnpm prisma db push
107
- env:
108
- DATABASE_URL: postgresql://test:test@localhost:5432/test
109
-
110
- - name: Run Tests
111
- run: pnpm test
112
- env:
113
- DATABASE_URL: postgresql://test:test@localhost:5432/test
114
- ```
115
-
116
- ### 自动发布
117
-
118
- ```yaml
119
- # .github/workflows/release.yml
120
- name: Release
121
-
122
- on:
123
- push:
124
- tags:
125
- - 'v*'
126
-
127
- jobs:
128
- release:
129
- runs-on: ubuntu-latest
130
- steps:
131
- - uses: actions/checkout@v4
132
- with:
133
- fetch-depth: 0
134
-
135
- - name: Generate Changelog
136
- id: changelog
137
- uses: metcalfc/changelog-generator@v4
138
- with:
139
- myToken: ${{ secrets.GITHUB_TOKEN }}
140
-
141
- - name: Create Release
142
- uses: softprops/action-gh-release@v1
143
- with:
144
- body: ${{ steps.changelog.outputs.changelog }}
145
- env:
146
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
147
- ```
148
-
149
- ---
150
-
151
- ## 2. Vercel Deployment
152
-
153
- ### vercel.json 配置
154
-
155
- ```json
156
- {
157
- "framework": "nextjs",
158
- "buildCommand": "pnpm build",
159
- "installCommand": "pnpm install",
160
- "regions": ["hkg1"],
161
- "env": {
162
- "DATABASE_URL": "@database-url",
163
- "OPENAI_API_KEY": "@openai-api-key"
164
- },
165
- "headers": [
166
- {
167
- "source": "/api/(.*)",
168
- "headers": [
169
- { "key": "Cache-Control", "value": "no-store" }
170
- ]
171
- }
172
- ]
173
- }
174
- ```
175
-
176
- ### 环境变量设置
177
-
178
- ```bash
179
- # 使用 Vercel CLI
180
- vercel env add DATABASE_URL production
181
- vercel env add OPENAI_API_KEY production
182
-
183
- # 或在 Vercel Dashboard 设置
184
- # Settings → Environment Variables
185
- ```
186
-
187
- ### 预览部署
188
-
189
- ```yaml
190
- # PR 自动预览 (Vercel 默认支持)
191
- # 每个 PR 都会有独立预览 URL
192
- ```
193
-
194
- ---
195
-
196
- ## 3. Docker
197
-
198
- ### Next.js Dockerfile
199
-
200
- ```dockerfile
201
- # Dockerfile
202
- FROM node:20-alpine AS base
203
-
204
- # Install pnpm
205
- RUN corepack enable && corepack prepare pnpm@latest --activate
206
-
207
- # Dependencies
208
- FROM base AS deps
209
- WORKDIR /app
210
- COPY package.json pnpm-lock.yaml ./
211
- RUN pnpm install --frozen-lockfile
212
-
213
- # Builder
214
- FROM base AS builder
215
- WORKDIR /app
216
- COPY --from=deps /app/node_modules ./node_modules
217
- COPY . .
218
- RUN pnpm build
219
-
220
- # Runner
221
- FROM base AS runner
222
- WORKDIR /app
223
- ENV NODE_ENV=production
224
-
225
- RUN addgroup --system --gid 1001 nodejs
226
- RUN adduser --system --uid 1001 nextjs
227
-
228
- COPY --from=builder /app/public ./public
229
- COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
230
- COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
231
-
232
- USER nextjs
233
- EXPOSE 3000
234
- ENV PORT=3000
235
- CMD ["node", "server.js"]
236
- ```
237
-
238
- ### next.config.js (Standalone)
239
-
240
- ```javascript
241
- /** @type {import('next').NextConfig} */
242
- const nextConfig = {
243
- output: 'standalone',
244
- }
245
-
246
- module.exports = nextConfig
247
- ```
248
-
249
- ### docker-compose.yml
250
-
251
- ```yaml
252
- version: '3.8'
253
-
254
- services:
255
- app:
256
- build: .
257
- ports:
258
- - "3000:3000"
259
- environment:
260
- - DATABASE_URL=postgresql://postgres:postgres@db:5432/app
261
- - OPENAI_API_KEY=${OPENAI_API_KEY}
262
- depends_on:
263
- - db
264
-
265
- db:
266
- image: postgres:15-alpine
267
- volumes:
268
- - postgres_data:/var/lib/postgresql/data
269
- environment:
270
- - POSTGRES_USER=postgres
271
- - POSTGRES_PASSWORD=postgres
272
- - POSTGRES_DB=app
273
-
274
- volumes:
275
- postgres_data:
276
- ```
277
-
278
- ---
279
-
280
- ## 4. Environment Management
281
-
282
- ### .env 文件结构
283
-
284
- ```bash
285
- # .env.local (本地开发,不提交)
286
- DATABASE_URL="postgresql://..."
287
- OPENAI_API_KEY="sk-..."
288
-
289
- # .env.development (开发环境默认值,可提交)
290
- NEXT_PUBLIC_APP_URL="http://localhost:3000"
291
- NEXT_PUBLIC_CHAIN_ID="11155111"
292
-
293
- # .env.production (生产环境默认值,可提交)
294
- NEXT_PUBLIC_APP_URL="https://myapp.com"
295
- NEXT_PUBLIC_CHAIN_ID="1"
296
-
297
- # .env.example (示例,必须提交)
298
- DATABASE_URL="postgresql://user:password@localhost:5432/db"
299
- OPENAI_API_KEY="sk-..."
300
- ```
301
-
302
- ### 环境变量验证
303
-
304
- ```typescript
305
- // lib/env.ts
306
- import { z } from 'zod'
307
-
308
- const envSchema = z.object({
309
- DATABASE_URL: z.string().url(),
310
- OPENAI_API_KEY: z.string().startsWith('sk-'),
311
- NEXT_PUBLIC_APP_URL: z.string().url(),
312
- NEXT_PUBLIC_CHAIN_ID: z.string().optional().default('1'),
313
- })
314
-
315
- export const env = envSchema.parse(process.env)
316
- ```
317
-
318
- ---
319
-
320
- ## 5. Database Management
321
-
322
- ### Prisma Migrate in CI
323
-
324
- ```yaml
325
- # 在部署前运行 migration
326
- - name: Run Migrations
327
- run: pnpm prisma migrate deploy
328
- env:
329
- DATABASE_URL: ${{ secrets.DATABASE_URL }}
330
- ```
331
-
332
- ### 数据库备份 (Cron Job)
333
-
334
- ```yaml
335
- # .github/workflows/backup.yml
336
- name: Database Backup
337
-
338
- on:
339
- schedule:
340
- - cron: '0 0 * * *' # 每天 UTC 00:00
341
-
342
- jobs:
343
- backup:
344
- runs-on: ubuntu-latest
345
- steps:
346
- - name: Backup Database
347
- run: |
348
- pg_dump $DATABASE_URL > backup-$(date +%Y%m%d).sql
349
- env:
350
- DATABASE_URL: ${{ secrets.DATABASE_URL }}
351
-
352
- - name: Upload to S3
353
- uses: aws-actions/configure-aws-credentials@v4
354
- with:
355
- aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
356
- aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
357
- aws-region: ap-northeast-1
358
- - run: aws s3 cp backup-*.sql s3://my-backups/
359
- ```
360
-
361
- ---
362
-
363
- ## 6. Monitoring & Alerts
364
-
365
- ### Uptime Monitoring
366
-
367
- ```yaml
368
- # 使用 Better Uptime / UptimeRobot
369
- # 或自建 GitHub Actions 检查
370
-
371
- name: Health Check
372
-
373
- on:
374
- schedule:
375
- - cron: '*/5 * * * *' # 每 5 分钟
376
-
377
- jobs:
378
- health:
379
- runs-on: ubuntu-latest
380
- steps:
381
- - name: Check Health
382
- run: |
383
- response=$(curl -s -o /dev/null -w "%{http_code}" ${{ secrets.APP_URL }}/api/health)
384
- if [ $response != "200" ]; then
385
- echo "Health check failed with status $response"
386
- exit 1
387
- fi
388
- ```
389
-
390
- ### Error Tracking (Sentry)
391
-
392
- ```typescript
393
- // sentry.client.config.ts
394
- import * as Sentry from '@sentry/nextjs'
395
-
396
- Sentry.init({
397
- dsn: process.env.NEXT_PUBLIC_SENTRY_DSN,
398
- tracesSampleRate: 0.1,
399
- environment: process.env.NODE_ENV,
400
- })
401
- ```
402
-
403
- ---
404
-
405
- ## 7. Security
406
-
407
- ### Secrets 管理
408
-
409
- ```bash
410
- # GitHub Secrets (Settings → Secrets)
411
- OPENAI_API_KEY
412
- DATABASE_URL
413
- VERCEL_TOKEN
414
-
415
- # 永远不要在代码中硬编码
416
- # 永远不要提交 .env.local
417
- ```
418
-
419
- ### Dependabot
420
-
421
- ```yaml
422
- # .github/dependabot.yml
423
- version: 2
424
- updates:
425
- - package-ecosystem: "npm"
426
- directory: "/"
427
- schedule:
428
- interval: "weekly"
429
- open-pull-requests-limit: 5
430
-
431
- - package-ecosystem: "github-actions"
432
- directory: "/"
433
- schedule:
434
- interval: "weekly"
435
- ```
436
-
437
- ---
438
-
439
- ## 8. Quick Deploy Configs
440
-
441
- ### Railway
442
-
443
- ```json
444
- // railway.json
445
- {
446
- "build": {
447
- "builder": "nixpacks"
448
- },
449
- "deploy": {
450
- "startCommand": "pnpm start",
451
- "healthcheckPath": "/api/health"
452
- }
453
- }
454
- ```
455
-
456
- ### Fly.io
457
-
458
- ```toml
459
- # fly.toml
460
- app = "my-app"
461
-
462
- [build]
463
- dockerfile = "Dockerfile"
464
-
465
- [http_service]
466
- internal_port = 3000
467
- force_https = true
468
-
469
- [env]
470
- NODE_ENV = "production"
471
- ```
472
-
473
- ---
474
-
475
- ## Quick Reference
476
-
477
- ### 部署平台选择
478
-
479
- | 平台 | 优势 | 适合场景 |
480
- |------|------|----------|
481
- | Vercel | Next.js 原生支持 | 大部分项目 |
482
- | Railway | 简单、数据库集成 | 需要后端服务 |
483
- | Fly.io | 全球边缘、Docker | 需要低延迟 |
484
- | 自建 VPS | 完全控制 | 特殊需求 |
485
-
486
- ### 必备 Secrets
487
-
488
- ```
489
- DATABASE_URL, OPENAI_API_KEY, VERCEL_TOKEN, SENTRY_DSN
490
- ```
@@ -1,28 +0,0 @@
1
- {
2
- "domain": "devops.cicd",
3
- "description": "Automate CI/CD pipelines, Docker configuration, and deployment for Next.js AI/Web3 apps. Setup GitHub Actions, Vercel, and environment management. Use when setting up deployment, CI/CD, or when the user mentions deploy, docker, github actions, vercel, or ci/cd.",
4
- "inputSchema": {
5
- "type": "object",
6
- "properties": {
7
- "prompt": {
8
- "type": "string"
9
- }
10
- },
11
- "required": []
12
- },
13
- "outputSchema": {
14
- "type": "object",
15
- "properties": {
16
- "result": {
17
- "type": "string"
18
- }
19
- }
20
- },
21
- "dependencies": [],
22
- "version": "0.1.0",
23
- "author": "rotifer-team",
24
- "createdAt": 1771939413757,
25
- "fidelity": "Wrapped",
26
- "transparency": "Open",
27
- "source": "skill"
28
- }
@@ -1,6 +0,0 @@
1
- {
2
- "cloud_id": "3d7ee85d-d92e-4b04-8e02-0c0177bef9ec",
3
- "owner": "Rotifer Protocol",
4
- "version": "0.1.0",
5
- "published_at": "2026-03-17T14:12:31.104Z"
6
- }
@@ -1,8 +0,0 @@
1
- {
2
- "geneId": "0589d147fcc7c3ae9d5ec9522ea8dc65404fb8c2101fc64ee01b975eff91690d",
3
- "name": "doc-coauthoring",
4
- "domain": "docs.collaboration",
5
- "fidelity": "Wrapped",
6
- "wrappedAt": "2026-02-24T13:23:36.272Z",
7
- "fromSkill": "../.cursor/skills/doc-coauthoring/SKILL.md"
8
- }