@stacksjs/defaults 0.70.207 → 0.70.208

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 (408) hide show
  1. package/TODO.md +21 -0
  2. package/ai/AGENTS.md +79 -0
  3. package/ai/README.md +45 -0
  4. package/ai/claude/launch.json +12 -0
  5. package/ai/skills/stacks-actions/SKILL.md +128 -0
  6. package/ai/skills/stacks-ai/SKILL.md +276 -0
  7. package/ai/skills/stacks-alias/SKILL.md +94 -0
  8. package/ai/skills/stacks-analytics/SKILL.md +91 -0
  9. package/ai/skills/stacks-api/SKILL.md +738 -0
  10. package/ai/skills/stacks-arrays/SKILL.md +277 -0
  11. package/ai/skills/stacks-auth/SKILL.md +422 -0
  12. package/ai/skills/stacks-auto-imports/SKILL.md +138 -0
  13. package/ai/skills/stacks-brandkit/SKILL.md +811 -0
  14. package/ai/skills/stacks-browse/SKILL.md +127 -0
  15. package/ai/skills/stacks-browse/scripts/browse.ts +492 -0
  16. package/ai/skills/stacks-browser/SKILL.md +145 -0
  17. package/ai/skills/stacks-buddy/SKILL.md +676 -0
  18. package/ai/skills/stacks-build/SKILL.md +163 -0
  19. package/ai/skills/stacks-cache/SKILL.md +125 -0
  20. package/ai/skills/stacks-calendar/SKILL.md +113 -0
  21. package/ai/skills/stacks-chat/SKILL.md +371 -0
  22. package/ai/skills/stacks-cli/SKILL.md +112 -0
  23. package/ai/skills/stacks-cloud/SKILL.md +192 -0
  24. package/ai/skills/stacks-cms/SKILL.md +217 -0
  25. package/ai/skills/stacks-collections/SKILL.md +82 -0
  26. package/ai/skills/stacks-commerce/SKILL.md +114 -0
  27. package/ai/skills/stacks-composables/SKILL.md +161 -0
  28. package/ai/skills/stacks-config/SKILL.md +144 -0
  29. package/ai/skills/stacks-configuration/SKILL.md +154 -0
  30. package/ai/skills/stacks-cron/SKILL.md +123 -0
  31. package/ai/skills/stacks-crosswind/SKILL.md +190 -0
  32. package/ai/skills/stacks-dashboard/SKILL.md +173 -0
  33. package/ai/skills/stacks-database/SKILL.md +286 -0
  34. package/ai/skills/stacks-datetime/SKILL.md +269 -0
  35. package/ai/skills/stacks-dependencies/SKILL.md +111 -0
  36. package/ai/skills/stacks-deploy/SKILL.md +102 -0
  37. package/ai/skills/stacks-design-brutalist/SKILL.md +110 -0
  38. package/ai/skills/stacks-design-minimalist/SKILL.md +115 -0
  39. package/ai/skills/stacks-design-output/SKILL.md +55 -0
  40. package/ai/skills/stacks-design-soft/SKILL.md +156 -0
  41. package/ai/skills/stacks-design-taste/SKILL.md +1012 -0
  42. package/ai/skills/stacks-design-taste-codex/SKILL.md +294 -0
  43. package/ai/skills/stacks-desktop/SKILL.md +78 -0
  44. package/ai/skills/stacks-development/SKILL.md +298 -0
  45. package/ai/skills/stacks-dns/SKILL.md +149 -0
  46. package/ai/skills/stacks-docs/SKILL.md +109 -0
  47. package/ai/skills/stacks-email/SKILL.md +236 -0
  48. package/ai/skills/stacks-enums/SKILL.md +100 -0
  49. package/ai/skills/stacks-env/SKILL.md +181 -0
  50. package/ai/skills/stacks-error-handling/SKILL.md +137 -0
  51. package/ai/skills/stacks-events/SKILL.md +228 -0
  52. package/ai/skills/stacks-faker/SKILL.md +158 -0
  53. package/ai/skills/stacks-git/SKILL.md +158 -0
  54. package/ai/skills/stacks-guard/SKILL.md +98 -0
  55. package/ai/skills/stacks-health/SKILL.md +75 -0
  56. package/ai/skills/stacks-http/SKILL.md +316 -0
  57. package/ai/skills/stacks-i18n/SKILL.md +198 -0
  58. package/ai/skills/stacks-image-to-code/SKILL.md +629 -0
  59. package/ai/skills/stacks-imagegen-mobile/SKILL.md +1474 -0
  60. package/ai/skills/stacks-imagegen-web/SKILL.md +998 -0
  61. package/ai/skills/stacks-investigate/SKILL.md +119 -0
  62. package/ai/skills/stacks-jobs/SKILL.md +136 -0
  63. package/ai/skills/stacks-lint/SKILL.md +184 -0
  64. package/ai/skills/stacks-listeners/SKILL.md +99 -0
  65. package/ai/skills/stacks-logging/SKILL.md +78 -0
  66. package/ai/skills/stacks-mail/SKILL.md +120 -0
  67. package/ai/skills/stacks-middleware/SKILL.md +249 -0
  68. package/ai/skills/stacks-migrations/SKILL.md +105 -0
  69. package/ai/skills/stacks-models/SKILL.md +267 -0
  70. package/ai/skills/stacks-new-feature/SKILL.md +206 -0
  71. package/ai/skills/stacks-notifications/SKILL.md +210 -0
  72. package/ai/skills/stacks-objects/SKILL.md +205 -0
  73. package/ai/skills/stacks-office-hours/SKILL.md +134 -0
  74. package/ai/skills/stacks-orm/SKILL.md +342 -0
  75. package/ai/skills/stacks-path/SKILL.md +118 -0
  76. package/ai/skills/stacks-payments/SKILL.md +373 -0
  77. package/ai/skills/stacks-plan-review/SKILL.md +152 -0
  78. package/ai/skills/stacks-plugins/SKILL.md +149 -0
  79. package/ai/skills/stacks-push/SKILL.md +376 -0
  80. package/ai/skills/stacks-query-builder/SKILL.md +128 -0
  81. package/ai/skills/stacks-queue/SKILL.md +559 -0
  82. package/ai/skills/stacks-realtime/SKILL.md +442 -0
  83. package/ai/skills/stacks-redesign/SKILL.md +182 -0
  84. package/ai/skills/stacks-registry/SKILL.md +58 -0
  85. package/ai/skills/stacks-repl/SKILL.md +80 -0
  86. package/ai/skills/stacks-retro/SKILL.md +122 -0
  87. package/ai/skills/stacks-review/SKILL.md +135 -0
  88. package/ai/skills/stacks-router/SKILL.md +231 -0
  89. package/ai/skills/stacks-routes/SKILL.md +105 -0
  90. package/ai/skills/stacks-scaffolding/SKILL.md +162 -0
  91. package/ai/skills/stacks-scheduler/SKILL.md +363 -0
  92. package/ai/skills/stacks-search-engine/SKILL.md +112 -0
  93. package/ai/skills/stacks-security/SKILL.md +129 -0
  94. package/ai/skills/stacks-security-audit/SKILL.md +128 -0
  95. package/ai/skills/stacks-server/SKILL.md +458 -0
  96. package/ai/skills/stacks-shell/SKILL.md +62 -0
  97. package/ai/skills/stacks-slug/SKILL.md +87 -0
  98. package/ai/skills/stacks-sms/SKILL.md +385 -0
  99. package/ai/skills/stacks-socials/SKILL.md +303 -0
  100. package/ai/skills/stacks-storage/SKILL.md +576 -0
  101. package/ai/skills/stacks-strings/SKILL.md +416 -0
  102. package/ai/skills/stacks-stx/SKILL.md +176 -0
  103. package/ai/skills/stacks-technical-diagrams/LICENSE +22 -0
  104. package/ai/skills/stacks-technical-diagrams/SKILL.md +290 -0
  105. package/ai/skills/stacks-technical-diagrams/agents/openai.yaml +4 -0
  106. package/ai/skills/stacks-technical-diagrams/assets/template.html +1252 -0
  107. package/ai/skills/stacks-technical-diagrams/bin/technical-diagrams.mjs +289 -0
  108. package/ai/skills/stacks-technical-diagrams/bunfig.toml +1 -0
  109. package/ai/skills/stacks-technical-diagrams/examples/agent-run.lifecycle.json +64 -0
  110. package/ai/skills/stacks-technical-diagrams/examples/agent-tool-call.workflow.json +88 -0
  111. package/ai/skills/stacks-technical-diagrams/examples/cache-miss-request.sequence.json +75 -0
  112. package/ai/skills/stacks-technical-diagrams/examples/product-analytics.dataflow.json +70 -0
  113. package/ai/skills/stacks-technical-diagrams/examples/web-app.architecture.json +41 -0
  114. package/ai/skills/stacks-technical-diagrams/renderers/architecture/grid.mjs +62 -0
  115. package/ai/skills/stacks-technical-diagrams/renderers/architecture/render-architecture.mjs +371 -0
  116. package/ai/skills/stacks-technical-diagrams/renderers/dataflow/README.md +82 -0
  117. package/ai/skills/stacks-technical-diagrams/renderers/dataflow/render-dataflow.mjs +295 -0
  118. package/ai/skills/stacks-technical-diagrams/renderers/lifecycle/README.md +91 -0
  119. package/ai/skills/stacks-technical-diagrams/renderers/lifecycle/render-lifecycle.mjs +384 -0
  120. package/ai/skills/stacks-technical-diagrams/renderers/sequence/README.md +84 -0
  121. package/ai/skills/stacks-technical-diagrams/renderers/sequence/render-sequence.mjs +257 -0
  122. package/ai/skills/stacks-technical-diagrams/renderers/shared/cli.mjs +42 -0
  123. package/ai/skills/stacks-technical-diagrams/renderers/shared/generated-validators.mjs +13 -0
  124. package/ai/skills/stacks-technical-diagrams/renderers/shared/geometry.mjs +230 -0
  125. package/ai/skills/stacks-technical-diagrams/renderers/shared/layout-report.mjs +40 -0
  126. package/ai/skills/stacks-technical-diagrams/renderers/shared/utils.mjs +88 -0
  127. package/ai/skills/stacks-technical-diagrams/renderers/shared/validator.mjs +40 -0
  128. package/ai/skills/stacks-technical-diagrams/renderers/workflow/README.md +103 -0
  129. package/ai/skills/stacks-technical-diagrams/renderers/workflow/render-workflow.mjs +481 -0
  130. package/ai/skills/stacks-technical-diagrams/schemas/README.md +68 -0
  131. package/ai/skills/stacks-technical-diagrams/schemas/architecture.schema.json +121 -0
  132. package/ai/skills/stacks-technical-diagrams/schemas/common.schema.json +43 -0
  133. package/ai/skills/stacks-technical-diagrams/schemas/dataflow.schema.json +221 -0
  134. package/ai/skills/stacks-technical-diagrams/schemas/lifecycle.schema.json +241 -0
  135. package/ai/skills/stacks-technical-diagrams/schemas/sequence.schema.json +186 -0
  136. package/ai/skills/stacks-technical-diagrams/schemas/workflow.schema.json +332 -0
  137. package/ai/skills/stacks-technical-diagrams/scripts/check-render-output.mjs +297 -0
  138. package/ai/skills/stacks-technical-diagrams/scripts/render-examples.mjs +28 -0
  139. package/ai/skills/stacks-testing/SKILL.md +129 -0
  140. package/ai/skills/stacks-tunnel/SKILL.md +125 -0
  141. package/ai/skills/stacks-types/SKILL.md +178 -0
  142. package/ai/skills/stacks-ui/SKILL.md +246 -0
  143. package/ai/skills/stacks-utils/SKILL.md +444 -0
  144. package/ai/skills/stacks-validation/SKILL.md +371 -0
  145. package/ai/skills/stacks-whois/SKILL.md +315 -0
  146. package/assets/world-map-data.ts +121 -0
  147. package/bootstrap.ts +114 -0
  148. package/docs/api-examples.md +46 -0
  149. package/docs/index.md +24 -0
  150. package/docs/markdown-examples.md +87 -0
  151. package/functions/analytics.ts +97 -0
  152. package/functions/api.ts +143 -0
  153. package/functions/auth.ts +208 -0
  154. package/functions/billing/payments.ts +149 -0
  155. package/functions/blog.ts +120 -0
  156. package/functions/cms/categorizables.ts +107 -0
  157. package/functions/cms/pages.ts +108 -0
  158. package/functions/cms/posts.ts +100 -0
  159. package/functions/cms/taggables.ts +102 -0
  160. package/functions/commerce/coupons.ts +128 -0
  161. package/functions/commerce/customers.ts +128 -0
  162. package/functions/commerce/gift-cards.ts +119 -0
  163. package/functions/commerce/orders.ts +112 -0
  164. package/functions/commerce/payments.ts +119 -0
  165. package/functions/commerce/products/categories.ts +123 -0
  166. package/functions/commerce/products/manufacturers.ts +123 -0
  167. package/functions/commerce/products/products.ts +123 -0
  168. package/functions/commerce/products/reviews.ts +123 -0
  169. package/functions/commerce/products/units.ts +123 -0
  170. package/functions/commerce/products/variants.ts +123 -0
  171. package/functions/commerce/shippings/delivery-routes.ts +123 -0
  172. package/functions/commerce/shippings/digital-deliveries.ts +119 -0
  173. package/functions/commerce/shippings/drivers.ts +123 -0
  174. package/functions/commerce/shippings/license-keys.ts +123 -0
  175. package/functions/commerce/shippings/shipping-methods.ts +123 -0
  176. package/functions/commerce/shippings/shipping-rates.ts +119 -0
  177. package/functions/commerce/shippings/shipping-zones.ts +119 -0
  178. package/functions/commerce/taxes.ts +119 -0
  179. package/functions/commerce/waitlist/products.ts +123 -0
  180. package/functions/commerce/waitlist/restaurants.ts +123 -0
  181. package/functions/craft.ts +107 -0
  182. package/functions/dashboard.ts +153 -0
  183. package/functions/inbox.ts +95 -0
  184. package/functions/jobs.ts +86 -0
  185. package/functions/monitoring/errors.ts +295 -0
  186. package/functions/queue.ts +111 -0
  187. package/functions/realtime/websockets.ts +96 -0
  188. package/functions/realtime.ts +52 -0
  189. package/functions/releases.ts +49 -0
  190. package/functions/search.ts +126 -0
  191. package/functions/toasts.ts +95 -0
  192. package/functions/uploads.ts +216 -0
  193. package/ide/.gitignore +4 -0
  194. package/ide/cursor/rules/auto-imports.mdc +574 -0
  195. package/ide/cursor/rules/code-style.mdc +12 -0
  196. package/ide/cursor/rules/documentation.mdc +9 -0
  197. package/ide/cursor/rules/error-handling-validation.mdc +11 -0
  198. package/ide/cursor/rules/key-conventions.mdc +11 -0
  199. package/ide/cursor/rules/project-structure.mdc +169 -0
  200. package/ide/cursor/rules/readme.mdc +318 -0
  201. package/ide/cursor/rules/syntax-formatting.mdc +9 -0
  202. package/ide/cursor/rules/testing.mdc +10 -0
  203. package/ide/cursor/rules/typescript.mdc +9 -0
  204. package/ide/cursor/rules/ui-styling.mdc +0 -0
  205. package/ide/dictionary.txt +397 -0
  206. package/ide/jetbrains/.fleet/settings.json +4 -0
  207. package/ide/jetbrains/.idea/.gitignore +5 -0
  208. package/ide/jetbrains/.idea/.name +1 -0
  209. package/ide/jetbrains/.idea/inspectionProfiles/Project_Default.xml +6 -0
  210. package/ide/jetbrains/.idea/jsLinters/eslint.xml +7 -0
  211. package/ide/jetbrains/.idea/modules.xml +8 -0
  212. package/ide/jetbrains/.idea/stacks.iml +22 -0
  213. package/ide/jetbrains/.idea/vcs.xml +6 -0
  214. package/ide/jetbrains/.idea/webResources.xml +14 -0
  215. package/ide/jetbrains/IntelliJ IDEA Global Settings +0 -0
  216. package/ide/jetbrains/installed.txt +4 -0
  217. package/ide/jetbrains/options/github-copilot.xml +5 -0
  218. package/ide/jetbrains/options/nodejs.xml +7 -0
  219. package/ide/jetbrains/options/templates.xml +124 -0
  220. package/ide/jetbrains/templates/JavaScript.xml +6 -0
  221. package/ide/jetbrains/templates/Stacks.xml +8 -0
  222. package/ide/vscode/.vscode/README.md +23 -0
  223. package/ide/vscode/.vscode/extensions.json +5 -0
  224. package/ide/vscode/.vscode/settings.json +176 -0
  225. package/ide/vscode/.vscode/stacks.code-snippets +181 -0
  226. package/ide/vscode/LICENSE.md +21 -0
  227. package/ide/vscode/README.md +36 -0
  228. package/ide/vscode/logo.png +0 -0
  229. package/ide/vscode/package.json +79 -0
  230. package/ide/zed/.zed/settings.json +139 -0
  231. package/lang/README.md +28 -0
  232. package/lang/de.yml +14 -0
  233. package/lang/en.yml +15 -0
  234. package/package.json +19 -3
  235. package/project/bootstrap +161 -0
  236. package/project/buddy +175 -0
  237. package/project/storage/framework/tsconfig.app.json +50 -0
  238. package/project/storage/framework/tsconfig.base.json +58 -0
  239. package/routes/core.ts +78 -0
  240. package/routes/dashboard-api.ts +233 -0
  241. package/routes/dashboard.ts +739 -0
  242. package/routes/email.ts +129 -0
  243. package/stores/[name].stx +16 -0
  244. package/stores/git.ts +71 -0
  245. package/stores/payment.ts +474 -0
  246. package/stores/queue.ts +43 -0
  247. package/stores/user.ts +29 -0
  248. package/stx-components-plugin.ts +25 -0
  249. package/styles/design-tokens.css +597 -0
  250. package/types/dashboard.ts +70 -0
  251. package/types/defaults.ts +438 -0
  252. package/vcs/github/CODE_OF_CONDUCT.md +83 -0
  253. package/vcs/github/CONTRIBUTING.md +187 -0
  254. package/vcs/github/EXPLANATIONS.md +41 -0
  255. package/vcs/github/FUNDING.yml +1 -0
  256. package/vcs/github/ISSUE_TEMPLATE/bug_report.yml +49 -0
  257. package/vcs/github/ISSUE_TEMPLATE/config.yml +10 -0
  258. package/vcs/github/ISSUE_TEMPLATE/feature_request.yml +44 -0
  259. package/vcs/github/SECURITY.md +70 -0
  260. package/vcs/github/renovate.json +5 -0
  261. package/vcs/github/stale.yml +14 -0
  262. package/vcs/github/workflows/README.md +16 -0
  263. package/vcs/github/workflows/ci.yml +114 -0
  264. package/vcs/github/workflows/export-size.yml +25 -0
  265. package/vcs/github/workflows/labeler.yml +13 -0
  266. package/vcs/github/workflows/release.yml +219 -0
  267. package/views/[...all].stx +8 -0
  268. package/views/about.md +3 -0
  269. package/views/auth/login.stx +1 -0
  270. package/views/auth/signup.stx +85 -0
  271. package/views/dashboard/.discovered-models.json +542 -0
  272. package/views/dashboard/AUDIT.md +904 -0
  273. package/views/dashboard/[...all].stx +89 -0
  274. package/views/dashboard/access-tokens/index.stx +177 -0
  275. package/views/dashboard/actions/index.stx +129 -0
  276. package/views/dashboard/analytics/blog/index.stx +356 -0
  277. package/views/dashboard/analytics/browsers/index.stx +263 -0
  278. package/views/dashboard/analytics/commerce/sales/index.stx +329 -0
  279. package/views/dashboard/analytics/commerce/web/index.stx +379 -0
  280. package/views/dashboard/analytics/countries/index.stx +289 -0
  281. package/views/dashboard/analytics/devices/index.stx +305 -0
  282. package/views/dashboard/analytics/events/index.stx +536 -0
  283. package/views/dashboard/analytics/index.stx +88 -0
  284. package/views/dashboard/analytics/marketing/index.stx +315 -0
  285. package/views/dashboard/analytics/pages/index.stx +271 -0
  286. package/views/dashboard/analytics/referrers/index.stx +319 -0
  287. package/views/dashboard/analytics/web/index.stx +356 -0
  288. package/views/dashboard/buddy/index.stx +198 -0
  289. package/views/dashboard/ci/index.stx +462 -0
  290. package/views/dashboard/cloud/index.stx +452 -0
  291. package/views/dashboard/commands/index.stx +295 -0
  292. package/views/dashboard/commerce/categories/index.stx +406 -0
  293. package/views/dashboard/commerce/coupons/index.stx +485 -0
  294. package/views/dashboard/commerce/customers/index.stx +410 -0
  295. package/views/dashboard/commerce/dashboard/index.stx +287 -0
  296. package/views/dashboard/commerce/delivery/delivery-routes.stx +305 -0
  297. package/views/dashboard/commerce/delivery/digital-delivery.stx +332 -0
  298. package/views/dashboard/commerce/delivery/drivers.stx +397 -0
  299. package/views/dashboard/commerce/delivery/index.stx +18 -0
  300. package/views/dashboard/commerce/delivery/license-keys.stx +380 -0
  301. package/views/dashboard/commerce/delivery/shipping-methods.stx +346 -0
  302. package/views/dashboard/commerce/delivery/shipping-rates.stx +338 -0
  303. package/views/dashboard/commerce/delivery/shipping-zones.stx +302 -0
  304. package/views/dashboard/commerce/delivery/tabs.ts +25 -0
  305. package/views/dashboard/commerce/gift-cards/index.stx +561 -0
  306. package/views/dashboard/commerce/manufacturers/index.stx +308 -0
  307. package/views/dashboard/commerce/orders/index.stx +247 -0
  308. package/views/dashboard/commerce/payments/index.stx +535 -0
  309. package/views/dashboard/commerce/pos/index.stx +653 -0
  310. package/views/dashboard/commerce/printers/devices/index.stx +273 -0
  311. package/views/dashboard/commerce/printers/receipts/index.stx +308 -0
  312. package/views/dashboard/commerce/products/detail.stx +563 -0
  313. package/views/dashboard/commerce/products/index.stx +370 -0
  314. package/views/dashboard/commerce/reviews/index.stx +656 -0
  315. package/views/dashboard/commerce/reviews/index.ts +0 -0
  316. package/views/dashboard/commerce/taxes/index.stx +377 -0
  317. package/views/dashboard/commerce/units/index.stx +317 -0
  318. package/views/dashboard/commerce/variants/index.stx +319 -0
  319. package/views/dashboard/commerce/waitlist/products.stx +942 -0
  320. package/views/dashboard/commerce/waitlist/restaurant.stx +1024 -0
  321. package/views/dashboard/components/index.stx +330 -0
  322. package/views/dashboard/composables/index.ts +19 -0
  323. package/views/dashboard/composables/useChart.ts +77 -0
  324. package/views/dashboard/composables/useNavigation.ts +99 -0
  325. package/views/dashboard/composables/useRole.ts +58 -0
  326. package/views/dashboard/composables/useTheme.ts +74 -0
  327. package/views/dashboard/content/authors/index.stx +171 -0
  328. package/views/dashboard/content/blog/index.stx +493 -0
  329. package/views/dashboard/content/categories/index.stx +169 -0
  330. package/views/dashboard/content/comments/index.stx +189 -0
  331. package/views/dashboard/content/dashboard.stx +383 -0
  332. package/views/dashboard/content/files/index.stx +706 -0
  333. package/views/dashboard/content/pages/index.stx +174 -0
  334. package/views/dashboard/content/posts/index.stx +269 -0
  335. package/views/dashboard/content/seo/index.stx +240 -0
  336. package/views/dashboard/content/tags/index.stx +167 -0
  337. package/views/dashboard/data/activity/index.stx +261 -0
  338. package/views/dashboard/data/dashboard/index.stx +116 -0
  339. package/views/dashboard/data/subscribers.stx +270 -0
  340. package/views/dashboard/data/teams.stx +275 -0
  341. package/views/dashboard/data/users.stx +279 -0
  342. package/views/dashboard/dependencies/index.stx +178 -0
  343. package/views/dashboard/deployments/[id].stx +234 -0
  344. package/views/dashboard/deployments/index.stx +9 -0
  345. package/views/dashboard/dns/index.stx +163 -0
  346. package/views/dashboard/environment/index.stx +283 -0
  347. package/views/dashboard/errors/index.stx +274 -0
  348. package/views/dashboard/forgot-password.stx +57 -0
  349. package/views/dashboard/functions/index.stx +159 -0
  350. package/views/dashboard/health/index.stx +248 -0
  351. package/views/dashboard/inbox/activity.stx +350 -0
  352. package/views/dashboard/inbox/index.stx +452 -0
  353. package/views/dashboard/inbox/settings.stx +290 -0
  354. package/views/dashboard/index.stx +252 -0
  355. package/views/dashboard/insights/index.stx +529 -0
  356. package/views/dashboard/jobs/[id].stx +430 -0
  357. package/views/dashboard/jobs/history.stx +222 -0
  358. package/views/dashboard/jobs/index.stx +214 -0
  359. package/views/dashboard/kanban/[id].stx +899 -0
  360. package/views/dashboard/kanban/index.stx +260 -0
  361. package/views/dashboard/layouts/default.stx +565 -0
  362. package/views/dashboard/layouts/guest.stx +10 -0
  363. package/views/dashboard/login.stx +48 -0
  364. package/views/dashboard/logs/index.stx +540 -0
  365. package/views/dashboard/mailboxes/index.stx +149 -0
  366. package/views/dashboard/management/permissions/index.stx +490 -0
  367. package/views/dashboard/marketing/campaigns/index.stx +604 -0
  368. package/views/dashboard/marketing/lists/index.stx +514 -0
  369. package/views/dashboard/marketing/reviews/index.stx +475 -0
  370. package/views/dashboard/marketing/social-posts/index.stx +560 -0
  371. package/views/dashboard/models/[model].stx +195 -0
  372. package/views/dashboard/models/index.stx +159 -0
  373. package/views/dashboard/monitoring/errors/index.stx +415 -0
  374. package/views/dashboard/notifications/dashboard.stx +383 -0
  375. package/views/dashboard/notifications/email.stx +336 -0
  376. package/views/dashboard/notifications/history.stx +373 -0
  377. package/views/dashboard/notifications/sms.stx +332 -0
  378. package/views/dashboard/packages/index.stx +195 -0
  379. package/views/dashboard/queries/[id].stx +381 -0
  380. package/views/dashboard/queries/history.stx +227 -0
  381. package/views/dashboard/queries/index.stx +335 -0
  382. package/views/dashboard/queries/slow.stx +318 -0
  383. package/views/dashboard/queue/index.stx +427 -0
  384. package/views/dashboard/realtime/index.stx +429 -0
  385. package/views/dashboard/register.stx +46 -0
  386. package/views/dashboard/releases/index.stx +389 -0
  387. package/views/dashboard/requests/index.stx +462 -0
  388. package/views/dashboard/serverless/index.stx +475 -0
  389. package/views/dashboard/servers/[id].stx +299 -0
  390. package/views/dashboard/servers/index.stx +483 -0
  391. package/views/dashboard/settings/billing.stx +50 -0
  392. package/views/dashboard/settings/index.stx +256 -0
  393. package/views/dashboard/settings/mail.stx +252 -0
  394. package/views/dashboard/stores/auth.ts +123 -0
  395. package/views/dashboard/stores/ci.ts +342 -0
  396. package/views/dashboard/stores/index.ts +129 -0
  397. package/views/dashboard/stores/kanban.ts +723 -0
  398. package/views/dashboard/stores/rbac.ts +350 -0
  399. package/views/dashboard/stx.config.ts +34 -0
  400. package/views/dashboard/teams/[id].stx +170 -0
  401. package/views/forum/category.stx +92 -0
  402. package/views/forum/index.stx +209 -0
  403. package/views/forum/new-topic.stx +113 -0
  404. package/views/forum/profile.stx +1 -0
  405. package/views/forum/topic.stx +143 -0
  406. package/views/hello-world/[name].stx +47 -0
  407. package/views/index.stx +21 -0
  408. package/views/system-tray/index.stx +147 -0
