@hasna/skills 0.1.21 → 0.1.22

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 (915) hide show
  1. package/bin/index.js +49 -21
  2. package/bin/mcp.js +49 -21
  3. package/dist/index.js +48 -20
  4. package/package.json +1 -1
  5. package/skills/skill-academic-journal-matcher/package.json +1 -7
  6. package/skills/skill-action-item-router/package.json +1 -7
  7. package/skills/skill-ad-creative-generator/package.json +1 -7
  8. package/skills/skill-advanced-math/package.json +1 -7
  9. package/skills/skill-anomaly-investigator/package.json +1 -7
  10. package/skills/skill-api-test-suite/package.json +1 -7
  11. package/skills/skill-apidocs/package.json +0 -6
  12. package/skills/skill-audio/package.json +0 -5
  13. package/skills/skill-audio/src/index-local.ts +4 -1
  14. package/skills/skill-audio/src/providers/minimax.ts +83 -0
  15. package/skills/skill-audio/src/types.ts +1 -1
  16. package/skills/skill-audio-cleanup-lab/package.json +1 -5
  17. package/skills/{skill-extract-audio → skill-audio-extract}/SKILL.md +2 -2
  18. package/skills/{skill-extract-audio → skill-audio-extract}/package.json +3 -7
  19. package/skills/skill-audiobook-chapter-proofer/package.json +1 -7
  20. package/skills/skill-banner-ad-suite/package.json +1 -7
  21. package/skills/skill-benchmark-finder/package.json +1 -7
  22. package/skills/skill-bio-sequence-tool/package.json +1 -7
  23. package/skills/skill-blog-topic-cluster/package.json +1 -7
  24. package/skills/skill-brand-voice-audit/package.json +1 -7
  25. package/skills/skill-browse/package.json +0 -5
  26. package/skills/skill-businessactivity/package.json +1 -3
  27. package/skills/skill-calendar-events/package.json +1 -7
  28. package/skills/skill-campaign-metric-brief/package.json +1 -7
  29. package/skills/skill-campaign-moodboard/package.json +1 -7
  30. package/skills/skill-caption-style-stylist/package.json +1 -7
  31. package/skills/skill-chemistry-calculator/package.json +1 -7
  32. package/skills/skill-churn-risk-notifier/package.json +1 -7
  33. package/skills/skill-citation-formatter/package.json +1 -7
  34. package/skills/skill-classroom-newsletter-kit/package.json +1 -7
  35. package/skills/skill-codefix/package.json +0 -4
  36. package/skills/skill-color-palette-harmonizer/package.json +1 -7
  37. package/skills/skill-colorextract/package.json +17 -5
  38. package/skills/skill-commitpush/package.json +0 -1
  39. package/skills/skill-commitpushpr/package.json +0 -1
  40. package/skills/skill-competitor-ad-analyzer/package.json +1 -7
  41. package/skills/skill-compliance-copy-check/package.json +1 -7
  42. package/skills/skill-compliance-report-pack/package.json +1 -7
  43. package/skills/skill-compress-video/package.json +1 -5
  44. package/skills/skill-consolelog/package.json +1 -7
  45. package/skills/skill-contract-plainlanguage/package.json +1 -7
  46. package/skills/skill-convert/package.json +0 -4
  47. package/skills/skill-copytone-translator/package.json +1 -7
  48. package/skills/skill-create-blog-article/package.json +1 -7
  49. package/skills/skill-create-ebook/package.json +1 -7
  50. package/skills/skill-crm-note-enhancer/package.json +1 -7
  51. package/skills/skill-customer-journey-mapper/package.json +1 -7
  52. package/skills/skill-dashboard-builder/package.json +1 -7
  53. package/skills/skill-dashboard-narrator/package.json +1 -7
  54. package/skills/skill-data-anonymizer/package.json +1 -7
  55. package/skills/skill-database-explorer/package.json +1 -7
  56. package/skills/skill-dataset-health-check/package.json +1 -7
  57. package/skills/skill-decision-journal/package.json +1 -7
  58. package/skills/skill-deepresearch/package.json +0 -5
  59. package/skills/skill-delegation-brief-writer/package.json +1 -7
  60. package/skills/skill-deploy/package.json +0 -4
  61. package/skills/skill-destination-briefing/package.json +1 -7
  62. package/skills/skill-diff-viewer/package.json +1 -7
  63. package/skills/{skill-generate-pdf → skill-doc-generate}/package.json +3 -3
  64. package/skills/skill-doc-read/SKILL.md +45 -0
  65. package/skills/{skill-generate-excel → skill-doc-read}/package.json +4 -10
  66. package/skills/skill-doc-read/src/index.ts +315 -0
  67. package/skills/skill-doc-read/tsconfig.json +8 -0
  68. package/skills/skill-domainpurchase/package.json +1 -7
  69. package/skills/skill-domainsearch/package.json +1 -7
  70. package/skills/skill-e2bswarm/package.json +0 -6
  71. package/skills/skill-educational-resource-finder/package.json +1 -7
  72. package/skills/skill-email-campaign/package.json +1 -7
  73. package/skills/skill-emoji/package.json +0 -1
  74. package/skills/skill-exam-readiness-check/package.json +1 -7
  75. package/skills/{skill-jingle-composer → skill-excel}/package.json +4 -10
  76. package/skills/skill-experiment-power-calculator/package.json +1 -7
  77. package/skills/skill-extract/package.json +0 -5
  78. package/skills/skill-extract-frames/package.json +1 -7
  79. package/skills/skill-extract-invoice/package.json +1 -7
  80. package/skills/skill-family-activity-curator/package.json +1 -7
  81. package/skills/skill-faq-packager/package.json +1 -7
  82. package/skills/skill-feedback-survey-designer/package.json +1 -7
  83. package/skills/skill-field-trip-planner/package.json +1 -7
  84. package/skills/skill-file-organizer/package.json +1 -7
  85. package/skills/skill-folder-tree/package.json +1 -7
  86. package/skills/skill-forecast-scenario-lab/package.json +1 -7
  87. package/skills/skill-form-filler/package.json +1 -7
  88. package/skills/skill-generate-api-client/package.json +1 -7
  89. package/skills/skill-generate-book-cover/package.json +1 -7
  90. package/skills/skill-generate-chart/package.json +1 -7
  91. package/skills/skill-generate-diagram/package.json +1 -7
  92. package/skills/skill-generate-dockerfile/package.json +1 -7
  93. package/skills/skill-generate-documentation/package.json +1 -7
  94. package/skills/skill-generate-env/package.json +1 -7
  95. package/skills/skill-generate-favicon/package.json +1 -7
  96. package/skills/skill-generate-mock-data/package.json +1 -7
  97. package/skills/skill-generate-pr-description/package.json +1 -7
  98. package/skills/skill-generate-presentation/package.json +1 -7
  99. package/skills/skill-generate-qrcode/package.json +1 -7
  100. package/skills/skill-generate-regex/package.json +1 -7
  101. package/skills/skill-generate-resume/package.json +1 -7
  102. package/skills/skill-generate-sitemap/package.json +1 -7
  103. package/skills/skill-generate-social-posts/package.json +1 -7
  104. package/skills/skill-generate-sql/package.json +1 -7
  105. package/skills/skill-gif-maker/package.json +1 -7
  106. package/skills/skill-github-manager/package.json +1 -7
  107. package/skills/skill-gmail/package.json +1 -7
  108. package/skills/skill-goal-quarterly-roadmap/package.json +1 -7
  109. package/skills/skill-grant-application-drafter/package.json +1 -7
  110. package/skills/skill-grocery-basket-optimizer/package.json +1 -7
  111. package/skills/skill-guest-communication-suite/package.json +1 -7
  112. package/skills/skill-habit-reflection-digest/package.json +1 -7
  113. package/skills/skill-highlight-reel-generator/package.json +1 -7
  114. package/skills/skill-homework-feedback-coach/package.json +1 -7
  115. package/skills/skill-hook/package.json +0 -6
  116. package/skills/skill-household-maintenance-mgr/package.json +1 -7
  117. package/skills/skill-http-server/package.json +1 -7
  118. package/skills/skill-image/package.json +0 -5
  119. package/skills/skill-image/src/index-local.ts +5 -3
  120. package/skills/skill-image/src/providers/minimax.ts +94 -0
  121. package/skills/skill-image/src/types.ts +1 -1
  122. package/skills/skill-implementation/package.json +0 -6
  123. package/skills/skill-implementation-agent/package.json +1 -7
  124. package/skills/skill-implementation-plan/package.json +1 -7
  125. package/skills/skill-implementation-todo/package.json +1 -7
  126. package/skills/skill-inbox-priority-planner/package.json +1 -7
  127. package/skills/skill-invoice-dispute-helper/package.json +1 -7
  128. package/skills/skill-itinerary-architect/package.json +1 -7
  129. package/skills/skill-kpi-digest-generator/package.json +1 -7
  130. package/skills/skill-lab-notebook-formatter/package.json +1 -7
  131. package/skills/skill-landing-page-copy/package.json +1 -7
  132. package/skills/skill-latex-table-generator/package.json +1 -7
  133. package/skills/skill-learning-style-profiler/package.json +1 -7
  134. package/skills/skill-lesson-plan-customizer/package.json +1 -7
  135. package/skills/skill-livestream-runofshow/package.json +1 -7
  136. package/skills/skill-logo-design/CLAUDE.md +30 -0
  137. package/skills/skill-logo-design/SKILL.md +70 -0
  138. package/skills/skill-logo-design/node_modules/@types/bun/LICENSE +21 -0
  139. package/skills/skill-logo-design/node_modules/@types/bun/README.md +20 -0
  140. package/skills/skill-logo-design/node_modules/@types/bun/index.d.ts +1 -0
  141. package/skills/skill-logo-design/node_modules/@types/bun/package.json +53 -0
  142. package/skills/skill-logo-design/node_modules/@types/node/LICENSE +21 -0
  143. package/skills/skill-logo-design/node_modules/@types/node/README.md +15 -0
  144. package/skills/skill-logo-design/node_modules/@types/node/assert/strict.d.ts +105 -0
  145. package/skills/skill-logo-design/node_modules/@types/node/assert.d.ts +955 -0
  146. package/skills/skill-logo-design/node_modules/@types/node/async_hooks.d.ts +623 -0
  147. package/skills/skill-logo-design/node_modules/@types/node/buffer.buffer.d.ts +466 -0
  148. package/skills/skill-logo-design/node_modules/@types/node/buffer.d.ts +1810 -0
  149. package/skills/skill-logo-design/node_modules/@types/node/child_process.d.ts +1433 -0
  150. package/skills/skill-logo-design/node_modules/@types/node/cluster.d.ts +486 -0
  151. package/skills/skill-logo-design/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
  152. package/skills/skill-logo-design/node_modules/@types/node/console.d.ts +151 -0
  153. package/skills/skill-logo-design/node_modules/@types/node/constants.d.ts +20 -0
  154. package/skills/skill-logo-design/node_modules/@types/node/crypto.d.ts +4065 -0
  155. package/skills/skill-logo-design/node_modules/@types/node/dgram.d.ts +564 -0
  156. package/skills/skill-logo-design/node_modules/@types/node/diagnostics_channel.d.ts +576 -0
  157. package/skills/skill-logo-design/node_modules/@types/node/dns/promises.d.ts +503 -0
  158. package/skills/skill-logo-design/node_modules/@types/node/dns.d.ts +922 -0
  159. package/skills/skill-logo-design/node_modules/@types/node/domain.d.ts +166 -0
  160. package/skills/skill-logo-design/node_modules/@types/node/events.d.ts +1047 -0
  161. package/skills/skill-logo-design/node_modules/@types/node/fs/promises.d.ts +1329 -0
  162. package/skills/skill-logo-design/node_modules/@types/node/fs.d.ts +4678 -0
  163. package/skills/skill-logo-design/node_modules/@types/node/globals.d.ts +150 -0
  164. package/skills/skill-logo-design/node_modules/@types/node/globals.typedarray.d.ts +101 -0
  165. package/skills/skill-logo-design/node_modules/@types/node/http.d.ts +2188 -0
  166. package/skills/skill-logo-design/node_modules/@types/node/http2.d.ts +2480 -0
  167. package/skills/skill-logo-design/node_modules/@types/node/https.d.ts +405 -0
  168. package/skills/skill-logo-design/node_modules/@types/node/index.d.ts +115 -0
  169. package/skills/skill-logo-design/node_modules/@types/node/inspector/promises.d.ts +41 -0
  170. package/skills/skill-logo-design/node_modules/@types/node/inspector.d.ts +269 -0
  171. package/skills/skill-logo-design/node_modules/@types/node/inspector.generated.d.ts +4401 -0
  172. package/skills/skill-logo-design/node_modules/@types/node/module.d.ts +757 -0
  173. package/skills/skill-logo-design/node_modules/@types/node/net.d.ts +952 -0
  174. package/skills/skill-logo-design/node_modules/@types/node/os.d.ts +507 -0
  175. package/skills/skill-logo-design/node_modules/@types/node/package.json +155 -0
  176. package/skills/skill-logo-design/node_modules/@types/node/path/posix.d.ts +8 -0
  177. package/skills/skill-logo-design/node_modules/@types/node/path/win32.d.ts +8 -0
  178. package/skills/skill-logo-design/node_modules/@types/node/path.d.ts +187 -0
  179. package/skills/skill-logo-design/node_modules/@types/node/perf_hooks.d.ts +643 -0
  180. package/skills/skill-logo-design/node_modules/@types/node/process.d.ts +2175 -0
  181. package/skills/skill-logo-design/node_modules/@types/node/punycode.d.ts +117 -0
  182. package/skills/skill-logo-design/node_modules/@types/node/querystring.d.ts +152 -0
  183. package/skills/skill-logo-design/node_modules/@types/node/quic.d.ts +910 -0
  184. package/skills/skill-logo-design/node_modules/@types/node/readline/promises.d.ts +161 -0
  185. package/skills/skill-logo-design/node_modules/@types/node/readline.d.ts +542 -0
  186. package/skills/skill-logo-design/node_modules/@types/node/repl.d.ts +415 -0
  187. package/skills/skill-logo-design/node_modules/@types/node/sea.d.ts +162 -0
  188. package/skills/skill-logo-design/node_modules/@types/node/sqlite.d.ts +1065 -0
  189. package/skills/skill-logo-design/node_modules/@types/node/stream/consumers.d.ts +38 -0
  190. package/skills/skill-logo-design/node_modules/@types/node/stream/promises.d.ts +211 -0
  191. package/skills/skill-logo-design/node_modules/@types/node/stream/web.d.ts +296 -0
  192. package/skills/skill-logo-design/node_modules/@types/node/stream.d.ts +1793 -0
  193. package/skills/skill-logo-design/node_modules/@types/node/string_decoder.d.ts +67 -0
  194. package/skills/skill-logo-design/node_modules/@types/node/test/reporters.d.ts +96 -0
  195. package/skills/skill-logo-design/node_modules/@types/node/test.d.ts +2275 -0
  196. package/skills/skill-logo-design/node_modules/@types/node/timers/promises.d.ts +108 -0
  197. package/skills/skill-logo-design/node_modules/@types/node/timers.d.ts +159 -0
  198. package/skills/skill-logo-design/node_modules/@types/node/tls.d.ts +1203 -0
  199. package/skills/skill-logo-design/node_modules/@types/node/trace_events.d.ts +197 -0
  200. package/skills/skill-logo-design/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +462 -0
  201. package/skills/skill-logo-design/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
  202. package/skills/skill-logo-design/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
  203. package/skills/skill-logo-design/node_modules/@types/node/ts5.6/index.d.ts +117 -0
  204. package/skills/skill-logo-design/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
  205. package/skills/skill-logo-design/node_modules/@types/node/ts5.7/index.d.ts +117 -0
  206. package/skills/skill-logo-design/node_modules/@types/node/tty.d.ts +250 -0
  207. package/skills/skill-logo-design/node_modules/@types/node/url.d.ts +541 -0
  208. package/skills/skill-logo-design/node_modules/@types/node/util/types.d.ts +558 -0
  209. package/skills/skill-logo-design/node_modules/@types/node/util.d.ts +1687 -0
  210. package/skills/skill-logo-design/node_modules/@types/node/v8.d.ts +988 -0
  211. package/skills/skill-logo-design/node_modules/@types/node/vm.d.ts +1208 -0
  212. package/skills/skill-logo-design/node_modules/@types/node/wasi.d.ts +202 -0
  213. package/skills/skill-logo-design/node_modules/@types/node/web-globals/abortcontroller.d.ts +59 -0
  214. package/skills/skill-logo-design/node_modules/@types/node/web-globals/blob.d.ts +23 -0
  215. package/skills/skill-logo-design/node_modules/@types/node/web-globals/console.d.ts +9 -0
  216. package/skills/skill-logo-design/node_modules/@types/node/web-globals/crypto.d.ts +39 -0
  217. package/skills/skill-logo-design/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
  218. package/skills/skill-logo-design/node_modules/@types/node/web-globals/encoding.d.ts +11 -0
  219. package/skills/skill-logo-design/node_modules/@types/node/web-globals/events.d.ts +106 -0
  220. package/skills/skill-logo-design/node_modules/@types/node/web-globals/fetch.d.ts +69 -0
  221. package/skills/skill-logo-design/node_modules/@types/node/web-globals/importmeta.d.ts +13 -0
  222. package/skills/skill-logo-design/node_modules/@types/node/web-globals/messaging.d.ts +23 -0
  223. package/skills/skill-logo-design/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
  224. package/skills/skill-logo-design/node_modules/@types/node/web-globals/performance.d.ts +45 -0
  225. package/skills/skill-logo-design/node_modules/@types/node/web-globals/storage.d.ts +24 -0
  226. package/skills/skill-logo-design/node_modules/@types/node/web-globals/streams.d.ts +115 -0
  227. package/skills/skill-logo-design/node_modules/@types/node/web-globals/timers.d.ts +44 -0
  228. package/skills/skill-logo-design/node_modules/@types/node/web-globals/url.d.ts +24 -0
  229. package/skills/skill-logo-design/node_modules/@types/node/worker_threads.d.ts +717 -0
  230. package/skills/skill-logo-design/node_modules/@types/node/zlib.d.ts +682 -0
  231. package/skills/skill-logo-design/node_modules/bun-types/CLAUDE.md +105 -0
  232. package/skills/skill-logo-design/node_modules/bun-types/README.md +33 -0
  233. package/skills/skill-logo-design/node_modules/bun-types/bun.d.ts +8712 -0
  234. package/skills/skill-logo-design/node_modules/bun-types/bun.ns.d.ts +5 -0
  235. package/skills/skill-logo-design/node_modules/bun-types/bundle.d.ts +74 -0
  236. package/skills/skill-logo-design/node_modules/bun-types/deprecated.d.ts +184 -0
  237. package/skills/skill-logo-design/node_modules/bun-types/devserver.d.ts +187 -0
  238. package/skills/skill-logo-design/node_modules/bun-types/docs/README.md +28 -0
  239. package/skills/skill-logo-design/node_modules/bun-types/docs/bundler/bytecode.mdx +447 -0
  240. package/skills/skill-logo-design/node_modules/bun-types/docs/bundler/css.mdx +1024 -0
  241. package/skills/skill-logo-design/node_modules/bun-types/docs/bundler/esbuild.mdx +304 -0
  242. package/skills/skill-logo-design/node_modules/bun-types/docs/bundler/executables.mdx +1318 -0
  243. package/skills/skill-logo-design/node_modules/bun-types/docs/bundler/fullstack.mdx +1086 -0
  244. package/skills/skill-logo-design/node_modules/bun-types/docs/bundler/hot-reloading.mdx +229 -0
  245. package/skills/skill-logo-design/node_modules/bun-types/docs/bundler/html-static.mdx +498 -0
  246. package/skills/skill-logo-design/node_modules/bun-types/docs/bundler/index.mdx +1840 -0
  247. package/skills/skill-logo-design/node_modules/bun-types/docs/bundler/loaders.mdx +451 -0
  248. package/skills/skill-logo-design/node_modules/bun-types/docs/bundler/macros.mdx +328 -0
  249. package/skills/skill-logo-design/node_modules/bun-types/docs/bundler/minifier.mdx +1286 -0
  250. package/skills/skill-logo-design/node_modules/bun-types/docs/bundler/plugins.mdx +477 -0
  251. package/skills/skill-logo-design/node_modules/bun-types/docs/bundler/standalone-html.mdx +314 -0
  252. package/skills/skill-logo-design/node_modules/bun-types/docs/feedback.mdx +75 -0
  253. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/binary/arraybuffer-to-array.mdx +29 -0
  254. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/binary/arraybuffer-to-blob.mdx +26 -0
  255. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/binary/arraybuffer-to-buffer.mdx +27 -0
  256. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/binary/arraybuffer-to-string.mdx +17 -0
  257. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/binary/arraybuffer-to-typedarray.mdx +41 -0
  258. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/binary/blob-to-arraybuffer.mdx +16 -0
  259. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/binary/blob-to-dataview.mdx +16 -0
  260. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/binary/blob-to-stream.mdx +16 -0
  261. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/binary/blob-to-string.mdx +17 -0
  262. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/binary/blob-to-typedarray.mdx +16 -0
  263. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/binary/buffer-to-arraybuffer.mdx +16 -0
  264. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/binary/buffer-to-blob.mdx +16 -0
  265. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/binary/buffer-to-readablestream.mdx +43 -0
  266. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/binary/buffer-to-string.mdx +27 -0
  267. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/binary/buffer-to-typedarray.mdx +16 -0
  268. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/binary/dataview-to-string.mdx +17 -0
  269. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/binary/typedarray-to-arraybuffer.mdx +27 -0
  270. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/binary/typedarray-to-blob.mdx +18 -0
  271. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/binary/typedarray-to-buffer.mdx +16 -0
  272. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/binary/typedarray-to-dataview.mdx +16 -0
  273. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/binary/typedarray-to-readablestream.mdx +43 -0
  274. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/binary/typedarray-to-string.mdx +18 -0
  275. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/deployment/aws-lambda.mdx +204 -0
  276. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/deployment/digital-ocean.mdx +161 -0
  277. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/deployment/google-cloud-run.mdx +194 -0
  278. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/deployment/railway.mdx +145 -0
  279. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/deployment/render.mdx +82 -0
  280. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/deployment/vercel.mdx +97 -0
  281. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/astro.mdx +82 -0
  282. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/discordjs.mdx +80 -0
  283. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/docker.mdx +151 -0
  284. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/drizzle.mdx +195 -0
  285. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/elysia.mdx +31 -0
  286. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/express.mdx +43 -0
  287. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/gel.mdx +261 -0
  288. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/hono.mdx +47 -0
  289. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/mongoose.mdx +92 -0
  290. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/neon-drizzle.mdx +234 -0
  291. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/neon-serverless-postgres.mdx +60 -0
  292. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/nextjs.mdx +103 -0
  293. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/nuxt.mdx +96 -0
  294. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/pm2.mdx +55 -0
  295. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/prisma-postgres.mdx +169 -0
  296. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/prisma.mdx +164 -0
  297. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/qwik.mdx +114 -0
  298. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/react.mdx +52 -0
  299. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/remix.mdx +97 -0
  300. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/sentry.mdx +54 -0
  301. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/solidstart.mdx +62 -0
  302. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/ssr-react.mdx +49 -0
  303. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/stric.mdx +54 -0
  304. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/sveltekit.mdx +138 -0
  305. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/systemd.mdx +114 -0
  306. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/tanstack-start.mdx +791 -0
  307. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/upstash.mdx +87 -0
  308. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/ecosystem/vite.mdx +77 -0
  309. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/html-rewriter/extract-links.mdx +71 -0
  310. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/html-rewriter/extract-social-meta.mdx +97 -0
  311. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/http/cluster.mdx +69 -0
  312. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/http/fetch-unix.mdx +35 -0
  313. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/http/fetch.mdx +26 -0
  314. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/http/file-uploads.mdx +97 -0
  315. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/http/hot.mdx +28 -0
  316. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/http/proxy.mdx +50 -0
  317. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/http/server.mdx +48 -0
  318. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/http/simple.mdx +20 -0
  319. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/http/sse.mdx +91 -0
  320. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/http/stream-file.mdx +50 -0
  321. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/http/stream-iterator.mdx +49 -0
  322. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/http/stream-node-streams-in-bun.mdx +22 -0
  323. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/http/tls.mdx +32 -0
  324. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/index.mdx +10 -0
  325. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/install/add-dev.mdx +28 -0
  326. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/install/add-git.mdx +40 -0
  327. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/install/add-optional.mdx +27 -0
  328. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/install/add-peer.mdx +45 -0
  329. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/install/add-tarball.mdx +35 -0
  330. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/install/add.mdx +44 -0
  331. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/install/azure-artifacts.mdx +76 -0
  332. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/install/cicd.mdx +43 -0
  333. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/install/custom-registry.mdx +32 -0
  334. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/install/from-npm-install-to-bun-install.mdx +230 -0
  335. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/install/git-diff-bun-lockfile.mdx +48 -0
  336. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/install/jfrog-artifactory.mdx +28 -0
  337. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/install/npm-alias.mdx +25 -0
  338. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/install/registry-scope.mdx +40 -0
  339. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/install/trusted.mdx +52 -0
  340. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/install/workspaces.mdx +70 -0
  341. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/install/yarnlock.mdx +51 -0
  342. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/process/argv.mdx +66 -0
  343. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/process/ctrl-c.mdx +18 -0
  344. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/process/ipc.mdx +69 -0
  345. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/process/nanoseconds.mdx +15 -0
  346. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/process/os-signals.mdx +31 -0
  347. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/process/spawn-stderr.mdx +34 -0
  348. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/process/spawn-stdout.mdx +28 -0
  349. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/process/spawn.mdx +43 -0
  350. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/process/stdin.mdx +62 -0
  351. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/read-file/arraybuffer.mdx +30 -0
  352. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/read-file/buffer.mdx +21 -0
  353. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/read-file/exists.mdx +18 -0
  354. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/read-file/json.mdx +19 -0
  355. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/read-file/mime.mdx +22 -0
  356. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/read-file/stream.mdx +28 -0
  357. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/read-file/string.mdx +24 -0
  358. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/read-file/uint8array.mdx +23 -0
  359. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/read-file/watch.mdx +66 -0
  360. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/runtime/build-time-constants.mdx +295 -0
  361. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/runtime/cicd.mdx +45 -0
  362. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/runtime/codesign-macos-executable.mdx +61 -0
  363. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/runtime/define-constant.mdx +149 -0
  364. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/runtime/delete-directory.mdx +39 -0
  365. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/runtime/delete-file.mdx +21 -0
  366. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/runtime/heap-snapshot.mdx +28 -0
  367. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/runtime/import-html.mdx +15 -0
  368. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/runtime/import-json.mdx +46 -0
  369. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/runtime/import-json5.mdx +74 -0
  370. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/runtime/import-toml.mdx +32 -0
  371. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/runtime/import-yaml.mdx +104 -0
  372. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/runtime/read-env.mdx +37 -0
  373. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/runtime/set-env.mdx +51 -0
  374. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/runtime/shell.mdx +42 -0
  375. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/runtime/timezone.mdx +38 -0
  376. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/runtime/tsconfig-paths.mdx +31 -0
  377. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/runtime/typescript.mdx +51 -0
  378. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/runtime/vscode-debugger.mdx +47 -0
  379. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/runtime/web-debugger.mdx +103 -0
  380. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/streams/node-readable-to-arraybuffer.mdx +13 -0
  381. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/streams/node-readable-to-blob.mdx +13 -0
  382. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/streams/node-readable-to-json.mdx +14 -0
  383. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/streams/node-readable-to-string.mdx +14 -0
  384. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/streams/node-readable-to-uint8array.mdx +13 -0
  385. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/streams/to-array.mdx +16 -0
  386. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/streams/to-arraybuffer.mdx +16 -0
  387. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/streams/to-blob.mdx +16 -0
  388. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/streams/to-buffer.mdx +17 -0
  389. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/streams/to-json.mdx +16 -0
  390. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/streams/to-string.mdx +16 -0
  391. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/streams/to-typedarray.mdx +24 -0
  392. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/test/bail.mdx +24 -0
  393. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/test/concurrent-test-glob.mdx +146 -0
  394. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/test/coverage-threshold.mdx +67 -0
  395. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/test/coverage.mdx +49 -0
  396. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/test/happy-dom.mdx +73 -0
  397. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/test/migrate-from-jest.mdx +125 -0
  398. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/test/mock-clock.mdx +50 -0
  399. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/test/mock-functions.mdx +70 -0
  400. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/test/rerun-each.mdx +16 -0
  401. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/test/run-tests.mdx +116 -0
  402. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/test/skip-tests.mdx +43 -0
  403. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/test/snapshot.mdx +102 -0
  404. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/test/spy-on.mdx +49 -0
  405. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/test/svelte-test.mdx +113 -0
  406. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/test/testing-library.mdx +93 -0
  407. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/test/timeout.mdx +17 -0
  408. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/test/todo-tests.mdx +74 -0
  409. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/test/update-snapshots.mdx +49 -0
  410. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/test/watch-mode.mdx +24 -0
  411. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/util/base64.mdx +17 -0
  412. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/util/deep-equals.mdx +41 -0
  413. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/util/deflate.mdx +20 -0
  414. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/util/detect-bun.mdx +28 -0
  415. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/util/entrypoint.mdx +19 -0
  416. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/util/escape-html.mdx +24 -0
  417. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/util/file-url-to-path.mdx +16 -0
  418. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/util/gzip.mdx +20 -0
  419. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/util/hash-a-password.mdx +56 -0
  420. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/util/import-meta-dir.mdx +15 -0
  421. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/util/import-meta-file.mdx +15 -0
  422. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/util/import-meta-path.mdx +15 -0
  423. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/util/javascript-uuid.mdx +25 -0
  424. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/util/main.mdx +43 -0
  425. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/util/path-to-file-url.mdx +16 -0
  426. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/util/sleep.mdx +24 -0
  427. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/util/upgrade.mdx +93 -0
  428. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/util/version.mdx +23 -0
  429. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/util/which-path-to-executable-bin.mdx +17 -0
  430. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/websocket/compression.mdx +33 -0
  431. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/websocket/context.mdx +79 -0
  432. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/websocket/pubsub.mdx +43 -0
  433. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/websocket/simple.mdx +38 -0
  434. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/write-file/append.mdx +54 -0
  435. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/write-file/basic.mdx +46 -0
  436. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/write-file/blob.mdx +30 -0
  437. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/write-file/cat.mdx +19 -0
  438. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/write-file/file-cp.mdx +18 -0
  439. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/write-file/filesink.mdx +54 -0
  440. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/write-file/response.mdx +19 -0
  441. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/write-file/stdout.mdx +23 -0
  442. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/write-file/stream.mdx +19 -0
  443. package/skills/skill-logo-design/node_modules/bun-types/docs/guides/write-file/unlink.mdx +18 -0
  444. package/skills/skill-logo-design/node_modules/bun-types/docs/index.mdx +133 -0
  445. package/skills/skill-logo-design/node_modules/bun-types/docs/installation.mdx +372 -0
  446. package/skills/skill-logo-design/node_modules/bun-types/docs/pm/bunx.mdx +91 -0
  447. package/skills/skill-logo-design/node_modules/bun-types/docs/pm/catalogs.mdx +292 -0
  448. package/skills/skill-logo-design/node_modules/bun-types/docs/pm/cli/add.mdx +179 -0
  449. package/skills/skill-logo-design/node_modules/bun-types/docs/pm/cli/audit.mdx +60 -0
  450. package/skills/skill-logo-design/node_modules/bun-types/docs/pm/cli/info.mdx +70 -0
  451. package/skills/skill-logo-design/node_modules/bun-types/docs/pm/cli/install.mdx +591 -0
  452. package/skills/skill-logo-design/node_modules/bun-types/docs/pm/cli/link.mdx +61 -0
  453. package/skills/skill-logo-design/node_modules/bun-types/docs/pm/cli/outdated.mdx +197 -0
  454. package/skills/skill-logo-design/node_modules/bun-types/docs/pm/cli/patch.mdx +69 -0
  455. package/skills/skill-logo-design/node_modules/bun-types/docs/pm/cli/pm.mdx +323 -0
  456. package/skills/skill-logo-design/node_modules/bun-types/docs/pm/cli/publish.mdx +131 -0
  457. package/skills/skill-logo-design/node_modules/bun-types/docs/pm/cli/remove.mdx +16 -0
  458. package/skills/skill-logo-design/node_modules/bun-types/docs/pm/cli/update.mdx +140 -0
  459. package/skills/skill-logo-design/node_modules/bun-types/docs/pm/cli/why.mdx +84 -0
  460. package/skills/skill-logo-design/node_modules/bun-types/docs/pm/filter.mdx +127 -0
  461. package/skills/skill-logo-design/node_modules/bun-types/docs/pm/global-cache.mdx +72 -0
  462. package/skills/skill-logo-design/node_modules/bun-types/docs/pm/isolated-installs.mdx +220 -0
  463. package/skills/skill-logo-design/node_modules/bun-types/docs/pm/lifecycle.mdx +64 -0
  464. package/skills/skill-logo-design/node_modules/bun-types/docs/pm/lockfile.mdx +64 -0
  465. package/skills/skill-logo-design/node_modules/bun-types/docs/pm/npmrc.mdx +245 -0
  466. package/skills/skill-logo-design/node_modules/bun-types/docs/pm/overrides.mdx +83 -0
  467. package/skills/skill-logo-design/node_modules/bun-types/docs/pm/scopes-registries.mdx +35 -0
  468. package/skills/skill-logo-design/node_modules/bun-types/docs/pm/security-scanner-api.mdx +95 -0
  469. package/skills/skill-logo-design/node_modules/bun-types/docs/pm/workspaces.mdx +115 -0
  470. package/skills/skill-logo-design/node_modules/bun-types/docs/project/benchmarking.mdx +296 -0
  471. package/skills/skill-logo-design/node_modules/bun-types/docs/project/bindgen.mdx +223 -0
  472. package/skills/skill-logo-design/node_modules/bun-types/docs/project/building-windows.mdx +143 -0
  473. package/skills/skill-logo-design/node_modules/bun-types/docs/project/contributing.mdx +366 -0
  474. package/skills/skill-logo-design/node_modules/bun-types/docs/project/feedback.mdx +20 -0
  475. package/skills/skill-logo-design/node_modules/bun-types/docs/project/license.mdx +78 -0
  476. package/skills/skill-logo-design/node_modules/bun-types/docs/project/roadmap.mdx +8 -0
  477. package/skills/skill-logo-design/node_modules/bun-types/docs/quickstart.mdx +251 -0
  478. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/archive.mdx +452 -0
  479. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/auto-install.mdx +97 -0
  480. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/binary-data.mdx +846 -0
  481. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/bun-apis.mdx +60 -0
  482. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/bunfig.mdx +765 -0
  483. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/c-compiler.mdx +204 -0
  484. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/child-process.mdx +659 -0
  485. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/color.mdx +267 -0
  486. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/console.mdx +67 -0
  487. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/cookies.mdx +454 -0
  488. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/cron.mdx +358 -0
  489. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/csrf.mdx +171 -0
  490. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/debugger.mdx +335 -0
  491. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/environment-variables.mdx +231 -0
  492. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/ffi.mdx +567 -0
  493. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/file-io.mdx +306 -0
  494. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/file-system-router.mdx +118 -0
  495. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/file-types.mdx +482 -0
  496. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/glob.mdx +181 -0
  497. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/globals.mdx +72 -0
  498. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/hashing.mdx +315 -0
  499. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/html-rewriter.mdx +333 -0
  500. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/http/cookies.mdx +79 -0
  501. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/http/error-handling.mdx +40 -0
  502. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/http/metrics.mdx +36 -0
  503. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/http/routing.mdx +289 -0
  504. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/http/server.mdx +672 -0
  505. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/http/tls.mdx +101 -0
  506. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/http/websockets.mdx +414 -0
  507. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/index.mdx +223 -0
  508. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/json5.mdx +271 -0
  509. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/jsonl.mdx +188 -0
  510. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/jsx.mdx +115 -0
  511. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/markdown.mdx +381 -0
  512. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/module-resolution.mdx +374 -0
  513. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/networking/dns.mdx +111 -0
  514. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/networking/fetch.mdx +484 -0
  515. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/networking/tcp.mdx +239 -0
  516. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/networking/udp.mdx +180 -0
  517. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/node-api.mdx +19 -0
  518. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/nodejs-compat.mdx +468 -0
  519. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/plugins.mdx +419 -0
  520. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/redis.mdx +583 -0
  521. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/repl.mdx +176 -0
  522. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/s3.mdx +881 -0
  523. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/secrets.mdx +340 -0
  524. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/semver.mdx +57 -0
  525. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/shell.mdx +637 -0
  526. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/sql.mdx +1404 -0
  527. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/sqlite.mdx +721 -0
  528. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/streams.mdx +232 -0
  529. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/templating/create.mdx +269 -0
  530. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/templating/init.mdx +58 -0
  531. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/toml.mdx +238 -0
  532. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/transpiler.mdx +288 -0
  533. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/typescript.mdx +58 -0
  534. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/utils.mdx +1010 -0
  535. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/watch-mode.mdx +161 -0
  536. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/web-apis.mdx +29 -0
  537. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/workers.mdx +314 -0
  538. package/skills/skill-logo-design/node_modules/bun-types/docs/runtime/yaml.mdx +470 -0
  539. package/skills/skill-logo-design/node_modules/bun-types/docs/snippets/cli/add.mdx +166 -0
  540. package/skills/skill-logo-design/node_modules/bun-types/docs/snippets/cli/build.mdx +197 -0
  541. package/skills/skill-logo-design/node_modules/bun-types/docs/snippets/cli/bunx.mdx +49 -0
  542. package/skills/skill-logo-design/node_modules/bun-types/docs/snippets/cli/feedback.mdx +17 -0
  543. package/skills/skill-logo-design/node_modules/bun-types/docs/snippets/cli/init.mdx +84 -0
  544. package/skills/skill-logo-design/node_modules/bun-types/docs/snippets/cli/install.mdx +173 -0
  545. package/skills/skill-logo-design/node_modules/bun-types/docs/snippets/cli/link.mdx +163 -0
  546. package/skills/skill-logo-design/node_modules/bun-types/docs/snippets/cli/outdated.mdx +140 -0
  547. package/skills/skill-logo-design/node_modules/bun-types/docs/snippets/cli/patch.mdx +171 -0
  548. package/skills/skill-logo-design/node_modules/bun-types/docs/snippets/cli/publish.mdx +198 -0
  549. package/skills/skill-logo-design/node_modules/bun-types/docs/snippets/cli/remove.mdx +146 -0
  550. package/skills/skill-logo-design/node_modules/bun-types/docs/snippets/cli/run.mdx +305 -0
  551. package/skills/skill-logo-design/node_modules/bun-types/docs/snippets/cli/test.mdx +105 -0
  552. package/skills/skill-logo-design/node_modules/bun-types/docs/snippets/cli/update.mdx +144 -0
  553. package/skills/skill-logo-design/node_modules/bun-types/docs/test/code-coverage.mdx +409 -0
  554. package/skills/skill-logo-design/node_modules/bun-types/docs/test/configuration.mdx +574 -0
  555. package/skills/skill-logo-design/node_modules/bun-types/docs/test/dates-times.mdx +129 -0
  556. package/skills/skill-logo-design/node_modules/bun-types/docs/test/discovery.mdx +90 -0
  557. package/skills/skill-logo-design/node_modules/bun-types/docs/test/dom.mdx +226 -0
  558. package/skills/skill-logo-design/node_modules/bun-types/docs/test/index.mdx +409 -0
  559. package/skills/skill-logo-design/node_modules/bun-types/docs/test/lifecycle.mdx +366 -0
  560. package/skills/skill-logo-design/node_modules/bun-types/docs/test/mocks.mdx +637 -0
  561. package/skills/skill-logo-design/node_modules/bun-types/docs/test/reporters.mdx +126 -0
  562. package/skills/skill-logo-design/node_modules/bun-types/docs/test/runtime-behavior.mdx +342 -0
  563. package/skills/skill-logo-design/node_modules/bun-types/docs/test/snapshots.mdx +434 -0
  564. package/skills/skill-logo-design/node_modules/bun-types/docs/test/writing-tests.mdx +672 -0
  565. package/skills/skill-logo-design/node_modules/bun-types/docs/typescript.mdx +54 -0
  566. package/skills/skill-logo-design/node_modules/bun-types/extensions.d.ts +40 -0
  567. package/skills/skill-logo-design/node_modules/bun-types/fetch.d.ts +79 -0
  568. package/skills/skill-logo-design/node_modules/bun-types/ffi.d.ts +1154 -0
  569. package/skills/skill-logo-design/node_modules/bun-types/globals.d.ts +2067 -0
  570. package/skills/skill-logo-design/node_modules/bun-types/html-rewriter.d.ts +186 -0
  571. package/skills/skill-logo-design/node_modules/bun-types/index.d.ts +32 -0
  572. package/skills/skill-logo-design/node_modules/bun-types/jsc.d.ts +233 -0
  573. package/skills/skill-logo-design/node_modules/bun-types/jsx.d.ts +11 -0
  574. package/skills/skill-logo-design/node_modules/bun-types/overrides.d.ts +376 -0
  575. package/skills/skill-logo-design/node_modules/bun-types/package.json +37 -0
  576. package/skills/skill-logo-design/node_modules/bun-types/redis.d.ts +3352 -0
  577. package/skills/skill-logo-design/node_modules/bun-types/s3.d.ts +1354 -0
  578. package/skills/skill-logo-design/node_modules/bun-types/security.d.ts +101 -0
  579. package/skills/skill-logo-design/node_modules/bun-types/serve.d.ts +1296 -0
  580. package/skills/skill-logo-design/node_modules/bun-types/shell.d.ts +380 -0
  581. package/skills/skill-logo-design/node_modules/bun-types/sql.d.ts +887 -0
  582. package/skills/skill-logo-design/node_modules/bun-types/sqlite.d.ts +1322 -0
  583. package/skills/skill-logo-design/node_modules/bun-types/test-globals.d.ts +22 -0
  584. package/skills/skill-logo-design/node_modules/bun-types/test.d.ts +2392 -0
  585. package/skills/skill-logo-design/node_modules/bun-types/vendor/expect-type/branding.d.ts +283 -0
  586. package/skills/skill-logo-design/node_modules/bun-types/vendor/expect-type/index.d.ts +1207 -0
  587. package/skills/skill-logo-design/node_modules/bun-types/vendor/expect-type/messages.d.ts +395 -0
  588. package/skills/skill-logo-design/node_modules/bun-types/vendor/expect-type/overloads.d.ts +669 -0
  589. package/skills/skill-logo-design/node_modules/bun-types/vendor/expect-type/utils.d.ts +431 -0
  590. package/skills/skill-logo-design/node_modules/bun-types/wasm.d.ts +193 -0
  591. package/skills/skill-logo-design/node_modules/chalk/license +9 -0
  592. package/skills/skill-logo-design/node_modules/chalk/package.json +83 -0
  593. package/skills/skill-logo-design/node_modules/chalk/readme.md +297 -0
  594. package/skills/skill-logo-design/node_modules/chalk/source/index.d.ts +325 -0
  595. package/skills/skill-logo-design/node_modules/chalk/source/index.js +225 -0
  596. package/skills/skill-logo-design/node_modules/chalk/source/utilities.js +33 -0
  597. package/skills/skill-logo-design/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +236 -0
  598. package/skills/skill-logo-design/node_modules/chalk/source/vendor/ansi-styles/index.js +223 -0
  599. package/skills/skill-logo-design/node_modules/chalk/source/vendor/supports-color/browser.d.ts +1 -0
  600. package/skills/skill-logo-design/node_modules/chalk/source/vendor/supports-color/browser.js +34 -0
  601. package/skills/skill-logo-design/node_modules/chalk/source/vendor/supports-color/index.d.ts +55 -0
  602. package/skills/skill-logo-design/node_modules/chalk/source/vendor/supports-color/index.js +190 -0
  603. package/skills/skill-logo-design/node_modules/commander/LICENSE +22 -0
  604. package/skills/skill-logo-design/node_modules/commander/Readme.md +1149 -0
  605. package/skills/skill-logo-design/node_modules/commander/esm.mjs +16 -0
  606. package/skills/skill-logo-design/node_modules/commander/index.js +24 -0
  607. package/skills/skill-logo-design/node_modules/commander/lib/argument.js +149 -0
  608. package/skills/skill-logo-design/node_modules/commander/lib/command.js +2662 -0
  609. package/skills/skill-logo-design/node_modules/commander/lib/error.js +39 -0
  610. package/skills/skill-logo-design/node_modules/commander/lib/help.js +709 -0
  611. package/skills/skill-logo-design/node_modules/commander/lib/option.js +367 -0
  612. package/skills/skill-logo-design/node_modules/commander/lib/suggestSimilar.js +101 -0
  613. package/skills/skill-logo-design/node_modules/commander/package-support.json +16 -0
  614. package/skills/skill-logo-design/node_modules/commander/package.json +82 -0
  615. package/skills/skill-logo-design/node_modules/commander/typings/esm.d.mts +3 -0
  616. package/skills/skill-logo-design/node_modules/commander/typings/index.d.ts +1045 -0
  617. package/skills/skill-logo-design/node_modules/typescript/LICENSE.txt +55 -0
  618. package/skills/skill-logo-design/node_modules/typescript/README.md +50 -0
  619. package/skills/skill-logo-design/node_modules/typescript/SECURITY.md +41 -0
  620. package/skills/skill-logo-design/node_modules/typescript/ThirdPartyNoticeText.txt +193 -0
  621. package/skills/skill-logo-design/node_modules/typescript/bin/tsc +2 -0
  622. package/skills/skill-logo-design/node_modules/typescript/bin/tsserver +2 -0
  623. package/skills/skill-logo-design/node_modules/typescript/lib/_tsc.js +133818 -0
  624. package/skills/skill-logo-design/node_modules/typescript/lib/_tsserver.js +659 -0
  625. package/skills/skill-logo-design/node_modules/typescript/lib/_typingsInstaller.js +222 -0
  626. package/skills/skill-logo-design/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +2122 -0
  627. package/skills/skill-logo-design/node_modules/typescript/lib/de/diagnosticMessages.generated.json +2122 -0
  628. package/skills/skill-logo-design/node_modules/typescript/lib/es/diagnosticMessages.generated.json +2122 -0
  629. package/skills/skill-logo-design/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +2122 -0
  630. package/skills/skill-logo-design/node_modules/typescript/lib/it/diagnosticMessages.generated.json +2122 -0
  631. package/skills/skill-logo-design/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +2122 -0
  632. package/skills/skill-logo-design/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +2122 -0
  633. package/skills/skill-logo-design/node_modules/typescript/lib/lib.d.ts +22 -0
  634. package/skills/skill-logo-design/node_modules/typescript/lib/lib.decorators.d.ts +384 -0
  635. package/skills/skill-logo-design/node_modules/typescript/lib/lib.decorators.legacy.d.ts +22 -0
  636. package/skills/skill-logo-design/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +41 -0
  637. package/skills/skill-logo-design/node_modules/typescript/lib/lib.dom.d.ts +39429 -0
  638. package/skills/skill-logo-design/node_modules/typescript/lib/lib.dom.iterable.d.ts +571 -0
  639. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2015.collection.d.ts +147 -0
  640. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2015.core.d.ts +597 -0
  641. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2015.d.ts +28 -0
  642. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2015.generator.d.ts +77 -0
  643. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2015.iterable.d.ts +605 -0
  644. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2015.promise.d.ts +81 -0
  645. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2015.proxy.d.ts +128 -0
  646. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2015.reflect.d.ts +144 -0
  647. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2015.symbol.d.ts +46 -0
  648. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +326 -0
  649. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2016.array.include.d.ts +116 -0
  650. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2016.d.ts +21 -0
  651. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2016.full.d.ts +23 -0
  652. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2016.intl.d.ts +31 -0
  653. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +21 -0
  654. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2017.d.ts +26 -0
  655. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2017.date.d.ts +31 -0
  656. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2017.full.d.ts +23 -0
  657. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2017.intl.d.ts +44 -0
  658. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2017.object.d.ts +49 -0
  659. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +135 -0
  660. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2017.string.d.ts +45 -0
  661. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +53 -0
  662. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +77 -0
  663. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +53 -0
  664. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2018.d.ts +24 -0
  665. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2018.full.d.ts +24 -0
  666. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2018.intl.d.ts +83 -0
  667. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2018.promise.d.ts +30 -0
  668. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2018.regexp.d.ts +37 -0
  669. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2019.array.d.ts +79 -0
  670. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2019.d.ts +24 -0
  671. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2019.full.d.ts +24 -0
  672. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2019.intl.d.ts +23 -0
  673. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2019.object.d.ts +33 -0
  674. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2019.string.d.ts +37 -0
  675. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2019.symbol.d.ts +24 -0
  676. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2020.bigint.d.ts +765 -0
  677. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2020.d.ts +27 -0
  678. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2020.date.d.ts +42 -0
  679. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2020.full.d.ts +24 -0
  680. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2020.intl.d.ts +474 -0
  681. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2020.number.d.ts +28 -0
  682. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2020.promise.d.ts +47 -0
  683. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +99 -0
  684. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2020.string.d.ts +44 -0
  685. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +41 -0
  686. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2021.d.ts +23 -0
  687. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2021.full.d.ts +24 -0
  688. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2021.intl.d.ts +166 -0
  689. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2021.promise.d.ts +48 -0
  690. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2021.string.d.ts +33 -0
  691. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2021.weakref.d.ts +78 -0
  692. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2022.array.d.ts +121 -0
  693. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2022.d.ts +25 -0
  694. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2022.error.d.ts +75 -0
  695. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2022.full.d.ts +24 -0
  696. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2022.intl.d.ts +145 -0
  697. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2022.object.d.ts +26 -0
  698. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2022.regexp.d.ts +39 -0
  699. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2022.string.d.ts +25 -0
  700. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2023.array.d.ts +924 -0
  701. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2023.collection.d.ts +21 -0
  702. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2023.d.ts +22 -0
  703. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2023.full.d.ts +24 -0
  704. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2023.intl.d.ts +56 -0
  705. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +65 -0
  706. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2024.collection.d.ts +29 -0
  707. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2024.d.ts +26 -0
  708. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2024.full.d.ts +24 -0
  709. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2024.object.d.ts +29 -0
  710. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2024.promise.d.ts +35 -0
  711. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2024.regexp.d.ts +25 -0
  712. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +68 -0
  713. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es2024.string.d.ts +29 -0
  714. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es5.d.ts +4601 -0
  715. package/skills/skill-logo-design/node_modules/typescript/lib/lib.es6.d.ts +23 -0
  716. package/skills/skill-logo-design/node_modules/typescript/lib/lib.esnext.array.d.ts +35 -0
  717. package/skills/skill-logo-design/node_modules/typescript/lib/lib.esnext.collection.d.ts +96 -0
  718. package/skills/skill-logo-design/node_modules/typescript/lib/lib.esnext.d.ts +29 -0
  719. package/skills/skill-logo-design/node_modules/typescript/lib/lib.esnext.decorators.d.ts +28 -0
  720. package/skills/skill-logo-design/node_modules/typescript/lib/lib.esnext.disposable.d.ts +193 -0
  721. package/skills/skill-logo-design/node_modules/typescript/lib/lib.esnext.error.d.ts +24 -0
  722. package/skills/skill-logo-design/node_modules/typescript/lib/lib.esnext.float16.d.ts +445 -0
  723. package/skills/skill-logo-design/node_modules/typescript/lib/lib.esnext.full.d.ts +24 -0
  724. package/skills/skill-logo-design/node_modules/typescript/lib/lib.esnext.intl.d.ts +21 -0
  725. package/skills/skill-logo-design/node_modules/typescript/lib/lib.esnext.iterator.d.ts +148 -0
  726. package/skills/skill-logo-design/node_modules/typescript/lib/lib.esnext.promise.d.ts +34 -0
  727. package/skills/skill-logo-design/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +25 -0
  728. package/skills/skill-logo-design/node_modules/typescript/lib/lib.scripthost.d.ts +322 -0
  729. package/skills/skill-logo-design/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +41 -0
  730. package/skills/skill-logo-design/node_modules/typescript/lib/lib.webworker.d.ts +13150 -0
  731. package/skills/skill-logo-design/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +23 -0
  732. package/skills/skill-logo-design/node_modules/typescript/lib/lib.webworker.iterable.d.ts +340 -0
  733. package/skills/skill-logo-design/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +2122 -0
  734. package/skills/skill-logo-design/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +2122 -0
  735. package/skills/skill-logo-design/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +2122 -0
  736. package/skills/skill-logo-design/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +2122 -0
  737. package/skills/skill-logo-design/node_modules/typescript/lib/tsc.js +8 -0
  738. package/skills/skill-logo-design/node_modules/typescript/lib/tsserver.js +8 -0
  739. package/skills/skill-logo-design/node_modules/typescript/lib/tsserverlibrary.d.ts +17 -0
  740. package/skills/skill-logo-design/node_modules/typescript/lib/tsserverlibrary.js +21 -0
  741. package/skills/skill-logo-design/node_modules/typescript/lib/typesMap.json +497 -0
  742. package/skills/skill-logo-design/node_modules/typescript/lib/typescript.d.ts +11437 -0
  743. package/skills/skill-logo-design/node_modules/typescript/lib/typescript.js +200276 -0
  744. package/skills/skill-logo-design/node_modules/typescript/lib/typingsInstaller.js +8 -0
  745. package/skills/skill-logo-design/node_modules/typescript/lib/watchGuard.js +53 -0
  746. package/skills/skill-logo-design/node_modules/typescript/lib/zh-cn/diagnosticMessages.generated.json +2122 -0
  747. package/skills/skill-logo-design/node_modules/typescript/lib/zh-tw/diagnosticMessages.generated.json +2122 -0
  748. package/skills/skill-logo-design/node_modules/typescript/package.json +120 -0
  749. package/skills/skill-logo-design/node_modules/undici-types/LICENSE +21 -0
  750. package/skills/skill-logo-design/node_modules/undici-types/README.md +6 -0
  751. package/skills/skill-logo-design/node_modules/undici-types/agent.d.ts +32 -0
  752. package/skills/skill-logo-design/node_modules/undici-types/api.d.ts +43 -0
  753. package/skills/skill-logo-design/node_modules/undici-types/balanced-pool.d.ts +30 -0
  754. package/skills/skill-logo-design/node_modules/undici-types/cache-interceptor.d.ts +173 -0
  755. package/skills/skill-logo-design/node_modules/undici-types/cache.d.ts +36 -0
  756. package/skills/skill-logo-design/node_modules/undici-types/client-stats.d.ts +15 -0
  757. package/skills/skill-logo-design/node_modules/undici-types/client.d.ts +108 -0
  758. package/skills/skill-logo-design/node_modules/undici-types/connector.d.ts +34 -0
  759. package/skills/skill-logo-design/node_modules/undici-types/content-type.d.ts +21 -0
  760. package/skills/skill-logo-design/node_modules/undici-types/cookies.d.ts +30 -0
  761. package/skills/skill-logo-design/node_modules/undici-types/diagnostics-channel.d.ts +74 -0
  762. package/skills/skill-logo-design/node_modules/undici-types/dispatcher.d.ts +276 -0
  763. package/skills/skill-logo-design/node_modules/undici-types/env-http-proxy-agent.d.ts +22 -0
  764. package/skills/skill-logo-design/node_modules/undici-types/errors.d.ts +161 -0
  765. package/skills/skill-logo-design/node_modules/undici-types/eventsource.d.ts +66 -0
  766. package/skills/skill-logo-design/node_modules/undici-types/fetch.d.ts +211 -0
  767. package/skills/skill-logo-design/node_modules/undici-types/formdata.d.ts +108 -0
  768. package/skills/skill-logo-design/node_modules/undici-types/global-dispatcher.d.ts +9 -0
  769. package/skills/skill-logo-design/node_modules/undici-types/global-origin.d.ts +7 -0
  770. package/skills/skill-logo-design/node_modules/undici-types/h2c-client.d.ts +73 -0
  771. package/skills/skill-logo-design/node_modules/undici-types/handlers.d.ts +15 -0
  772. package/skills/skill-logo-design/node_modules/undici-types/header.d.ts +160 -0
  773. package/skills/skill-logo-design/node_modules/undici-types/index.d.ts +88 -0
  774. package/skills/skill-logo-design/node_modules/undici-types/interceptors.d.ts +73 -0
  775. package/skills/skill-logo-design/node_modules/undici-types/mock-agent.d.ts +68 -0
  776. package/skills/skill-logo-design/node_modules/undici-types/mock-call-history.d.ts +111 -0
  777. package/skills/skill-logo-design/node_modules/undici-types/mock-client.d.ts +27 -0
  778. package/skills/skill-logo-design/node_modules/undici-types/mock-errors.d.ts +12 -0
  779. package/skills/skill-logo-design/node_modules/undici-types/mock-interceptor.d.ts +94 -0
  780. package/skills/skill-logo-design/node_modules/undici-types/mock-pool.d.ts +27 -0
  781. package/skills/skill-logo-design/node_modules/undici-types/package.json +55 -0
  782. package/skills/skill-logo-design/node_modules/undici-types/patch.d.ts +29 -0
  783. package/skills/skill-logo-design/node_modules/undici-types/pool-stats.d.ts +19 -0
  784. package/skills/skill-logo-design/node_modules/undici-types/pool.d.ts +41 -0
  785. package/skills/skill-logo-design/node_modules/undici-types/proxy-agent.d.ts +29 -0
  786. package/skills/skill-logo-design/node_modules/undici-types/readable.d.ts +68 -0
  787. package/skills/skill-logo-design/node_modules/undici-types/retry-agent.d.ts +8 -0
  788. package/skills/skill-logo-design/node_modules/undici-types/retry-handler.d.ts +125 -0
  789. package/skills/skill-logo-design/node_modules/undici-types/round-robin-pool.d.ts +41 -0
  790. package/skills/skill-logo-design/node_modules/undici-types/snapshot-agent.d.ts +109 -0
  791. package/skills/skill-logo-design/node_modules/undici-types/util.d.ts +18 -0
  792. package/skills/skill-logo-design/node_modules/undici-types/utility.d.ts +7 -0
  793. package/skills/skill-logo-design/node_modules/undici-types/webidl.d.ts +341 -0
  794. package/skills/skill-logo-design/node_modules/undici-types/websocket.d.ts +186 -0
  795. package/skills/skill-logo-design/package.json +22 -0
  796. package/skills/skill-logo-design/src/index.ts +322 -0
  797. package/skills/skill-logo-design/tsconfig.json +8 -0
  798. package/skills/skill-longform-structurer/package.json +1 -7
  799. package/skills/skill-lorem-generator/package.json +1 -7
  800. package/skills/skill-managehook/package.json +1 -3
  801. package/skills/skill-managemcp/package.json +1 -3
  802. package/skills/skill-manageskill/package.json +1 -3
  803. package/skills/skill-markdown-validator/package.json +1 -7
  804. package/skills/skill-mcp-builder/package.json +1 -7
  805. package/skills/skill-meal-plan-designer/package.json +1 -7
  806. package/skills/skill-meeting-insight-summarizer/package.json +1 -7
  807. package/skills/skill-merge-pdfs/package.json +1 -7
  808. package/skills/skill-microcopy-generator/package.json +1 -7
  809. package/skills/skill-mindfulness-prompt-cache/package.json +1 -7
  810. package/skills/skill-monitor/package.json +0 -1
  811. package/skills/skill-music/CLAUDE.md +9 -0
  812. package/skills/skill-music/SKILL.md +35 -0
  813. package/skills/skill-music/package.json +27 -0
  814. package/skills/skill-music/src/index.ts +192 -0
  815. package/skills/skill-notion-manager/package.json +1 -7
  816. package/skills/skill-npmpublish/package.json +0 -5
  817. package/skills/skill-onboarding-sequence-builder/package.json +1 -7
  818. package/skills/skill-onsite-ops-checklist/package.json +1 -7
  819. package/skills/skill-outreach-cadence-designer/package.json +1 -7
  820. package/skills/skill-packaging-concept-studio/package.json +1 -7
  821. package/skills/skill-packing-plan-pro/package.json +1 -7
  822. package/skills/skill-parent-teacher-brief/package.json +1 -7
  823. package/skills/skill-partner-kit-assembler/package.json +1 -7
  824. package/skills/skill-payroll-change-prepper/package.json +1 -7
  825. package/skills/{skill-generate-docx → skill-pdf-generate}/package.json +3 -3
  826. package/skills/skill-pdf-read/SKILL.md +56 -0
  827. package/skills/skill-pdf-read/package.json +27 -0
  828. package/skills/skill-pdf-read/src/index.ts +320 -0
  829. package/skills/skill-pdf-read/tsconfig.json +8 -0
  830. package/skills/skill-persona-based-adwriter/package.json +1 -7
  831. package/skills/skill-persona-generator/package.json +1 -7
  832. package/skills/skill-personal-daily-ops/package.json +1 -7
  833. package/skills/skill-pet-care-scheduler/package.json +1 -7
  834. package/skills/skill-podcast-show-notes/package.json +1 -7
  835. package/skills/skill-presentation-theme-maker/package.json +1 -7
  836. package/skills/skill-press-release-drafter/package.json +1 -7
  837. package/skills/skill-print-collateral-designer/package.json +1 -7
  838. package/skills/skill-procurement-scorecard/package.json +1 -7
  839. package/skills/skill-product-demo-script/package.json +1 -7
  840. package/skills/skill-product-mockup/package.json +1 -7
  841. package/skills/skill-project-retro-companion/package.json +1 -7
  842. package/skills/skill-proposal-redline-advisor/package.json +1 -7
  843. package/skills/skill-read-csv/package.json +0 -1
  844. package/skills/skill-read-excel/package.json +0 -1
  845. package/skills/skill-read-image/package.json +0 -1
  846. package/skills/skill-read-pdf/package.json +0 -1
  847. package/skills/skill-regex-tester/package.json +1 -7
  848. package/skills/skill-remove-background/package.json +1 -7
  849. package/skills/skill-risk-disclosure-kit/package.json +1 -7
  850. package/skills/skill-roi-comparison-tool/package.json +1 -7
  851. package/skills/skill-sales-call-recapper/package.json +1 -7
  852. package/skills/skill-scaffold-project/package.json +1 -7
  853. package/skills/skill-scancommitpr/package.json +0 -2
  854. package/skills/skill-scancommitpush/package.json +0 -2
  855. package/skills/skill-scholarship-tracker/package.json +1 -7
  856. package/skills/skill-scientific-figure-check/package.json +1 -7
  857. package/skills/skill-seating-chart-maker/package.json +1 -7
  858. package/skills/skill-security-audit/package.json +1 -7
  859. package/skills/skill-seo-brief-builder/package.json +1 -7
  860. package/skills/skill-siteanalyze/package.json +19 -5
  861. package/skills/skill-slack-assistant/package.json +1 -7
  862. package/skills/skill-sleep-routine-analyzer/package.json +1 -7
  863. package/skills/skill-sms/package.json +0 -1
  864. package/skills/skill-social-media-kit/package.json +1 -7
  865. package/skills/skill-sound-effects/SKILL.md +34 -0
  866. package/skills/skill-sound-effects/package.json +27 -0
  867. package/skills/skill-sound-effects/src/index.ts +172 -0
  868. package/skills/skill-sound-effects/tsconfig.json +8 -0
  869. package/skills/skill-split-pdf/package.json +1 -7
  870. package/skills/skill-sponsorship-proposal-lab/package.json +1 -7
  871. package/skills/skill-spreadsheet-cleanroom/package.json +1 -7
  872. package/skills/skill-statistical-test-selector/package.json +1 -7
  873. package/skills/skill-stress-relief-playbook/package.json +1 -7
  874. package/skills/skill-study-guide-builder/package.json +1 -7
  875. package/skills/skill-subscription-spend-watcher/package.json +1 -7
  876. package/skills/skill-subtitle/package.json +0 -6
  877. package/skills/skill-survey-insight-extractor/package.json +1 -7
  878. package/skills/skill-terraform-generator/package.json +1 -7
  879. package/skills/skill-testimonial-graphics/package.json +1 -7
  880. package/skills/skill-timesheet/package.json +0 -6
  881. package/skills/skill-tmux-session/package.json +0 -1
  882. package/skills/skill-transcript/package.json +0 -5
  883. package/skills/skill-travel-budget-balancer/package.json +1 -7
  884. package/skills/skill-validate-config/package.json +1 -7
  885. package/skills/skill-video/package.json +0 -5
  886. package/skills/skill-video/src/providers/index.ts +4 -1
  887. package/skills/skill-video/src/providers/minimax.ts +100 -0
  888. package/skills/skill-video/src/types.ts +1 -1
  889. package/skills/skill-video-cut-suggester/package.json +1 -7
  890. package/skills/skill-video-downloader/package.json +1 -7
  891. package/skills/skill-video-thumbnail/package.json +1 -7
  892. package/skills/skill-voiceover-casting-assistant/package.json +1 -7
  893. package/skills/skill-watermark/package.json +1 -7
  894. package/skills/skill-webcrawling/package.json +11 -8
  895. package/skills/skill-webinar-script-coach/package.json +1 -7
  896. package/skills/skill-wellness-progress-reporter/package.json +1 -7
  897. package/skills/skill-workout-cycle-planner/package.json +1 -7
  898. package/skills/skill-write/package.json +0 -5
  899. package/skills/skill-jingle-composer/CLAUDE.md +0 -19
  900. package/skills/skill-jingle-composer/src/index.ts +0 -250
  901. /package/skills/{skill-extract-audio → skill-audio-extract}/CLAUDE.md +0 -0
  902. /package/skills/{skill-extract-audio → skill-audio-extract}/src/index.ts +0 -0
  903. /package/skills/{skill-extract-audio → skill-audio-extract}/tsconfig.json +0 -0
  904. /package/skills/{skill-generate-docx → skill-doc-generate}/CLAUDE.md +0 -0
  905. /package/skills/{skill-generate-docx → skill-doc-generate}/SKILL.md +0 -0
  906. /package/skills/{skill-generate-docx → skill-doc-generate}/src/index.ts +0 -0
  907. /package/skills/{skill-generate-docx → skill-doc-generate}/tsconfig.json +0 -0
  908. /package/skills/{skill-generate-excel → skill-excel}/CLAUDE.md +0 -0
  909. /package/skills/{skill-generate-excel → skill-excel}/src/index.ts +0 -0
  910. /package/skills/{skill-generate-excel → skill-excel}/tsconfig.json +0 -0
  911. /package/skills/{skill-jingle-composer → skill-music}/tsconfig.json +0 -0
  912. /package/skills/{skill-generate-pdf → skill-pdf-generate}/CLAUDE.md +0 -0
  913. /package/skills/{skill-generate-pdf → skill-pdf-generate}/SKILL.md +0 -0
  914. /package/skills/{skill-generate-pdf → skill-pdf-generate}/src/index.ts +0 -0
  915. /package/skills/{skill-generate-pdf → skill-pdf-generate}/tsconfig.json +0 -0
