@helloleo/plugins 0.2.21 → 0.2.23

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 (340) hide show
  1. package/dist/index.js +73 -42
  2. package/package.json +3 -4
  3. package/dist/templates/tanstack-router-2026-06-15/components.json +0 -22
  4. package/dist/templates/tanstack-router-2026-06-15/index.html +0 -20
  5. package/dist/templates/tanstack-router-2026-06-15/package.json +0 -90
  6. package/dist/templates/tanstack-router-2026-06-15/src/components/error-component.tsx +0 -50
  7. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/accordion.tsx +0 -51
  8. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/alert-dialog.tsx +0 -115
  9. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/alert.tsx +0 -49
  10. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/aspect-ratio.tsx +0 -5
  11. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/avatar.tsx +0 -47
  12. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/badge.tsx +0 -32
  13. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/breadcrumb.tsx +0 -101
  14. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/button.tsx +0 -49
  15. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/calendar.tsx +0 -177
  16. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/card.tsx +0 -55
  17. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/carousel.tsx +0 -240
  18. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/chart.tsx +0 -331
  19. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/checkbox.tsx +0 -26
  20. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/collapsible.tsx +0 -11
  21. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/command.tsx +0 -143
  22. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/context-menu.tsx +0 -187
  23. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/dialog.tsx +0 -104
  24. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/drawer.tsx +0 -98
  25. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/dropdown-menu.tsx +0 -188
  26. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/form.tsx +0 -171
  27. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/hover-card.tsx +0 -27
  28. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/input-otp.tsx +0 -69
  29. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/input.tsx +0 -22
  30. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/label.tsx +0 -21
  31. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/menubar.tsx +0 -229
  32. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/navigation-menu.tsx +0 -120
  33. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/pagination.tsx +0 -98
  34. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/popover.tsx +0 -31
  35. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/progress.tsx +0 -25
  36. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/radio-group.tsx +0 -36
  37. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/resizable.tsx +0 -37
  38. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/scroll-area.tsx +0 -44
  39. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/select.tsx +0 -152
  40. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/separator.tsx +0 -24
  41. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/sheet.tsx +0 -122
  42. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/sidebar.tsx +0 -744
  43. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/skeleton.tsx +0 -7
  44. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/slider.tsx +0 -23
  45. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/sonner.tsx +0 -23
  46. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/switch.tsx +0 -27
  47. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/table.tsx +0 -94
  48. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/tabs.tsx +0 -53
  49. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/textarea.tsx +0 -21
  50. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/toggle-group.tsx +0 -57
  51. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/toggle.tsx +0 -42
  52. package/dist/templates/tanstack-router-2026-06-15/src/components/ui/tooltip.tsx +0 -32
  53. package/dist/templates/tanstack-router-2026-06-15/src/hooks/use-mobile.tsx +0 -19
  54. package/dist/templates/tanstack-router-2026-06-15/src/lib/proxy.ts +0 -123
  55. package/dist/templates/tanstack-router-2026-06-15/src/lib/utils.ts +0 -6
  56. package/dist/templates/tanstack-router-2026-06-15/src/main.tsx +0 -37
  57. package/dist/templates/tanstack-router-2026-06-15/src/routeTree.gen.ts +0 -59
  58. package/dist/templates/tanstack-router-2026-06-15/src/routes/README.md +0 -85
  59. package/dist/templates/tanstack-router-2026-06-15/src/routes/__root.tsx +0 -18
  60. package/dist/templates/tanstack-router-2026-06-15/src/routes/index.tsx +0 -18
  61. package/dist/templates/tanstack-router-2026-06-15/src/styles.css +0 -214
  62. package/dist/templates/tanstack-router-2026-06-15/tsconfig.json +0 -27
  63. package/dist/templates/tanstack-router-2026-06-15/vite.config.ts +0 -23
  64. package/dist/templates/tanstack-start-2026-06-18/components.json +0 -22
  65. package/dist/templates/tanstack-start-2026-06-18/drizzle.config.ts +0 -15
  66. package/dist/templates/tanstack-start-2026-06-18/package.json +0 -104
  67. package/dist/templates/tanstack-start-2026-06-18/src/components/error-component.tsx +0 -50
  68. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/accordion.tsx +0 -51
  69. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/alert-dialog.tsx +0 -115
  70. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/alert.tsx +0 -49
  71. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/aspect-ratio.tsx +0 -5
  72. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/avatar.tsx +0 -47
  73. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/badge.tsx +0 -32
  74. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/breadcrumb.tsx +0 -101
  75. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/button.tsx +0 -49
  76. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/calendar.tsx +0 -177
  77. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/card.tsx +0 -55
  78. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/carousel.tsx +0 -240
  79. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/chart.tsx +0 -371
  80. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/checkbox.tsx +0 -26
  81. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/collapsible.tsx +0 -11
  82. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/command.tsx +0 -143
  83. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/context-menu.tsx +0 -187
  84. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/dialog.tsx +0 -104
  85. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/drawer.tsx +0 -98
  86. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/dropdown-menu.tsx +0 -188
  87. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/form.tsx +0 -171
  88. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/hover-card.tsx +0 -27
  89. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/input-otp.tsx +0 -69
  90. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/input.tsx +0 -22
  91. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/label.tsx +0 -21
  92. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/menubar.tsx +0 -229
  93. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/navigation-menu.tsx +0 -120
  94. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/pagination.tsx +0 -98
  95. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/popover.tsx +0 -31
  96. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/progress.tsx +0 -25
  97. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/radio-group.tsx +0 -36
  98. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/resizable.tsx +0 -37
  99. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/scroll-area.tsx +0 -44
  100. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/select.tsx +0 -152
  101. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/separator.tsx +0 -24
  102. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/sheet.tsx +0 -122
  103. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/sidebar.tsx +0 -744
  104. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/skeleton.tsx +0 -7
  105. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/slider.tsx +0 -23
  106. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/sonner.tsx +0 -23
  107. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/switch.tsx +0 -27
  108. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/table.tsx +0 -94
  109. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/tabs.tsx +0 -53
  110. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/textarea.tsx +0 -21
  111. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/toggle-group.tsx +0 -57
  112. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/toggle.tsx +0 -42
  113. package/dist/templates/tanstack-start-2026-06-18/src/components/ui/tooltip.tsx +0 -32
  114. package/dist/templates/tanstack-start-2026-06-18/src/db/index.ts +0 -9
  115. package/dist/templates/tanstack-start-2026-06-18/src/db/schema.ts +0 -18
  116. package/dist/templates/tanstack-start-2026-06-18/src/global.d.ts +0 -3
  117. package/dist/templates/tanstack-start-2026-06-18/src/hooks/use-mobile.tsx +0 -19
  118. package/dist/templates/tanstack-start-2026-06-18/src/lib/proxy.ts +0 -119
  119. package/dist/templates/tanstack-start-2026-06-18/src/lib/utils.ts +0 -6
  120. package/dist/templates/tanstack-start-2026-06-18/src/routeTree.gen.ts +0 -86
  121. package/dist/templates/tanstack-start-2026-06-18/src/router.tsx +0 -37
  122. package/dist/templates/tanstack-start-2026-06-18/src/routes/README.md +0 -94
  123. package/dist/templates/tanstack-start-2026-06-18/src/routes/__root.tsx +0 -65
  124. package/dist/templates/tanstack-start-2026-06-18/src/routes/api/health.ts +0 -81
  125. package/dist/templates/tanstack-start-2026-06-18/src/routes/index.tsx +0 -33
  126. package/dist/templates/tanstack-start-2026-06-18/src/server.ts +0 -32
  127. package/dist/templates/tanstack-start-2026-06-18/src/styles.css +0 -214
  128. package/dist/templates/tanstack-start-2026-06-18/tsconfig.json +0 -27
  129. package/dist/templates/tanstack-start-2026-06-18/vite.config.ts +0 -17
  130. package/src/index.ts +0 -8
  131. package/src/template-render.ts +0 -53
  132. package/src/templates/tanstack-router-2026-06-15/components.json +0 -22
  133. package/src/templates/tanstack-router-2026-06-15/index.html +0 -20
  134. package/src/templates/tanstack-router-2026-06-15/package.json +0 -90
  135. package/src/templates/tanstack-router-2026-06-15/src/components/error-component.tsx +0 -50
  136. package/src/templates/tanstack-router-2026-06-15/src/components/ui/accordion.tsx +0 -51
  137. package/src/templates/tanstack-router-2026-06-15/src/components/ui/alert-dialog.tsx +0 -115
  138. package/src/templates/tanstack-router-2026-06-15/src/components/ui/alert.tsx +0 -49
  139. package/src/templates/tanstack-router-2026-06-15/src/components/ui/aspect-ratio.tsx +0 -5
  140. package/src/templates/tanstack-router-2026-06-15/src/components/ui/avatar.tsx +0 -47
  141. package/src/templates/tanstack-router-2026-06-15/src/components/ui/badge.tsx +0 -32
  142. package/src/templates/tanstack-router-2026-06-15/src/components/ui/breadcrumb.tsx +0 -101
  143. package/src/templates/tanstack-router-2026-06-15/src/components/ui/button.tsx +0 -49
  144. package/src/templates/tanstack-router-2026-06-15/src/components/ui/calendar.tsx +0 -177
  145. package/src/templates/tanstack-router-2026-06-15/src/components/ui/card.tsx +0 -55
  146. package/src/templates/tanstack-router-2026-06-15/src/components/ui/carousel.tsx +0 -240
  147. package/src/templates/tanstack-router-2026-06-15/src/components/ui/chart.tsx +0 -331
  148. package/src/templates/tanstack-router-2026-06-15/src/components/ui/checkbox.tsx +0 -26
  149. package/src/templates/tanstack-router-2026-06-15/src/components/ui/collapsible.tsx +0 -11
  150. package/src/templates/tanstack-router-2026-06-15/src/components/ui/command.tsx +0 -143
  151. package/src/templates/tanstack-router-2026-06-15/src/components/ui/context-menu.tsx +0 -187
  152. package/src/templates/tanstack-router-2026-06-15/src/components/ui/dialog.tsx +0 -104
  153. package/src/templates/tanstack-router-2026-06-15/src/components/ui/drawer.tsx +0 -98
  154. package/src/templates/tanstack-router-2026-06-15/src/components/ui/dropdown-menu.tsx +0 -188
  155. package/src/templates/tanstack-router-2026-06-15/src/components/ui/form.tsx +0 -171
  156. package/src/templates/tanstack-router-2026-06-15/src/components/ui/hover-card.tsx +0 -27
  157. package/src/templates/tanstack-router-2026-06-15/src/components/ui/input-otp.tsx +0 -69
  158. package/src/templates/tanstack-router-2026-06-15/src/components/ui/input.tsx +0 -22
  159. package/src/templates/tanstack-router-2026-06-15/src/components/ui/label.tsx +0 -21
  160. package/src/templates/tanstack-router-2026-06-15/src/components/ui/menubar.tsx +0 -229
  161. package/src/templates/tanstack-router-2026-06-15/src/components/ui/navigation-menu.tsx +0 -120
  162. package/src/templates/tanstack-router-2026-06-15/src/components/ui/pagination.tsx +0 -98
  163. package/src/templates/tanstack-router-2026-06-15/src/components/ui/popover.tsx +0 -31
  164. package/src/templates/tanstack-router-2026-06-15/src/components/ui/progress.tsx +0 -25
  165. package/src/templates/tanstack-router-2026-06-15/src/components/ui/radio-group.tsx +0 -36
  166. package/src/templates/tanstack-router-2026-06-15/src/components/ui/resizable.tsx +0 -37
  167. package/src/templates/tanstack-router-2026-06-15/src/components/ui/scroll-area.tsx +0 -44
  168. package/src/templates/tanstack-router-2026-06-15/src/components/ui/select.tsx +0 -152
  169. package/src/templates/tanstack-router-2026-06-15/src/components/ui/separator.tsx +0 -24
  170. package/src/templates/tanstack-router-2026-06-15/src/components/ui/sheet.tsx +0 -122
  171. package/src/templates/tanstack-router-2026-06-15/src/components/ui/sidebar.tsx +0 -744
  172. package/src/templates/tanstack-router-2026-06-15/src/components/ui/skeleton.tsx +0 -7
  173. package/src/templates/tanstack-router-2026-06-15/src/components/ui/slider.tsx +0 -23
  174. package/src/templates/tanstack-router-2026-06-15/src/components/ui/sonner.tsx +0 -23
  175. package/src/templates/tanstack-router-2026-06-15/src/components/ui/switch.tsx +0 -27
  176. package/src/templates/tanstack-router-2026-06-15/src/components/ui/table.tsx +0 -94
  177. package/src/templates/tanstack-router-2026-06-15/src/components/ui/tabs.tsx +0 -53
  178. package/src/templates/tanstack-router-2026-06-15/src/components/ui/textarea.tsx +0 -21
  179. package/src/templates/tanstack-router-2026-06-15/src/components/ui/toggle-group.tsx +0 -57
  180. package/src/templates/tanstack-router-2026-06-15/src/components/ui/toggle.tsx +0 -42
  181. package/src/templates/tanstack-router-2026-06-15/src/components/ui/tooltip.tsx +0 -32
  182. package/src/templates/tanstack-router-2026-06-15/src/hooks/use-mobile.tsx +0 -19
  183. package/src/templates/tanstack-router-2026-06-15/src/lib/proxy.ts +0 -123
  184. package/src/templates/tanstack-router-2026-06-15/src/lib/utils.ts +0 -6
  185. package/src/templates/tanstack-router-2026-06-15/src/main.tsx +0 -37
  186. package/src/templates/tanstack-router-2026-06-15/src/routeTree.gen.ts +0 -59
  187. package/src/templates/tanstack-router-2026-06-15/src/routes/README.md +0 -85
  188. package/src/templates/tanstack-router-2026-06-15/src/routes/__root.tsx +0 -18
  189. package/src/templates/tanstack-router-2026-06-15/src/routes/index.tsx +0 -18
  190. package/src/templates/tanstack-router-2026-06-15/src/styles.css +0 -214
  191. package/src/templates/tanstack-router-2026-06-15/tsconfig.json +0 -27
  192. package/src/templates/tanstack-router-2026-06-15/vite.config.ts +0 -23
  193. package/src/templates/tanstack-start-2026-06-18/components.json +0 -22
  194. package/src/templates/tanstack-start-2026-06-18/drizzle.config.ts +0 -15
  195. package/src/templates/tanstack-start-2026-06-18/package.json +0 -104
  196. package/src/templates/tanstack-start-2026-06-18/src/components/error-component.tsx +0 -50
  197. package/src/templates/tanstack-start-2026-06-18/src/components/ui/accordion.tsx +0 -51
  198. package/src/templates/tanstack-start-2026-06-18/src/components/ui/alert-dialog.tsx +0 -115
  199. package/src/templates/tanstack-start-2026-06-18/src/components/ui/alert.tsx +0 -49
  200. package/src/templates/tanstack-start-2026-06-18/src/components/ui/aspect-ratio.tsx +0 -5
  201. package/src/templates/tanstack-start-2026-06-18/src/components/ui/avatar.tsx +0 -47
  202. package/src/templates/tanstack-start-2026-06-18/src/components/ui/badge.tsx +0 -32
  203. package/src/templates/tanstack-start-2026-06-18/src/components/ui/breadcrumb.tsx +0 -101
  204. package/src/templates/tanstack-start-2026-06-18/src/components/ui/button.tsx +0 -49
  205. package/src/templates/tanstack-start-2026-06-18/src/components/ui/calendar.tsx +0 -177
  206. package/src/templates/tanstack-start-2026-06-18/src/components/ui/card.tsx +0 -55
  207. package/src/templates/tanstack-start-2026-06-18/src/components/ui/carousel.tsx +0 -240
  208. package/src/templates/tanstack-start-2026-06-18/src/components/ui/chart.tsx +0 -371
  209. package/src/templates/tanstack-start-2026-06-18/src/components/ui/checkbox.tsx +0 -26
  210. package/src/templates/tanstack-start-2026-06-18/src/components/ui/collapsible.tsx +0 -11
  211. package/src/templates/tanstack-start-2026-06-18/src/components/ui/command.tsx +0 -143
  212. package/src/templates/tanstack-start-2026-06-18/src/components/ui/context-menu.tsx +0 -187
  213. package/src/templates/tanstack-start-2026-06-18/src/components/ui/dialog.tsx +0 -104
  214. package/src/templates/tanstack-start-2026-06-18/src/components/ui/drawer.tsx +0 -98
  215. package/src/templates/tanstack-start-2026-06-18/src/components/ui/dropdown-menu.tsx +0 -188
  216. package/src/templates/tanstack-start-2026-06-18/src/components/ui/form.tsx +0 -171
  217. package/src/templates/tanstack-start-2026-06-18/src/components/ui/hover-card.tsx +0 -27
  218. package/src/templates/tanstack-start-2026-06-18/src/components/ui/input-otp.tsx +0 -69
  219. package/src/templates/tanstack-start-2026-06-18/src/components/ui/input.tsx +0 -22
  220. package/src/templates/tanstack-start-2026-06-18/src/components/ui/label.tsx +0 -21
  221. package/src/templates/tanstack-start-2026-06-18/src/components/ui/menubar.tsx +0 -229
  222. package/src/templates/tanstack-start-2026-06-18/src/components/ui/navigation-menu.tsx +0 -120
  223. package/src/templates/tanstack-start-2026-06-18/src/components/ui/pagination.tsx +0 -98
  224. package/src/templates/tanstack-start-2026-06-18/src/components/ui/popover.tsx +0 -31
  225. package/src/templates/tanstack-start-2026-06-18/src/components/ui/progress.tsx +0 -25
  226. package/src/templates/tanstack-start-2026-06-18/src/components/ui/radio-group.tsx +0 -36
  227. package/src/templates/tanstack-start-2026-06-18/src/components/ui/resizable.tsx +0 -37
  228. package/src/templates/tanstack-start-2026-06-18/src/components/ui/scroll-area.tsx +0 -44
  229. package/src/templates/tanstack-start-2026-06-18/src/components/ui/select.tsx +0 -152
  230. package/src/templates/tanstack-start-2026-06-18/src/components/ui/separator.tsx +0 -24
  231. package/src/templates/tanstack-start-2026-06-18/src/components/ui/sheet.tsx +0 -122
  232. package/src/templates/tanstack-start-2026-06-18/src/components/ui/sidebar.tsx +0 -744
  233. package/src/templates/tanstack-start-2026-06-18/src/components/ui/skeleton.tsx +0 -7
  234. package/src/templates/tanstack-start-2026-06-18/src/components/ui/slider.tsx +0 -23
  235. package/src/templates/tanstack-start-2026-06-18/src/components/ui/sonner.tsx +0 -23
  236. package/src/templates/tanstack-start-2026-06-18/src/components/ui/switch.tsx +0 -27
  237. package/src/templates/tanstack-start-2026-06-18/src/components/ui/table.tsx +0 -94
  238. package/src/templates/tanstack-start-2026-06-18/src/components/ui/tabs.tsx +0 -53
  239. package/src/templates/tanstack-start-2026-06-18/src/components/ui/textarea.tsx +0 -21
  240. package/src/templates/tanstack-start-2026-06-18/src/components/ui/toggle-group.tsx +0 -57
  241. package/src/templates/tanstack-start-2026-06-18/src/components/ui/toggle.tsx +0 -42
  242. package/src/templates/tanstack-start-2026-06-18/src/components/ui/tooltip.tsx +0 -32
  243. package/src/templates/tanstack-start-2026-06-18/src/db/index.ts +0 -9
  244. package/src/templates/tanstack-start-2026-06-18/src/db/schema.ts +0 -18
  245. package/src/templates/tanstack-start-2026-06-18/src/global.d.ts +0 -3
  246. package/src/templates/tanstack-start-2026-06-18/src/hooks/use-mobile.tsx +0 -19
  247. package/src/templates/tanstack-start-2026-06-18/src/lib/proxy.ts +0 -119
  248. package/src/templates/tanstack-start-2026-06-18/src/lib/utils.ts +0 -6
  249. package/src/templates/tanstack-start-2026-06-18/src/routeTree.gen.ts +0 -86
  250. package/src/templates/tanstack-start-2026-06-18/src/router.tsx +0 -37
  251. package/src/templates/tanstack-start-2026-06-18/src/routes/README.md +0 -94
  252. package/src/templates/tanstack-start-2026-06-18/src/routes/__root.tsx +0 -65
  253. package/src/templates/tanstack-start-2026-06-18/src/routes/api/health.ts +0 -81
  254. package/src/templates/tanstack-start-2026-06-18/src/routes/index.tsx +0 -33
  255. package/src/templates/tanstack-start-2026-06-18/src/server.ts +0 -32
  256. package/src/templates/tanstack-start-2026-06-18/src/styles.css +0 -214
  257. package/src/templates/tanstack-start-2026-06-18/tsconfig.json +0 -27
  258. package/src/templates/tanstack-start-2026-06-18/vite.config.ts +0 -17
  259. package/src/templates/tanstack-start-2026-07-30/components.json +0 -22
  260. package/src/templates/tanstack-start-2026-07-30/drizzle/meta/_journal.json +0 -1
  261. package/src/templates/tanstack-start-2026-07-30/drizzle.config.ts +0 -18
  262. package/src/templates/tanstack-start-2026-07-30/package.json +0 -103
  263. package/src/templates/tanstack-start-2026-07-30/src/components/error-component.tsx +0 -50
  264. package/src/templates/tanstack-start-2026-07-30/src/components/ui/accordion.tsx +0 -51
  265. package/src/templates/tanstack-start-2026-07-30/src/components/ui/alert-dialog.tsx +0 -115
  266. package/src/templates/tanstack-start-2026-07-30/src/components/ui/alert.tsx +0 -49
  267. package/src/templates/tanstack-start-2026-07-30/src/components/ui/aspect-ratio.tsx +0 -5
  268. package/src/templates/tanstack-start-2026-07-30/src/components/ui/avatar.tsx +0 -47
  269. package/src/templates/tanstack-start-2026-07-30/src/components/ui/badge.tsx +0 -32
  270. package/src/templates/tanstack-start-2026-07-30/src/components/ui/breadcrumb.tsx +0 -101
  271. package/src/templates/tanstack-start-2026-07-30/src/components/ui/button.tsx +0 -49
  272. package/src/templates/tanstack-start-2026-07-30/src/components/ui/calendar.tsx +0 -177
  273. package/src/templates/tanstack-start-2026-07-30/src/components/ui/card.tsx +0 -55
  274. package/src/templates/tanstack-start-2026-07-30/src/components/ui/carousel.tsx +0 -240
  275. package/src/templates/tanstack-start-2026-07-30/src/components/ui/chart.tsx +0 -371
  276. package/src/templates/tanstack-start-2026-07-30/src/components/ui/checkbox.tsx +0 -26
  277. package/src/templates/tanstack-start-2026-07-30/src/components/ui/collapsible.tsx +0 -11
  278. package/src/templates/tanstack-start-2026-07-30/src/components/ui/command.tsx +0 -143
  279. package/src/templates/tanstack-start-2026-07-30/src/components/ui/context-menu.tsx +0 -187
  280. package/src/templates/tanstack-start-2026-07-30/src/components/ui/dialog.tsx +0 -104
  281. package/src/templates/tanstack-start-2026-07-30/src/components/ui/drawer.tsx +0 -98
  282. package/src/templates/tanstack-start-2026-07-30/src/components/ui/dropdown-menu.tsx +0 -188
  283. package/src/templates/tanstack-start-2026-07-30/src/components/ui/form.tsx +0 -171
  284. package/src/templates/tanstack-start-2026-07-30/src/components/ui/hover-card.tsx +0 -27
  285. package/src/templates/tanstack-start-2026-07-30/src/components/ui/input-otp.tsx +0 -69
  286. package/src/templates/tanstack-start-2026-07-30/src/components/ui/input.tsx +0 -22
  287. package/src/templates/tanstack-start-2026-07-30/src/components/ui/label.tsx +0 -21
  288. package/src/templates/tanstack-start-2026-07-30/src/components/ui/menubar.tsx +0 -229
  289. package/src/templates/tanstack-start-2026-07-30/src/components/ui/navigation-menu.tsx +0 -120
  290. package/src/templates/tanstack-start-2026-07-30/src/components/ui/pagination.tsx +0 -98
  291. package/src/templates/tanstack-start-2026-07-30/src/components/ui/popover.tsx +0 -31
  292. package/src/templates/tanstack-start-2026-07-30/src/components/ui/progress.tsx +0 -25
  293. package/src/templates/tanstack-start-2026-07-30/src/components/ui/radio-group.tsx +0 -36
  294. package/src/templates/tanstack-start-2026-07-30/src/components/ui/resizable.tsx +0 -37
  295. package/src/templates/tanstack-start-2026-07-30/src/components/ui/scroll-area.tsx +0 -44
  296. package/src/templates/tanstack-start-2026-07-30/src/components/ui/select.tsx +0 -152
  297. package/src/templates/tanstack-start-2026-07-30/src/components/ui/separator.tsx +0 -24
  298. package/src/templates/tanstack-start-2026-07-30/src/components/ui/sheet.tsx +0 -122
  299. package/src/templates/tanstack-start-2026-07-30/src/components/ui/sidebar.tsx +0 -744
  300. package/src/templates/tanstack-start-2026-07-30/src/components/ui/skeleton.tsx +0 -7
  301. package/src/templates/tanstack-start-2026-07-30/src/components/ui/slider.tsx +0 -23
  302. package/src/templates/tanstack-start-2026-07-30/src/components/ui/sonner.tsx +0 -23
  303. package/src/templates/tanstack-start-2026-07-30/src/components/ui/switch.tsx +0 -27
  304. package/src/templates/tanstack-start-2026-07-30/src/components/ui/table.tsx +0 -94
  305. package/src/templates/tanstack-start-2026-07-30/src/components/ui/tabs.tsx +0 -53
  306. package/src/templates/tanstack-start-2026-07-30/src/components/ui/textarea.tsx +0 -21
  307. package/src/templates/tanstack-start-2026-07-30/src/components/ui/toggle-group.tsx +0 -57
  308. package/src/templates/tanstack-start-2026-07-30/src/components/ui/toggle.tsx +0 -42
  309. package/src/templates/tanstack-start-2026-07-30/src/components/ui/tooltip.tsx +0 -32
  310. package/src/templates/tanstack-start-2026-07-30/src/db/index.ts +0 -9
  311. package/src/templates/tanstack-start-2026-07-30/src/db/schema.ts +0 -34
  312. package/src/templates/tanstack-start-2026-07-30/src/global.d.ts +0 -3
  313. package/src/templates/tanstack-start-2026-07-30/src/hooks/use-mobile.tsx +0 -19
  314. package/src/templates/tanstack-start-2026-07-30/src/lib/kv.ts +0 -37
  315. package/src/templates/tanstack-start-2026-07-30/src/lib/proxy.ts +0 -111
  316. package/src/templates/tanstack-start-2026-07-30/src/lib/storage.ts +0 -45
  317. package/src/templates/tanstack-start-2026-07-30/src/lib/utils.ts +0 -6
  318. package/src/templates/tanstack-start-2026-07-30/src/routeTree.gen.ts +0 -86
  319. package/src/templates/tanstack-start-2026-07-30/src/router.tsx +0 -37
  320. package/src/templates/tanstack-start-2026-07-30/src/routes/README.md +0 -94
  321. package/src/templates/tanstack-start-2026-07-30/src/routes/__root.tsx +0 -65
  322. package/src/templates/tanstack-start-2026-07-30/src/routes/api/health.ts +0 -83
  323. package/src/templates/tanstack-start-2026-07-30/src/routes/index.tsx +0 -33
  324. package/src/templates/tanstack-start-2026-07-30/src/server.ts +0 -32
  325. package/src/templates/tanstack-start-2026-07-30/src/styles.css +0 -214
  326. package/src/templates/tanstack-start-2026-07-30/tsconfig.json +0 -27
  327. package/src/templates/tanstack-start-2026-07-30/vite.config.ts +0 -17
  328. package/src/tools/create-plan.ts +0 -61
  329. package/src/tools/inspect-http.ts +0 -276
  330. package/src/tools/list-plans.ts +0 -85
  331. package/src/tools/modify-plan.ts +0 -79
  332. package/src/tools/remove.ts +0 -53
  333. package/src/tools/scaffold.ts +0 -213
  334. package/src/tools/setup-authentication/auth-files.ts +0 -144
  335. package/src/tools/setup-authentication/constants.ts +0 -19
  336. package/src/tools/setup-authentication/db-schema.ts +0 -96
  337. package/src/tools/setup-authentication/index.ts +0 -148
  338. package/src/tools/setup-authentication/package-json.ts +0 -17
  339. package/src/tools/setup-authentication/pages.ts +0 -241
  340. package/src/tools/setup-netsuite.ts +0 -1404
