@stacksjs/defaults 0.70.206 → 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.
- package/TODO.md +21 -0
- package/ai/AGENTS.md +79 -0
- package/ai/README.md +45 -0
- package/ai/claude/launch.json +12 -0
- package/ai/skills/stacks-actions/SKILL.md +128 -0
- package/ai/skills/stacks-ai/SKILL.md +276 -0
- package/ai/skills/stacks-alias/SKILL.md +94 -0
- package/ai/skills/stacks-analytics/SKILL.md +91 -0
- package/ai/skills/stacks-api/SKILL.md +738 -0
- package/ai/skills/stacks-arrays/SKILL.md +277 -0
- package/ai/skills/stacks-auth/SKILL.md +422 -0
- package/ai/skills/stacks-auto-imports/SKILL.md +138 -0
- package/ai/skills/stacks-brandkit/SKILL.md +811 -0
- package/ai/skills/stacks-browse/SKILL.md +127 -0
- package/ai/skills/stacks-browse/scripts/browse.ts +492 -0
- package/ai/skills/stacks-browser/SKILL.md +145 -0
- package/ai/skills/stacks-buddy/SKILL.md +676 -0
- package/ai/skills/stacks-build/SKILL.md +163 -0
- package/ai/skills/stacks-cache/SKILL.md +125 -0
- package/ai/skills/stacks-calendar/SKILL.md +113 -0
- package/ai/skills/stacks-chat/SKILL.md +371 -0
- package/ai/skills/stacks-cli/SKILL.md +112 -0
- package/ai/skills/stacks-cloud/SKILL.md +192 -0
- package/ai/skills/stacks-cms/SKILL.md +217 -0
- package/ai/skills/stacks-collections/SKILL.md +82 -0
- package/ai/skills/stacks-commerce/SKILL.md +114 -0
- package/ai/skills/stacks-composables/SKILL.md +161 -0
- package/ai/skills/stacks-config/SKILL.md +144 -0
- package/ai/skills/stacks-configuration/SKILL.md +154 -0
- package/ai/skills/stacks-cron/SKILL.md +123 -0
- package/ai/skills/stacks-crosswind/SKILL.md +190 -0
- package/ai/skills/stacks-dashboard/SKILL.md +173 -0
- package/ai/skills/stacks-database/SKILL.md +286 -0
- package/ai/skills/stacks-datetime/SKILL.md +269 -0
- package/ai/skills/stacks-dependencies/SKILL.md +111 -0
- package/ai/skills/stacks-deploy/SKILL.md +102 -0
- package/ai/skills/stacks-design-brutalist/SKILL.md +110 -0
- package/ai/skills/stacks-design-minimalist/SKILL.md +115 -0
- package/ai/skills/stacks-design-output/SKILL.md +55 -0
- package/ai/skills/stacks-design-soft/SKILL.md +156 -0
- package/ai/skills/stacks-design-taste/SKILL.md +1012 -0
- package/ai/skills/stacks-design-taste-codex/SKILL.md +294 -0
- package/ai/skills/stacks-desktop/SKILL.md +78 -0
- package/ai/skills/stacks-development/SKILL.md +298 -0
- package/ai/skills/stacks-dns/SKILL.md +149 -0
- package/ai/skills/stacks-docs/SKILL.md +109 -0
- package/ai/skills/stacks-email/SKILL.md +236 -0
- package/ai/skills/stacks-enums/SKILL.md +100 -0
- package/ai/skills/stacks-env/SKILL.md +181 -0
- package/ai/skills/stacks-error-handling/SKILL.md +137 -0
- package/ai/skills/stacks-events/SKILL.md +228 -0
- package/ai/skills/stacks-faker/SKILL.md +158 -0
- package/ai/skills/stacks-git/SKILL.md +158 -0
- package/ai/skills/stacks-guard/SKILL.md +98 -0
- package/ai/skills/stacks-health/SKILL.md +75 -0
- package/ai/skills/stacks-http/SKILL.md +316 -0
- package/ai/skills/stacks-i18n/SKILL.md +198 -0
- package/ai/skills/stacks-image-to-code/SKILL.md +629 -0
- package/ai/skills/stacks-imagegen-mobile/SKILL.md +1474 -0
- package/ai/skills/stacks-imagegen-web/SKILL.md +998 -0
- package/ai/skills/stacks-investigate/SKILL.md +119 -0
- package/ai/skills/stacks-jobs/SKILL.md +136 -0
- package/ai/skills/stacks-lint/SKILL.md +184 -0
- package/ai/skills/stacks-listeners/SKILL.md +99 -0
- package/ai/skills/stacks-logging/SKILL.md +78 -0
- package/ai/skills/stacks-mail/SKILL.md +120 -0
- package/ai/skills/stacks-middleware/SKILL.md +249 -0
- package/ai/skills/stacks-migrations/SKILL.md +105 -0
- package/ai/skills/stacks-models/SKILL.md +267 -0
- package/ai/skills/stacks-new-feature/SKILL.md +206 -0
- package/ai/skills/stacks-notifications/SKILL.md +210 -0
- package/ai/skills/stacks-objects/SKILL.md +205 -0
- package/ai/skills/stacks-office-hours/SKILL.md +134 -0
- package/ai/skills/stacks-orm/SKILL.md +342 -0
- package/ai/skills/stacks-path/SKILL.md +118 -0
- package/ai/skills/stacks-payments/SKILL.md +373 -0
- package/ai/skills/stacks-plan-review/SKILL.md +152 -0
- package/ai/skills/stacks-plugins/SKILL.md +149 -0
- package/ai/skills/stacks-push/SKILL.md +376 -0
- package/ai/skills/stacks-query-builder/SKILL.md +128 -0
- package/ai/skills/stacks-queue/SKILL.md +559 -0
- package/ai/skills/stacks-realtime/SKILL.md +442 -0
- package/ai/skills/stacks-redesign/SKILL.md +182 -0
- package/ai/skills/stacks-registry/SKILL.md +58 -0
- package/ai/skills/stacks-repl/SKILL.md +80 -0
- package/ai/skills/stacks-retro/SKILL.md +122 -0
- package/ai/skills/stacks-review/SKILL.md +135 -0
- package/ai/skills/stacks-router/SKILL.md +231 -0
- package/ai/skills/stacks-routes/SKILL.md +105 -0
- package/ai/skills/stacks-scaffolding/SKILL.md +162 -0
- package/ai/skills/stacks-scheduler/SKILL.md +363 -0
- package/ai/skills/stacks-search-engine/SKILL.md +112 -0
- package/ai/skills/stacks-security/SKILL.md +129 -0
- package/ai/skills/stacks-security-audit/SKILL.md +128 -0
- package/ai/skills/stacks-server/SKILL.md +458 -0
- package/ai/skills/stacks-shell/SKILL.md +62 -0
- package/ai/skills/stacks-slug/SKILL.md +87 -0
- package/ai/skills/stacks-sms/SKILL.md +385 -0
- package/ai/skills/stacks-socials/SKILL.md +303 -0
- package/ai/skills/stacks-storage/SKILL.md +576 -0
- package/ai/skills/stacks-strings/SKILL.md +416 -0
- package/ai/skills/stacks-stx/SKILL.md +176 -0
- package/ai/skills/stacks-technical-diagrams/LICENSE +22 -0
- package/ai/skills/stacks-technical-diagrams/SKILL.md +290 -0
- package/ai/skills/stacks-technical-diagrams/agents/openai.yaml +4 -0
- package/ai/skills/stacks-technical-diagrams/assets/template.html +1252 -0
- package/ai/skills/stacks-technical-diagrams/bin/technical-diagrams.mjs +289 -0
- package/ai/skills/stacks-technical-diagrams/bunfig.toml +1 -0
- package/ai/skills/stacks-technical-diagrams/examples/agent-run.lifecycle.json +64 -0
- package/ai/skills/stacks-technical-diagrams/examples/agent-tool-call.workflow.json +88 -0
- package/ai/skills/stacks-technical-diagrams/examples/cache-miss-request.sequence.json +75 -0
- package/ai/skills/stacks-technical-diagrams/examples/product-analytics.dataflow.json +70 -0
- package/ai/skills/stacks-technical-diagrams/examples/web-app.architecture.json +41 -0
- package/ai/skills/stacks-technical-diagrams/renderers/architecture/grid.mjs +62 -0
- package/ai/skills/stacks-technical-diagrams/renderers/architecture/render-architecture.mjs +371 -0
- package/ai/skills/stacks-technical-diagrams/renderers/dataflow/README.md +82 -0
- package/ai/skills/stacks-technical-diagrams/renderers/dataflow/render-dataflow.mjs +295 -0
- package/ai/skills/stacks-technical-diagrams/renderers/lifecycle/README.md +91 -0
- package/ai/skills/stacks-technical-diagrams/renderers/lifecycle/render-lifecycle.mjs +384 -0
- package/ai/skills/stacks-technical-diagrams/renderers/sequence/README.md +84 -0
- package/ai/skills/stacks-technical-diagrams/renderers/sequence/render-sequence.mjs +257 -0
- package/ai/skills/stacks-technical-diagrams/renderers/shared/cli.mjs +42 -0
- package/ai/skills/stacks-technical-diagrams/renderers/shared/generated-validators.mjs +13 -0
- package/ai/skills/stacks-technical-diagrams/renderers/shared/geometry.mjs +230 -0
- package/ai/skills/stacks-technical-diagrams/renderers/shared/layout-report.mjs +40 -0
- package/ai/skills/stacks-technical-diagrams/renderers/shared/utils.mjs +88 -0
- package/ai/skills/stacks-technical-diagrams/renderers/shared/validator.mjs +40 -0
- package/ai/skills/stacks-technical-diagrams/renderers/workflow/README.md +103 -0
- package/ai/skills/stacks-technical-diagrams/renderers/workflow/render-workflow.mjs +481 -0
- package/ai/skills/stacks-technical-diagrams/schemas/README.md +68 -0
- package/ai/skills/stacks-technical-diagrams/schemas/architecture.schema.json +121 -0
- package/ai/skills/stacks-technical-diagrams/schemas/common.schema.json +43 -0
- package/ai/skills/stacks-technical-diagrams/schemas/dataflow.schema.json +221 -0
- package/ai/skills/stacks-technical-diagrams/schemas/lifecycle.schema.json +241 -0
- package/ai/skills/stacks-technical-diagrams/schemas/sequence.schema.json +186 -0
- package/ai/skills/stacks-technical-diagrams/schemas/workflow.schema.json +332 -0
- package/ai/skills/stacks-technical-diagrams/scripts/check-render-output.mjs +297 -0
- package/ai/skills/stacks-technical-diagrams/scripts/render-examples.mjs +28 -0
- package/ai/skills/stacks-testing/SKILL.md +129 -0
- package/ai/skills/stacks-tunnel/SKILL.md +125 -0
- package/ai/skills/stacks-types/SKILL.md +178 -0
- package/ai/skills/stacks-ui/SKILL.md +246 -0
- package/ai/skills/stacks-utils/SKILL.md +444 -0
- package/ai/skills/stacks-validation/SKILL.md +371 -0
- package/ai/skills/stacks-whois/SKILL.md +315 -0
- package/assets/world-map-data.ts +121 -0
- package/bootstrap.ts +114 -0
- package/docs/api-examples.md +46 -0
- package/docs/index.md +24 -0
- package/docs/markdown-examples.md +87 -0
- package/functions/analytics.ts +97 -0
- package/functions/api.ts +143 -0
- package/functions/auth.ts +208 -0
- package/functions/billing/payments.ts +149 -0
- package/functions/blog.ts +120 -0
- package/functions/cms/categorizables.ts +107 -0
- package/functions/cms/pages.ts +108 -0
- package/functions/cms/posts.ts +100 -0
- package/functions/cms/taggables.ts +102 -0
- package/functions/commerce/coupons.ts +128 -0
- package/functions/commerce/customers.ts +128 -0
- package/functions/commerce/gift-cards.ts +119 -0
- package/functions/commerce/orders.ts +112 -0
- package/functions/commerce/payments.ts +119 -0
- package/functions/commerce/products/categories.ts +123 -0
- package/functions/commerce/products/manufacturers.ts +123 -0
- package/functions/commerce/products/products.ts +123 -0
- package/functions/commerce/products/reviews.ts +123 -0
- package/functions/commerce/products/units.ts +123 -0
- package/functions/commerce/products/variants.ts +123 -0
- package/functions/commerce/shippings/delivery-routes.ts +123 -0
- package/functions/commerce/shippings/digital-deliveries.ts +119 -0
- package/functions/commerce/shippings/drivers.ts +123 -0
- package/functions/commerce/shippings/license-keys.ts +123 -0
- package/functions/commerce/shippings/shipping-methods.ts +123 -0
- package/functions/commerce/shippings/shipping-rates.ts +119 -0
- package/functions/commerce/shippings/shipping-zones.ts +119 -0
- package/functions/commerce/taxes.ts +119 -0
- package/functions/commerce/waitlist/products.ts +123 -0
- package/functions/commerce/waitlist/restaurants.ts +123 -0
- package/functions/craft.ts +107 -0
- package/functions/dashboard.ts +153 -0
- package/functions/inbox.ts +95 -0
- package/functions/jobs.ts +86 -0
- package/functions/monitoring/errors.ts +295 -0
- package/functions/queue.ts +111 -0
- package/functions/realtime/websockets.ts +96 -0
- package/functions/realtime.ts +52 -0
- package/functions/releases.ts +49 -0
- package/functions/search.ts +126 -0
- package/functions/toasts.ts +95 -0
- package/functions/uploads.ts +216 -0
- package/ide/.gitignore +4 -0
- package/ide/cursor/rules/auto-imports.mdc +574 -0
- package/ide/cursor/rules/code-style.mdc +12 -0
- package/ide/cursor/rules/documentation.mdc +9 -0
- package/ide/cursor/rules/error-handling-validation.mdc +11 -0
- package/ide/cursor/rules/key-conventions.mdc +11 -0
- package/ide/cursor/rules/project-structure.mdc +169 -0
- package/ide/cursor/rules/readme.mdc +318 -0
- package/ide/cursor/rules/syntax-formatting.mdc +9 -0
- package/ide/cursor/rules/testing.mdc +10 -0
- package/ide/cursor/rules/typescript.mdc +9 -0
- package/ide/cursor/rules/ui-styling.mdc +0 -0
- package/ide/dictionary.txt +397 -0
- package/ide/jetbrains/.fleet/settings.json +4 -0
- package/ide/jetbrains/.idea/.gitignore +5 -0
- package/ide/jetbrains/.idea/.name +1 -0
- package/ide/jetbrains/.idea/inspectionProfiles/Project_Default.xml +6 -0
- package/ide/jetbrains/.idea/jsLinters/eslint.xml +7 -0
- package/ide/jetbrains/.idea/modules.xml +8 -0
- package/ide/jetbrains/.idea/stacks.iml +22 -0
- package/ide/jetbrains/.idea/vcs.xml +6 -0
- package/ide/jetbrains/.idea/webResources.xml +14 -0
- package/ide/jetbrains/IntelliJ IDEA Global Settings +0 -0
- package/ide/jetbrains/installed.txt +4 -0
- package/ide/jetbrains/options/github-copilot.xml +5 -0
- package/ide/jetbrains/options/nodejs.xml +7 -0
- package/ide/jetbrains/options/templates.xml +124 -0
- package/ide/jetbrains/templates/JavaScript.xml +6 -0
- package/ide/jetbrains/templates/Stacks.xml +8 -0
- package/ide/vscode/.vscode/README.md +23 -0
- package/ide/vscode/.vscode/extensions.json +5 -0
- package/ide/vscode/.vscode/settings.json +176 -0
- package/ide/vscode/.vscode/stacks.code-snippets +181 -0
- package/ide/vscode/LICENSE.md +21 -0
- package/ide/vscode/README.md +36 -0
- package/ide/vscode/logo.png +0 -0
- package/ide/vscode/package.json +79 -0
- package/ide/zed/.zed/settings.json +139 -0
- package/lang/README.md +28 -0
- package/lang/de.yml +14 -0
- package/lang/en.yml +15 -0
- package/package.json +19 -3
- package/project/bootstrap +161 -0
- package/project/buddy +175 -0
- package/project/storage/framework/tsconfig.app.json +50 -0
- package/project/storage/framework/tsconfig.base.json +58 -0
- package/routes/core.ts +78 -0
- package/routes/dashboard-api.ts +233 -0
- package/routes/dashboard.ts +739 -0
- package/routes/email.ts +129 -0
- package/stores/[name].stx +16 -0
- package/stores/git.ts +71 -0
- package/stores/payment.ts +474 -0
- package/stores/queue.ts +43 -0
- package/stores/user.ts +29 -0
- package/stx-components-plugin.ts +25 -0
- package/styles/design-tokens.css +597 -0
- package/types/dashboard.ts +70 -0
- package/types/defaults.ts +438 -0
- package/vcs/github/CODE_OF_CONDUCT.md +83 -0
- package/vcs/github/CONTRIBUTING.md +187 -0
- package/vcs/github/EXPLANATIONS.md +41 -0
- package/vcs/github/FUNDING.yml +1 -0
- package/vcs/github/ISSUE_TEMPLATE/bug_report.yml +49 -0
- package/vcs/github/ISSUE_TEMPLATE/config.yml +10 -0
- package/vcs/github/ISSUE_TEMPLATE/feature_request.yml +44 -0
- package/vcs/github/SECURITY.md +70 -0
- package/vcs/github/renovate.json +5 -0
- package/vcs/github/stale.yml +14 -0
- package/vcs/github/workflows/README.md +16 -0
- package/vcs/github/workflows/ci.yml +114 -0
- package/vcs/github/workflows/export-size.yml +25 -0
- package/vcs/github/workflows/labeler.yml +13 -0
- package/vcs/github/workflows/release.yml +219 -0
- package/views/[...all].stx +8 -0
- package/views/about.md +3 -0
- package/views/auth/login.stx +1 -0
- package/views/auth/signup.stx +85 -0
- package/views/dashboard/.discovered-models.json +542 -0
- package/views/dashboard/AUDIT.md +904 -0
- package/views/dashboard/[...all].stx +89 -0
- package/views/dashboard/access-tokens/index.stx +177 -0
- package/views/dashboard/actions/index.stx +129 -0
- package/views/dashboard/analytics/blog/index.stx +356 -0
- package/views/dashboard/analytics/browsers/index.stx +263 -0
- package/views/dashboard/analytics/commerce/sales/index.stx +329 -0
- package/views/dashboard/analytics/commerce/web/index.stx +379 -0
- package/views/dashboard/analytics/countries/index.stx +289 -0
- package/views/dashboard/analytics/devices/index.stx +305 -0
- package/views/dashboard/analytics/events/index.stx +536 -0
- package/views/dashboard/analytics/index.stx +88 -0
- package/views/dashboard/analytics/marketing/index.stx +315 -0
- package/views/dashboard/analytics/pages/index.stx +271 -0
- package/views/dashboard/analytics/referrers/index.stx +319 -0
- package/views/dashboard/analytics/web/index.stx +356 -0
- package/views/dashboard/buddy/index.stx +198 -0
- package/views/dashboard/ci/index.stx +462 -0
- package/views/dashboard/cloud/index.stx +452 -0
- package/views/dashboard/commands/index.stx +295 -0
- package/views/dashboard/commerce/categories/index.stx +406 -0
- package/views/dashboard/commerce/coupons/index.stx +485 -0
- package/views/dashboard/commerce/customers/index.stx +410 -0
- package/views/dashboard/commerce/dashboard/index.stx +287 -0
- package/views/dashboard/commerce/delivery/delivery-routes.stx +305 -0
- package/views/dashboard/commerce/delivery/digital-delivery.stx +332 -0
- package/views/dashboard/commerce/delivery/drivers.stx +397 -0
- package/views/dashboard/commerce/delivery/index.stx +18 -0
- package/views/dashboard/commerce/delivery/license-keys.stx +380 -0
- package/views/dashboard/commerce/delivery/shipping-methods.stx +346 -0
- package/views/dashboard/commerce/delivery/shipping-rates.stx +338 -0
- package/views/dashboard/commerce/delivery/shipping-zones.stx +302 -0
- package/views/dashboard/commerce/delivery/tabs.ts +25 -0
- package/views/dashboard/commerce/gift-cards/index.stx +561 -0
- package/views/dashboard/commerce/manufacturers/index.stx +308 -0
- package/views/dashboard/commerce/orders/index.stx +247 -0
- package/views/dashboard/commerce/payments/index.stx +535 -0
- package/views/dashboard/commerce/pos/index.stx +653 -0
- package/views/dashboard/commerce/printers/devices/index.stx +273 -0
- package/views/dashboard/commerce/printers/receipts/index.stx +308 -0
- package/views/dashboard/commerce/products/detail.stx +563 -0
- package/views/dashboard/commerce/products/index.stx +370 -0
- package/views/dashboard/commerce/reviews/index.stx +656 -0
- package/views/dashboard/commerce/reviews/index.ts +0 -0
- package/views/dashboard/commerce/taxes/index.stx +377 -0
- package/views/dashboard/commerce/units/index.stx +317 -0
- package/views/dashboard/commerce/variants/index.stx +319 -0
- package/views/dashboard/commerce/waitlist/products.stx +942 -0
- package/views/dashboard/commerce/waitlist/restaurant.stx +1024 -0
- package/views/dashboard/components/index.stx +330 -0
- package/views/dashboard/composables/index.ts +19 -0
- package/views/dashboard/composables/useChart.ts +77 -0
- package/views/dashboard/composables/useNavigation.ts +99 -0
- package/views/dashboard/composables/useRole.ts +58 -0
- package/views/dashboard/composables/useTheme.ts +74 -0
- package/views/dashboard/content/authors/index.stx +171 -0
- package/views/dashboard/content/blog/index.stx +493 -0
- package/views/dashboard/content/categories/index.stx +169 -0
- package/views/dashboard/content/comments/index.stx +189 -0
- package/views/dashboard/content/dashboard.stx +383 -0
- package/views/dashboard/content/files/index.stx +706 -0
- package/views/dashboard/content/pages/index.stx +174 -0
- package/views/dashboard/content/posts/index.stx +269 -0
- package/views/dashboard/content/seo/index.stx +240 -0
- package/views/dashboard/content/tags/index.stx +167 -0
- package/views/dashboard/data/activity/index.stx +261 -0
- package/views/dashboard/data/dashboard/index.stx +116 -0
- package/views/dashboard/data/subscribers.stx +270 -0
- package/views/dashboard/data/teams.stx +275 -0
- package/views/dashboard/data/users.stx +279 -0
- package/views/dashboard/dependencies/index.stx +178 -0
- package/views/dashboard/deployments/[id].stx +234 -0
- package/views/dashboard/deployments/index.stx +9 -0
- package/views/dashboard/dns/index.stx +163 -0
- package/views/dashboard/environment/index.stx +283 -0
- package/views/dashboard/errors/index.stx +274 -0
- package/views/dashboard/forgot-password.stx +57 -0
- package/views/dashboard/functions/index.stx +159 -0
- package/views/dashboard/health/index.stx +248 -0
- package/views/dashboard/inbox/activity.stx +350 -0
- package/views/dashboard/inbox/index.stx +452 -0
- package/views/dashboard/inbox/settings.stx +290 -0
- package/views/dashboard/index.stx +252 -0
- package/views/dashboard/insights/index.stx +529 -0
- package/views/dashboard/jobs/[id].stx +430 -0
- package/views/dashboard/jobs/history.stx +222 -0
- package/views/dashboard/jobs/index.stx +214 -0
- package/views/dashboard/kanban/[id].stx +899 -0
- package/views/dashboard/kanban/index.stx +260 -0
- package/views/dashboard/layouts/default.stx +565 -0
- package/views/dashboard/layouts/guest.stx +10 -0
- package/views/dashboard/login.stx +48 -0
- package/views/dashboard/logs/index.stx +540 -0
- package/views/dashboard/mailboxes/index.stx +149 -0
- package/views/dashboard/management/permissions/index.stx +490 -0
- package/views/dashboard/marketing/campaigns/index.stx +604 -0
- package/views/dashboard/marketing/lists/index.stx +514 -0
- package/views/dashboard/marketing/reviews/index.stx +475 -0
- package/views/dashboard/marketing/social-posts/index.stx +560 -0
- package/views/dashboard/models/[model].stx +195 -0
- package/views/dashboard/models/index.stx +159 -0
- package/views/dashboard/monitoring/errors/index.stx +415 -0
- package/views/dashboard/notifications/dashboard.stx +383 -0
- package/views/dashboard/notifications/email.stx +336 -0
- package/views/dashboard/notifications/history.stx +373 -0
- package/views/dashboard/notifications/sms.stx +332 -0
- package/views/dashboard/packages/index.stx +195 -0
- package/views/dashboard/queries/[id].stx +381 -0
- package/views/dashboard/queries/history.stx +227 -0
- package/views/dashboard/queries/index.stx +335 -0
- package/views/dashboard/queries/slow.stx +318 -0
- package/views/dashboard/queue/index.stx +427 -0
- package/views/dashboard/realtime/index.stx +429 -0
- package/views/dashboard/register.stx +46 -0
- package/views/dashboard/releases/index.stx +389 -0
- package/views/dashboard/requests/index.stx +462 -0
- package/views/dashboard/serverless/index.stx +475 -0
- package/views/dashboard/servers/[id].stx +299 -0
- package/views/dashboard/servers/index.stx +483 -0
- package/views/dashboard/settings/billing.stx +50 -0
- package/views/dashboard/settings/index.stx +256 -0
- package/views/dashboard/settings/mail.stx +252 -0
- package/views/dashboard/stores/auth.ts +123 -0
- package/views/dashboard/stores/ci.ts +342 -0
- package/views/dashboard/stores/index.ts +129 -0
- package/views/dashboard/stores/kanban.ts +723 -0
- package/views/dashboard/stores/rbac.ts +350 -0
- package/views/dashboard/stx.config.ts +34 -0
- package/views/dashboard/teams/[id].stx +170 -0
- package/views/forum/category.stx +92 -0
- package/views/forum/index.stx +209 -0
- package/views/forum/new-topic.stx +113 -0
- package/views/forum/profile.stx +1 -0
- package/views/forum/topic.stx +143 -0
- package/views/hello-world/[name].stx +47 -0
- package/views/index.stx +21 -0
- 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.
|