@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,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Code Style & Structure specifics
|
|
3
|
+
globs:
|
|
4
|
+
---
|
|
5
|
+
## Code Style & Structure
|
|
6
|
+
|
|
7
|
+
- Write concise, technical TypeScript code with accurate examples in the docblock
|
|
8
|
+
- If Bun native modules are available, use them
|
|
9
|
+
- Use functional and declarative programming patterns; avoid classes unless needed
|
|
10
|
+
- Prefer iteration and modularization over code duplication
|
|
11
|
+
- Use descriptive variable names with auxiliary verbs (e.g., `isLoading`, `hasError`)
|
|
12
|
+
- Use proper jsdoc comments for functions, types, interfaces, and ensure examples are accurate
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Documentation specific rules
|
|
3
|
+
globs: docs/**/*.md
|
|
4
|
+
---
|
|
5
|
+
## Documentation
|
|
6
|
+
|
|
7
|
+
- Write documentation for all functions, types, interfaces, and ensure examples are accurate
|
|
8
|
+
- The `./docs` directory contains the BunPress Markdown documentation
|
|
9
|
+
- Make sure to update the docs markdown files
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Error Handling and Validation specifics
|
|
3
|
+
globs:
|
|
4
|
+
---
|
|
5
|
+
## Error Handling and Validation
|
|
6
|
+
|
|
7
|
+
- Prioritize error handling: handle errors and edge cases early
|
|
8
|
+
- Use early returns and guard clauses
|
|
9
|
+
- Implement proper error logging and user-friendly messages
|
|
10
|
+
- Use error boundaries for unexpected errors
|
|
11
|
+
- Use `@stacksjs/error-handling`, which is similar to neverthrow, to handle errors and responses
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Key code conventions
|
|
3
|
+
globs:
|
|
4
|
+
---
|
|
5
|
+
## Key Conventions
|
|
6
|
+
|
|
7
|
+
- If there are two equally valid implementations, the browser version should be preferred
|
|
8
|
+
- Aim for 100% test coverage
|
|
9
|
+
- Avoid usage of `any`
|
|
10
|
+
- Reuse eslint-ignore comments where present, unless not needed
|
|
11
|
+
- ensure we log everything properly, including for debug reasons
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Project structure information
|
|
3
|
+
globs:
|
|
4
|
+
---
|
|
5
|
+
## Project Structure
|
|
6
|
+
|
|
7
|
+
### App Directory
|
|
8
|
+
|
|
9
|
+
`./app` directory is the source where the business logic resides.
|
|
10
|
+
|
|
11
|
+
- `./app/Actions` directory is the source of truth for all actions
|
|
12
|
+
- `./app/Commands` directory is the source of truth for all commands
|
|
13
|
+
- `./app/Jobs` directory is the source of truth for all jobs
|
|
14
|
+
- `./app/Listeners` directory is the source of truth for all listeners
|
|
15
|
+
- `./app/Models` directory is the source of truth for all models
|
|
16
|
+
- `./app/Notifications` directory is the source of truth for all notifications
|
|
17
|
+
|
|
18
|
+
### Cloud Directory
|
|
19
|
+
|
|
20
|
+
`./cloud` directory is the source where the cloud logic resides.
|
|
21
|
+
|
|
22
|
+
- `./cloud/recipes` directory is where the cloud recipes reside that can be used when creating a new server. Similar to Laravel Forge recipes
|
|
23
|
+
- `./cloud/deploy-script.ts` is the scripts that is triggered when a deployment in the cloud is made
|
|
24
|
+
- `./cloud/Dockerfile` is the Dockerfile that is used to build the Docker image for the cloud
|
|
25
|
+
- `./cloud/serverless.ts` is where the automated CDK stack is defined. Used to define the serverless services
|
|
26
|
+
- `./cloud/servers.ts` is where the servers are defined that can be used when creating a new server. Define EC2 instances, load balancers, web servers, app servers, worker servers, etc.
|
|
27
|
+
|
|
28
|
+
### Config Directory
|
|
29
|
+
|
|
30
|
+
`./config` directory is where the configuration for the project resides.
|
|
31
|
+
|
|
32
|
+
- `./config/ai.ts` is where the AI configuration is defined
|
|
33
|
+
- `./config/app.ts` is where the application configuration is defined
|
|
34
|
+
- `./config/cache.ts` is where the cache configuration is defined
|
|
35
|
+
- `./config/database.ts` is where the database configuration is defined
|
|
36
|
+
- `./config/dns.ts` is where the DNS configuration is defined
|
|
37
|
+
- `./config/email.ts` is where the email configuration is defined
|
|
38
|
+
- `./config/git.ts` is where the git configuration is defined
|
|
39
|
+
- `./config/hashing.ts` is where the hashing configuration is defined
|
|
40
|
+
- `./config/logging.ts` is where the logging configuration is defined
|
|
41
|
+
- `./config/mail.ts` is where the mail configuration is defined
|
|
42
|
+
- `./config/notification.ts` is where the notification configuration is defined
|
|
43
|
+
- `./config/payment.ts` is where the payment configuration is defined
|
|
44
|
+
- `./config/security.ts` is where the security configuration is defined
|
|
45
|
+
- `./config/services.ts` is where the services configuration is defined
|
|
46
|
+
- `./config/storage.ts` is where the storage configuration is defined
|
|
47
|
+
- `./config/team.ts` is where the team configuration is defined
|
|
48
|
+
- `./config/ui.ts` is where the UI configuration is defined
|
|
49
|
+
|
|
50
|
+
### Database Directory
|
|
51
|
+
|
|
52
|
+
`./database` directory is where the database logic resides.
|
|
53
|
+
|
|
54
|
+
- `./database/migrations` directory is where the migrations are defined which likely are auto generated by the ORM, unless the user adds custom migrations (buddy migrate)
|
|
55
|
+
- `./database/seeder.ts` is where the seeder is defined which is used to seed the database (buddy seed)
|
|
56
|
+
|
|
57
|
+
### Docs Directory
|
|
58
|
+
|
|
59
|
+
`./docs` is where the BunPress documentation resides.
|
|
60
|
+
|
|
61
|
+
### Public Directory
|
|
62
|
+
|
|
63
|
+
`./public` directory is where the public assets reside.
|
|
64
|
+
|
|
65
|
+
You would place your static assets in this directory. Anything in this directory will be available on the web, exposed behind your domain name, the APP_URL in the .env file.
|
|
66
|
+
|
|
67
|
+
### Resources Directory
|
|
68
|
+
|
|
69
|
+
The `./resources` directory is where the resources reside.
|
|
70
|
+
|
|
71
|
+
- `./resources/assets` _directory where the assets reside_
|
|
72
|
+
- `./resources/assets/fonts` _directory where the fonts reside_
|
|
73
|
+
- `./resources/assets/styles` _directory where the CSS resides_
|
|
74
|
+
- `./resources/assets/styles/docs/` _directory where the Documentation CSS resides_
|
|
75
|
+
- `./resources/components` _directory where the user components reside. These are auto imported into the frontend_
|
|
76
|
+
- `./resources/components/Dashboard` _directory where the dashboard User components reside. If they clashed with default components, these will take precedence_
|
|
77
|
+
- `./resources/components/Docs` _directory where the documentation components reside, which will be auto imported into the documentation_
|
|
78
|
+
- `./resources/emails` _directory where the emails reside_
|
|
79
|
+
- `./resources/functions` _directory where the functions/composables reside_
|
|
80
|
+
- `./resources/lang` _directory where the language files reside_
|
|
81
|
+
- `./resources/layouts` _directory where the layouts reside_
|
|
82
|
+
- `./resources/modules` _directory where the modules reside_
|
|
83
|
+
- `./resources/plugins` _directory where the plugins reside_
|
|
84
|
+
- `./resources/stores` _directory where the stores reside_
|
|
85
|
+
- `./resources/types` _directory where the types reside_
|
|
86
|
+
- `./resources/views` _directory where the views reside_
|
|
87
|
+
|
|
88
|
+
## Routes Directory
|
|
89
|
+
|
|
90
|
+
The `./routes` directory is where the routes reside.
|
|
91
|
+
|
|
92
|
+
- `./routes/api.ts` _the API routes file_
|
|
93
|
+
- `./routes/web.ts` _the web routes file_
|
|
94
|
+
- `./routes/buddy.ts` _the buddy routes file (/buddy/...)_
|
|
95
|
+
- `./routes/users.ts` _the users routes file (/users/...)_
|
|
96
|
+
|
|
97
|
+
## Storage Directory
|
|
98
|
+
|
|
99
|
+
The `./storage` directory is where the storage resides, and the core logic of the framework.
|
|
100
|
+
|
|
101
|
+
- `./storage/framework` _the framework storage directory_
|
|
102
|
+
- `./storage/framework/api` _the API storage directory_
|
|
103
|
+
- `./storage/framework/actions` _the actions storage directory_
|
|
104
|
+
- `./storage/framework/browser-auto-imports.json` _the browser auto imports file_
|
|
105
|
+
- `./storage/framework/server-auto-imports.json` _the server auto imports file_
|
|
106
|
+
- `./storage/framework/cache` _the cache storage directory_
|
|
107
|
+
- `./storage/framework/cloud` _the cloud storage directory_
|
|
108
|
+
- `./storage/framework/config` _the config storage directory_
|
|
109
|
+
- `./storage/framework/core` _the core storage directory is where the core logic of the framework resides_
|
|
110
|
+
- `./storage/framework/core/actions` _the core actions package_
|
|
111
|
+
- `./storage/framework/core/analytics` _the core analytics package_
|
|
112
|
+
- `./storage/framework/core/alias` _the core alias package_
|
|
113
|
+
- `./storage/framework/core/api` _the core api package_
|
|
114
|
+
- `./storage/framework/core/arrays` _the core arrays package_
|
|
115
|
+
- `./storage/framework/core/auth` _the core auth package_
|
|
116
|
+
- `./storage/framework/core/browser` _the core browser package_
|
|
117
|
+
- `./storage/framework/core/build` _the core build package_
|
|
118
|
+
- `./storage/framework/core/bun-create` _the core bun-create package_
|
|
119
|
+
- `./storage/framework/core/calendar` _the core calendar package_
|
|
120
|
+
- `./storage/framework/core/chat` _the core chat package_
|
|
121
|
+
- `./storage/framework/core/cli` _the core cli package_
|
|
122
|
+
- `./storage/framework/core/config` _the core config package_
|
|
123
|
+
- `./storage/framework/core/cron` _the core cron package_
|
|
124
|
+
- `./storage/framework/core/database` _the core database package_
|
|
125
|
+
- `./storage/framework/core/datetime` _the core datetime package_
|
|
126
|
+
- `./storage/framework/core/dns` _the core dns package_
|
|
127
|
+
- `./storage/framework/core/docs` _the core docs package_
|
|
128
|
+
- `./storage/framework/core/events` _the core events package_
|
|
129
|
+
- `./storage/framework/core/faker` _the core faker package_
|
|
130
|
+
- `./storage/framework/core/git` _the core git package_
|
|
131
|
+
- `./storage/framework/core/health` _the core health package_
|
|
132
|
+
- `./storage/framework/core/http` _the core http package_
|
|
133
|
+
- `./storage/framework/core/lint` _the core lint package_
|
|
134
|
+
- `./storage/framework/core/logging` _the core logging package_
|
|
135
|
+
- `./storage/framework/core/mail` _the core mail package_
|
|
136
|
+
- `./storage/framework/core/notifications` _the core notifications package_
|
|
137
|
+
- `./storage/framework/core/objects` _the core objects package_
|
|
138
|
+
- `./storage/framework/core/payments` _the core payments package_
|
|
139
|
+
- `./storage/framework/core/query-builder` _the core query-builder package_
|
|
140
|
+
- `./storage/framework/core/real-time` _the core real-time package_
|
|
141
|
+
- `./storage/framework/core/realtime` _the core realtime package_
|
|
142
|
+
- `./storage/framework/core/registry` _the core registry package_
|
|
143
|
+
- `./storage/framework/core/router` _the core router package_
|
|
144
|
+
- `./storage/framework/core/scheduler` _the core scheduler package_
|
|
145
|
+
- `./storage/framework/core/security` _the core security package_
|
|
146
|
+
- `./storage/framework/core/strings` _the core strings package_
|
|
147
|
+
- `./storage/framework/core/testing` _the core testing package_
|
|
148
|
+
- `./storage/framework/core/tunnel` _the core tunnel package_
|
|
149
|
+
- `./storage/framework/core/ui` _the core ui package_
|
|
150
|
+
- `./storage/framework/core/validation` _the core validation package_
|
|
151
|
+
- `./storage/framework/core/vite-config` _the core vite-config package_
|
|
152
|
+
- `./storage/framework/core/vite-plugin` _the core vite-plugin package_
|
|
153
|
+
- `./storage/framework/core/whois` _the core whois package_
|
|
154
|
+
- `./storage/framework/docs` _the docs storage directory_
|
|
155
|
+
- `./storage/framework/libs` _the libs storage directory_
|
|
156
|
+
- `./storage/framework/requests` _the requests storage directory_
|
|
157
|
+
- `./storage/framework/types` _the types storage directory_
|
|
158
|
+
- `./storage/framework/views` _the views storage directory_
|
|
159
|
+
- `./storage/keys` _the keys storage directory_
|
|
160
|
+
- `./storage/private` _the private storage directory—files that get uploaded to the server, but not exposed to the web_
|
|
161
|
+
- `./storage/public` _the public storage directory—files that get exposed to the web_
|
|
162
|
+
|
|
163
|
+
### Tests Directory
|
|
164
|
+
|
|
165
|
+
The `./tests` directory is where the Bun tests reside.
|
|
166
|
+
|
|
167
|
+
- `./tests/unit` _directory where the unit tests reside_
|
|
168
|
+
- `./tests/features` _directory where the features tests reside_
|
|
169
|
+
- `./tests/setup.ts` _setup script for the tests_
|
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: General information based on the latest ./README.md content
|
|
3
|
+
globs:
|
|
4
|
+
---
|
|
5
|
+
# Rapid App & Library Development
|
|
6
|
+
|
|
7
|
+
Stacks is a rapid development framework, where the goal is to _help you_ create & maintain frontends, backends, and clouds—without having to worry about the boilerplate. _An all-in-one toolkit that meets all your full stack needs._
|
|
8
|
+
|
|
9
|
+
- Web & Desktop Applications _(including system tray apps)_
|
|
10
|
+
- Serverless & Traditional APIs
|
|
11
|
+
- Cloud Infrastructure Creation & Maintenance
|
|
12
|
+
- Interactive CLIs
|
|
13
|
+
- Framework-agnostic Component & Function Libraries
|
|
14
|
+
- Deployment & Release Manager _(CI & CD)_
|
|
15
|
+
|
|
16
|
+
## Convention Over Configuration
|
|
17
|
+
|
|
18
|
+
As a developer, Stacks helps you every step along the way—in beginner & expert-friendly ways, allowing you to focus on the _what & why_ of your project, all while enabling you to stay in control & ownership of your _(& your users’)_ data.
|
|
19
|
+
|
|
20
|
+
> “It is the framework’s responsibility to remove patterns that lead to boilerplate code. And Stacks is really good at that.” _- Chris_
|
|
21
|
+
|
|
22
|
+
<!--  -->
|
|
23
|
+
|
|
24
|
+
## Get Started
|
|
25
|
+
|
|
26
|
+
It’s incredibly easy to get started with this framework. Simply run the following command in your terminal:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
curl -Ssf stacksjs.com/install | sh # wip
|
|
30
|
+
|
|
31
|
+
# alternatively, if Bun >= v1.2.0 is installed already,
|
|
32
|
+
# you may also get started via:
|
|
33
|
+
bunx buddy new my-project
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Usage
|
|
37
|
+
|
|
38
|
+
The following list includes some of the most common ways to interact with the Stacks API.
|
|
39
|
+
|
|
40
|
+
_Meet the toolkit, Buddy:_
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
buddy install # installs all dependencies
|
|
44
|
+
buddy dev # starts one of the dev servers (frontend, API, components, docs, desktop, etc.)
|
|
45
|
+
buddy share # creates a sharable link of your local project
|
|
46
|
+
buddy build # follow CLI prompts to select which library (or server) to build
|
|
47
|
+
buddy commit # follow CLI prompts for committing changes
|
|
48
|
+
buddy release # creates the releases for the stack & consequently, publishes them to npm
|
|
49
|
+
buddy upgrade # auto-update all deps & the Stacks framework
|
|
50
|
+
|
|
51
|
+
buddy make:component HelloWorld # scaffolds a Component
|
|
52
|
+
buddy make:function HelloWorld # scaffolds a Function
|
|
53
|
+
buddy make:model Car # scaffolds a Model
|
|
54
|
+
buddy make:action UpdateCar # scaffolds an Action
|
|
55
|
+
buddy make:migration create_cars_table # scaffolds a Migration
|
|
56
|
+
buddy make:view Car # scaffolds a Page (https://my-project.test/car)
|
|
57
|
+
buddy make:command Inspire # scaffolds a Command
|
|
58
|
+
buddy make:job SendEmail # scaffolds a Job
|
|
59
|
+
buddy make:middleware Logger # scaffolds a new Middleware
|
|
60
|
+
buddy make:notification WelcomeEmail # scaffolds a Notification
|
|
61
|
+
buddy make:lang de # scaffolds a language file
|
|
62
|
+
|
|
63
|
+
buddy list # lists all available commands
|
|
64
|
+
buddy --help
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
<details>
|
|
68
|
+
<summary>View the complete Buddy Toolkit</summary>
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
buddy --version # get the Stacks version
|
|
72
|
+
buddy --help # view help menu
|
|
73
|
+
# please note: you may suffix any command with the
|
|
74
|
+
# `command --help` flag to review the help menu
|
|
75
|
+
|
|
76
|
+
buddy install # installs dependencies
|
|
77
|
+
buddy add # adds a stack or dependency
|
|
78
|
+
buddy fresh # fresh reinstall of all deps
|
|
79
|
+
buddy clean # removes all deps
|
|
80
|
+
buddy setup # sets up the project initially
|
|
81
|
+
buddy setup:oh-my-zsh # optional: sets up Oh My Zsh with auto-completions & "aliases"
|
|
82
|
+
|
|
83
|
+
buddy upgrade # upgrades all dependencies
|
|
84
|
+
buddy upgrade -i # prompts you to select which updates to apply (wip)
|
|
85
|
+
buddy upgrade:dependencies # auto-upgrades package.json deps
|
|
86
|
+
buddy upgrade:framework # auto-upgrades deps & the Stacks framework
|
|
87
|
+
buddy upgrade:search-engine # auto-upgrades configured search engine
|
|
88
|
+
buddy upgrade:shell # upgrades the shell integration
|
|
89
|
+
buddy upgrade:binary # upgrades the `stacks` binary
|
|
90
|
+
buddy upgrade:bun # upgrades to latest project-defined Bun version
|
|
91
|
+
buddy upgrade:all # auto-upgrades all of the above
|
|
92
|
+
|
|
93
|
+
# if you need any more info on any command listed here, you may suffix
|
|
94
|
+
# any of them via the "help option", i.e. `buddy ... --help`
|
|
95
|
+
|
|
96
|
+
buddy dev # starts the frontend dev server
|
|
97
|
+
buddy dev -i # prompts any of the dev servers (components, functions, views, docs, or api)
|
|
98
|
+
buddy dev:api # starts the API dev server
|
|
99
|
+
buddy dev:dashboard # starts the Admin/Dashboard dev server
|
|
100
|
+
buddy dev:desktop # starts the Desktop dev server
|
|
101
|
+
buddy dev:views # starts frontend dev server
|
|
102
|
+
buddy dev:components # starts component dev server
|
|
103
|
+
buddy dev:functions # stubs functions
|
|
104
|
+
buddy dev:docs # starts local docs dev server
|
|
105
|
+
buddy dev docs # also starts the local docs dev server (colon is optional for all commands)
|
|
106
|
+
buddy development # `buddy dev` alias
|
|
107
|
+
|
|
108
|
+
buddy share # creates a sharable link to your local project
|
|
109
|
+
|
|
110
|
+
# for Laravel folks, `serve` may ring more familiar than the `dev` name. Hence, we aliased it:
|
|
111
|
+
buddy serve
|
|
112
|
+
buddy serve:components
|
|
113
|
+
buddy serve:desktop
|
|
114
|
+
buddy serve:views
|
|
115
|
+
buddy serve:functions
|
|
116
|
+
buddy serve:docs
|
|
117
|
+
|
|
118
|
+
# building for production (e.g. AWS, Google Cloud, npm, Vercel, Netlify, et al.)
|
|
119
|
+
buddy build # select a specific build (follow CLI prompts)
|
|
120
|
+
buddy build:views # builds SSG views
|
|
121
|
+
buddy build:desktop # builds Desktop application
|
|
122
|
+
buddy build:library # builds any or all libraries
|
|
123
|
+
buddy build:functions # builds function library
|
|
124
|
+
buddy build:components # builds the STX component library and Web Component library
|
|
125
|
+
buddy build:web-components # builds framework agnostic Web Component library (i.e. Custom Elements)
|
|
126
|
+
buddy build:all # builds all your code
|
|
127
|
+
|
|
128
|
+
# `buddy build` aliases
|
|
129
|
+
buddy prod
|
|
130
|
+
buddy prod:components
|
|
131
|
+
buddy prod:desktop
|
|
132
|
+
buddy prod:library
|
|
133
|
+
buddy prod:views
|
|
134
|
+
buddy prod:functions
|
|
135
|
+
buddy prod:web-components
|
|
136
|
+
buddy prod:all
|
|
137
|
+
buddy production # `buddy prod` alias
|
|
138
|
+
|
|
139
|
+
# sets your application key
|
|
140
|
+
buddy key:generate
|
|
141
|
+
|
|
142
|
+
buddy make:component HelloWorld # bootstraps a HelloWorld component
|
|
143
|
+
buddy make:function hello-world # bootstraps a hello-world function
|
|
144
|
+
buddy make:view hello-world # bootstraps a hello-word page
|
|
145
|
+
buddy make:model Car # bootstraps a Car model
|
|
146
|
+
buddy make:database cars # creates a cars database
|
|
147
|
+
buddy make:migration create_cars_table # creates a cars migration file
|
|
148
|
+
buddy make:factory cars # creates a Car factory file
|
|
149
|
+
buddy make:table cars # bootstraps a cars data table
|
|
150
|
+
buddy make:notification welcome-email # bootstraps a welcome-email notification
|
|
151
|
+
buddy make:lang de # bootstraps a lang/de.yml language file
|
|
152
|
+
buddy make:stack my-project # shares logic with `bunx --bun stacks new my-project`
|
|
153
|
+
|
|
154
|
+
buddy migrate # runs database migrations
|
|
155
|
+
buddy migrate:dns # sets the ./config/dns.ts file
|
|
156
|
+
|
|
157
|
+
buddy dns example.com # list all DNS records for example.com
|
|
158
|
+
buddy dns example.com --type MX # list MX records for example.com
|
|
159
|
+
|
|
160
|
+
buddy https example.com/api/hello
|
|
161
|
+
# http [flags] [METHOD] URL [ITEM [ITEM]]
|
|
162
|
+
buddy http --help
|
|
163
|
+
buddy http PUT example.com/api/put X-API-Token:123 name=John # Custom HTTP method, HTTP headers and JSON data
|
|
164
|
+
buddy http -v example.com/api/get # See the request that is being sent using one of the output options
|
|
165
|
+
buddy http POST example.com/api/post hello=World # submitting forms
|
|
166
|
+
buddy http -a USERNAME POST https://api.github.com/repos/user/repo/issues/83/comments body='Great feature! :heart:'
|
|
167
|
+
buddy http localhost:8000 Host:example.com
|
|
168
|
+
|
|
169
|
+
buddy lint # runs linter
|
|
170
|
+
buddy lint:fix # runs linter and fixes issues
|
|
171
|
+
|
|
172
|
+
buddy commit # follow CLI prompts for committing staged changes
|
|
173
|
+
buddy release # creates the releases for the stack & triggers the Release Action (workflow)
|
|
174
|
+
buddy changelog # generates CHANGELOG.md
|
|
175
|
+
|
|
176
|
+
# when deploying your app/s to a remote server or cloud provider
|
|
177
|
+
buddy deploy # select a specific deployment (follow CLI prompts)
|
|
178
|
+
# buddy deploy:docs # deploys docs to AWS (or other configured provider)
|
|
179
|
+
# buddy deploy:functions # deploys functions to AWS (or other configured provider)
|
|
180
|
+
# buddy deploy:views # deploys views to AWS (or other configured provider)
|
|
181
|
+
# buddy deploy:all # deploys all your code
|
|
182
|
+
buddy undeploy # be careful: "undeploys" removes/deletes your deployed resources
|
|
183
|
+
|
|
184
|
+
buddy cloud:remove # removes cloud setup
|
|
185
|
+
buddy cloud:cleanup # removes cloud setup & cleans up all potentially leftover resources
|
|
186
|
+
buddy cloud:add --jump-box # adds a jump box to your cloud setup
|
|
187
|
+
|
|
188
|
+
# select the example to run (follow CLI prompts)
|
|
189
|
+
buddy example # prompts you to select which example to run
|
|
190
|
+
buddy example:web-components # runs the Web Component example
|
|
191
|
+
|
|
192
|
+
# you likely won’t need to run these commands as they are auto-triggered, but they are available
|
|
193
|
+
buddy generate # prompts you to select which generator to run
|
|
194
|
+
buddy generate:types # generates types for your components, functions, & views
|
|
195
|
+
buddy generate:entries # generates entry files for components, functions, & views
|
|
196
|
+
buddy generate:web-types # generates Web Component types
|
|
197
|
+
buddy generate:vscode-custom-data # generates VSCode custom data
|
|
198
|
+
buddy generate:ide-helpers # generates IDE helpers
|
|
199
|
+
buddy generate:component-meta # generates component meta
|
|
200
|
+
buddy generate:all # runs all generators
|
|
201
|
+
|
|
202
|
+
# generates your application key
|
|
203
|
+
buddy key:generate # generates your application key
|
|
204
|
+
|
|
205
|
+
# generate your TypeScript declarations
|
|
206
|
+
buddy types:generate # generates types for your components, functions, & views
|
|
207
|
+
buddy types:fix # auto-fixes types for your components, functions, & views
|
|
208
|
+
|
|
209
|
+
buddy domains # alias for `buddy domains:list`
|
|
210
|
+
buddy domains:add stacksjs.com # adds a domain
|
|
211
|
+
buddy domains:remove stacksjs.com # removes a domain
|
|
212
|
+
buddy domains:list # lists all domains
|
|
213
|
+
buddy domains:update # apply ./config/dns.ts updates
|
|
214
|
+
buddy domains:purchase stacksjs.com # purchase a new domain
|
|
215
|
+
|
|
216
|
+
# test your stack
|
|
217
|
+
buddy test # runs test suite (unit & e2e)
|
|
218
|
+
buddy test:coverage # runs test coverage
|
|
219
|
+
buddy test:types # runs typecheck
|
|
220
|
+
|
|
221
|
+
# the CLI may be triggered in any
|
|
222
|
+
# of the following syntax:
|
|
223
|
+
stx fresh
|
|
224
|
+
buddy fresh
|
|
225
|
+
bud fresh
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
</details>
|
|
229
|
+
|
|
230
|
+
Read more here about the Stacks CLI in the documentation.
|
|
231
|
+
|
|
232
|
+
## Features
|
|
233
|
+
|
|
234
|
+
The Stacks framework is a harmony of several “engines” to build any web and/or desktop application, in highly scalable & privacy-friendly ways. It consists of the following engines:
|
|
235
|
+
|
|
236
|
+
### Frontend Development
|
|
237
|
+
|
|
238
|
+
_Develop dynamic UIs with helpers for atomic design, and much more._
|
|
239
|
+
|
|
240
|
+
- 🧩 **Components** _primitive to develop user interfaces_
|
|
241
|
+
- 🤖 **Functions** _primitive to develop business logic (and grant your UI superpowers)_
|
|
242
|
+
- 🎨 **UI Kit** _modern & deeply-integrated components_
|
|
243
|
+
- 🌐 **Web** _“a routing & templating engine that makes sense”_
|
|
244
|
+
- 🖥️ **Desktop** _transforms your web app into a desktop app, plus more_
|
|
245
|
+
- 📝 **Documentation** _markdown-based documentation, auto-generated_
|
|
246
|
+
- 📚 **Library** _auto-builds & manages component & function libraries_
|
|
247
|
+
- ⚡️ Powered by Bun, STX, Tauri, Crosswind, and BunPress
|
|
248
|
+
|
|
249
|
+
### Backend Development
|
|
250
|
+
|
|
251
|
+
_Develop serverless (or server) functions with countless helpers to build scalable & fast APIs._
|
|
252
|
+
|
|
253
|
+
- 🪄 **AI** _deep AI integrations & foundational model access_
|
|
254
|
+
- 🤖 **APIs** _scalability & maintainability built-in_
|
|
255
|
+
- 🏎️ **Cache** _unified caching for DynamoDB, Redis and more_
|
|
256
|
+
- ⚙️ **CLIs** _create beautiful CLIs for Linux, Windows, and Mac (dependency-free binaries)_
|
|
257
|
+
- 📀 **Database** _DynamoDB, SQLite, MySQL, Postgres, and more_
|
|
258
|
+
- 👾 **Errors** _native type-safe error handling_
|
|
259
|
+
- 🗓️ **Events** _functional event (front & backend) communication_
|
|
260
|
+
- 📢 **Notifications** _emails, SMSs, direct, and push notifications & webhooks_
|
|
261
|
+
- 🗺️ **ORM** _automated schemas for scale & a pretty API_
|
|
262
|
+
- 💳 **Payments** _unified API for one-off & subscription billing methods for Stripe_
|
|
263
|
+
- ⚙️ **Queues** _run any heavy workload in the background_
|
|
264
|
+
- 🛠️ **Query Builder** _powerful, type-safe SQL query builder_
|
|
265
|
+
- 💬 **Realtime** _“everything you need to build dynamic real-time apps”_
|
|
266
|
+
- 🧭 **Router** _smart routing, file-based or Laravel-like_
|
|
267
|
+
- 🔎 **Search Engine** _smart searching, advanced filtering & sorting, pagination, headless UI_
|
|
268
|
+
- 💾 **Storage** _a secure-by-default File API that feels right_
|
|
269
|
+
- 🧪 **Tinker** _a powerful TypeScript REPL_
|
|
270
|
+
- 🌪️ **Validation** _e2e type-safety (true frontend & backend harmony)_
|
|
271
|
+
|
|
272
|
+
### Cloud Development
|
|
273
|
+
|
|
274
|
+
_Develop & maintain cloud infrastructure with ease. “Imagine Vercel, Vapor and Forge having been unified.”_
|
|
275
|
+
|
|
276
|
+
- ☁️ **Server** _local development server & production-ready servers out-of-the-box_
|
|
277
|
+
- ⛅️ **Serverless** _on-demand, auto-scaling, zero maintenance_
|
|
278
|
+
- ⏰ **Alarms** _built-in cloud infrastructure monitoring to avoid surprises_
|
|
279
|
+
- 🚏 **CDN** _zero-config, low-latency, request life-cycle hooks, optimized request compressions (Brotli & gzip)_
|
|
280
|
+
- 🔀 **Domain** _version-controlled & zero-config domain management (e.g. DNS management)_
|
|
281
|
+
- 🤖 **AI** _fine-tune a foundational model using your application data_
|
|
282
|
+
- 📧 **Email** _secure & zero-setup <easy-peasy@custom-domains.com> mailboxes_
|
|
283
|
+
- 🔐 **Firewall** _native web application firewall support_
|
|
284
|
+
- 📦 **Storage** _unlimited cloud storage & automatic backups_
|
|
285
|
+
- 🚜 **Maintenance** _maintain your cloud infrastructure with ease using Buddy & Stacks_
|
|
286
|
+
- 🚦 **Infrastructure as Code** _version-controlled cloud infrastructure (AWS, Google next?)_
|
|
287
|
+
|
|
288
|
+
### CI/CD
|
|
289
|
+
|
|
290
|
+
_Focus on coding, not publishing._
|
|
291
|
+
|
|
292
|
+
- 🚀 **Deployment Manager** _takes the sweat out of production deployments—zero-setup push-to-deploy_
|
|
293
|
+
- 0️⃣ **Zero Downtime** _deploy with confidence using a zero-downtime deployment strategy_
|
|
294
|
+
- 📫 **Release Manager** _libraries (component & function) auto-published to npm, git helpers, and more_
|
|
295
|
+
|
|
296
|
+
### Developer Experience (DX)
|
|
297
|
+
|
|
298
|
+
Convention over configuration, while staying wholly configurable. _No more boilerplate._
|
|
299
|
+
|
|
300
|
+
- 💎 **Automated Upgrades** _no need to worry about upgrading to the latest versions, Stacks upgrades you_
|
|
301
|
+
- 🦋 **Pretty Dev URLs** _your-project.localhost instead of localhost:3000_
|
|
302
|
+
- 💡 **IDE Integration** _auto-completions, inline docs & a powerful VS Code setup_
|
|
303
|
+
- 🪄 **Zero-Config** _yet highly configurable—convention over configuration_
|
|
304
|
+
- 💅 **Linter & Formatter** _auto-configured & built into your IDE_
|
|
305
|
+
- 💪🏼 **Type Strong** _built-in e2e type-safety_
|
|
306
|
+
- ✨ **Git Workflows** _committing with ease_
|
|
307
|
+
- 🚗 **Auto Imports** _your components & functions, including date, string, array, & object helpers_
|
|
308
|
+
- ⏩ **Code Snippets** _goodbye to the boilerplate code—thank you Sarah Drasner_
|
|
309
|
+
- 🔤 **Spell Checker** _be notified once there are typos_
|
|
310
|
+
- 🛠️ **Essential Utilities** _powers at your fingertips. Collections, STX composables, and more_
|
|
311
|
+
- 👥 **Team Management** _manage your team & their permissions_
|
|
312
|
+
- 🧪 **Streamlined Testing** _unit & e2e tests powered by Bun, Vitest & Playwright_
|
|
313
|
+
|
|
314
|
+
No matter whether you are a beginner or an expert, the approachable Stacks design allows you to learn at your own pace, using our thorough documentation covering every aspect of the framework. Stacks is extremely beginner & expert-friendly.
|
|
315
|
+
|
|
316
|
+
Develop beautiful, reactive, composable UIs without learning a new set of languages. HTML, CSS, and minimal JavaScript—that’s all you need to dive in now! _Or TypeScript ✌🏼_
|
|
317
|
+
|
|
318
|
+
> _An actual rapid application development framework for all Full Stack needs. Next-level simplicity & DX._
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Syntax and Formatting specifics
|
|
3
|
+
globs:
|
|
4
|
+
---
|
|
5
|
+
## Syntax and Formatting
|
|
6
|
+
|
|
7
|
+
- Use the "function" keyword for pure functions
|
|
8
|
+
- Avoid unnecessary curly braces in conditionals; use concise syntax for simple statements
|
|
9
|
+
- Make sure everything is properly commented
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Testing specifics
|
|
3
|
+
globs:
|
|
4
|
+
---
|
|
5
|
+
## Testing
|
|
6
|
+
|
|
7
|
+
- Write tests for all functions, types, interfaces, and ensure examples are accurate
|
|
8
|
+
- The `./test` directory is where the tests are stored
|
|
9
|
+
- Use `bun test` to run the tests
|
|
10
|
+
- Use bun native modules for testing from `import { x, y, z } from 'bun:test'`
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: TypeScript Usage specifics
|
|
3
|
+
globs: docs/**/*.md
|
|
4
|
+
---
|
|
5
|
+
## TypeScript Usage
|
|
6
|
+
|
|
7
|
+
- Use TypeScript for all code; prefer interfaces over types
|
|
8
|
+
- Avoid enums; use `maps` instead, or `as const`
|
|
9
|
+
- Use functional components with TypeScript interfaces
|
|
File without changes
|