@@ -1,37 +0,0 @@
1
- import { QueryClient } from '@tanstack/react-query'
2
- import { createRouter as createTanStackRouter } from '@tanstack/react-router'
3
- import { routerWithQueryClient } from '@tanstack/react-router-with-query'
4
- import { routeTree } from './routeTree.gen'
5
- import { DefaultErrorComponent } from '@/components/error-component'
6
-
7
- // TanStack Start calls getRouter() on both server and client. routerWithQueryClient
8
- // wires the QueryClient into the router context and handles SSR dehydration /
9
- // rehydration, so loaders can call context.queryClient.ensureQueryData() and the
10
- // client picks the cache up without refetching.
11
- export function getRouter() {
12
- const queryClient = new QueryClient()
13
-
14
- const router = routerWithQueryClient(
15
- createTanStackRouter({
16
- routeTree,
17
- context: { queryClient },
18
- scrollRestoration: true,
19
- // Catches uncaught render/loader errors on any route. Routes can still
20
- // set their own `errorComponent` to override this.
21
- defaultErrorComponent: DefaultErrorComponent,
22
- defaultPreload: 'intent',
23
- // With React Query we never want loader data to be stale -- the loader runs
24
- // on every preload/visit and React Query owns caching from there.
25
- defaultPreloadStaleTime: 0,
26
- }),
27
- queryClient,
28
- )
29
-
30
- return router
31
- }
32
-
33
- declare module '@tanstack/react-router' {
34
- interface Register {
35
- router: ReturnType<typeof getRouter>
36
- }
37
- }
@@ -1,94 +0,0 @@
1
- # Routes
2
-
3
- TanStack Start uses file-based routing. Every `.ts` and `.tsx` file in this directory is a route. Do not create `src/pages/`, `app/layout.tsx`, or similar, those are Next.js / Remix conventions. The only root layout is `src/routes/__root.tsx`.
4
-
5
- ## Conventions
6
-
7
- | File | URL |
8
- | --- | --- |
9
- | `index.tsx` | `/` |
10
- | `about.tsx` | `/about` |
11
- | `users/index.tsx` | `/users` |
12
- | `users/$id.tsx` | `/users/:id` (dynamic — bare `$`, no curly braces) |
13
- | `posts.$postId.tsx` | `/posts/:postId` (dots nest without folders) |
14
- | `admin/route.tsx` | layout for every `/admin/*` page; must render `<Outlet />` |
15
- | `admin_.login.tsx` | `/admin/login`, but outside the admin layout (trailing `_` escapes it) |
16
- | `_auth.tsx` | pathless layout; wraps `_auth/*` files without adding a URL segment |
17
- | `api/health.ts` | server route for defining API endpoints |
18
- | `__root.tsx` | app shell, wraps every page; preserve `<Outlet />` |
19
-
20
- ## Rules
21
-
22
- - A layout route without `<Outlet />` renders its children nowhere.
23
- - Do not `export default` route components, it breaks code splitting. Use a named function passed as `component:`.
24
- - `routeTree.gen.ts` is auto-generated. Don't edit it by hand.
25
-
26
- ## API routes vs server functions
27
-
28
- TanStack Start offers two ways to run server-side code:
29
-
30
- - [Server routes](https://tanstack.com/start/latest/docs/framework/react/guide/server-routes) — files under `src/routes/api/` that export HTTP handlers.
31
- - [Server functions](https://tanstack.com/start/latest/docs/framework/react/guide/server-functions) — `createServerFn()` calls colocated with components.
32
-
33
- Prefer API routes. Create them under `src/routes/api/` following the same convention as `src/routes/api/health.ts` (one handler per HTTP method under `server.handlers`, returning `Response.json()`). This is more scalable and gives the user visually readable endpoints (`/api/todos`, `/api/todos/:id`) they can recognize in the network monitor. Server functions are served from generated URLs that read as random gibberish, which makes requests hard to identify and debug.
34
-
35
- ## Authenticated routes
36
-
37
- Put protected pages inside a pathless `_authed` layout and keep login/signup
38
- at the top level, outside it. Never special-case the login pathname inside
39
- the layout guard.
40
-
41
- ```
42
- routes/
43
- __root.tsx loads the session into router context (context.user)
44
- _authed.tsx pathless guard — no URL segment of its own
45
- _authed/
46
- dashboard.tsx /dashboard (protected)
47
- posts.tsx /posts (protected)
48
- index.tsx / (public)
49
- login.tsx /login (public)
50
- logout.tsx /logout
51
- ```
52
-
53
- `_authed.tsx` does the guarding, all children inherit it:
54
-
55
- ```tsx _authed.tsx
56
- export const Route = createFileRoute('/_authed')({
57
- beforeLoad: ({ context }) => {
58
- if (!context.user) {
59
- throw redirect({ to: '/login' })
60
- }
61
- },
62
- })
63
- ```
64
-
65
- The session is loaded once in `__root.tsx`'s `beforeLoad` and returned into
66
- the router context so every route can read `context.user`. `getUser()` is
67
- whatever your auth uses (e.g. verify a JWT from localStorage) and resolves to
68
- the user or null:
69
-
70
- ```tsx __root.tsx
71
- // (keep the existing head() and component, add this)
72
- export const Route = createRootRouteWithContext<{ queryClient: QueryClient }>()({
73
- beforeLoad: async () => {
74
- const user = await getUser()
75
- return { user }
76
- },
77
- // ...head, component unchanged
78
- })
79
- ```
80
-
81
- Components read it with `Route.useRouteContext()` (e.g. to swap a Login link
82
- for a Logout button in the shell):
83
-
84
- ```tsx
85
- function Route() {
86
- const { user } = Route.useRouteContext()
87
-
88
- return (
89
- <nav>
90
- {user ? <Link to="/logout">Logout</Link> : <Link to="/login">Login</Link>}
91
- </nav>
92
- )
93
- }
94
- ```
@@ -1,65 +0,0 @@
1
- import {
2
- HeadContent,
3
- Outlet,
4
- Scripts,
5
- createRootRouteWithContext,
6
- } from '@tanstack/react-router'
7
- import type { QueryClient } from '@tanstack/react-query'
8
- import type { ReactNode } from 'react'
9
- import { Toaster } from '@/components/ui/sonner'
10
-
11
- // Side-effect order matters: Tailwind needs to be linked into the SSR'd
12
- // document. Importing the stylesheet as a URL and listing it in `head.links`
13
- // is the Start-native way (a bare `import './styles.css'` only works client-side).
14
- import appCss from '../styles.css?url'
15
-
16
- export const Route = createRootRouteWithContext<{ queryClient: QueryClient }>()({
17
- head: () => ({
18
- meta: [
19
- { charSet: 'utf-8' },
20
- { name: 'viewport', content: 'width=device-width, initial-scale=1.0' },
21
- { title: '{{LEO_NAME}}' },
22
- { name: 'description', content: '{{LEO_DESCRIPTION}}' },
23
- { property: 'og:title', content: '{{LEO_NAME}}' },
24
- { property: 'og:description', content: '{{LEO_DESCRIPTION}}' },
25
- { property: 'og:type', content: 'website' },
26
- ],
27
- links: [
28
- { rel: 'stylesheet', href: appCss },
29
- { rel: 'preconnect', href: 'https://fonts.googleapis.com' },
30
- {
31
- rel: 'preconnect',
32
- href: 'https://fonts.gstatic.com',
33
- crossOrigin: 'anonymous',
34
- },
35
- {
36
- rel: 'stylesheet',
37
- href: 'https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap',
38
- },
39
- ],
40
- }),
41
- component: RootComponent,
42
- })
43
-
44
- function RootComponent() {
45
- return (
46
- <RootDocument>
47
- <Outlet />
48
- </RootDocument>
49
- )
50
- }
51
-
52
- function RootDocument({ children }: Readonly<{ children: ReactNode }>) {
53
- return (
54
- <html lang="en">
55
- <head>
56
- <HeadContent />
57
- </head>
58
- <body>
59
- {children}
60
- <Toaster richColors position="top-right" />
61
- <Scripts />
62
- </body>
63
- </html>
64
- )
65
- }
@@ -1,81 +0,0 @@
1
- import { createFileRoute } from '@tanstack/react-router'
2
- import { db } from '#/db'
3
- import { entries } from '#/db/schema'
4
-
5
- /**
6
- * Server route example: GET /api/health. Use this file as the base for
7
- * building JSON APIs (CRUD endpoints, webhooks) with TanStack Start
8
- * server routes:
9
- * https://tanstack.com/start/latest/docs/framework/react/guide/server-routes
10
- *
11
- * How server routes work:
12
- * - Files under src/routes/ can export server handlers. The URL matches
13
- * the file path: src/routes/api/health.ts serves /api/health.
14
- * - Add one handler per HTTP method under server.handlers (GET, POST,
15
- * PUT, PATCH, DELETE). A handler receives ({ request, params }) and
16
- * returns a Response, usually Response.json().
17
- * - Dynamic segments use $: src/routes/api/todos/$id.ts serves
18
- * /api/todos/:id and the handler reads params.id.
19
- * - Read the request body with await request.json() and validate it
20
- * before use. Return proper status codes (201 created, 404 not found).
21
- * - Query the database with `import { db } from '#/db'` INSIDE the
22
- * handler, never at module scope (the binding only exists per request).
23
- */
24
- export const Route = createFileRoute('/api/health')({
25
- server: {
26
- handlers: {
27
- GET: async () => {
28
- const startedAt = Date.now()
29
-
30
- const server = {
31
- status: 'ok' as const,
32
- uptimeSeconds: Math.round(
33
- typeof process !== 'undefined' &&
34
- typeof process.uptime === 'function'
35
- ? process.uptime()
36
- : 0,
37
- ),
38
- timestamp: new Date().toISOString(),
39
- runtime: 'cloudflare-workers',
40
- }
41
-
42
- // Database health: lightweight query against a known table
43
- let database: {
44
- status: 'ok' | 'error'
45
- latencyMs: number
46
- error: string | null
47
- }
48
- const dbStart = Date.now()
49
- try {
50
- await db.select({ id: entries.id }).from(entries).limit(1)
51
- database = {
52
- status: 'ok',
53
- latencyMs: Date.now() - dbStart,
54
- error: null,
55
- }
56
- } catch (err) {
57
- database = {
58
- status: 'error',
59
- latencyMs: Date.now() - dbStart,
60
- error: err instanceof Error ? err.message : String(err),
61
- }
62
- }
63
-
64
- const overall =
65
- server.status === 'ok' && database.status === 'ok'
66
- ? 'ok'
67
- : 'degraded'
68
-
69
- return Response.json(
70
- {
71
- status: overall,
72
- server,
73
- database,
74
- checkedInMs: Date.now() - startedAt,
75
- },
76
- { status: overall === 'ok' ? 200 : 503 },
77
- )
78
- },
79
- },
80
- },
81
- })
@@ -1,33 +0,0 @@
1
- import { createFileRoute } from '@tanstack/react-router'
2
- import { createServerFn } from '@tanstack/react-start'
3
-
4
- // Server functions run only on the server (dev: node + cf-shim; prod: the
5
- // worker). This is the seam where you read your bindings — import { db } from
6
- // '#/db' and query Drizzle, or import { kv, storage } from '@helloleo/runtime'.
7
- // Keep binding access INSIDE the handler, never at module scope.
8
- const getMessage = createServerFn({ method: 'GET' }).handler(() => {
9
- return { message: 'Hello from the server' }
10
- })
11
-
12
- export const Route = createFileRoute('/')({
13
- component: Home,
14
- loader: () => getMessage(),
15
- })
16
-
17
- /**
18
- * Do not `export default function Home()`. This breaks the default
19
- * codesplitting by Tanstack Router.
20
- */
21
- function Home() {
22
- const { message } = Route.useLoaderData()
23
-
24
- return (
25
- <div className="p-8">
26
- <h1 className="text-4xl font-bold">Welcome to HelloLeo</h1>
27
- <p className="mt-4 text-lg">{message}</p>
28
- <p className="mt-2 text-sm text-muted-foreground">
29
- Edit <code>src/routes/index.tsx</code> to get started.
30
- </p>
31
- </div>
32
- )
33
- }
@@ -1,32 +0,0 @@
1
- // Cloudflare Worker entry (the Worker `main`, configured by @helloleo/vite-config).
2
- // Wraps the TanStack Start server entry so an SSR failure renders a clean 500
3
- // instead of a raw stack.
4
- type ServerEntry = {
5
- fetch: (request: Request, env: unknown, ctx: unknown) => Promise<Response> | Response
6
- }
7
-
8
- let serverEntryPromise: Promise<ServerEntry> | undefined
9
-
10
- async function getServerEntry(): Promise<ServerEntry> {
11
- if (!serverEntryPromise) {
12
- serverEntryPromise = import('@tanstack/react-start/server-entry').then(
13
- (m) => ((m as { default?: ServerEntry }).default ?? m) as ServerEntry,
14
- )
15
- }
16
- return serverEntryPromise
17
- }
18
-
19
- export default {
20
- async fetch(request: Request, env: unknown, ctx: unknown) {
21
- try {
22
- const handler = await getServerEntry()
23
- return await handler.fetch(request, env, ctx)
24
- } catch (error) {
25
- console.error(error)
26
- return new Response('<h1>Something went wrong</h1>', {
27
- status: 500,
28
- headers: { 'content-type': 'text/html; charset=utf-8' },
29
- })
30
- }
31
- },
32
- }
@@ -1,214 +0,0 @@
1
- /*
2
- * HelloLeo Design System -- READ BEFORE STYLING.
3
- *
4
- * Design tokens are the single source of truth and power the no-code Design
5
- * panel (the user edits colors / fonts / radius visually). Conventions:
6
- * - Raw tokens live in :root (light) and .dark (dark). The @media
7
- * (prefers-color-scheme: dark) block mirrors .dark so apps follow the OS
8
- * by default; adding the `dark` class still forces dark explicitly.
9
- * - @theme inline maps each raw token to a Tailwind utility
10
- * (bg-background, text-foreground, rounded-lg, ...). Edit the raw token,
11
- * not the component class. Never hardcode #hex in components.
12
- * - When you add a color token, add it to :root, .dark, AND the media block,
13
- * or one theme breaks.
14
- *
15
- * UI primitives live in src/components/ui (shadcn/ui) and consume these
16
- * tokens. One responsibility per file.
17
- */
18
-
19
- @import "tailwindcss" source(none);
20
- @source "../src";
21
- @import "tw-animate-css";
22
-
23
- @custom-variant dark (&:is(.dark *));
24
-
25
- @theme inline {
26
- --radius-sm: calc(var(--radius) - 4px);
27
- --radius-md: calc(var(--radius) - 2px);
28
- --radius-lg: var(--radius);
29
- --radius-xl: calc(var(--radius) + 4px);
30
- --color-background: var(--background);
31
- --color-foreground: var(--foreground);
32
- --color-card: var(--card);
33
- --color-card-foreground: var(--card-foreground);
34
- --color-popover: var(--popover);
35
- --color-popover-foreground: var(--popover-foreground);
36
- --color-primary: var(--primary);
37
- --color-primary-foreground: var(--primary-foreground);
38
- --color-secondary: var(--secondary);
39
- --color-secondary-foreground: var(--secondary-foreground);
40
- --color-muted: var(--muted);
41
- --color-muted-foreground: var(--muted-foreground);
42
- --color-accent: var(--accent);
43
- --color-accent-foreground: var(--accent-foreground);
44
- --color-destructive: var(--destructive);
45
- --color-destructive-foreground: var(--destructive-foreground);
46
- --color-border: var(--border);
47
- --color-input: var(--input);
48
- --color-ring: var(--ring);
49
- --color-chart-1: var(--chart-1);
50
- --color-chart-2: var(--chart-2);
51
- --color-chart-3: var(--chart-3);
52
- --color-chart-4: var(--chart-4);
53
- --color-chart-5: var(--chart-5);
54
- --color-sidebar: var(--sidebar);
55
- --color-sidebar-foreground: var(--sidebar-foreground);
56
- --color-sidebar-primary: var(--sidebar-primary);
57
- --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
58
- --color-sidebar-accent: var(--sidebar-accent);
59
- --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
60
- --color-sidebar-border: var(--sidebar-border);
61
- --color-sidebar-ring: var(--sidebar-ring);
62
- --font-sans: "Inter", system-ui, sans-serif;
63
- --font-display: "Space Grotesk", "Inter", sans-serif;
64
- }
65
-
66
- :root {
67
- --radius: 0.625rem;
68
- --background: oklch(1 0 0);
69
- --foreground: oklch(0.145 0 0);
70
- --card: oklch(1 0 0);
71
- --card-foreground: oklch(0.145 0 0);
72
- --popover: oklch(1 0 0);
73
- --popover-foreground: oklch(0.145 0 0);
74
- --primary: oklch(0.205 0 0);
75
- --primary-foreground: oklch(0.985 0 0);
76
- --secondary: oklch(0.97 0 0);
77
- --secondary-foreground: oklch(0.205 0 0);
78
- --muted: oklch(0.97 0 0);
79
- --muted-foreground: oklch(0.556 0 0);
80
- --accent: oklch(0.97 0 0);
81
- --accent-foreground: oklch(0.205 0 0);
82
- --destructive: oklch(0.577 0.245 27.325);
83
- --destructive-foreground: oklch(0.985 0 0);
84
- --border: oklch(0.922 0 0);
85
- --input: oklch(0.922 0 0);
86
- --ring: oklch(0.708 0 0);
87
- --chart-1: oklch(0.646 0.222 41.116);
88
- --chart-2: oklch(0.6 0.118 184.704);
89
- --chart-3: oklch(0.398 0.07 227.392);
90
- --chart-4: oklch(0.828 0.189 84.429);
91
- --chart-5: oklch(0.769 0.188 70.08);
92
- --sidebar: oklch(0.985 0 0);
93
- --sidebar-foreground: oklch(0.145 0 0);
94
- --sidebar-primary: oklch(0.205 0 0);
95
- --sidebar-primary-foreground: oklch(0.985 0 0);
96
- --sidebar-accent: oklch(0.97 0 0);
97
- --sidebar-accent-foreground: oklch(0.205 0 0);
98
- --sidebar-border: oklch(0.922 0 0);
99
- --sidebar-ring: oklch(0.708 0 0);
100
- }
101
-
102
- /* Dark palette -- kept identical in .dark (explicit) and the media block
103
- * (system default). Edit BOTH when changing a token. */
104
- .dark {
105
- --background: oklch(0.145 0 0);
106
- --foreground: oklch(0.985 0 0);
107
- --card: oklch(0.205 0 0);
108
- --card-foreground: oklch(0.985 0 0);
109
- --popover: oklch(0.205 0 0);
110
- --popover-foreground: oklch(0.985 0 0);
111
- --primary: oklch(0.922 0 0);
112
- --primary-foreground: oklch(0.205 0 0);
113
- --secondary: oklch(0.269 0 0);
114
- --secondary-foreground: oklch(0.985 0 0);
115
- --muted: oklch(0.269 0 0);
116
- --muted-foreground: oklch(0.708 0 0);
117
- --accent: oklch(0.269 0 0);
118
- --accent-foreground: oklch(0.985 0 0);
119
- --destructive: oklch(0.704 0.191 22.216);
120
- --destructive-foreground: oklch(0.985 0 0);
121
- --border: oklch(1 0 0 / 10%);
122
- --input: oklch(1 0 0 / 15%);
123
- --ring: oklch(0.556 0 0);
124
- --chart-1: oklch(0.488 0.243 264.376);
125
- --chart-2: oklch(0.696 0.17 162.48);
126
- --chart-3: oklch(0.769 0.188 70.08);
127
- --chart-4: oklch(0.627 0.265 303.9);
128
- --chart-5: oklch(0.645 0.246 16.439);
129
- --sidebar: oklch(0.205 0 0);
130
- --sidebar-foreground: oklch(0.985 0 0);
131
- --sidebar-primary: oklch(0.488 0.243 264.376);
132
- --sidebar-primary-foreground: oklch(0.985 0 0);
133
- --sidebar-accent: oklch(0.269 0 0);
134
- --sidebar-accent-foreground: oklch(0.985 0 0);
135
- --sidebar-border: oklch(1 0 0 / 10%);
136
- --sidebar-ring: oklch(0.556 0 0);
137
- }
138
-
139
- @media (prefers-color-scheme: dark) {
140
- :root {
141
- --background: oklch(0.145 0 0);
142
- --foreground: oklch(0.985 0 0);
143
- --card: oklch(0.205 0 0);
144
- --card-foreground: oklch(0.985 0 0);
145
- --popover: oklch(0.205 0 0);
146
- --popover-foreground: oklch(0.985 0 0);
147
- --primary: oklch(0.922 0 0);
148
- --primary-foreground: oklch(0.205 0 0);
149
- --secondary: oklch(0.269 0 0);
150
- --secondary-foreground: oklch(0.985 0 0);
151
- --muted: oklch(0.269 0 0);
152
- --muted-foreground: oklch(0.708 0 0);
153
- --accent: oklch(0.269 0 0);
154
- --accent-foreground: oklch(0.985 0 0);
155
- --destructive: oklch(0.704 0.191 22.216);
156
- --destructive-foreground: oklch(0.985 0 0);
157
- --border: oklch(1 0 0 / 10%);
158
- --input: oklch(1 0 0 / 15%);
159
- --ring: oklch(0.556 0 0);
160
- --chart-1: oklch(0.488 0.243 264.376);
161
- --chart-2: oklch(0.696 0.17 162.48);
162
- --chart-3: oklch(0.769 0.188 70.08);
163
- --chart-4: oklch(0.627 0.265 303.9);
164
- --chart-5: oklch(0.645 0.246 16.439);
165
- --sidebar: oklch(0.205 0 0);
166
- --sidebar-foreground: oklch(0.985 0 0);
167
- --sidebar-primary: oklch(0.488 0.243 264.376);
168
- --sidebar-primary-foreground: oklch(0.985 0 0);
169
- --sidebar-accent: oklch(0.269 0 0);
170
- --sidebar-accent-foreground: oklch(0.985 0 0);
171
- --sidebar-border: oklch(1 0 0 / 10%);
172
- --sidebar-ring: oklch(0.556 0 0);
173
- }
174
- }
175
-
176
- @layer base {
177
- * {
178
- border-color: var(--color-border);
179
- }
180
- html,
181
- body {
182
- font-family: var(--font-sans);
183
- }
184
- body {
185
- background-color: var(--color-background);
186
- color: var(--color-foreground);
187
- min-height: 100vh;
188
- }
189
- h1, h2, h3, h4 {
190
- font-family: var(--font-display);
191
- letter-spacing: -0.02em;
192
- }
193
- }
194
-
195
- @layer utilities {
196
- .prose-note {
197
- color: var(--color-foreground);
198
- }
199
- .prose-note h1 { font-size: 1.875rem; font-weight: 700; margin: 1.25rem 0 0.75rem; font-family: var(--font-display); }
200
- .prose-note h2 { font-size: 1.5rem; font-weight: 600; margin: 1rem 0 0.5rem; font-family: var(--font-display); }
201
- .prose-note h3 { font-size: 1.25rem; font-weight: 600; margin: 0.875rem 0 0.5rem; }
202
- .prose-note p { margin: 0.5rem 0; line-height: 1.7; }
203
- .prose-note ul { list-style: disc; padding-left: 1.5rem; margin: 0.5rem 0; }
204
- .prose-note ol { list-style: decimal; padding-left: 1.5rem; margin: 0.5rem 0; }
205
- .prose-note li { margin: 0.25rem 0; }
206
- .prose-note a { color: var(--color-primary); text-decoration: underline; }
207
- .prose-note code { background: var(--color-muted); padding: 0.125rem 0.375rem; border-radius: 0.25rem; font-size: 0.875em; }
208
- .prose-note pre { background: var(--color-muted); padding: 1rem; border-radius: 0.5rem; overflow-x: auto; margin: 0.75rem 0; }
209
- .prose-note pre code { background: transparent; padding: 0; }
210
- .prose-note blockquote { border-left: 3px solid var(--color-primary); padding-left: 1rem; margin: 0.75rem 0; color: var(--color-muted-foreground); }
211
- .prose-note hr { border-color: var(--color-border); margin: 1.5rem 0; }
212
- .prose-note table { border-collapse: collapse; margin: 0.75rem 0; }
213
- .prose-note th, .prose-note td { border: 1px solid var(--color-border); padding: 0.375rem 0.75rem; }
214
- }
@@ -1,27 +0,0 @@
1
- {
2
- "include": ["**/*.ts", "**/*.tsx"],
3
- "compilerOptions": {
4
- "target": "ES2022",
5
- "jsx": "react-jsx",
6
- "module": "ESNext",
7
- "paths": {
8
- "#/*": ["./src/*"],
9
- "@/*": ["./src/*"]
10
- },
11
- "lib": ["ES2022", "DOM", "DOM.Iterable"],
12
- "types": ["@cloudflare/workers-types", "vite/client"],
13
-
14
- /* Bundler mode */
15
- "moduleResolution": "bundler",
16
- "allowImportingTsExtensions": true,
17
- "noEmit": true,
18
-
19
- /* Linting */
20
- "skipLibCheck": true,
21
- "strict": true,
22
- "noUnusedLocals": true,
23
- "noUnusedParameters": true,
24
- "noFallthroughCasesInSwitch": true,
25
- "noUncheckedSideEffectImports": true
26
- }
27
- }
@@ -1,17 +0,0 @@
1
- import { defineConfig } from '@helloleo/vite-config'
2
-
3
- // @helloleo/vite-config owns the whole build/dev/sandbox pipeline: in dev it
4
- // aliases `cloudflare:workers` -> @helloleo/runtime/cf-shim (libsql .dev.db for
5
- // D1+KV, local disk for R2) and runs plain Vite SSR; at build it adds
6
- // @cloudflare/vite-plugin to emit a workerd Worker bound to wrangler.jsonc. It
7
- // also binds host:true/port:5173 itself (>=0.1.2).
8
- //
9
- // The one thing the wrapper doesn't set: HMR over the HelloLeo preview proxy,
10
- // which terminates HTTPS on :443 — so point the HMR client at wss://…:443.
11
- export default defineConfig({
12
- vite: {
13
- server: {
14
- hmr: { clientPort: 443, protocol: 'wss' },
15
- },
16
- },
17
- })
@@ -1,22 +0,0 @@
1
- {
2
- "$schema": "https://ui.shadcn.com/schema.json",
3
- "style": "new-york",
4
- "rsc": false,
5
- "tsx": true,
6
- "tailwind": {
7
- "css": "src/styles.css",
8
- "baseColor": "slate",
9
- "cssVariables": true,
10
- "prefix": ""
11
- },
12
- "iconLibrary": "lucide",
13
- "rtl": false,
14
- "aliases": {
15
- "components": "@/components",
16
- "utils": "@/lib/utils",
17
- "ui": "@/components/ui",
18
- "lib": "@/lib",
19
- "hooks": "@/hooks"
20
- },
21
- "registries": {}
22
- }
@@ -1 +0,0 @@
1
- {"version":"7","dialect":"sqlite","entries":[]}
@@ -1,18 +0,0 @@
1
- import { defineConfig } from 'drizzle-kit'
2
-
3
- // src/db/schema.ts is the single source of truth for the D1 / libsql schema.
4
- //
5
- // Migrations (drizzle/*.sql + drizzle/meta/) are GENERATED from schema.ts by
6
- // HelloLeo after every schema change and applied automatically -- in dev on
7
- // server start, in production when you publish. Never edit or delete files
8
- // under drizzle/ by hand; change schema.ts instead. Prefer adding new
9
- // columns/tables over renaming existing ones (renames cannot be generated).
10
-
11
- const devDbPath = process.env.DEV_DB_PATH ?? '.dev.db'
12
-
13
- export default defineConfig({
14
- dialect: 'sqlite',
15
- schema: './src/db/schema.ts',
16
- out: './drizzle',
17
- dbCredentials: { url: `file:${devDbPath}` },
18
- })