@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,163 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: stacks-build
|
|
3
|
+
description: Use when working with the Stacks build system — building component libraries, CLI binaries, server Docker images, documentation, or the framework core. Covers @stacksjs/build, buddy build commands, build actions, and the server build pipeline.
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: Bun >= 1.3.0, TypeScript
|
|
6
|
+
allowed-tools: Read Edit Write Bash Grep Glob
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Stacks Build System
|
|
10
|
+
|
|
11
|
+
## Key Paths
|
|
12
|
+
- Core package: `storage/framework/core/build/`
|
|
13
|
+
- Build actions: `storage/framework/core/actions/src/build/`
|
|
14
|
+
- Main build action: `storage/framework/core/actions/src/build.ts`
|
|
15
|
+
- Buddy commands: `storage/framework/core/buddy/src/commands/build.ts`
|
|
16
|
+
- Server build: `storage/framework/server/build.ts`
|
|
17
|
+
- Server Dockerfile: `storage/framework/server/Dockerfile`
|
|
18
|
+
- Types: `storage/framework/core/types/src/cli.ts`
|
|
19
|
+
|
|
20
|
+
## Source Files
|
|
21
|
+
```
|
|
22
|
+
build/src/
|
|
23
|
+
├── index.ts # intro() and outro() — build logging and timing
|
|
24
|
+
├── web-types.ts # Web types generation for IDE support
|
|
25
|
+
└── build.ts # Package build config (Bun.build)
|
|
26
|
+
|
|
27
|
+
actions/src/build/
|
|
28
|
+
├── cli.ts # Build Buddy CLI binary
|
|
29
|
+
├── server.ts # Build server Docker image
|
|
30
|
+
├── core.ts # Build all framework core packages
|
|
31
|
+
├── stacks.ts # Orchestrate CLI + core builds
|
|
32
|
+
├── component-libs.ts # Build component libraries (Vue + Web)
|
|
33
|
+
├── docs.ts # Build documentation
|
|
34
|
+
├── desktop.ts # Build desktop app
|
|
35
|
+
└── views.ts # Build frontend views
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Build Types
|
|
39
|
+
|
|
40
|
+
```typescript
|
|
41
|
+
type BuildOption =
|
|
42
|
+
| 'components' | 'webComponents' | 'elements'
|
|
43
|
+
| 'functions' | 'docs' | 'views' | 'stacks' | 'all' | 'buddy' | 'server'
|
|
44
|
+
|
|
45
|
+
type BuildOptions = { [key in BuildOption]: boolean } & CliOptions
|
|
46
|
+
|
|
47
|
+
interface CliOptions {
|
|
48
|
+
verbose?: boolean
|
|
49
|
+
silent?: boolean
|
|
50
|
+
quiet?: boolean
|
|
51
|
+
cwd?: string
|
|
52
|
+
background?: boolean
|
|
53
|
+
timeoutMs?: number
|
|
54
|
+
project?: string
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## CLI Commands
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
buddy build # Interactive build
|
|
62
|
+
buddy build components # All component libraries
|
|
63
|
+
buddy build:components # Alias
|
|
64
|
+
buddy build:web-components # Web Components library only
|
|
65
|
+
buddy build:functions # Functions library
|
|
66
|
+
buddy build:cli # Buddy CLI binary
|
|
67
|
+
buddy build:server # Server Docker image
|
|
68
|
+
buddy build:core # All framework core packages
|
|
69
|
+
buddy build:stacks # CLI + core (full framework)
|
|
70
|
+
buddy build:docs # Documentation site
|
|
71
|
+
buddy build:desktop # Desktop application
|
|
72
|
+
buddy build:views # Frontend views
|
|
73
|
+
|
|
74
|
+
# Flags
|
|
75
|
+
buddy build -c # --components
|
|
76
|
+
buddy build -w # --web-components
|
|
77
|
+
buddy build -f # --functions
|
|
78
|
+
buddy build -d # --docs
|
|
79
|
+
buddy build -b # --buddy
|
|
80
|
+
buddy build -s # --stacks
|
|
81
|
+
buddy build --server --verbose --project [name]
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Standard Build Pattern
|
|
85
|
+
|
|
86
|
+
Every core package follows this pattern:
|
|
87
|
+
|
|
88
|
+
```typescript
|
|
89
|
+
import { dts } from 'bun-plugin-dtsx'
|
|
90
|
+
import { intro, outro } from '../build/src'
|
|
91
|
+
|
|
92
|
+
const { startTime } = await intro({ dir: import.meta.dir })
|
|
93
|
+
const result = await Bun.build({
|
|
94
|
+
entrypoints: ['./src/index.ts'],
|
|
95
|
+
outdir: './dist',
|
|
96
|
+
format: 'esm',
|
|
97
|
+
target: 'bun',
|
|
98
|
+
minify: true,
|
|
99
|
+
plugins: [dts({ root: '.', outdir: './dist' })],
|
|
100
|
+
})
|
|
101
|
+
await outro({ dir: import.meta.dir, startTime, result })
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Build Utilities (index.ts)
|
|
105
|
+
|
|
106
|
+
```typescript
|
|
107
|
+
async function intro(options: { dir: string, pkgName?: string, styled?: boolean }): Promise<{ startTime: number }>
|
|
108
|
+
async function outro(options: { dir: string, startTime: number, result: any, pkgName?: string }): Promise<void>
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
`outro()` handles two result formats:
|
|
112
|
+
- **Bun.build**: checks `result.success` and `result.logs`
|
|
113
|
+
- **esbuild**: checks `result.errors` array
|
|
114
|
+
|
|
115
|
+
## Server Build Pipeline (7 stages)
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
1. Stop running stacks-server Docker container
|
|
119
|
+
2. Clean previous build artifacts (app, config, dist, docs, storage)
|
|
120
|
+
3. Build framework server (compile ./src/index.ts)
|
|
121
|
+
4. Build user app files (compile ./app/**/*.{ts,js})
|
|
122
|
+
5. Fix import paths (replace storage/framework/server → dist)
|
|
123
|
+
6. Clean unwanted exports from dist files
|
|
124
|
+
7. Build Docker image (if cloud deployment enabled)
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Build Action Enums
|
|
128
|
+
|
|
129
|
+
```typescript
|
|
130
|
+
enum Action {
|
|
131
|
+
BuildViews = 'build/views'
|
|
132
|
+
BuildStacks = 'build/stacks'
|
|
133
|
+
BuildComponentLibs = 'build/component-libs'
|
|
134
|
+
BuildVueComponentLib = 'build-vue-component-lib'
|
|
135
|
+
BuildWebComponentLib = 'build-web-component-lib'
|
|
136
|
+
BuildFunctionLib = 'build-function-lib'
|
|
137
|
+
BuildCli = 'build/cli'
|
|
138
|
+
BuildCore = 'build/core'
|
|
139
|
+
BuildDesktop = 'build/desktop'
|
|
140
|
+
BuildDocs = 'build/docs'
|
|
141
|
+
BuildServer = 'build/server'
|
|
142
|
+
}
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Build Tool Stack
|
|
146
|
+
|
|
147
|
+
| Tool | Usage |
|
|
148
|
+
|------|-------|
|
|
149
|
+
| **Bun** | Primary bundler (`target: 'bun'`, `format: 'esm'`) |
|
|
150
|
+
| **Vite** | Component library builds |
|
|
151
|
+
| **bun-plugin-dtsx** | TypeScript declaration generation |
|
|
152
|
+
| **Docker** | Server containerization |
|
|
153
|
+
| **@babel/traverse** | AST traversal for export cleanup |
|
|
154
|
+
|
|
155
|
+
## Gotchas
|
|
156
|
+
- **Two result formats** — `outro()` must handle both Bun.build and esbuild formats
|
|
157
|
+
- **Server build mutates import paths** — stage 5 rewrites references in compiled output
|
|
158
|
+
- **Core build is sequential** — packages built one at a time, failures collected and reported
|
|
159
|
+
- **Docker build requires cloud config** — only builds if cloud deployment is enabled
|
|
160
|
+
- **Component libraries use Vite** — unlike the rest which uses Bun.build
|
|
161
|
+
- **`build:stacks` builds CLI first** — Buddy binary compiled before core packages
|
|
162
|
+
- **Server build cleans aggressively** — deletes app, config, dist, docs, storage before rebuild
|
|
163
|
+
- **The build package has @babel deps** — uses Babel for AST traversal during export cleanup
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: stacks-cache
|
|
3
|
+
description: Use when implementing caching in Stacks — memory cache, Redis cache, cache-aside pattern (getOrSet), TTL management, cache stats, or cache configuration. Covers @stacksjs/cache and config/cache.ts.
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: Bun >= 1.3.0, TypeScript
|
|
6
|
+
allowed-tools: Read Edit Write Bash Grep Glob
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Stacks Cache
|
|
10
|
+
|
|
11
|
+
## Key Paths
|
|
12
|
+
- Core package: `storage/framework/core/cache/src/`
|
|
13
|
+
- Configuration: `config/cache.ts`
|
|
14
|
+
- Cache storage: `storage/framework/cache/`
|
|
15
|
+
|
|
16
|
+
## Cache API (StacksCache)
|
|
17
|
+
|
|
18
|
+
```typescript
|
|
19
|
+
import { cache, memory } from '@stacksjs/cache'
|
|
20
|
+
|
|
21
|
+
// Get/Set
|
|
22
|
+
await cache.get<string>('key') // T | undefined
|
|
23
|
+
await cache.set('key', 'value', 3600) // TTL in seconds
|
|
24
|
+
await cache.setForever('key', 'value') // no expiry
|
|
25
|
+
await cache.mget<string>(['key1', 'key2']) // T[]
|
|
26
|
+
await cache.mset([{ key: 'k1', value: 'v1', ttl: 60 }, ...])
|
|
27
|
+
|
|
28
|
+
// Cache-aside pattern
|
|
29
|
+
const value = await cache.getOrSet('expensive-key', async () => {
|
|
30
|
+
return await computeExpensiveValue()
|
|
31
|
+
}, 3600)
|
|
32
|
+
|
|
33
|
+
// Delete
|
|
34
|
+
await cache.del('key')
|
|
35
|
+
await cache.del(['key1', 'key2'])
|
|
36
|
+
await cache.deleteMany(['key1', 'key2'])
|
|
37
|
+
await cache.remove('key')
|
|
38
|
+
|
|
39
|
+
// Existence
|
|
40
|
+
await cache.has('key') // boolean
|
|
41
|
+
await cache.missing('key') // boolean
|
|
42
|
+
|
|
43
|
+
// Take (get and delete)
|
|
44
|
+
const value = await cache.take<string>('key')
|
|
45
|
+
|
|
46
|
+
// TTL management
|
|
47
|
+
await cache.getTtl('key') // remaining TTL
|
|
48
|
+
await cache.ttl('key', 7200) // update TTL
|
|
49
|
+
|
|
50
|
+
// Clear
|
|
51
|
+
await cache.clear()
|
|
52
|
+
await cache.flush()
|
|
53
|
+
|
|
54
|
+
// Stats
|
|
55
|
+
const stats = await cache.getStats()
|
|
56
|
+
// { hits, misses, keys, size, hitRate }
|
|
57
|
+
|
|
58
|
+
// Keys
|
|
59
|
+
const keys = await cache.keys('user:*') // pattern matching
|
|
60
|
+
|
|
61
|
+
// Cleanup
|
|
62
|
+
await cache.close()
|
|
63
|
+
await cache.disconnect()
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Factory Functions
|
|
67
|
+
|
|
68
|
+
```typescript
|
|
69
|
+
import { createMemoryCache, createRedisCache, createCache } from '@stacksjs/cache'
|
|
70
|
+
|
|
71
|
+
const memCache = createMemoryCache({
|
|
72
|
+
stdTTL: 3600, // default TTL (seconds)
|
|
73
|
+
checkPeriod: 120, // eviction check interval
|
|
74
|
+
maxKeys: -1, // -1 = unlimited
|
|
75
|
+
useClones: true, // clone on get/set
|
|
76
|
+
prefix: 'app:' // key prefix
|
|
77
|
+
})
|
|
78
|
+
|
|
79
|
+
const redisCache = createRedisCache({
|
|
80
|
+
url: 'redis://localhost:6379',
|
|
81
|
+
// or individual:
|
|
82
|
+
host: 'localhost',
|
|
83
|
+
port: 6379,
|
|
84
|
+
username: undefined,
|
|
85
|
+
password: undefined,
|
|
86
|
+
database: 0,
|
|
87
|
+
tls: false,
|
|
88
|
+
stdTTL: 3600,
|
|
89
|
+
prefix: 'app:'
|
|
90
|
+
})
|
|
91
|
+
|
|
92
|
+
// Auto-detect from config
|
|
93
|
+
const cache = createCache('memory')
|
|
94
|
+
const cache = createCache('redis', { host: 'localhost' })
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## config/cache.ts
|
|
98
|
+
```typescript
|
|
99
|
+
{
|
|
100
|
+
driver: 'memory', // 'memory' | 'redis'
|
|
101
|
+
prefix: 'stacks',
|
|
102
|
+
ttl: 3600, // 1 hour default
|
|
103
|
+
maxKeys: -1, // unlimited
|
|
104
|
+
useClones: true,
|
|
105
|
+
drivers: {
|
|
106
|
+
redis: { host: 'localhost', port: 6379 },
|
|
107
|
+
memory: {}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Default Instance
|
|
113
|
+
- `cache` — default memory cache (pre-configured)
|
|
114
|
+
- `memory` — alias for `cache`
|
|
115
|
+
|
|
116
|
+
## Gotchas
|
|
117
|
+
- Default driver is `memory` — data lost on restart
|
|
118
|
+
- Redis driver requires a running Redis server
|
|
119
|
+
- `getOrSet()` is the cache-aside pattern — fetches only on miss
|
|
120
|
+
- `useClones: true` means mutations to retrieved objects don't affect cache
|
|
121
|
+
- `take()` atomically gets and deletes — useful for one-time tokens
|
|
122
|
+
- Cache stats track hits, misses, and hit rate — useful for tuning
|
|
123
|
+
- `keys()` supports glob patterns for key listing
|
|
124
|
+
- Framework caches (auto-imports, discovered packages) are in `storage/framework/cache/`
|
|
125
|
+
- Use `buddy clean` or `buddy fresh` to clear framework caches
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: stacks-calendar
|
|
3
|
+
description: Use when working with calendar functionality in Stacks — exporting events to Google Calendar, Outlook, Yahoo, or ICS format, the CalendarLink interface for event definitions, timezone handling, all-day events, or calendar URL generation. Covers @stacksjs/calendar-api.
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: Bun >= 1.3.0, TypeScript
|
|
6
|
+
allowed-tools: Read Edit Write Bash Grep Glob
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Stacks Calendar
|
|
10
|
+
|
|
11
|
+
Calendar event export to 4 calendar providers.
|
|
12
|
+
|
|
13
|
+
## Key Paths
|
|
14
|
+
- Core package: `storage/framework/core/calendar-api/src/`
|
|
15
|
+
- Package: `@stacksjs/calendar-api`
|
|
16
|
+
|
|
17
|
+
## Export Functions
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
import { exportCalendarGoogle, exportCalendarIcs, exportCalendarOutlook, exportCalendarYahoo } from '@stacksjs/calendar-api'
|
|
21
|
+
|
|
22
|
+
const event: CalendarLink = {
|
|
23
|
+
title: 'Team Meeting',
|
|
24
|
+
description: 'Weekly standup',
|
|
25
|
+
from: new Date('2024-06-15T10:00:00'),
|
|
26
|
+
to: new Date('2024-06-15T11:00:00'),
|
|
27
|
+
address: '123 Main St, City',
|
|
28
|
+
timezone: 'America/New_York',
|
|
29
|
+
allDay: false
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// Generate URLs
|
|
33
|
+
const googleUrl = exportCalendarGoogle(event)
|
|
34
|
+
// → https://calendar.google.com/calendar/render?action=TEMPLATE&text=...
|
|
35
|
+
|
|
36
|
+
const icsContent = exportCalendarIcs(event)
|
|
37
|
+
// → BEGIN:VCALENDAR\nBEGIN:VEVENT\n...
|
|
38
|
+
|
|
39
|
+
const outlookUrl = exportCalendarOutlook(event)
|
|
40
|
+
// → https://outlook.live.com/calendar/0/deeplink/compose?...
|
|
41
|
+
|
|
42
|
+
const yahooUrl = exportCalendarYahoo(event)
|
|
43
|
+
// → https://calendar.yahoo.com/?v=60&title=...
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## CalendarLink Interface
|
|
47
|
+
|
|
48
|
+
```typescript
|
|
49
|
+
interface CalendarLink {
|
|
50
|
+
title: string
|
|
51
|
+
description?: string
|
|
52
|
+
from: Date // start time
|
|
53
|
+
to: Date // end time
|
|
54
|
+
allDay?: boolean // all-day event (ignores time)
|
|
55
|
+
address?: string // location
|
|
56
|
+
timezone?: string // IANA timezone (e.g., 'America/New_York')
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Calendar Store Types
|
|
61
|
+
|
|
62
|
+
```typescript
|
|
63
|
+
interface CalendarStore {
|
|
64
|
+
day: number
|
|
65
|
+
month: number
|
|
66
|
+
year: number
|
|
67
|
+
currentMonthYear: string
|
|
68
|
+
datesOfMonth: number[]
|
|
69
|
+
currentWeekView: WeekDates[]
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
interface Events {
|
|
73
|
+
date: string
|
|
74
|
+
title: string
|
|
75
|
+
description?: string
|
|
76
|
+
month: number
|
|
77
|
+
day: number
|
|
78
|
+
year: number
|
|
79
|
+
time?: Time
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
interface Time { from: string, to: string }
|
|
83
|
+
interface WeekDates { month: number, date: number }
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## All-Day Events
|
|
87
|
+
|
|
88
|
+
```typescript
|
|
89
|
+
const allDayEvent: CalendarLink = {
|
|
90
|
+
title: 'Company Holiday',
|
|
91
|
+
from: new Date('2024-12-25'),
|
|
92
|
+
to: new Date('2024-12-25'),
|
|
93
|
+
allDay: true // only date matters, no time component
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Format Differences
|
|
98
|
+
|
|
99
|
+
| Feature | Google | ICS | Outlook | Yahoo |
|
|
100
|
+
|---------|--------|-----|---------|-------|
|
|
101
|
+
| URL-based | Yes | No (file) | Yes | Yes |
|
|
102
|
+
| Timezone | URL param | VTIMEZONE | URL param | URL param |
|
|
103
|
+
| All-day | Date only | DATE value | isAllDay=true | st= format |
|
|
104
|
+
| Description | details= | DESCRIPTION | body= | desc= |
|
|
105
|
+
|
|
106
|
+
## Gotchas
|
|
107
|
+
- Note package name is `@stacksjs/calendar-api` (not `@stacksjs/calendar`)
|
|
108
|
+
- ICS export returns file content (not a URL) — serve as `.ics` download
|
|
109
|
+
- All-day events use date-only format, ignoring time components
|
|
110
|
+
- Timezone handling varies by provider — ICS includes VTIMEZONE block
|
|
111
|
+
- Google Calendar uses UTC format in URLs
|
|
112
|
+
- For task scheduling (cron), use `@stacksjs/scheduler` instead
|
|
113
|
+
- ICS generates a unique UID per event for calendar deduplication
|