@@ -0,0 +1,1086 @@
1
+ ---
2
+ title: "Fullstack dev server"
3
+ description: "Build fullstack applications with Bun's integrated dev server that bundles frontend assets and handles API routes"
4
+ ---
5
+
6
+ To get started, import HTML files and pass them to the `routes` option in `Bun.serve()`.
7
+
8
+ ```ts title="app.ts" icon="/icons/typescript.svg"
9
+ import { serve } from "bun";
10
+ import dashboard from "./dashboard.html";
11
+ import homepage from "./index.html";
12
+
13
+ const server = serve({
14
+ routes: {
15
+ // ** HTML imports **
16
+ // Bundle & route index.html to "/". This uses HTMLRewriter to scan
17
+ // the HTML for `<script>` and `<link>` tags, runs Bun's JavaScript
18
+ // & CSS bundler on them, transpiles any TypeScript, JSX, and TSX,
19
+ // downlevels CSS with Bun's CSS parser and serves the result.
20
+ "/": homepage,
21
+ // Bundle & route dashboard.html to "/dashboard"
22
+ "/dashboard": dashboard,
23
+
24
+ // ** API endpoints ** (Bun v1.2.3+ required)
25
+ "/api/users": {
26
+ async GET(req) {
27
+ const users = await sql`SELECT * FROM users`;
28
+ return Response.json(users);
29
+ },
30
+ async POST(req) {
31
+ const { name, email } = await req.json();
32
+ const [user] = await sql`INSERT INTO users (name, email) VALUES (${name}, ${email})`;
33
+ return Response.json(user);
34
+ },
35
+ },
36
+ "/api/users/:id": async req => {
37
+ const { id } = req.params;
38
+ const [user] = await sql`SELECT * FROM users WHERE id = ${id}`;
39
+ return Response.json(user);
40
+ },
41
+ },
42
+
43
+ // Enable development mode for:
44
+ // - Detailed error messages
45
+ // - Hot reloading (Bun v1.2.3+ required)
46
+ development: true,
47
+ });
48
+
49
+ console.log(`Listening on ${server.url}`);
50
+ ```
51
+
52
+ ```bash terminal icon="terminal"
53
+ bun run app.ts
54
+ ```
55
+
56
+ ## HTML Routes
57
+
58
+ ### HTML Imports as Routes
59
+
60
+ The web starts with HTML, and so does Bun's fullstack dev server.
61
+
62
+ To specify entrypoints to your frontend, import HTML files into your JavaScript/TypeScript/TSX/JSX files.
63
+
64
+ ```ts title="app.ts" icon="/icons/typescript.svg"
65
+ import dashboard from "./dashboard.html";
66
+ import homepage from "./index.html";
67
+ ```
68
+
69
+ These HTML files are used as routes in Bun's dev server you can pass to `Bun.serve()`.
70
+
71
+ ```ts title="app.ts" icon="/icons/typescript.svg"
72
+ Bun.serve({
73
+ routes: {
74
+ "/": homepage,
75
+ "/dashboard": dashboard,
76
+ },
77
+
78
+ fetch(req) {
79
+ // ... api requests
80
+ },
81
+ });
82
+ ```
83
+
84
+ When you make a request to `/dashboard` or `/`, Bun automatically bundles the `<script>` and `<link>` tags in the HTML files, exposes them as static routes, and serves the result.
85
+
86
+ ### HTML Processing Example
87
+
88
+ An `index.html` file like this:
89
+
90
+ ```html title="index.html" icon="file-code"
91
+ <!DOCTYPE html>
92
+ <html>
93
+ <head>
94
+ <title>Home</title>
95
+ <link rel="stylesheet" href="./reset.css" />
96
+ <link rel="stylesheet" href="./styles.css" />
97
+ </head>
98
+ <body>
99
+ <div id="root"></div>
100
+ <script type="module" src="./sentry-and-preloads.ts"></script>
101
+ <script type="module" src="./my-app.tsx"></script>
102
+ </body>
103
+ </html>
104
+ ```
105
+
106
+ Becomes something like this:
107
+
108
+ ```html title="index.html" icon="file-code"
109
+ <!DOCTYPE html>
110
+ <html>
111
+ <head>
112
+ <title>Home</title>
113
+ <link rel="stylesheet" href="/index-[hash].css" />
114
+ </head>
115
+ <body>
116
+ <div id="root"></div>
117
+ <script type="module" src="/index-[hash].js"></script>
118
+ </body>
119
+ </html>
120
+ ```
121
+
122
+ ## React Integration
123
+
124
+ To use React in your client-side code, import `react-dom/client` and render your app.
125
+
126
+ <CodeGroup>
127
+
128
+ ```ts title="src/backend.ts" icon="/icons/typescript.svg"
129
+ import dashboard from "../public/dashboard.html";
130
+ import { serve } from "bun";
131
+
132
+ serve({
133
+ routes: {
134
+ "/": dashboard,
135
+ },
136
+ async fetch(req) {
137
+ // ...api requests
138
+ return new Response("hello world");
139
+ },
140
+ });
141
+ ```
142
+
143
+ ```tsx title="src/frontend.tsx" icon="/icons/typescript.svg"
144
+ import { createRoot } from "react-dom/client";
145
+ import App from "./app";
146
+
147
+ const container = document.getElementById("root");
148
+ const root = createRoot(container!);
149
+ root.render(<App />);
150
+ ```
151
+
152
+ ```html title="public/dashboard.html" icon="file-code"
153
+ <!DOCTYPE html>
154
+ <html>
155
+ <head>
156
+ <title>Dashboard</title>
157
+ <link rel="stylesheet" href="../src/styles.css" />
158
+ </head>
159
+ <body>
160
+ <div id="root"></div>
161
+ <script type="module" src="../src/frontend.tsx"></script>
162
+ </body>
163
+ </html>
164
+ ```
165
+
166
+ ```tsx title="src/app.tsx" icon="/icons/typescript.svg"
167
+ import { useState } from "react";
168
+
169
+ export default function App() {
170
+ const [count, setCount] = useState(0);
171
+
172
+ return (
173
+ <div>
174
+ <h1>Dashboard</h1>
175
+ <button onClick={() => setCount(count + 1)}>Count: {count}</button>
176
+ </div>
177
+ );
178
+ }
179
+ ```
180
+
181
+ </CodeGroup>
182
+
183
+ ## Development Mode
184
+
185
+ When building locally, enable development mode by setting `development: true` in `Bun.serve()`.
186
+
187
+ ```ts title="src/backend.ts" icon="/icons/typescript.svg"
188
+ import homepage from "./index.html";
189
+ import dashboard from "./dashboard.html";
190
+
191
+ Bun.serve({
192
+ routes: {
193
+ "/": homepage,
194
+ "/dashboard": dashboard,
195
+ },
196
+
197
+ development: true,
198
+
199
+ fetch(req) {
200
+ // ... api requests
201
+ },
202
+ });
203
+ ```
204
+
205
+ ### Development Mode Features
206
+
207
+ When `development` is `true`, Bun will:
208
+
209
+ - Include the SourceMap header in the response so that devtools can show the original source code
210
+ - Disable minification
211
+ - Re-bundle assets on each request to a `.html` file
212
+ - Enable hot module reloading (unless `hmr: false` is set)
213
+ - Echo console logs from browser to terminal
214
+
215
+ ### Advanced Development Configuration
216
+
217
+ `Bun.serve()` supports echoing console logs from the browser to the terminal.
218
+
219
+ To enable this, pass `console: true` in the development object in `Bun.serve()`.
220
+
221
+ ```ts title="src/backend.ts" icon="/icons/typescript.svg"
222
+ import homepage from "./index.html";
223
+
224
+ Bun.serve({
225
+ // development can also be an object.
226
+ development: {
227
+ // Enable Hot Module Reloading
228
+ hmr: true,
229
+
230
+ // Echo console logs from the browser to the terminal
231
+ console: true,
232
+ },
233
+
234
+ routes: {
235
+ "/": homepage,
236
+ },
237
+ });
238
+ ```
239
+
240
+ When `console: true` is set, Bun will stream console logs from the browser to the terminal. This reuses the existing WebSocket connection from HMR to send the logs.
241
+
242
+ ### Development vs Production
243
+
244
+ | Feature | Development | Production |
245
+ | ------------------- | --------------------- | ----------- |
246
+ | **Source maps** | ✅ Enabled | ❌ Disabled |
247
+ | **Minification** | ❌ Disabled | ✅ Enabled |
248
+ | **Hot reloading** | ✅ Enabled | ❌ Disabled |
249
+ | **Asset bundling** | 🔄 On each request | 💾 Cached |
250
+ | **Console logging** | 🖥️ Browser → Terminal | ❌ Disabled |
251
+ | **Error details** | 📝 Detailed | 🔒 Minimal |
252
+
253
+ ## Production Mode
254
+
255
+ Hot reloading and `development: true` helps you iterate quickly, but in production, your server should be as fast as possible and have as few external dependencies as possible.
256
+
257
+ ### Ahead of Time Bundling (Recommended)
258
+
259
+ As of Bun v1.2.17, you can use `Bun.build` or `bun build` to bundle your full-stack application ahead of time.
260
+
261
+ ```bash terminal icon="terminal"
262
+ bun build --target=bun --production --outdir=dist ./src/index.ts
263
+ ```
264
+
265
+ When Bun's bundler sees an HTML import from server-side code, it will bundle the referenced JavaScript/TypeScript/TSX/JSX and CSS files into a manifest object that `Bun.serve()` can use to serve the assets.
266
+
267
+ ```ts title="src/backend.ts" icon="/icons/typescript.svg"
268
+ import { serve } from "bun";
269
+ import index from "./index.html";
270
+
271
+ serve({
272
+ routes: { "/": index },
273
+ });
274
+ ```
275
+
276
+ ### Runtime Bundling
277
+
278
+ When adding a build step is too complicated, you can set `development: false` in `Bun.serve()`.
279
+
280
+ This will:
281
+
282
+ - Enable in-memory caching of bundled assets. Bun will bundle assets lazily on the first request to an `.html` file, and cache the result in memory until the server restarts.
283
+ - Enable `Cache-Control` headers and `ETag` headers
284
+ - Minify JavaScript/TypeScript/TSX/JSX files
285
+
286
+ ```ts title="src/backend.ts" icon="/icons/typescript.svg"
287
+ import { serve } from "bun";
288
+ import homepage from "./index.html";
289
+
290
+ serve({
291
+ routes: {
292
+ "/": homepage,
293
+ },
294
+
295
+ // Production mode
296
+ development: false,
297
+ });
298
+ ```
299
+
300
+ ## API Routes
301
+
302
+ ### HTTP Method Handlers
303
+
304
+ Define API endpoints with HTTP method handlers:
305
+
306
+ ```ts title="src/backend.ts" icon="/icons/typescript.svg"
307
+ import { serve } from "bun";
308
+
309
+ serve({
310
+ routes: {
311
+ "/api/users": {
312
+ async GET(req) {
313
+ // Handle GET requests
314
+ const users = await getUsers();
315
+ return Response.json(users);
316
+ },
317
+
318
+ async POST(req) {
319
+ // Handle POST requests
320
+ const userData = await req.json();
321
+ const user = await createUser(userData);
322
+ return Response.json(user, { status: 201 });
323
+ },
324
+
325
+ async PUT(req) {
326
+ // Handle PUT requests
327
+ const userData = await req.json();
328
+ const user = await updateUser(userData);
329
+ return Response.json(user);
330
+ },
331
+
332
+ async DELETE(req) {
333
+ // Handle DELETE requests
334
+ await deleteUser(req.params.id);
335
+ return new Response(null, { status: 204 });
336
+ },
337
+ },
338
+ },
339
+ });
340
+ ```
341
+
342
+ ### Dynamic Routes
343
+
344
+ Use URL parameters in your routes:
345
+
346
+ ```ts title="src/backend.ts" icon="/icons/typescript.svg"
347
+ serve({
348
+ routes: {
349
+ // Single parameter
350
+ "/api/users/:id": async req => {
351
+ const { id } = req.params;
352
+ const user = await getUserById(id);
353
+ return Response.json(user);
354
+ },
355
+
356
+ // Multiple parameters
357
+ "/api/users/:userId/posts/:postId": async req => {
358
+ const { userId, postId } = req.params;
359
+ const post = await getPostByUser(userId, postId);
360
+ return Response.json(post);
361
+ },
362
+
363
+ // Wildcard routes
364
+ "/api/files/*": async req => {
365
+ const filePath = req.params["*"];
366
+ const file = await getFile(filePath);
367
+ return new Response(file);
368
+ },
369
+ },
370
+ });
371
+ ```
372
+
373
+ ### Request Handling
374
+
375
+ ```ts title="src/backend.ts" icon="/icons/typescript.svg"
376
+ serve({
377
+ routes: {
378
+ "/api/data": {
379
+ async POST(req) {
380
+ // Parse JSON body
381
+ const body = await req.json();
382
+
383
+ // Access headers
384
+ const auth = req.headers.get("Authorization");
385
+
386
+ // Access URL parameters
387
+ const { id } = req.params;
388
+
389
+ // Access query parameters
390
+ const url = new URL(req.url);
391
+ const page = url.searchParams.get("page") || "1";
392
+
393
+ // Return response
394
+ return Response.json({
395
+ message: "Data processed",
396
+ page: parseInt(page),
397
+ authenticated: !!auth,
398
+ });
399
+ },
400
+ },
401
+ },
402
+ });
403
+ ```
404
+
405
+ ## Plugins
406
+
407
+ Bun's bundler plugins are also supported when bundling static routes.
408
+
409
+ To configure plugins for `Bun.serve`, add a `plugins` array in the `[serve.static]` section of your `bunfig.toml`.
410
+
411
+ ### TailwindCSS Plugin
412
+
413
+ You can use TailwindCSS by installing and adding the `tailwindcss` package and `bun-plugin-tailwind` plugin.
414
+
415
+ ```bash terminal icon="terminal"
416
+ bun add tailwindcss bun-plugin-tailwind
417
+ ```
418
+
419
+ ```toml title="bunfig.toml" icon="settings"
420
+ [serve.static]
421
+ plugins = ["bun-plugin-tailwind"]
422
+ ```
423
+
424
+ This will allow you to use TailwindCSS utility classes in your HTML and CSS files. All you need to do is import `tailwindcss` somewhere:
425
+
426
+ ```html title="index.html" icon="file-code"
427
+ <!doctype html>
428
+ <html>
429
+ <head>
430
+ <!-- [!code ++] -->
431
+ <link rel="stylesheet" href="tailwindcss" />
432
+ </head>
433
+ <!-- the rest of your HTML... -->
434
+ </html>
435
+ ```
436
+
437
+ Alternatively, you can import TailwindCSS in your CSS file:
438
+
439
+ ```css title="style.css" icon="file-code"
440
+ @import "tailwindcss";
441
+
442
+ .custom-class {
443
+ @apply bg-red-500 text-white;
444
+ }
445
+ ```
446
+
447
+ ```html index.html icon="file-code"
448
+ <!doctype html>
449
+ <html>
450
+ <head>
451
+ <!-- [!code ++] -->
452
+ <link rel="stylesheet" href="./style.css" />
453
+ </head>
454
+ <!-- the rest of your HTML... -->
455
+ </html>
456
+ ```
457
+
458
+ ### Custom Plugins
459
+
460
+ Any JS file or module which exports a valid bundler plugin object (essentially an object with a `name` and `setup` field) can be placed inside the plugins array:
461
+
462
+ ```toml title="bunfig.toml" icon="settings"
463
+ [serve.static]
464
+ plugins = ["./my-plugin-implementation.ts"]
465
+ ```
466
+
467
+ ```ts title="my-plugin-implementation.ts" icon="/icons/typescript.svg"
468
+ import type { BunPlugin } from "bun";
469
+
470
+ const myPlugin: BunPlugin = {
471
+ name: "my-custom-plugin",
472
+ setup(build) {
473
+ // Plugin implementation
474
+ build.onLoad({ filter: /\.custom$/ }, async args => {
475
+ const text = await Bun.file(args.path).text();
476
+ return {
477
+ contents: `export default ${JSON.stringify(text)};`,
478
+ loader: "js",
479
+ };
480
+ });
481
+ },
482
+ };
483
+
484
+ export default myPlugin;
485
+ ```
486
+
487
+ Bun will lazily resolve and load each plugin and use them to bundle your routes.
488
+
489
+ <Note>
490
+ This is currently in `bunfig.toml` to make it possible to know statically which plugins are in use when we eventually
491
+ integrate this with the `bun build` CLI. These plugins work in `Bun.build()`'s JS API, but are not yet supported in
492
+ the CLI.
493
+ </Note>
494
+
495
+ ## Inline Environment Variables
496
+
497
+ Bun can replace `process.env.*` references in your frontend JavaScript and TypeScript with their actual values at build time. Configure the `env` option in your `bunfig.toml`:
498
+
499
+ ```toml title="bunfig.toml" icon="settings"
500
+ [serve.static]
501
+ env = "PUBLIC_*" # only inline env vars starting with PUBLIC_ (recommended)
502
+ # env = "inline" # inline all environment variables
503
+ # env = "disable" # disable env var replacement (default)
504
+ ```
505
+
506
+ <Note>
507
+ This only works with literal `process.env.FOO` references, not `import.meta.env` or indirect access like `const env =
508
+ process.env; env.FOO`.
509
+
510
+ If an environment variable is not set, you may see runtime errors like `ReferenceError: process
511
+ is not defined` in the browser.
512
+
513
+ </Note>
514
+
515
+ See the [HTML & static sites documentation](/docs/bundler/html-static#inline-environment-variables) for more details on build-time configuration and examples.
516
+
517
+ ## How It Works
518
+
519
+ Bun uses `HTMLRewriter` to scan for `<script>` and `<link>` tags in HTML files, uses them as entrypoints for Bun's bundler, generates an optimized bundle for the JavaScript/TypeScript/TSX/JSX and CSS files, and serves the result.
520
+
521
+ ### Processing Pipeline
522
+
523
+ <Steps>
524
+ <Step title="1. <script> Processing">
525
+ - Transpiles TypeScript, JSX, and TSX in `<script>` tags
526
+ - Bundles imported dependencies
527
+ - Generates sourcemaps for debugging
528
+ - Minifies when `development` is not `true` in `Bun.serve()`
529
+
530
+ ```html title="index.html" icon="file-code"
531
+ <script type="module" src="./counter.tsx"></script>
532
+ ```
533
+
534
+ </Step>
535
+ <Step title="2. <link> Processing">
536
+ - Processes CSS imports and `<link>` tags
537
+ - Concatenates CSS files
538
+ - Rewrites url and asset paths to include content-addressable hashes in URLs
539
+
540
+ ```html title="index.html" icon="file-code"
541
+ <link rel="stylesheet" href="./styles.css" />
542
+ ```
543
+
544
+ </Step>
545
+ <Step title="3. <img> & Asset Processing">
546
+ - Links to assets are rewritten to include content-addressable hashes in URLs
547
+ - Small assets in CSS files are inlined into `data:` URLs, reducing the total number of HTTP requests sent over the wire
548
+ </Step>
549
+ <Step title="4. HTML Rewriting">
550
+ - Combines all `<script>` tags into a single `<script>` tag with a content-addressable hash in the URL
551
+ - Combines all `<link>` tags into a single `<link>` tag with a content-addressable hash in the URL
552
+ - Outputs a new HTML file
553
+ </Step>
554
+ <Step title="5. Serving">
555
+ - All the output files from the bundler are exposed as static routes, using the same mechanism internally as when you pass a Response object to `static` in `Bun.serve()`.
556
+ - This works similarly to how `Bun.build` processes HTML files.
557
+ </Step>
558
+ </Steps>
559
+
560
+ ## Complete Example
561
+
562
+ Here's a complete fullstack application example:
563
+
564
+ ```ts title="server.ts" icon="/icons/typescript.svg"
565
+ import { serve } from "bun";
566
+ import { Database } from "bun:sqlite";
567
+ import homepage from "./public/index.html";
568
+ import dashboard from "./public/dashboard.html";
569
+
570
+ // Initialize database
571
+ const db = new Database("app.db");
572
+ db.exec(`
573
+ CREATE TABLE IF NOT EXISTS users (
574
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
575
+ name TEXT NOT NULL,
576
+ email TEXT UNIQUE NOT NULL,
577
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP
578
+ )
579
+ `);
580
+
581
+ const server = serve({
582
+ routes: {
583
+ // Frontend routes
584
+ "/": homepage,
585
+ "/dashboard": dashboard,
586
+
587
+ // API routes
588
+ "/api/users": {
589
+ async GET() {
590
+ const users = db.query("SELECT * FROM users").all();
591
+ return Response.json(users);
592
+ },
593
+
594
+ async POST(req) {
595
+ const { name, email } = await req.json();
596
+
597
+ try {
598
+ const result = db.query("INSERT INTO users (name, email) VALUES (?, ?) RETURNING *").get(name, email);
599
+
600
+ return Response.json(result, { status: 201 });
601
+ } catch (error) {
602
+ return Response.json({ error: "Email already exists" }, { status: 400 });
603
+ }
604
+ },
605
+ },
606
+
607
+ "/api/users/:id": {
608
+ async GET(req) {
609
+ const { id } = req.params;
610
+ const user = db.query("SELECT * FROM users WHERE id = ?").get(id);
611
+
612
+ if (!user) {
613
+ return Response.json({ error: "User not found" }, { status: 404 });
614
+ }
615
+
616
+ return Response.json(user);
617
+ },
618
+
619
+ async DELETE(req) {
620
+ const { id } = req.params;
621
+ const result = db.query("DELETE FROM users WHERE id = ?").run(id);
622
+
623
+ if (result.changes === 0) {
624
+ return Response.json({ error: "User not found" }, { status: 404 });
625
+ }
626
+
627
+ return new Response(null, { status: 204 });
628
+ },
629
+ },
630
+
631
+ // Health check endpoint
632
+ "/api/health": {
633
+ GET() {
634
+ return Response.json({
635
+ status: "ok",
636
+ timestamp: new Date().toISOString(),
637
+ });
638
+ },
639
+ },
640
+ },
641
+
642
+ // Enable development mode
643
+ development: {
644
+ hmr: true,
645
+ console: true,
646
+ },
647
+
648
+ // Fallback for unmatched routes
649
+ fetch(req) {
650
+ return new Response("Not Found", { status: 404 });
651
+ },
652
+ });
653
+
654
+ console.log(`🚀 Server running on ${server.url}`);
655
+ ```
656
+
657
+ ```html title="public/index.html" icon="file-code"
658
+ <!DOCTYPE html>
659
+ <html>
660
+ <head>
661
+ <meta charset="utf-8" />
662
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
663
+ <title>Fullstack Bun App</title>
664
+ <link rel="stylesheet" href="../src/styles.css" />
665
+ </head>
666
+ <body>
667
+ <div id="root"></div>
668
+ <script type="module" src="../src/main.tsx"></script>
669
+ </body>
670
+ </html>
671
+ ```
672
+
673
+ ```tsx title="src/main.tsx"
674
+ import { createRoot } from "react-dom/client";
675
+ import { App } from "./App";
676
+
677
+ const container = document.getElementById("root")!;
678
+ const root = createRoot(container);
679
+ root.render(<App />);
680
+ ```
681
+
682
+ ```tsx title="src/App.tsx"
683
+ import { useState, useEffect } from "react";
684
+
685
+ interface User {
686
+ id: number;
687
+ name: string;
688
+ email: string;
689
+ created_at: string;
690
+ }
691
+
692
+ export function App() {
693
+ const [users, setUsers] = useState<User[]>([]);
694
+ const [name, setName] = useState("");
695
+ const [email, setEmail] = useState("");
696
+ const [loading, setLoading] = useState(false);
697
+
698
+ const fetchUsers = async () => {
699
+ const response = await fetch("/api/users");
700
+ const data = await response.json();
701
+ setUsers(data);
702
+ };
703
+
704
+ const createUser = async (e: React.FormEvent) => {
705
+ e.preventDefault();
706
+ setLoading(true);
707
+
708
+ try {
709
+ const response = await fetch("/api/users", {
710
+ method: "POST",
711
+ headers: { "Content-Type": "application/json" },
712
+ body: JSON.stringify({ name, email }),
713
+ });
714
+
715
+ if (response.ok) {
716
+ setName("");
717
+ setEmail("");
718
+ await fetchUsers();
719
+ } else {
720
+ const error = await response.json();
721
+ alert(error.error);
722
+ }
723
+ } catch (error) {
724
+ alert("Failed to create user");
725
+ } finally {
726
+ setLoading(false);
727
+ }
728
+ };
729
+
730
+ const deleteUser = async (id: number) => {
731
+ if (!confirm("Are you sure?")) return;
732
+
733
+ try {
734
+ const response = await fetch(`/api/users/${id}`, {
735
+ method: "DELETE",
736
+ });
737
+
738
+ if (response.ok) {
739
+ await fetchUsers();
740
+ }
741
+ } catch (error) {
742
+ alert("Failed to delete user");
743
+ }
744
+ };
745
+
746
+ useEffect(() => {
747
+ fetchUsers();
748
+ }, []);
749
+
750
+ return (
751
+ <div className="container">
752
+ <h1>User Management</h1>
753
+
754
+ <form onSubmit={createUser} className="form">
755
+ <input type="text" placeholder="Name" value={name} onChange={e => setName(e.target.value)} required />
756
+ <input type="email" placeholder="Email" value={email} onChange={e => setEmail(e.target.value)} required />
757
+ <button type="submit" disabled={loading}>
758
+ {loading ? "Creating..." : "Create User"}
759
+ </button>
760
+ </form>
761
+
762
+ <div className="users">
763
+ <h2>Users ({users.length})</h2>
764
+ {users.map(user => (
765
+ <div key={user.id} className="user-card">
766
+ <div>
767
+ <strong>{user.name}</strong>
768
+ <br />
769
+ <span>{user.email}</span>
770
+ </div>
771
+ <button onClick={() => deleteUser(user.id)} className="delete-btn">
772
+ Delete
773
+ </button>
774
+ </div>
775
+ ))}
776
+ </div>
777
+ </div>
778
+ );
779
+ }
780
+ ```
781
+
782
+ ```css title="src/styles.css" icon="file-code"
783
+ * {
784
+ margin: 0;
785
+ padding: 0;
786
+ box-sizing: border-box;
787
+ }
788
+
789
+ body {
790
+ font-family: -apple-system, BlinkMacSystemFont, sans-serif;
791
+ background: #f5f5f5;
792
+ color: #333;
793
+ }
794
+
795
+ .container {
796
+ max-width: 800px;
797
+ margin: 0 auto;
798
+ padding: 2rem;
799
+ }
800
+
801
+ h1 {
802
+ color: #2563eb;
803
+ margin-bottom: 2rem;
804
+ }
805
+
806
+ .form {
807
+ background: white;
808
+ padding: 1.5rem;
809
+ border-radius: 8px;
810
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
811
+ margin-bottom: 2rem;
812
+ display: flex;
813
+ gap: 1rem;
814
+ flex-wrap: wrap;
815
+ }
816
+
817
+ .form input {
818
+ flex: 1;
819
+ min-width: 200px;
820
+ padding: 0.75rem;
821
+ border: 1px solid #ddd;
822
+ border-radius: 4px;
823
+ }
824
+
825
+ .form button {
826
+ padding: 0.75rem 1.5rem;
827
+ background: #2563eb;
828
+ color: white;
829
+ border: none;
830
+ border-radius: 4px;
831
+ cursor: pointer;
832
+ }
833
+
834
+ .form button:hover {
835
+ background: #1d4ed8;
836
+ }
837
+
838
+ .form button:disabled {
839
+ opacity: 0.5;
840
+ cursor: not-allowed;
841
+ }
842
+
843
+ .users {
844
+ background: white;
845
+ padding: 1.5rem;
846
+ border-radius: 8px;
847
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
848
+ }
849
+
850
+ .user-card {
851
+ display: flex;
852
+ justify-content: space-between;
853
+ align-items: center;
854
+ padding: 1rem;
855
+ border-bottom: 1px solid #eee;
856
+ }
857
+
858
+ .user-card:last-child {
859
+ border-bottom: none;
860
+ }
861
+
862
+ .delete-btn {
863
+ padding: 0.5rem 1rem;
864
+ background: #dc2626;
865
+ color: white;
866
+ border: none;
867
+ border-radius: 4px;
868
+ cursor: pointer;
869
+ }
870
+
871
+ .delete-btn:hover {
872
+ background: #b91c1c;
873
+ }
874
+ ```
875
+
876
+ ## Best Practices
877
+
878
+ ### Project Structure
879
+
880
+ ```
881
+ my-app/
882
+ ├── src/
883
+ │ ├── components/
884
+ │ │ ├── Header.tsx
885
+ │ │ └── UserList.tsx
886
+ │ ├── styles/
887
+ │ │ ├── globals.css
888
+ │ │ └── components.css
889
+ │ ├── utils/
890
+ │ │ └── api.ts
891
+ │ ├── App.tsx
892
+ │ └── main.tsx
893
+ ├── public/
894
+ │ ├── index.html
895
+ │ ├── dashboard.html
896
+ │ └── favicon.ico
897
+ ├── server/
898
+ │ ├── routes/
899
+ │ │ ├── users.ts
900
+ │ │ └── auth.ts
901
+ │ ├── db/
902
+ │ │ └── schema.sql
903
+ │ └── index.ts
904
+ ├── bunfig.toml
905
+ └── package.json
906
+ ```
907
+
908
+ ### Environment-Based Configuration
909
+
910
+ ```ts title="server/config.ts" icon="/icons/typescript.svg"
911
+ export const config = {
912
+ development: process.env.NODE_ENV !== "production",
913
+ port: process.env.PORT || 3000,
914
+ database: {
915
+ url: process.env.DATABASE_URL || "./dev.db",
916
+ },
917
+ cors: {
918
+ origin: process.env.CORS_ORIGIN || "*",
919
+ },
920
+ };
921
+ ```
922
+
923
+ ### Error Handling
924
+
925
+ ```ts title="server/middleware.ts" icon="/icons/typescript.svg"
926
+ export function errorHandler(error: Error, req: Request) {
927
+ console.error("Server error:", error);
928
+
929
+ if (process.env.NODE_ENV === "production") {
930
+ return Response.json({ error: "Internal server error" }, { status: 500 });
931
+ }
932
+
933
+ return Response.json(
934
+ {
935
+ error: error.message,
936
+ stack: error.stack,
937
+ },
938
+ { status: 500 },
939
+ );
940
+ }
941
+ ```
942
+
943
+ ### API Response Helpers
944
+
945
+ ```ts title="server/utils.ts" icon="/icons/typescript.svg"
946
+ export function json(data: any, status = 200) {
947
+ return Response.json(data, { status });
948
+ }
949
+
950
+ export function error(message: string, status = 400) {
951
+ return Response.json({ error: message }, { status });
952
+ }
953
+
954
+ export function notFound(message = "Not found") {
955
+ return error(message, 404);
956
+ }
957
+
958
+ export function unauthorized(message = "Unauthorized") {
959
+ return error(message, 401);
960
+ }
961
+ ```
962
+
963
+ ### Type Safety
964
+
965
+ ```ts title="types/api.ts" icon="/icons/typescript.svg"
966
+ export interface User {
967
+ id: number;
968
+ name: string;
969
+ email: string;
970
+ created_at: string;
971
+ }
972
+
973
+ export interface CreateUserRequest {
974
+ name: string;
975
+ email: string;
976
+ }
977
+
978
+ export interface ApiResponse<T> {
979
+ data?: T;
980
+ error?: string;
981
+ }
982
+ ```
983
+
984
+ ## Deployment
985
+
986
+ ### Production Build
987
+
988
+ ```bash terminal icon="terminal"
989
+ # Build for production
990
+ bun build --target=bun --production --outdir=dist ./server/index.ts
991
+
992
+ # Run production server
993
+ NODE_ENV=production bun dist/index.js
994
+ ```
995
+
996
+ ### Docker Deployment
997
+
998
+ ```dockerfile title="Dockerfile" icon="docker"
999
+ FROM oven/bun:1 as base
1000
+ WORKDIR /usr/src/app
1001
+
1002
+ # Install dependencies
1003
+ COPY package.json bun.lockb ./
1004
+ RUN bun install --frozen-lockfile
1005
+
1006
+ # Copy source code
1007
+ COPY . .
1008
+
1009
+ # Build application
1010
+ RUN bun build --target=bun --production --outdir=dist ./server/index.ts
1011
+
1012
+ # Production stage
1013
+ FROM oven/bun:1-slim
1014
+ WORKDIR /usr/src/app
1015
+ COPY --from=base /usr/src/app/dist ./
1016
+ COPY --from=base /usr/src/app/public ./public
1017
+
1018
+ EXPOSE 3000
1019
+ CMD ["bun", "index.js"]
1020
+ ```
1021
+
1022
+ ### Environment Variables
1023
+
1024
+ ```ini title=".env.production" icon="file-code"
1025
+ NODE_ENV=production
1026
+ PORT=3000
1027
+ DATABASE_URL=postgresql://user:pass@localhost:5432/myapp
1028
+ CORS_ORIGIN=https://myapp.com
1029
+ ```
1030
+
1031
+ ## Migration from Other Frameworks
1032
+
1033
+ ### From Express + Webpack
1034
+
1035
+ ```ts title="server.ts" icon="/icons/typescript.svg"
1036
+ // Before (Express + Webpack)
1037
+ app.use(express.static("dist"));
1038
+ app.get("/api/users", (req, res) => {
1039
+ res.json(users);
1040
+ });
1041
+
1042
+ // After (Bun fullstack)
1043
+ serve({
1044
+ routes: {
1045
+ "/": homepage, // Replaces express.static
1046
+ "/api/users": {
1047
+ GET() {
1048
+ return Response.json(users);
1049
+ },
1050
+ },
1051
+ },
1052
+ });
1053
+ ```
1054
+
1055
+ ### From Next.js API Routes
1056
+
1057
+ ```ts title="server.ts" icon="/icons/typescript.svg"
1058
+ // Before (Next.js)
1059
+ export default function handler(req, res) {
1060
+ if (req.method === 'GET') {
1061
+ res.json(users);
1062
+ }
1063
+ }
1064
+
1065
+ // After (Bun)
1066
+ "/api/users": {
1067
+ GET() { return Response.json(users); }
1068
+ }
1069
+ ```
1070
+
1071
+ ## Limitations and Future Plans
1072
+
1073
+ ### Current Limitations
1074
+
1075
+ - `bun build` CLI integration is not yet available for fullstack apps
1076
+ - Auto-discovery of API routes is not implemented
1077
+ - Server-side rendering (SSR) is not built-in
1078
+
1079
+ ### Planned Features
1080
+
1081
+ - Integration with `bun build` CLI
1082
+ - File-based routing for API endpoints
1083
+ - Built-in SSR support
1084
+ - Enhanced plugin ecosystem
1085
+
1086
+ <Note>This is a work in progress. Features and APIs may change as Bun continues to evolve.</Note>