@@ -0,0 +1,629 @@
1
+ ---
2
+ name: stacks-image-to-code
3
+ description: Use when the deliverable is a visually important Stacks page (hero, landing page, marketing site, portfolio, product page, editorial brand page, or redesign where visual quality matters) and you want to generate design reference image(s), deeply analyze them, then implement the UI to match. Runs an image-first pipeline (generate, analyze, implement) and retargets the implement phase to stx + Crosswind + composables.
4
+ license: MIT
5
+ compatibility: Bun >= 1.3.0, TypeScript
6
+ allowed-tools: Read Edit Write Bash Grep Glob
7
+ ---
8
+
9
+ # Image-to-Code for Stacks
10
+
11
+ **Related skills:** stacks-design-taste, stacks-imagegen-web, stacks-stx, stacks-crosswind, stacks-ui
12
+
13
+ This skill is an image-first pipeline: (1) generate premium website reference image(s), (2) deeply analyze them, (3) implement the frontend in Stacks to match. The generate and analyze phases are framework-agnostic. The implement phase is Stacks-native: stx templates, Crosswind utilities, stx composables, Iconify icons, and CSS.
14
+
15
+ For the underlying design judgment (palette discipline, typography taste, anti-slop rules, spacing systems), defer to **stacks-design-taste**, the flagship taste skill. This skill focuses on the pipeline and its Stacks implementation targets, and composes with stacks-design-taste rather than restating all of its rules.
16
+
17
+ ## CORE DIRECTIVE: IMAGE-FIRST WEBSITE DESIGN TO CODE
18
+
19
+ You are an elite web design art director and implementation strategist.
20
+
21
+ Your job is not to generate generic website mockups. Your job is to generate premium, artistic, implementation-friendly website section references and then turn them into real Stacks frontend.
22
+
23
+ This skill is for:
24
+ - hero sections
25
+ - landing pages
26
+ - marketing sites
27
+ - startup sites
28
+ - editorial brand pages
29
+ - product pages
30
+ - portfolio websites
31
+ - premium multi-section websites
32
+ - redesigns where visual quality matters
33
+
34
+ Standard AI output tends to collapse into repetitive defaults:
35
+ - one single giant compressed image for too many sections
36
+ - text that becomes too small to read
37
+ - centered dark hero cliches
38
+ - generic card spam
39
+ - repeated left-text/right-image layouts
40
+ - weak typography hierarchy
41
+ - vague spacing
42
+ - cards inside cards inside cards
43
+ - giant rounded section containers everywhere
44
+ - too much visible information in the first screen
45
+ - tiny pills, labels, tags, system markers, and fake interface jargon
46
+ - nice-looking but unextractable designs
47
+ - generic coded reinterpretations after the image step
48
+ - lazily generating too few images for too many sections
49
+
50
+ Your goal is to aggressively break these defaults.
51
+
52
+ The output must feel: premium, art-directed, readable, structured, implementation-friendly, deeply analyzable, visually strong, faithful enough to build from, clean on first view, responsive in spirit, and realistic on a small laptop viewport.
53
+
54
+ IMPORTANT: For visual website tasks, you must first generate the design image(s) yourself. Then you must deeply analyze the generated image(s). Only after that should you implement the frontend.
55
+
56
+ Do not skip image generation when image generation is available. Do not begin with freeform coding first. The generated image(s) are the primary visual source of truth.
57
+
58
+ The required workflow is:
59
+
60
+ image generation first
61
+ deep image analysis second
62
+ implementation third
63
+
64
+ If the task is mainly visual, this order is mandatory.
65
+
66
+ ---
67
+
68
+ ## 1. ACTIVE BASELINE CONFIGURATION
69
+
70
+ - DESIGN_VARIANCE: 8
71
+ `(1 = rigid / conventional, 10 = highly art-directed / asymmetric)`
72
+ - VISUAL_DENSITY: 3
73
+ `(1 = airy / calm, 10 = dense / packed)`
74
+ - ART_DIRECTION: 8
75
+ `(1 = safe commercial, 10 = bold creative statement)`
76
+ - IMPLEMENTATION_CLARITY: 9
77
+ `(1 = loose moodboard, 10 = highly buildable UI reference)`
78
+ - IMAGE_USAGE_PRIORITY: 9
79
+ `(1 = mostly typographic, 10 = strongly image-led when appropriate)`
80
+ - SPACING_GENEROSITY: 9
81
+ `(1 = compact / tight, 10 = spacious / breathable)`
82
+ - ANALYSIS_PRECISION: 10
83
+ `(1 = broad vibe only, 10 = deep extraction of design details)`
84
+ - IMAGE_GENERATION_EAGERNESS: 10
85
+ `(1 = minimal image count, 10 = generate as many images as needed for excellent extraction)`
86
+ - UI_SIMPLICITY_DISCIPLINE: 9
87
+ `(1 = willing to add many micro-elements, 10 = aggressively reduce clutter and unnecessary UI chrome)`
88
+ - MOTION_INTENSITY: 3
89
+ `(1 = static, 10 = heavily animated; above 3, reduced-motion gating is mandatory - see section 12)`
90
+
91
+ Use these as defaults unless the user clearly wants something else. Adapt them to the prompt.
92
+
93
+ Interpretation:
94
+ - If the user says "clean", reduce density and increase clarity.
95
+ - If the user says "crazy creative", increase variance and art direction.
96
+ - If the user says "premium SaaS", keep clarity high and art direction controlled.
97
+ - If the user says "editorial", allow stronger type and more asymmetry.
98
+ - Keep sections breathable.
99
+ - Prefer readability over squeezing too much into one image.
100
+ - Bias strongly toward larger, more analyzable section images.
101
+ - If more images would improve extraction quality, generate more images. Do not be lazy with image count.
102
+ - Default away from nested containers, excessive pills, tiny labels, and dashboard clutter.
103
+
104
+ ---
105
+
106
+ ## 2. MANDATORY IMAGE-FIRST RULE
107
+
108
+ For website design requests where visual quality matters, image generation is mandatory first.
109
+
110
+ This means:
111
+ 1. generate the design image or image set yourself first
112
+ 2. deeply inspect and analyze the generated image(s)
113
+ 3. extract the design system from them
114
+ 4. implement the frontend only after that
115
+
116
+ Do not:
117
+ - start with freeform coding
118
+ - skip straight to implementation
119
+ - describe a website without first generating the visual reference when generation is available
120
+ - rely on memory of "good frontend taste" instead of producing the actual reference
121
+
122
+ For the generation step itself (prompt structure, aspect ratios, section-by-section rendering, quality gates), defer to **stacks-imagegen-web**. This skill assumes you can generate images; it governs the discipline around count, cropping, and analysis.
123
+
124
+ The image is the design source. The code is the translation layer.
125
+
126
+ ---
127
+
128
+ ## 3. GENERATE ENOUGH IMAGES RULE
129
+
130
+ Generate enough images to make the design truly readable and extractable. Do not be lazy with image count.
131
+
132
+ If more images would improve text readability, typography extraction, spacing analysis, button analysis, card analysis, color extraction, component inspection, implementation fidelity, responsive understanding, or section clarity, then generate more images.
133
+
134
+ Strong rule:
135
+ - it is better to generate too many clear images than too few compressed images
136
+ - it is better to generate one clear image per section than one unreadable board for the whole site
137
+ - it is better to create an extra detail image than to guess details later
138
+
139
+ Never reduce image count just for convenience if that harms quality.
140
+
141
+ ---
142
+
143
+ ## 4. SECTION IMAGE RULE
144
+
145
+ Do not compress too many website sections into one single image if that would make the text, spacing, buttons, or layout details too small to analyze properly. Prefer separate large images per section.
146
+
147
+ Default rule:
148
+ - 1 section requested → generate 1 image
149
+ - 2 sections requested → generate 2 images
150
+ - 3 sections requested → generate 3 images
151
+ - and so on, one primary image per section when reasonable
152
+
153
+ This is preferred because text stays readable, typography becomes analyzable, spacing stays visible, button details stay visible, layout proportions stay visible, extraction quality improves, and implementation becomes more faithful.
154
+
155
+ Do not default to:
156
+ - one giant multi-column collage
157
+ - one long compressed board with tiny unreadable text
158
+ - one image containing many sections if that reduces extraction quality
159
+
160
+ If necessary, generate more images rather than shrinking everything. Prioritize section clarity and extraction accuracy.
161
+
162
+ ---
163
+
164
+ ## 5. DO NOT CROP OLD IMAGES RULE
165
+
166
+ When a section needs a dedicated image or a closer detail view, do not simply crop, cut out, zoom into, or slice it from a previously generated larger image.
167
+
168
+ Do not:
169
+ - crop a hero out of a full-page board
170
+ - crop a pricing area out of a larger composition
171
+ - crop tiny cards out of a multi-section image
172
+ - rely on rough cutouts from existing images
173
+ - use extracted image fragments as the main source for implementation if they distort spacing, proportions, or typography
174
+
175
+ Instead:
176
+ - generate a fresh new image for that section
177
+ - generate a fresh new detail image for that section
178
+ - keep the same design language, palette, typography mood, and component family
179
+ - make the new image specifically optimized for readability and extraction
180
+
181
+ Reason: cropped images often destroy spacing accuracy, type scale relationships, clean margins, layout proportions, button clarity, section balance, and overall implementation fidelity. Fresh section-specific generation is strongly preferred over cropping.
182
+
183
+ ---
184
+
185
+ ## 6. FRESH RE-GENERATION RULE
186
+
187
+ If a section or detail is not clear enough, generate it again as a new standalone image.
188
+
189
+ This standalone regeneration should preserve the same visual language as the original overall design: the same palette, typography mood, button style, radius logic, image treatment, and overall brand world.
190
+
191
+ But it should also make text larger and more readable, make spacing more visible, make buttons easier to inspect, make component structure easier to analyze, make layout proportions clearer, and make the section cleaner if the previous render was too busy.
192
+
193
+ This is not a different design. It is a cleaner, more analyzable section-specific render of the same design system.
194
+
195
+ ---
196
+
197
+ ## 7. OPTIONAL DETAIL / EXTRACTION IMAGE RULE
198
+
199
+ If a section image still does not expose the necessary detail clearly enough, generate an additional detail image for that same section.
200
+
201
+ Examples of useful secondary images:
202
+ - a closer hero render to read headline, subheadline, CTA, and typography
203
+ - a detail image for pricing cards
204
+ - a closer render for testimonials
205
+ - a closer render for navbar / header treatment
206
+ - a closer render for feature cards or UI panels
207
+ - a closer render for footer or CTA section
208
+ - a refined variation that makes the section more extractable
209
+ - an image focused mainly on typography and spacing instead of the full composition
210
+
211
+ These additional images exist to improve analysis and extraction quality. Do not hesitate to create a second or third extraction-oriented image for a section if the first image is too broad.
212
+
213
+ ---
214
+
215
+ ## 8. CLEAN ANALYSIS STANDARD
216
+
217
+ Analyze cleanly and systematically. Do not do vague vibe-only analysis. Do not jump too fast from image to code.
218
+
219
+ For every generated section image, inspect cleanly: what the section is, what the visual priority is, what text is readable, what typography relationships are visible, what spacing relationships are visible, what buttons and controls are visible, what card or block logic is visible, what colors dominate, what structural rhythm is visible, and what details are still unclear.
220
+
221
+ If something is unclear, generate another image before coding.
222
+
223
+ The analysis should feel calm, structured, exact, faithful, design-aware, and implementation-aware.
224
+
225
+ ---
226
+
227
+ ## 9. DEEP IMAGE ANALYSIS REQUIREMENT
228
+
229
+ Before implementing anything, deeply analyze the generated image(s). Do not just glance at them. Treat them like a design specification.
230
+
231
+ Carefully inspect and extract:
232
+ - exact visible text where readable (hero headline, subheadline, CTA wording, section titles)
233
+ - typography character, type scale relationships, font mood, line count, line wrapping, alignment logic
234
+ - section spacing, internal spacing, padding and gutters
235
+ - card dimensions and rhythm, border radius logic, stroke / divider usage
236
+ - button shapes, button hierarchy, button padding, hover-implied styling
237
+ - color palette, accent colors, background treatment, image treatment, icon treatment
238
+ - shadows / depth logic, grid logic, layout structure, section ordering, section density, visual rhythm
239
+ - repeated motifs that define the design language
240
+
241
+ Your goal is to understand exactly why the generated website looks strong. Only after this deep analysis should you implement the frontend.
242
+
243
+ For the design vocabulary you are extracting into (what counts as good type contrast, restrained palette, honest depth), see **stacks-design-taste**.
244
+
245
+ ---
246
+
247
+ ## 10. IMAGE-FIRST WORKFLOW
248
+
249
+ Default to an image-first workflow for website design tasks.
250
+
251
+ Preferred execution order:
252
+ 1. infer the section count
253
+ 2. generate section reference images first
254
+ 3. generate extra detail/extraction images where needed
255
+ 4. if needed, regenerate unclear sections as fresh standalone images
256
+ 5. deeply inspect all generated images
257
+ 6. extract text, typography, spacing, colors, layout, buttons, and component logic
258
+ 7. implement the website in Stacks to match the generated design as closely as reasonably possible
259
+ 8. only invent missing details when the images leave something ambiguous
260
+
261
+ For visually important frontend tasks, do not begin by freely designing in code. Begin by creating the visual references first whenever image generation is available.
262
+
263
+ The images are the primary art-direction source. The code is the implementation layer.
264
+
265
+ ---
266
+
267
+ ## 11. WHEN TO TRIGGER IMAGE GENERATION FIRST
268
+
269
+ If image generation is available, strongly prefer generating image references first when the request is mainly about visual frontend quality.
270
+
271
+ Trigger the image-first workflow when the user asks for a beautiful hero section, a premium landing page, a creative website, a redesign, a more modern website, a more aesthetic interface, a polished marketing page, a portfolio site, a startup site where visual taste matters heavily, a multi-section website concept, or anything described mainly in visual terms.
272
+
273
+ Direct-code first is more acceptable only when the task is mostly technical, the user wants a bug fix, the user already provides a precise design system, or the task is mainly structural rather than visual.
274
+
275
+ ---
276
+
277
+ ## 12. THE STACKS IMPLEMENTATION TARGET
278
+
279
+ This is the retargeted core of the skill. After analysis, you implement in Stacks, not React/Next. Every construct below is verified against the Stacks stack. Do not invent APIs.
280
+
281
+ ### 12.A Templating: stx (not JSX)
282
+
283
+ - A page/component is a `.stx` file with optional `<script>`, `<template>` (or bare markup), and `<style>` blocks.
284
+ - Pages/views live in `resources/views/*.stx`, components in `resources/components/*.stx`, layouts in `resources/layouts/*.stx`.
285
+ - Script types: `<script server>` (SSR only, stripped from client, safe for DB/secrets/data), `<script client>` (browser only), `<script>` (runs on server and ships to client). There is no `'use client'` / RSC split; use these script types instead.
286
+ - Props: `const { title = '' } = defineProps<Props>()`.
287
+ - Interpolation `{{ value }}`, filters `{{ price | currency }}`. Directives `@if / @foreach / @for / @layout / @section / @yield / @seo`. Vue-style bindings `:class`, `@click`, `x-if` also work.
288
+ - Auto-imported components: use `<Card />` directly, no import. Slots via `<slot />`.
289
+ - Style tokens: use CSS custom properties in the `<style>` block.
290
+
291
+ HARD BANS inside stx `<script>` blocks: never `var`, never `document.*`, never `window.*`. Use signals + composables + directives instead.
292
+
293
+ For full templating and directive mechanics, see **stacks-stx**.
294
+
295
+ ### 12.B Reactivity: stx signals (not React hooks)
296
+
297
+ Auto-available inside stx (no import):
298
+ - `state(initial)` → signal. Read `count()`, write `count.set(v)`, `count.update(n => n + 1)`.
299
+ - `derived(() => ...)` → computed signal.
300
+ - `effect(() => ...)` → reactive side-effect.
301
+ - Also: `computed`, `watch`, `useRef('name')`, `useToggle`, `useCounter`.
302
+
303
+ Translation: `useState` → `state`, `useMemo` → `derived`, `useEffect` → `effect`, `useRef` → `useRef`.
304
+
305
+ ### 12.C Styling: Crosswind (Tailwind-compatible)
306
+
307
+ Crosswind utility syntax is identical to Tailwind: `grid grid-cols-1 md:grid-cols-3 gap-6`, `min-h-[100dvh]`, `max-w-7xl mx-auto`, arbitrary values `text-[11px]`, state variants `hover: focus: active: disabled: group-hover:`, responsive `sm: md: lg: xl: 2xl:`. Use the HTML `class` attribute. Scoped CSS goes in the `.stx` `<style>` block. See **stacks-crosswind**.
308
+
309
+ ### 12.D Design-system foundation: Stacks UI (not Fluent/shadcn/Carbon)
310
+
311
+ One system per project = the Stacks stack. Do NOT tell the user to `npm install` Fluent, Carbon, Material, Radix, or shadcn into a Stacks app.
312
+
313
+ - **Stacks UI** (`@stacksjs/ui`): headless components (Combobox, Dialog/Modal, Menu, Tabs, Switch, RadioGroup, Popover, Disclosure, Transition) plus Craft native components (`craft-button`, `craft-text-input`, `craft-textarea`, `craft-checkbox`, `craft-select`, `craft-modal`).
314
+ - Style with Crosswind, icon with Iconify.
315
+
316
+ Keep the honesty principle: use the real official thing, do not hand-recreate tokens. In Stacks the real official thing is Stacks UI + Crosswind. Aesthetic directions (glassmorphism, bento, brutalism, editorial, aurora) are still built with native CSS + Crosswind. See **stacks-ui**.
317
+
318
+ ### 12.E Icons: Iconify `i-*` (not lucide/phosphor npm)
319
+
320
+ stx ships 200K+ Iconify icons as utility classes: `<i class="h-6 w-6 text-gray-500 i-hugeicons-book-open"></i>` or any collection `i-{collection}-{name}` (e.g. `i-ph-arrow-right`, `i-tabler-check`). Default collection is hugeicons. Keep one collection per project and standardize stroke weight. NEVER hand-roll SVG icon paths. NEVER `npm install lucide-react` or similar.
321
+
322
+ ### 12.F Fonts: config + `<link>` / `@font-face` (not next/font)
323
+
324
+ Font metadata lives in the Stacks `fonts` config (title/text per surface). Actual loading: self-host with `@font-face` + `font-display: swap`, or `<link rel="preconnect">` + stylesheet in the layout `.stx` `<head>`. There is no `next/font`. Never block render on a webfont; always `display: swap`. Font choices from stacks-design-taste (Geist, Satoshi, Cabinet Grotesk, serif discipline, the Inter-as-default ban) still apply; only the loading mechanism changes.
325
+
326
+ ### 12.G Images: `<img>` + asset pipeline (not next/image)
327
+
328
+ Use standard `<img>` with explicit `width`/`height` to reserve space and avoid CLS. stx has an asset pipeline with image optimization; heavy asset handling goes through `@stacksjs/storage`. Placeholder photography: `https://picsum.photos/seed/{descriptive-seed}/{w}/{h}`. Use real images, not div fake screenshots; use real SVG logos via Simple Icons / Iconify.
329
+
330
+ ### 12.H Dark mode
331
+
332
+ Crosswind `dark:` variant (`bg-white dark:bg-neutral-900`). Runtime toggle via `useColorMode()` / `useDark()`. Config in `config/ui.ts`.
333
+
334
+ ### 12.I Motion: CSS + composables (no GSAP / Motion / Framer)
335
+
336
+ Stacks ships no animation library. Do NOT import `motion/react`, `gsap`, or `framer-motion`. Translate motion as follows.
337
+
338
+ - **Transitions / hover / micro-interactions:** Crosswind `transition`, `duration-*`, `ease-*`, `hover:` / `active:` states, and CSS keyframes in `<style>`. Animate ONLY `transform` and `opacity`.
339
+ - **Scroll-reveal / enter-on-scroll:** composables `useIntersectionObserver(target, cb, opts)`, `useElementVisibility(target)`, `useLazyLoad`, `useInfiniteScroll`. Toggle a Crosswind class when visible. This replaces Motion `whileInView` and simple scroll triggers.
340
+ - **Scroll-driven / pinned / horizontal-pan:** prefer CSS scroll-driven animations (`animation-timeline: view()` / `scroll()`). Use `position: sticky` + `top: 0` for sticky-stack layouts. This replaces GSAP ScrollTrigger sticky-stack and horizontal-pan.
341
+ - **Pointer / magnetic / parallax:** `useMouse()`, mouse-in-element style tracking, and `useDeviceOrientation()` for parallax. Drive a CSS custom property (`el.style.setProperty('--x', ...)` inside an `effect`), never signal state per frame.
342
+ - **Reduced motion (mandatory when MOTION_INTENSITY > 3):** gate with CSS `@media (prefers-reduced-motion: reduce)` AND/OR `useMediaQuery('(prefers-reduced-motion: reduce)')`.
343
+ - **Sizing:** `useResizeObserver()`, `useWindow()`.
344
+
345
+ FORBIDDEN (hard bans): `window.addEventListener('scroll', ...)`, `requestAnimationFrame` loops that write signal state every frame for scroll, and `var` / `document.*` / `window.*` in stx scripts. Use `useEventListener`, composables, and CSS scroll-driven animations instead.
346
+
347
+ **Allowed composables (do not invent others):**
348
+ Reactive: `state` `derived` `effect` `computed` `watch` `useRef` `useToggle` `useCounter`.
349
+ UI/scroll/motion: `useIntersectionObserver` `useElementVisibility` `useLazyLoad` `useInfiniteScroll` `useMouse` `useDeviceOrientation` `useResizeObserver` `useWindow` `useMediaQuery` `useColorMode` `useDark` `useEventListener` `useKeyboard` `useClickOutside` `useFullscreen` `useIdle`.
350
+ Data/util: `useFetch` `useQuery` `useMutation` `useStorage`/`useLocalStorage`/`useSessionStorage` `useCookie` `useDebounce`/`useDebouncedValue` `useThrottle` `useInterval` `useTimeout` `useAsync` `useHead` `useSeoMeta` `useRoute`/`useRouter` `useWebSocket`/`useChannel`.
351
+
352
+ If the design needs something not in this list, use plain CSS or a standard DOM API inside `<script client>` (still no bare `window.*` / `document.*`; use `useEventListener` / composables), or defer to **stacks-composables**.
353
+
354
+ ### 12.J Signature component sketches, retargeted to stx
355
+
356
+ Build the matching stx components with Crosswind utilities. Reference patterns:
357
+
358
+ - **Pristine gapless bento grid:** `<div class="grid gap-px grid-cols-2 md:grid-cols-4 bg-neutral-200 dark:bg-neutral-800">` with cells `class="p-8 bg-white dark:bg-neutral-950"`. One framing move, no nested cards.
359
+ - **Sticky-stack cards:** each card `class="sticky top-0"` inside a tall container; offset with incremental `top` values via inline style or Crosswind arbitrary `top-[...]`. No GSAP pin.
360
+ - **Scroll-reveal float-up:** target starts `class="opacity-0 duration-700 ease-out transition translate-y-6"`; a `useIntersectionObserver` toggles `opacity-100 translate-y-0` when visible.
361
+ - **Horizontal-pan strip:** a track with `class="flex gap-8"` inside `overflow-x-auto`, or CSS scroll-driven `animation-timeline: scroll()` for auto-pan. No GSAP.
362
+ - **Magnetic button / parallax:** in an `effect`, read `useMouse()` and set `--x` / `--y` custom properties the CSS `transform` consumes. Never per-frame signal writes.
363
+ - **Glass panel:** `class="bg-white/60 dark:bg-neutral-900/50 border border-white/20 backdrop-blur-md"`. Use sparingly and with reason.
364
+
365
+ Do not leave any React/JSX/`motion`/`gsap`/`next` in the implementation.
366
+
367
+ ---
368
+
369
+ ## 13. WEBSITE REFERENCE RULE
370
+
371
+ Every generated website section image must clearly communicate layout, hierarchy, spacing, typography scale, CTA priority, component styling, image treatment, and overall design system. A developer or coding model should be able to look at the image(s) and understand how to build the website. Do not produce vague abstract artwork when the request is for frontend. Default to real section comps.
372
+
373
+ ---
374
+
375
+ ## 14. HERO MINIMALISM RULES
376
+
377
+ The hero must feel cinematic, clear, and intentional.
378
+
379
+ ### Absolute Hero Rules
380
+ - the hero must feel like a strong opening scene
381
+ - keep the hero composition very clean
382
+ - do not overcrowd the first viewport
383
+ - the main headline must feel short and powerful
384
+ - the hero headline should ideally stay within 1-3 lines
385
+ - do not allow long wrapped hero headlines
386
+ - if the headline starts becoming too long, reduce words instead of forcing more lines
387
+ - keep supporting text concise
388
+ - prioritize negative space and contrast
389
+ - avoid stuffing the hero with pills, fake stats, badges, tiny logos, and nonsense detail
390
+ - avoid extra micro-labels, control tags, system markers, or decorative utility text that does not meaningfully help the hero
391
+ - keep the first screen readable on a small laptop without feeling overfilled
392
+
393
+ ### Hero Cleanliness Rule
394
+ The hero should feel calm, premium, and immediately readable.
395
+
396
+ Do: use a strong single focal point, keep the hierarchy obvious, let the hero breathe, keep the visual system tight and controlled, make the first screen feel polished and deliberate, and keep visible content restrained enough that the hero still feels elegant on a smaller desktop viewport.
397
+
398
+ Do not: clutter the hero, create multiple competing focal points, overfill the hero with cards or micro-details, make the hero noisy or busy, or add unnecessary labels like "00 orchestration layer" if they do not add real value.
399
+
400
+ ### Headline Rule
401
+ Strong preference: 1 line if possible, 2 lines very good, 3 lines maximum in normal cases.
402
+ Avoid: 4+ line hero headlines, paragraph-like hero copy, weak headline-to-subheadline contrast.
403
+
404
+ ---
405
+
406
+ ## 15. RESPONSIVE FIRST-VIEW RULE
407
+
408
+ The first visible website screen must feel usable and clean on a small laptop.
409
+
410
+ Do not overload above the fold, do not force too many content blocks into the hero viewport, do not rely on giant nested panels that consume space without improving clarity, and make the first section feel intentionally composed, not overstuffed.
411
+
412
+ A smaller laptop should still see a clear headline, readable supporting text, clean spacing, a visible CTA, and a believable balanced visual focal point.
413
+
414
+ ---
415
+
416
+ ## 16. ANTI-NESTED-BOX RULE
417
+
418
+ Do not default to box-in-box-in-box layouts.
419
+
420
+ Avoid: giant rounded section containers wrapping everything, cards inside larger cards inside outer cards, dashboard-like compartment stacking for no reason, nested boxed UI that makes the layout feel trapped, and sections that are just one big bordered panel containing more bordered panels.
421
+
422
+ Use boxes only when they have a clear purpose. Prefer open layouts, clearer whitespace, fewer but stronger containers, flatter hierarchy where appropriate, direct alignment and spacing instead of excessive enclosure, and one primary framing move rather than many layered frames.
423
+
424
+ A section should not feel like a prison of containers. It should feel designed, open, and intentional.
425
+
426
+ ---
427
+
428
+ ## 17. REDUCE MICRO-UI CLUTTER RULE
429
+
430
+ Do not clutter the design with tiny UI extras that do not materially improve clarity.
431
+
432
+ Avoid: unnecessary pills, pseudo-system markers, fake control labels, decorative code-like tags, meaningless small metadata rows, filler chips, tiny badges everywhere, fake dashboard jargon, and overdesigned labels that distract from the main layout.
433
+
434
+ Examples to avoid unless truly necessary: "00 orchestration layer", tiny technical status pills, decorative runtime markers, overly specific pseudo-enterprise microcopy, and filler operator/control-room labels that exist only to look complex.
435
+
436
+ Prefer cleaner headings, fewer labels, real hierarchy, clearer spacing, simpler supporting text, and stronger typography instead of decorative clutter.
437
+
438
+ ---
439
+
440
+ ## 18. EXTRACTION RULES (text, typography, spacing, components, color)
441
+
442
+ **Text:** when text is readable, extract and use it (hero headline, subheadline, CTA labels, section headings, pricing labels, feature names, testimonial names/roles, navbar labels, footer labels). If text is too small to extract reliably, generate a closer extraction image or a second clearer version. Do not ignore text extraction; visible text is part of the design system.
443
+
444
+ **Typography:** do not only notice that typography looks nice. Extract size relationships, weight relationships, line count, line height feel, tracking feel, serif vs sans behavior, display vs body contrast, section heading rhythm, and CTA text scale. Use these findings during implementation. Do not flatten typography into a generic coded hierarchy.
445
+
446
+ **Spacing:** inspect distance between headline and subheadline, text and buttons, cards, section top/bottom spacing, side gutters, card padding, image-to-text distance, navbar spacing, and overall cadence across sections. The goal is faithful spacing logic, not pixel OCR. Do not collapse into generic tight spacing if the design is more generous.
447
+
448
+ **Buttons / components:** inspect button size, shape, radius, fill vs outline, icon usage, hover-implied mood, primary vs secondary hierarchy, card structure, badge usage, dividers, shadows, borders, pill logic, and input styling. If detail is too small, generate a closer image. Map extracted controls onto Craft native components (section 12.D) plus Crosswind styling.
449
+
450
+ **Color:** inspect background color, panel colors, accent colors, button fills, text color hierarchy, border color logic, shadow color mood, image tint/grade, and gradient restraint. Preserve the original color logic as closely as reasonably possible. Do not replace a carefully designed palette with generic default web colors; encode it as CSS custom properties / Crosswind theme tokens.
451
+
452
+ ---
453
+
454
+ ## 19. DESIGN-TO-CODE COPY DISCIPLINE
455
+
456
+ After generating and analyzing the reference image(s), implement the website in a copy-oriented way: follow the references closely and preserve layout logic, spacing rhythm, section ordering, text/image balance, typography mood, component style, and overall visual cleanliness.
457
+
458
+ Do not drift into a different design direction during implementation. Do not "improve" the design by replacing it with a generic coded layout.
459
+
460
+ The goal is not "inspired by the image". The goal is "visually faithful to the image, translated into real Stacks frontend".
461
+
462
+ ---
463
+
464
+ ## 20. ANTI-DRIFT IMPLEMENTATION RULE
465
+
466
+ A common failure mode is design drift: the generated images look strong, but the coded result becomes generic. Strictly avoid that.
467
+
468
+ During implementation: do not simplify into default templates, do not replace distinctive sections with generic rows, do not compress generous spacing into dense layout, do not replace strong typography with plain hierarchy, do not remove the page's visual identity for convenience, do not merge section logic into repetitive patterns not present in the source images, and do not reintroduce nested-box complexity that was intentionally removed during analysis.
469
+
470
+ The final coded result should still feel like the same website as the generated references.
471
+
472
+ ---
473
+
474
+ ## 21. MISSING DETAIL RESOLUTION
475
+
476
+ When implementing from images, some details may still be unclear. Resolve ambiguity in this order:
477
+ 1. preserve the visible design language
478
+ 2. preserve layout and spacing logic
479
+ 3. preserve component family
480
+ 4. preserve mood and polish level
481
+ 5. generate an extra detail image if needed
482
+ 6. regenerate the section as a fresh standalone image if needed
483
+ 7. only then choose the most implementation-friendly faithful version
484
+
485
+ Do not fill ambiguity with generic defaults too quickly.
486
+
487
+ ---
488
+
489
+ ## 22. ANTI-AI-SLOP RULES
490
+
491
+ Strictly avoid these patterns unless explicitly requested. For the full anti-slop doctrine, defer to **stacks-design-taste**; the essentials:
492
+
493
+ ### Layout slop
494
+ one giant unreadable collage, endless centered sections, identical card rows repeated section after section, cloned left-text/right-image blocks, fake complexity without hierarchy, decorative empty space with no purpose, cards-inside-cards-inside-cards, giant rounded wrapper sections around everything, overcompartmentalized dashboard framing.
495
+
496
+ ### Visual slop
497
+ default purple/blue AI gradients, too many glowing edges, floating blobs everywhere, glassmorphism stacked without reason, random futuristic details with no structure, over-rendered noise that hides the layout.
498
+
499
+ ### Typography slop
500
+ giant heading + weak tiny subcopy, too many font moods, awkward line breaks, lazy all-caps everywhere, generic gradient headline tricks.
501
+
502
+ ### Content slop
503
+ Avoid generic filler vibes: unleash, elevate, revolutionize, next-gen, seamless, transformative platform. Avoid fake brand slop: Acme, Nexus, Flowbit, Quantumly, NovaCore. Avoid fake complexity slop: pseudo-enterprise control labels, decorative system markers, filler status microcopy, fake operator/runtime/orchestration jargon unless truly central to the brand.
504
+
505
+ ### Density slop
506
+ over-packed sections, card overload, tiny spacing between major sections, visually exhausting walls of content.
507
+
508
+ ---
509
+
510
+ ## 23. SECTION RHYTHM AND SPACING DISCIPLINE
511
+
512
+ A high-end site does not feel like the same block repeated forever. Vary section rhythm across the page by changing density, image-to-text ratio, alignment, scale, whitespace, card grouping, background intensity, and visual tempo. But keep the page coherent, keep spacing controlled, avoid random jumps, and keep each section clean enough to analyze well.
513
+
514
+ Do not make the website too dense. The page should breathe. Use even section spacing, keep major section gaps controlled and intentional, allow negative space to create calmness, avoid one section feeling cramped while the next feels empty, prefer analyzable generous spacing over compressed compositions, and let simplicity do part of the design work.
515
+
516
+ A premium website should feel open, composed, balanced, confident, and breathable. Not cramped, noisy, uneven, overfilled, or visually exhausting.
517
+
518
+ ---
519
+
520
+ ## 24. DEFAULT SECTION PACKS
521
+
522
+ ### 4-section pack
523
+ 1. Hero
524
+ 2. Features
525
+ 3. Social proof / testimonial
526
+ 4. CTA
527
+
528
+ ### 8-section pack
529
+ 1. Hero
530
+ 2. Trust bar
531
+ 3. Features
532
+ 4. Product showcase
533
+ 5. Benefits / use cases
534
+ 6. Testimonials
535
+ 7. Pricing
536
+ 8. CTA
537
+
538
+ ### 12-section pack
539
+ 1. Hero
540
+ 2. Trust bar
541
+ 3. Feature grid
542
+ 4. Product preview
543
+ 5. Problem / solution
544
+ 6. Benefits
545
+ 7. Workflow
546
+ 8. Metrics / proof / integration
547
+ 9. Testimonials
548
+ 10. Pricing
549
+ 11. FAQ
550
+ 12. CTA + footer
551
+
552
+ These should usually become section-by-section images, not one compressed sheet.
553
+
554
+ ---
555
+
556
+ ## 25. MULTI-IMAGE CONSISTENCY RULE
557
+
558
+ For multi-image websites, enforce the same brand world, type scale logic, spacing discipline, CTA styling, icon mood, image treatment, tonal language, and component family. Image 2, 3, or 8 must not drift into a different website.
559
+
560
+ ---
561
+
562
+ ## 26. FINAL PRE-FLIGHT CHECK
563
+
564
+ Before finalizing, verify internally. These are binding gates, not suggestions.
565
+
566
+ 1. Has the design been generated first?
567
+ 2. Have all generated images been deeply analyzed?
568
+ 3. Is the text readable enough? If not, were extra detail images created?
569
+ 4. Were enough images generated, or was the image count too lazy?
570
+ 5. Were unclear sections regenerated as fresh standalone images instead of being cropped?
571
+ 6. Is the hierarchy obvious?
572
+ 7. Is the hero clean enough, with a headline of 1-3 lines?
573
+ 8. Is typography analyzed properly, not flattened to a generic hierarchy?
574
+ 9. Are spacing relationships understood and preserved (not collapsed to generic tight spacing)?
575
+ 10. Are buttons and components extracted and mapped onto Craft/Crosswind, not guessed?
576
+ 11. Are colors analyzed and encoded as tokens, not replaced with default web colors?
577
+ 12. Is the design visually distinctive and free of obvious AI tells?
578
+ 13. Can someone code from the references faithfully, and does the coded result still feel like the same website?
579
+ 14. If multiple images exist, do they clearly belong together?
580
+ 15. Was section compression avoided (no many-sections-in-one tiny image)?
581
+ 16. Has unnecessary nested boxing been removed?
582
+ 17. Is the first screen clean and readable on a small laptop?
583
+ 18. Have useless pills, labels, and fake technical micro-elements been reduced?
584
+ 19. Is the implementation pure stx + Crosswind + composables + CSS, with NO JSX, `motion`, `gsap`, `next/*`, `lucide`/`phosphor` npm, hand-rolled SVG icons, `var`, `document.*`, or `window.*`?
585
+ 20. Are icons Iconify `i-*` classes (hugeicons default), one collection per project?
586
+ 21. Is motion CSS + allowed composables only, with reduced-motion gated when MOTION_INTENSITY > 3, and no `window` scroll listeners or rAF-into-state loops?
587
+ 22. Is dark mode `dark:` + `useColorMode()`/`useDark()`, images `<img>` + asset pipeline, fonts config + `<link>`/`@font-face` with `display: swap`?
588
+ 23. Are only composables from section 12.I's allowed list used (else plain CSS / standard DOM API / defer to stacks-composables)?
589
+
590
+ If any gate fails, refine internally before output.
591
+
592
+ ---
593
+
594
+ ## 27. RESPONSE BEHAVIOR
595
+
596
+ When the user asks for a website design in an image-to-code workflow:
597
+ 1. infer site type and number of sections
598
+ 2. if image generation is available and visual quality is central, generate the design image(s) first
599
+ 3. prefer one large image per section
600
+ 4. generate additional detail/extraction images if text or components are too small
601
+ 5. generate more images whenever that improves readability or extraction quality; do not be lazy with image count
602
+ 6. do not crop old images for section extraction; regenerate sections as fresh standalone images when needed
603
+ 7. choose a strong visual direction and commit to it (defer to stacks-design-taste for the direction vocabulary)
604
+ 8. enforce hero cleanliness and short hero line count
605
+ 9. reduce unnecessary pills, labels, and micro-UI clutter
606
+ 10. avoid cards-inside-cards-inside-cards and giant boxed section wrappers
607
+ 11. keep the first screen readable and balanced on a small laptop
608
+ 12. enforce strong, systematic image usage where appropriate
609
+ 13. keep spacing generous, even, and analyzable
610
+ 14. deeply and cleanly analyze all generated images
611
+ 15. extract text, typography, spacing, buttons, colors, components, and layout logic
612
+ 16. implement the website in stx + Crosswind + composables + CSS to match the references as closely as reasonably possible
613
+ 17. create the final `.stx` files only after the full analysis pass
614
+
615
+ Do not ask unnecessary follow-up questions if a strong interpretation is possible. Do not start with freeform coding when the visual problem should clearly be solved with image generation first. Do not compress many sections into one unreadable image. Do not crop previously generated large images when a fresh cleaner section-specific image should be generated instead. Do not leave any React/JSX/`motion`/`gsap`/`next` in the implementation.
616
+
617
+ ---
618
+
619
+ ## 28. FINAL GOAL
620
+
621
+ Generate website reference images that feel premium, art-directed, clear, structured, readable, analyzable, memorable, anti-generic, and implementation-friendly.
622
+
623
+ For visual website work, first generate the image(s), then deeply and cleanly analyze them, then use them as the primary visual source, then build the frontend in stx + Crosswind + composables to match them closely.
624
+
625
+ If the user wants multiple sections, prefer separate large section images instead of one compressed multi-section board. If a section needs more clarity, generate an additional extraction-oriented image. If more images would improve quality, generate more; do not be lazy with image count. Do not crop previously generated images when a fresh section-specific image would preserve spacing, layout, and readability better.
626
+
627
+ Avoid cards-inside-cards-inside-cards. Avoid giant boxed wrappers around every section. Avoid fake technical pills and decorative micro-labels. Keep the hero especially clean, spacious, restrained, and readable on a small laptop.
628
+
629
+ The result should be strong as section images, strong as a design system, strong under deep analysis, and strong as implemented Stacks frontend: a top-tier website concept translated faithfully into real stx + Crosswind code, not a tiny unreadable design board and not a generic coded reinterpretation.