@better-fullstack/types 2.1.5 → 2.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/{defaults-azh56xa4.d.mts → defaults-CklPcgSP.d.mts} +2 -2
  2. package/dist/defaults-CklPcgSP.d.mts.map +1 -0
  3. package/dist/{defaults-u9UAambo.mjs → defaults-DNnZX9er.mjs} +2 -1
  4. package/dist/defaults-DNnZX9er.mjs.map +1 -0
  5. package/dist/defaults.d.mts +3 -3
  6. package/dist/defaults.mjs +1 -1
  7. package/dist/index.d.mts +180 -6
  8. package/dist/index.d.mts.map +1 -1
  9. package/dist/index.mjs +1560 -5
  10. package/dist/index.mjs.map +1 -1
  11. package/dist/json-schema.d.mts +604 -320
  12. package/dist/json-schema.d.mts.map +1 -1
  13. package/dist/json-schema.mjs +1 -1
  14. package/dist/{schemas-ZxRzd5TP.mjs → schemas-BXDvWDRp.mjs} +52 -10
  15. package/dist/schemas-BXDvWDRp.mjs.map +1 -0
  16. package/dist/{schemas-C3iF9TRm.d.mts → schemas-Dby5Bb6H.d.mts} +867 -593
  17. package/dist/schemas-Dby5Bb6H.d.mts.map +1 -0
  18. package/dist/schemas.d.mts +2 -2
  19. package/dist/schemas.mjs +2 -2
  20. package/dist/{stack-graph-BwtoYnJg.mjs → stack-graph-BAad0vv4.mjs} +48 -10
  21. package/dist/stack-graph-BAad0vv4.mjs.map +1 -0
  22. package/dist/{stack-graph-CiXONkqh.d.mts → stack-graph-DJy-Qxta.d.mts} +2 -2
  23. package/dist/stack-graph-DJy-Qxta.d.mts.map +1 -0
  24. package/dist/stack-graph.d.mts +3 -3
  25. package/dist/stack-graph.mjs +2 -2
  26. package/dist/{stack-translation-DNT-iMAE.mjs → stack-translation-BWOFnbOh.mjs} +280 -33
  27. package/dist/stack-translation-BWOFnbOh.mjs.map +1 -0
  28. package/dist/{stack-translation-BNwlAM1B.d.mts → stack-translation-C6Tubleh.d.mts} +19 -11
  29. package/dist/stack-translation-C6Tubleh.d.mts.map +1 -0
  30. package/dist/stack-translation.d.mts +4 -4
  31. package/dist/stack-translation.mjs +3 -3
  32. package/dist/{types-BG-DsHQ9.d.mts → types-B-Q8xLi7.d.mts} +5 -3
  33. package/dist/types-B-Q8xLi7.d.mts.map +1 -0
  34. package/dist/types.d.mts +3 -3
  35. package/package.json +1 -1
  36. package/dist/defaults-azh56xa4.d.mts.map +0 -1
  37. package/dist/defaults-u9UAambo.mjs.map +0 -1
  38. package/dist/schemas-C3iF9TRm.d.mts.map +0 -1
  39. package/dist/schemas-ZxRzd5TP.mjs.map +0 -1
  40. package/dist/stack-graph-BwtoYnJg.mjs.map +0 -1
  41. package/dist/stack-graph-CiXONkqh.d.mts.map +0 -1
  42. package/dist/stack-translation-BNwlAM1B.d.mts.map +0 -1
  43. package/dist/stack-translation-DNT-iMAE.mjs.map +0 -1
  44. package/dist/types-BG-DsHQ9.d.mts.map +0 -1
package/dist/index.mjs CHANGED
@@ -1,9 +1,1488 @@
1
- import { $ as DotnetJobQueueSchema, $i as TemplateSchema, $n as MOBILE_STORAGE_VALUES, $r as RUST_CLI_VALUES, $t as FileUploadSchema, A as CachingSchema, Ai as SHADCN_BASE_VALUES, An as JAVA_AUTH_VALUES, Ar as PaymentsSchema, At as ElixirCachingSchema, B as DOTNET_OBSERVABILITY_VALUES, Bi as ShadcnBaseSchema, Bn as JavaBuildToolSchema, Br as PythonOrmSchema, Bt as ElixirRealtimeSchema, C as BetterTStackConfigSchema, Ci as RustOrmSchema, Cn as GoRealtimeSchema, Cr as PYTHON_QUALITY_VALUES, Ct as ELIXIR_WEB_FRAMEWORK_VALUES, D as CMS_VALUES, Di as SEARCH_VALUES, Dn as I18nSchema, Dr as PYTHON_VALIDATION_VALUES, Dt as EffectSchema, E as CMSSchema, Ei as RustWebFrameworkSchema, En as I18N_VALUES, Er as PYTHON_TESTING_VALUES, Et as EcosystemSchema, F as DOTNET_API_VALUES, Fi as SHADCN_STYLE_VALUES, Fn as JAVA_TESTING_LIBRARIES_VALUES, Fr as PythonAuthSchema, Ft as ElixirJsonSchema, G as DOTNET_WEB_FRAMEWORK_VALUES, Gi as ShadcnStyleSchema, Gn as JavaWebFrameworkSchema, Gr as PythonValidationSchema, Gt as ExamplesSchema, H as DOTNET_REALTIME_VALUES, Hi as ShadcnFontSchema, Hn as JavaLoggingSchema, Hr as PythonRealtimeSchema, Ht as ElixirValidationSchema, I as DOTNET_AUTH_VALUES, Ii as STATE_MANAGEMENT_VALUES, In as JAVA_WEB_FRAMEWORK_VALUES, Ir as PythonCachingSchema, It as ElixirLibrariesSchema, J as DirectoryConflictSchema, Ji as StackPartSchema, Jn as LoggingSchema, Jr as REALTIME_VALUES, Jt as FILE_UPLOAD_VALUES, K as DatabaseSchema, Ki as StackPartEcosystemSchema, Kn as JobQueueSchema, Kr as PythonWebFrameworkSchema, Kt as FEATURE_FLAGS_VALUES, L as DOTNET_CACHING_VALUES, Li as SearchSchema, Ln as JOB_QUEUE_VALUES, Lr as PythonCliSchema, Lt as ElixirObservabilitySchema, M as DATABASE_SETUP_VALUES, Mi as SHADCN_FONT_VALUES, Mn as JAVA_LIBRARIES_VALUES, Mr as ProjectNameSchema, Mt as ElixirEmailSchema, N as DATABASE_VALUES, Ni as SHADCN_ICON_LIBRARY_VALUES, Nn as JAVA_LOGGING_VALUES, Nr as PythonAiSchema, Nt as ElixirHttpSchema, O as CSSFrameworkSchema, Oi as SERVER_DEPLOY_VALUES, On as InitResultSchema, Or as PYTHON_WEB_FRAMEWORK_VALUES, Ot as ElixirApiSchema, P as DIRECTORY_CONFLICT_VALUES, Pi as SHADCN_RADIUS_VALUES, Pn as JAVA_ORM_VALUES, Pr as PythonApiSchema, Pt as ElixirJobsSchema, Q as DotnetDeploySchema, Qi as TESTING_VALUES, Qn as MOBILE_PUSH_VALUES, Qr as RUST_CACHING_VALUES, Qt as FileStorageSchema, R as DOTNET_DEPLOY_VALUES, Ri as ServerDeploySchema, Rn as JavaApiSchema, Rr as PythonGraphqlSchema, Rt as ElixirOrmSchema, S as BetterTStackConfigFileSchema, Si as RustObservabilitySchema, Sn as GoOrmSchema, Sr as PYTHON_ORM_VALUES, St as ELIXIR_VALIDATION_VALUES, T as CLIInputSchema, Ti as RustTemplatingSchema, Tn as GoWebFrameworkSchema, Tr as PYTHON_TASK_QUEUE_VALUES, Tt as EXAMPLES_VALUES, U as DOTNET_TESTING_VALUES, Ui as ShadcnIconLibrarySchema, Un as JavaOrmSchema, Ur as PythonTaskQueueSchema, Ut as ElixirWebFrameworkSchema, V as DOTNET_ORM_VALUES, Vi as ShadcnColorThemeSchema, Vn as JavaLibrariesSchema, Vr as PythonQualitySchema, Vt as ElixirTestingSchema, W as DOTNET_VALIDATION_VALUES, Wi as ShadcnRadiusSchema, Wn as JavaTestingLibrariesSchema, Wr as PythonTestingSchema, Wt as EmailSchema, X as DotnetAuthSchema, Xi as StateManagementSchema, Xn as MOBILE_NAVIGATION_VALUES, Xr as RUST_API_VALUES, Xt as FRONTEND_VALUES, Y as DotnetApiSchema, Yi as StackPartSourceSchema, Yn as MOBILE_DEEP_LINKING_VALUES, Yr as RUNTIME_VALUES, Yt as FORMS_VALUES, Z as DotnetCachingSchema, Zi as TEMPLATE_VALUES, Zn as MOBILE_OTA_VALUES, Zr as RUST_AUTH_VALUES, Zt as FeatureFlagsSchema, _ as AuthSchema, _i as RustErrorHandlingSchema, _n as GoCliSchema, _r as PYTHON_AUTH_VALUES, _t as ELIXIR_OBSERVABILITY_VALUES, a as ANALYTICS_VALUES, aa as VERSION_CHANNEL_VALUES, ai as RUST_OBSERVABILITY_VALUES, an as GO_CLI_VALUES, ar as MobilePushSchema, at as DotnetWebFrameworkSchema, b as BetterFullstackConfigFileSchema, bi as RustLoggingSchema, bn as GoMessageQueueSchema, br as PYTHON_GRAPHQL_VALUES, bt as ELIXIR_REALTIME_VALUES, c as API_VALUES, ca as VersionChannelSchema, ci as RUST_TEMPLATING_VALUES, cn as GO_MESSAGE_QUEUE_VALUES, cr as MobileUISchema, ct as ELIXIR_API_VALUES, d as AddInputSchema, di as RealtimeSchema, dn as GO_REALTIME_VALUES, dr as ORM_VALUES, dt as ELIXIR_DEPLOY_VALUES, ea as TestingSchema, ei as RUST_ERROR_HANDLING_VALUES, en as FormsSchema, er as MOBILE_TESTING_VALUES, et as DotnetObservabilitySchema, f as AddonsSchema, fi as RuntimeSchema, fn as GO_TESTING_VALUES, fr as ObservabilitySchema, ft as ELIXIR_EMAIL_VALUES, g as AstroIntegrationSchema, gi as RustCliSchema, gn as GoCachingSchema, gr as PYTHON_API_VALUES, gt as ELIXIR_LIBRARIES_VALUES, h as AnimationSchema, hi as RustCachingSchema, hn as GoAuthSchema, hr as PYTHON_AI_VALUES, ht as ELIXIR_JSON_VALUES, i as AI_VALUES, ia as VECTOR_DB_VALUES, ii as RUST_MESSAGE_QUEUE_VALUES, in as GO_CACHING_VALUES, ir as MobileOTASchema, it as DotnetValidationSchema, j as CreateInputSchema, ji as SHADCN_COLOR_THEME_VALUES, jn as JAVA_BUILD_TOOL_VALUES, jr as ProjectConfigSchema, jt as ElixirDeploySchema, k as CSS_FRAMEWORK_VALUES, ki as SHADCN_BASE_COLOR_VALUES, kn as JAVA_API_VALUES, kr as PackageManagerSchema, kt as ElixirAuthSchema, l as ASTRO_INTEGRATION_VALUES, la as WEB_DEPLOY_VALUES, li as RUST_WEB_FRAMEWORK_VALUES, ln as GO_OBSERVABILITY_VALUES, lr as OBSERVABILITY_VALUES, lt as ELIXIR_AUTH_VALUES, m as AnalyticsSchema, mi as RustAuthSchema, mn as GoApiSchema, mr as PAYMENTS_VALUES, mt as ELIXIR_JOBS_VALUES, n as AISchema, na as UI_LIBRARY_VALUES, ni as RUST_LIBRARIES_VALUES, nn as GO_API_VALUES, nr as MobileDeepLinkingSchema, nt as DotnetRealtimeSchema, o as ANIMATION_VALUES, oa as ValidationSchema, oi as RUST_ORM_VALUES, on as GO_CONFIG_VALUES, or as MobileStorageSchema, ot as ECOSYSTEM_VALUES, p as AiDocsSchema, pi as RustApiSchema, pn as GO_WEB_FRAMEWORK_VALUES, pr as PACKAGE_MANAGER_VALUES, pt as ELIXIR_HTTP_VALUES, q as DatabaseSetupSchema, qi as StackPartRoleSchema, qn as LOGGING_VALUES, qr as RATE_LIMIT_VALUES, qt as FILE_STORAGE_VALUES, r as AI_DOCS_VALUES, ra as VALIDATION_VALUES, ri as RUST_LOGGING_VALUES, rn as GO_AUTH_VALUES, rr as MobileNavigationSchema, rt as DotnetTestingSchema, s as APISchema, sa as VectorDbSchema, si as RUST_REALTIME_VALUES, sn as GO_LOGGING_VALUES, sr as MobileTestingSchema, st as EFFECT_VALUES, t as ADDONS_VALUES, ta as UILibrarySchema, ti as RUST_FRONTEND_VALUES, tn as FrontendSchema, tr as MOBILE_UI_VALUES, tt as DotnetOrmSchema, u as AUTH_VALUES, ua as WebDeploySchema, ui as RateLimitSchema, un as GO_ORM_VALUES, ur as ORMSchema, ut as ELIXIR_CACHING_VALUES, v as BACKEND_VALUES, vi as RustFrontendSchema, vn as GoConfigSchema, vr as PYTHON_CACHING_VALUES, vt as ELIXIR_ORM_VALUES, w as CACHING_VALUES, wi as RustRealtimeSchema, wn as GoTestingSchema, wr as PYTHON_REALTIME_VALUES, wt as EMAIL_VALUES, x as BetterFullstackConfigSchema, xi as RustMessageQueueSchema, xn as GoObservabilitySchema, xr as PYTHON_OBSERVABILITY_VALUES, xt as ELIXIR_TESTING_VALUES, y as BackendSchema, yi as RustLibrariesSchema, yn as GoLoggingSchema, yr as PYTHON_CLI_VALUES, yt as ELIXIR_QUALITY_VALUES, z as DOTNET_JOB_QUEUE_VALUES, zi as ShadcnBaseColorSchema, zn as JavaAuthSchema, zr as PythonObservabilitySchema, zt as ElixirQualitySchema } from "./schemas-ZxRzd5TP.mjs";
1
+ import { $ as DotnetJobQueueSchema, $i as TEMPLATE_VALUES, $n as MOBILE_OTA_VALUES, $r as RUST_AUTH_VALUES, $t as FileUploadSchema, A as CachingSchema, Ai as SERVER_DEPLOY_VALUES, An as JAVA_AUTH_VALUES, Ar as PYTHON_WEB_FRAMEWORK_VALUES, At as ElixirCachingSchema, B as DOTNET_OBSERVABILITY_VALUES, Bi as ServerDeploySchema, Bn as JavaAuthSchema, Br as PythonGraphqlSchema, Bt as ElixirRealtimeSchema, C as BetterTStackConfigSchema, Ci as RustMessageQueueSchema, Cn as GoRealtimeSchema, Cr as PYTHON_OBSERVABILITY_VALUES, Ct as ELIXIR_WEB_FRAMEWORK_VALUES, D as CMS_VALUES, Di as RustTemplatingSchema, Dn as I18nSchema, Dr as PYTHON_TASK_QUEUE_VALUES, Dt as EffectSchema, E as CMSSchema, Ei as RustRealtimeSchema, En as I18N_VALUES, Er as PYTHON_REALTIME_VALUES, Et as EcosystemSchema, F as DOTNET_API_VALUES, Fi as SHADCN_ICON_LIBRARY_VALUES, Fn as JAVA_ORM_VALUES, Fr as PythonAiSchema, Ft as ElixirJsonSchema, G as DOTNET_WEB_FRAMEWORK_VALUES, Gi as ShadcnIconLibrarySchema, Gn as JavaOrmSchema, Gr as PythonTaskQueueSchema, Gt as ExamplesSchema, H as DOTNET_REALTIME_VALUES, Hi as ShadcnBaseSchema, Hn as JavaLanguageSchema, Hr as PythonOrmSchema, Ht as ElixirValidationSchema, I as DOTNET_AUTH_VALUES, Ii as SHADCN_RADIUS_VALUES, In as JAVA_TESTING_LIBRARIES_VALUES, Ir as PythonApiSchema, It as ElixirLibrariesSchema, J as DirectoryConflictSchema, Ji as StackPartEcosystemSchema, Jn as JobQueueSchema, Jr as PythonWebFrameworkSchema, Jt as FILE_UPLOAD_VALUES, K as DatabaseSchema, Ki as ShadcnRadiusSchema, Kn as JavaTestingLibrariesSchema, Kr as PythonTestingSchema, Kt as FEATURE_FLAGS_VALUES, L as DOTNET_CACHING_VALUES, Li as SHADCN_STYLE_VALUES, Ln as JAVA_WEB_FRAMEWORK_VALUES, Lr as PythonAuthSchema, Lt as ElixirObservabilitySchema, M as DATABASE_SETUP_VALUES, Mi as SHADCN_BASE_VALUES, Mn as JAVA_LANGUAGE_VALUES, Mr as PaymentsSchema, Mt as ElixirEmailSchema, N as DATABASE_VALUES, Ni as SHADCN_COLOR_THEME_VALUES, Nn as JAVA_LIBRARIES_VALUES, Nr as ProjectConfigSchema, Nt as ElixirHttpSchema, O as CSSFrameworkSchema, Oi as RustWebFrameworkSchema, On as InitResultSchema, Or as PYTHON_TESTING_VALUES, Ot as ElixirApiSchema, P as DIRECTORY_CONFLICT_VALUES, Pi as SHADCN_FONT_VALUES, Pn as JAVA_LOGGING_VALUES, Pr as ProjectNameSchema, Pt as ElixirJobsSchema, Q as DotnetDeploySchema, Qi as StateManagementSchema, Qn as MOBILE_NAVIGATION_VALUES, Qr as RUST_API_VALUES, Qt as FileStorageSchema, R as DOTNET_DEPLOY_VALUES, Ri as STATE_MANAGEMENT_VALUES, Rn as JOB_QUEUE_VALUES, Rr as PythonCachingSchema, Rt as ElixirOrmSchema, S as BetterTStackConfigFileSchema, Si as RustLoggingSchema, Sn as GoOrmSchema, Sr as PYTHON_GRAPHQL_VALUES, St as ELIXIR_VALIDATION_VALUES, T as CLIInputSchema, Ti as RustOrmSchema, Tn as GoWebFrameworkSchema, Tr as PYTHON_QUALITY_VALUES, Tt as EXAMPLES_VALUES, U as DOTNET_TESTING_VALUES, Ui as ShadcnColorThemeSchema, Un as JavaLibrariesSchema, Ur as PythonQualitySchema, Ut as ElixirWebFrameworkSchema, V as DOTNET_ORM_VALUES, Vi as ShadcnBaseColorSchema, Vn as JavaBuildToolSchema, Vr as PythonObservabilitySchema, Vt as ElixirTestingSchema, W as DOTNET_VALIDATION_VALUES, Wi as ShadcnFontSchema, Wn as JavaLoggingSchema, Wr as PythonRealtimeSchema, Wt as EmailSchema, X as DotnetAuthSchema, Xi as StackPartSchema, Xn as LoggingSchema, Xr as REALTIME_VALUES, Xt as FRONTEND_VALUES, Y as DotnetApiSchema, Yi as StackPartRoleSchema, Yn as LOGGING_VALUES, Yr as RATE_LIMIT_VALUES, Yt as FORMS_VALUES, Z as DotnetCachingSchema, Zi as StackPartSourceSchema, Zn as MOBILE_DEEP_LINKING_VALUES, Zr as RUNTIME_VALUES, Zt as FeatureFlagsSchema, _ as AuthSchema, _i as RustCachingSchema, _n as GoCliSchema, _r as PYTHON_AI_VALUES, _t as ELIXIR_OBSERVABILITY_VALUES, a as ANALYTICS_VALUES, aa as VALIDATION_VALUES, ai as RUST_LOGGING_VALUES, an as GO_CLI_VALUES, ar as MobileNavigationSchema, at as DotnetWebFrameworkSchema, b as BetterFullstackConfigFileSchema, bi as RustFrontendSchema, bn as GoMessageQueueSchema, br as PYTHON_CACHING_VALUES, bt as ELIXIR_REALTIME_VALUES, c as API_VALUES, ca as ValidationSchema, ci as RUST_ORM_VALUES, cn as GO_MESSAGE_QUEUE_VALUES, cr as MobileStorageSchema, ct as ELIXIR_API_VALUES, d as AddInputSchema, da as WEB_DEPLOY_VALUES, di as RUST_WEB_FRAMEWORK_VALUES, dn as GO_REALTIME_VALUES, dr as OBSERVABILITY_VALUES, dt as ELIXIR_DEPLOY_VALUES, ea as TESTING_VALUES, ei as RUST_CACHING_VALUES, en as FormsSchema, er as MOBILE_PUSH_VALUES, et as DotnetObservabilitySchema, f as AddonsSchema, fa as WORKSPACE_SHAPE_VALUES, fi as RateLimitSchema, fn as GO_TESTING_VALUES, fr as ORMSchema, ft as ELIXIR_EMAIL_VALUES, g as AstroIntegrationSchema, gi as RustAuthSchema, gn as GoCachingSchema, gr as PAYMENTS_VALUES, gt as ELIXIR_LIBRARIES_VALUES, h as AnimationSchema, hi as RustApiSchema, hn as GoAuthSchema, hr as PACKAGE_MANAGER_VALUES, ht as ELIXIR_JSON_VALUES, i as AI_VALUES, ia as UI_LIBRARY_VALUES, ii as RUST_LIBRARIES_VALUES, in as GO_CACHING_VALUES, ir as MobileDeepLinkingSchema, it as DotnetValidationSchema, j as CreateInputSchema, ji as SHADCN_BASE_COLOR_VALUES, jn as JAVA_BUILD_TOOL_VALUES, jr as PackageManagerSchema, jt as ElixirDeploySchema, k as CSS_FRAMEWORK_VALUES, ki as SEARCH_VALUES, kn as JAVA_API_VALUES, kr as PYTHON_VALIDATION_VALUES, kt as ElixirAuthSchema, l as ASTRO_INTEGRATION_VALUES, la as VectorDbSchema, li as RUST_REALTIME_VALUES, ln as GO_OBSERVABILITY_VALUES, lr as MobileTestingSchema, lt as ELIXIR_AUTH_VALUES, m as AnalyticsSchema, ma as WorkspaceShapeSchema, mi as RuntimeSchema, mn as GoApiSchema, mr as ObservabilitySchema, mt as ELIXIR_JOBS_VALUES, n as AISchema, na as TestingSchema, ni as RUST_ERROR_HANDLING_VALUES, nn as GO_API_VALUES, nr as MOBILE_TESTING_VALUES, nt as DotnetRealtimeSchema, o as ANIMATION_VALUES, oa as VECTOR_DB_VALUES, oi as RUST_MESSAGE_QUEUE_VALUES, on as GO_CONFIG_VALUES, or as MobileOTASchema, ot as ECOSYSTEM_VALUES, p as AiDocsSchema, pa as WebDeploySchema, pi as RealtimeSchema, pn as GO_WEB_FRAMEWORK_VALUES, pr as ORM_VALUES, pt as ELIXIR_HTTP_VALUES, q as DatabaseSetupSchema, qi as ShadcnStyleSchema, qn as JavaWebFrameworkSchema, qr as PythonValidationSchema, qt as FILE_STORAGE_VALUES, r as AI_DOCS_VALUES, ra as UILibrarySchema, ri as RUST_FRONTEND_VALUES, rn as GO_AUTH_VALUES, rr as MOBILE_UI_VALUES, rt as DotnetTestingSchema, s as APISchema, sa as VERSION_CHANNEL_VALUES, si as RUST_OBSERVABILITY_VALUES, sn as GO_LOGGING_VALUES, sr as MobilePushSchema, st as EFFECT_VALUES, t as ADDONS_VALUES, ta as TemplateSchema, ti as RUST_CLI_VALUES, tn as FrontendSchema, tr as MOBILE_STORAGE_VALUES, tt as DotnetOrmSchema, u as AUTH_VALUES, ua as VersionChannelSchema, ui as RUST_TEMPLATING_VALUES, un as GO_ORM_VALUES, ur as MobileUISchema, ut as ELIXIR_CACHING_VALUES, v as BACKEND_VALUES, vi as RustCliSchema, vn as GoConfigSchema, vr as PYTHON_API_VALUES, vt as ELIXIR_ORM_VALUES, w as CACHING_VALUES, wi as RustObservabilitySchema, wn as GoTestingSchema, wr as PYTHON_ORM_VALUES, wt as EMAIL_VALUES, x as BetterFullstackConfigSchema, xi as RustLibrariesSchema, xn as GoObservabilitySchema, xr as PYTHON_CLI_VALUES, xt as ELIXIR_TESTING_VALUES, y as BackendSchema, yi as RustErrorHandlingSchema, yn as GoLoggingSchema, yr as PYTHON_AUTH_VALUES, yt as ELIXIR_QUALITY_VALUES, z as DOTNET_JOB_QUEUE_VALUES, zi as SearchSchema, zn as JavaApiSchema, zr as PythonCliSchema, zt as ElixirQualitySchema } from "./schemas-BXDvWDRp.mjs";
2
2
  import "./types.mjs";
3
- import { $ as getCategoryDisplayName, A as getCompatibleFormLibraries, B as validateAddonCompatibility, C as allowedApisForFrontends, D as getApiFrontendCompatibilityIssue, E as getAIFrontendCompatibilityIssue, F as isOptionCompatible, G as GO_CATEGORY_ORDER, H as CATEGORY_ORDER, I as isWebFrontend, J as PYTHON_CATEGORY_ORDER, K as JAVA_CATEGORY_ORDER, L as requiresChatSdkVercelAI, M as getDisabledReason, N as hasWebStyling, O as getCompatibleAddons, P as isFrontendAllowedWithBackend, Q as getCategoryCliValues, R as requiresChatSdkVercelAIForSelection, S as usesVirtualNoneStackSelection, T as evaluateCompatibility, U as DOTNET_CATEGORY_ORDER, V as validateProjectName, W as ELIXIR_CATEGORY_ORDER, X as RUST_CATEGORY_ORDER, Y as REACT_NATIVE_CATEGORY_ORDER, Z as TYPESCRIPT_CATEGORY_ORDER, _ as parseStackSelectionFromSearch, a as STACK_SELECTION_URL_KEYS, at as getCapabilityDefinitions, b as stackSelectionToCliComparableConfig, c as cloneDefaultStackSelection, ct as normalizeCapabilitySelection, d as isArrayStackSelectionKey, et as getCategoryOptionIds, f as isCliDefaultStackSelection, g as normalizeStackSelectionValue, h as normalizeStackSelection, i as STACK_SELECTION_OPTION_CATEGORY_BY_KEY, it as normalizeOptionId, j as getCompatibleUILibraries, k as getCompatibleCSSFrameworks, l as createStackSelectionSearchParams, m as isStackSelectionDefault, n as NON_OPTION_STACK_SELECTION_KEYS, nt as getOptionMetadata, o as VIRTUAL_NONE_MULTI_SELECT_STACK_SELECTION_KEYS, ot as getCapabilityDisabledReason, p as isGraphStackSelection, q as OPTION_CATEGORY_METADATA, r as STACK_SELECTION_KEYS, rt as isMultiSelectCategory, s as cliInputToProjectConfigPartial, st as getSupportedCapabilityOptions, t as DEFAULT_STACK_SELECTION, tt as getCategoryOrderForEcosystem, u as generateStackSelectionCommand, v as parseStackSelectionFromUrlRecord, w as analyzeStackCompatibility, x as stackSelectionToProjectConfig, y as processCliArrayOption, z as splitFrontends } from "./stack-translation-DNT-iMAE.mjs";
4
- import { C as isBackendUtilsCompatibleBackend, E as requiresChatSdkVercelAIForExamples, S as hasTauriCompatibleFrontend, T as isExampleChatSdkAllowed, _ as UI_LIBRARY_COMPATIBILITY, a as getAddonStackPartBinding, b as hasPWACompatibleFrontend, c as getStackPartOptions, d as materializeProvidedStackParts, f as parseStackPartSpecs, g as BACKEND_UTILS_COMPATIBLE_BACKENDS, h as validateStackParts, i as formatStackPartSpec, l as getStackToolDefinitions, m as stackPartsToLegacyProjectConfigPartial, n as STACK_TOOL_DEFINITIONS, o as getRoleTargetPath, p as stackGraphToLegacyProjectConfigForEcosystem, r as createStackPart, s as getStackPartCompatibilityIssueForPart, t as ELIXIR_UNSUPPORTED_GRAPH_TOOLS, u as legacyProjectConfigToStackParts, v as getUnsupportedWebDeployFrontend, w as isExampleAIAllowed, x as hasTanStackAICompatibleFrontend, y as hasDockerComposeCompatibleFrontend } from "./stack-graph-BwtoYnJg.mjs";
5
- import { t as createCliDefaultProjectConfigBase } from "./defaults-u9UAambo.mjs";
3
+ import { $ as getCategoryCliValues, A as getCompatibleFormLibraries, B as stackQualifiesForSingleApp, C as allowedApisForFrontends, D as getApiFrontendCompatibilityIssue, E as getAIFrontendCompatibilityIssue, F as isOptionCompatible, G as ELIXIR_CATEGORY_ORDER, H as validateProjectName, I as isWebFrontend, J as OPTION_CATEGORY_METADATA, K as GO_CATEGORY_ORDER, L as requiresChatSdkVercelAI, M as getDisabledReason, N as hasWebStyling, O as getCompatibleAddons, P as isFrontendAllowedWithBackend, Q as TYPESCRIPT_CATEGORY_ORDER, R as requiresChatSdkVercelAIForSelection, S as usesVirtualNoneStackSelection, T as evaluateCompatibility, U as CATEGORY_ORDER, V as validateAddonCompatibility, W as DOTNET_CATEGORY_ORDER, X as REACT_NATIVE_CATEGORY_ORDER, Y as PYTHON_CATEGORY_ORDER, Z as RUST_CATEGORY_ORDER, _ as parseStackSelectionFromSearch, a as STACK_SELECTION_URL_KEYS, at as normalizeOptionId, b as stackSelectionToCliComparableConfig, c as cloneDefaultStackSelection, ct as getSupportedCapabilityOptions, d as isArrayStackSelectionKey, et as getCategoryDisplayName, f as isCliDefaultStackSelection, g as normalizeStackSelectionValue, h as normalizeStackSelection, i as STACK_SELECTION_OPTION_CATEGORY_BY_KEY, it as isMultiSelectCategory, j as getCompatibleUILibraries, k as getCompatibleCSSFrameworks, l as createStackSelectionSearchParams, lt as normalizeCapabilitySelection, m as isStackSelectionDefault, n as NON_OPTION_STACK_SELECTION_KEYS, nt as getCategoryOrderForEcosystem, o as VIRTUAL_NONE_MULTI_SELECT_STACK_SELECTION_KEYS, ot as getCapabilityDefinitions, p as isGraphStackSelection, q as JAVA_CATEGORY_ORDER, r as STACK_SELECTION_KEYS, rt as getOptionMetadata, s as cliInputToProjectConfigPartial, st as getCapabilityDisabledReason, t as DEFAULT_STACK_SELECTION, tt as getCategoryOptionIds, u as generateStackSelectionCommand, v as parseStackSelectionFromUrlRecord, w as analyzeStackCompatibility, x as stackSelectionToProjectConfig, y as processCliArrayOption, z as splitFrontends } from "./stack-translation-BWOFnbOh.mjs";
4
+ import { C as isBackendUtilsCompatibleBackend, E as requiresChatSdkVercelAIForExamples, S as hasTauriCompatibleFrontend, T as isExampleChatSdkAllowed, _ as UI_LIBRARY_COMPATIBILITY, a as getAddonStackPartBinding, b as hasPWACompatibleFrontend, c as getStackPartOptions, d as materializeProvidedStackParts, f as parseStackPartSpecs, g as BACKEND_UTILS_COMPATIBLE_BACKENDS, h as validateStackParts, i as formatStackPartSpec, l as getStackToolDefinitions, m as stackPartsToLegacyProjectConfigPartial, n as STACK_TOOL_DEFINITIONS, o as getRoleTargetPath, p as stackGraphToLegacyProjectConfigForEcosystem, r as createStackPart, s as getStackPartCompatibilityIssueForPart, t as ELIXIR_UNSUPPORTED_GRAPH_TOOLS, u as legacyProjectConfigToStackParts, v as getUnsupportedWebDeployFrontend, w as isExampleAIAllowed, x as hasTanStackAICompatibleFrontend, y as hasDockerComposeCompatibleFrontend } from "./stack-graph-BAad0vv4.mjs";
5
+ import { t as createCliDefaultProjectConfigBase } from "./defaults-DNnZX9er.mjs";
6
+ import { z } from "zod";
6
7
 
8
+ //#region src/cli-flags.ts
9
+ const CLI_FLAG_GROUP_DEFINITIONS = [
10
+ {
11
+ id: "common",
12
+ title: "Common flags",
13
+ description: "Flags that apply to every ecosystem and control workflow behavior.",
14
+ flags: [
15
+ {
16
+ flag: "ecosystem",
17
+ summary: "Language/runtime ecosystem to scaffold.",
18
+ source: {
19
+ kind: "literal",
20
+ values: ECOSYSTEM_VALUES
21
+ },
22
+ configKey: "ecosystem"
23
+ },
24
+ {
25
+ flag: "template",
26
+ summary: "Start from a curated stack preset instead of individual flags.",
27
+ source: {
28
+ kind: "literal",
29
+ values: TEMPLATE_VALUES
30
+ }
31
+ },
32
+ {
33
+ flag: "part",
34
+ summary: "Add a multi-ecosystem stack part. Repeat once per part.",
35
+ source: {
36
+ kind: "freeform",
37
+ hint: "role:ecosystem:tool (e.g. frontend:typescript:next)"
38
+ }
39
+ },
40
+ {
41
+ flag: "addons",
42
+ summary: "Repo tooling and platform addons.",
43
+ source: {
44
+ kind: "categories",
45
+ categories: [
46
+ "appPlatforms",
47
+ "codeQuality",
48
+ "documentation"
49
+ ]
50
+ },
51
+ configKey: "addons",
52
+ multiple: true
53
+ },
54
+ {
55
+ flag: "examples",
56
+ summary: "Optional example features to include.",
57
+ source: {
58
+ kind: "category",
59
+ category: "examples"
60
+ },
61
+ configKey: "examples",
62
+ multiple: true
63
+ },
64
+ {
65
+ flag: "ai-docs",
66
+ summary: "Agent instruction files to generate.",
67
+ source: {
68
+ kind: "category",
69
+ category: "aiDocs"
70
+ },
71
+ configKey: "aiDocs",
72
+ multiple: true
73
+ },
74
+ {
75
+ flag: "package-manager",
76
+ summary: "Package manager for the generated workspace.",
77
+ source: {
78
+ kind: "category",
79
+ category: "packageManager"
80
+ },
81
+ configKey: "packageManager"
82
+ },
83
+ {
84
+ flag: "workspace-shape",
85
+ summary: "Monorepo or single-app workspace layout.",
86
+ source: {
87
+ kind: "category",
88
+ category: "workspaceShape"
89
+ },
90
+ configKey: "workspaceShape"
91
+ },
92
+ {
93
+ flag: "version-channel",
94
+ summary: "Dependency version channel.",
95
+ source: {
96
+ kind: "category",
97
+ category: "versionChannel"
98
+ },
99
+ configKey: "versionChannel"
100
+ },
101
+ {
102
+ flag: "web-deploy",
103
+ summary: "Deployment target config for the web app.",
104
+ source: {
105
+ kind: "category",
106
+ category: "webDeploy"
107
+ },
108
+ configKey: "webDeploy"
109
+ },
110
+ {
111
+ flag: "server-deploy",
112
+ summary: "Deployment target config for the server.",
113
+ source: {
114
+ kind: "category",
115
+ category: "serverDeploy"
116
+ },
117
+ configKey: "serverDeploy"
118
+ },
119
+ {
120
+ flag: "directory-conflict",
121
+ summary: "Strategy when the target directory already exists.",
122
+ source: {
123
+ kind: "literal",
124
+ values: DIRECTORY_CONFLICT_VALUES
125
+ }
126
+ },
127
+ {
128
+ flag: "install",
129
+ summary: "Install dependencies after scaffolding.",
130
+ source: { kind: "boolean" },
131
+ configKey: "install"
132
+ },
133
+ {
134
+ flag: "git",
135
+ summary: "Initialize a Git repository.",
136
+ source: { kind: "boolean" },
137
+ configKey: "git"
138
+ },
139
+ {
140
+ flag: "dry-run",
141
+ summary: "Preview generated files without writing them.",
142
+ source: {
143
+ kind: "freeform",
144
+ hint: "boolean flag"
145
+ }
146
+ },
147
+ {
148
+ flag: "verify",
149
+ summary: "Run generated checks after scaffolding where supported.",
150
+ source: {
151
+ kind: "freeform",
152
+ hint: "boolean flag"
153
+ }
154
+ },
155
+ {
156
+ flag: "yes",
157
+ summary: "Accept defaults. Conflicts with core stack flags.",
158
+ source: {
159
+ kind: "freeform",
160
+ hint: "boolean flag"
161
+ }
162
+ },
163
+ {
164
+ flag: "yolo",
165
+ summary: "Skip safety confirmations where supported.",
166
+ source: {
167
+ kind: "freeform",
168
+ hint: "boolean flag"
169
+ }
170
+ },
171
+ {
172
+ flag: "verbose",
173
+ summary: "Print detailed scaffold output.",
174
+ source: {
175
+ kind: "freeform",
176
+ hint: "boolean flag"
177
+ }
178
+ },
179
+ {
180
+ flag: "disable-analytics",
181
+ summary: "Opt out of anonymous CLI analytics.",
182
+ source: {
183
+ kind: "freeform",
184
+ hint: "boolean flag"
185
+ }
186
+ }
187
+ ]
188
+ },
189
+ {
190
+ id: "typescript-stack",
191
+ title: "TypeScript stack",
192
+ description: "Core stack flags for `--ecosystem typescript`.",
193
+ ecosystem: "typescript",
194
+ flags: [
195
+ {
196
+ flag: "frontend",
197
+ summary: "Web frontend framework(s).",
198
+ source: {
199
+ kind: "category",
200
+ category: "webFrontend"
201
+ },
202
+ configKey: "frontend",
203
+ multiple: true
204
+ },
205
+ {
206
+ flag: "backend",
207
+ summary: "Backend framework. `self` pairs with fullstack frontends.",
208
+ source: {
209
+ kind: "category",
210
+ category: "backend"
211
+ },
212
+ configKey: "backend"
213
+ },
214
+ {
215
+ flag: "runtime",
216
+ summary: "Server runtime.",
217
+ source: {
218
+ kind: "category",
219
+ category: "runtime"
220
+ },
221
+ configKey: "runtime"
222
+ },
223
+ {
224
+ flag: "database",
225
+ summary: "Database engine.",
226
+ source: {
227
+ kind: "category",
228
+ category: "database"
229
+ },
230
+ configKey: "database"
231
+ },
232
+ {
233
+ flag: "orm",
234
+ summary: "ORM / query layer.",
235
+ source: {
236
+ kind: "category",
237
+ category: "orm"
238
+ },
239
+ configKey: "orm"
240
+ },
241
+ {
242
+ flag: "db-setup",
243
+ summary: "Hosted database provider setup.",
244
+ source: {
245
+ kind: "category",
246
+ category: "dbSetup"
247
+ },
248
+ configKey: "dbSetup"
249
+ },
250
+ {
251
+ flag: "auth",
252
+ summary: "Authentication provider.",
253
+ source: {
254
+ kind: "category",
255
+ category: "auth"
256
+ },
257
+ configKey: "auth"
258
+ },
259
+ {
260
+ flag: "api",
261
+ summary: "API layer. tRPC is React-oriented.",
262
+ source: {
263
+ kind: "category",
264
+ category: "api"
265
+ },
266
+ configKey: "api"
267
+ },
268
+ {
269
+ flag: "astro-integration",
270
+ summary: "Astro UI framework integration (Astro frontends).",
271
+ source: {
272
+ kind: "category",
273
+ category: "astroIntegration"
274
+ },
275
+ configKey: "astroIntegration"
276
+ },
277
+ {
278
+ flag: "manual-db",
279
+ summary: "Skip provider-specific database setup prompts.",
280
+ source: {
281
+ kind: "freeform",
282
+ hint: "boolean flag"
283
+ }
284
+ }
285
+ ]
286
+ },
287
+ {
288
+ id: "typescript-services",
289
+ title: "TypeScript services",
290
+ description: "Optional service integrations for TypeScript stacks.",
291
+ ecosystem: "typescript",
292
+ flags: [
293
+ {
294
+ flag: "ai",
295
+ summary: "AI SDK / agent framework.",
296
+ source: {
297
+ kind: "category",
298
+ category: "ai"
299
+ },
300
+ configKey: "ai"
301
+ },
302
+ {
303
+ flag: "payments",
304
+ summary: "Payments provider.",
305
+ source: {
306
+ kind: "category",
307
+ category: "payments"
308
+ },
309
+ configKey: "payments"
310
+ },
311
+ {
312
+ flag: "email",
313
+ summary: "Email provider.",
314
+ source: {
315
+ kind: "category",
316
+ category: "email"
317
+ },
318
+ configKey: "email"
319
+ },
320
+ {
321
+ flag: "realtime",
322
+ summary: "Realtime transport.",
323
+ source: {
324
+ kind: "category",
325
+ category: "realtime"
326
+ },
327
+ configKey: "realtime"
328
+ },
329
+ {
330
+ flag: "job-queue",
331
+ summary: "Background job / queue system.",
332
+ source: {
333
+ kind: "category",
334
+ category: "jobQueue"
335
+ },
336
+ configKey: "jobQueue"
337
+ },
338
+ {
339
+ flag: "cms",
340
+ summary: "Content management system.",
341
+ source: {
342
+ kind: "category",
343
+ category: "cms"
344
+ },
345
+ configKey: "cms"
346
+ },
347
+ {
348
+ flag: "caching",
349
+ summary: "Cache layer.",
350
+ source: {
351
+ kind: "category",
352
+ category: "caching"
353
+ },
354
+ configKey: "caching"
355
+ },
356
+ {
357
+ flag: "search",
358
+ summary: "Search engine.",
359
+ source: {
360
+ kind: "category",
361
+ category: "search"
362
+ },
363
+ configKey: "search"
364
+ },
365
+ {
366
+ flag: "file-storage",
367
+ summary: "Object storage provider.",
368
+ source: {
369
+ kind: "category",
370
+ category: "fileStorage"
371
+ },
372
+ configKey: "fileStorage"
373
+ },
374
+ {
375
+ flag: "file-upload",
376
+ summary: "File upload helper.",
377
+ source: {
378
+ kind: "category",
379
+ category: "fileUpload"
380
+ },
381
+ configKey: "fileUpload"
382
+ },
383
+ {
384
+ flag: "analytics",
385
+ summary: "Web analytics provider.",
386
+ source: {
387
+ kind: "category",
388
+ category: "analytics"
389
+ },
390
+ configKey: "analytics"
391
+ },
392
+ {
393
+ flag: "feature-flags",
394
+ summary: "Feature flag platform.",
395
+ source: {
396
+ kind: "category",
397
+ category: "featureFlags"
398
+ },
399
+ configKey: "featureFlags"
400
+ },
401
+ {
402
+ flag: "vector-db",
403
+ summary: "Vector database.",
404
+ source: {
405
+ kind: "category",
406
+ category: "vectorDb"
407
+ },
408
+ configKey: "vectorDb"
409
+ },
410
+ {
411
+ flag: "rate-limit",
412
+ summary: "Rate limiting helper.",
413
+ source: {
414
+ kind: "category",
415
+ category: "rateLimit"
416
+ },
417
+ configKey: "rateLimit"
418
+ },
419
+ {
420
+ flag: "i18n",
421
+ summary: "Internationalization library.",
422
+ source: {
423
+ kind: "category",
424
+ category: "i18n"
425
+ },
426
+ configKey: "i18n"
427
+ },
428
+ {
429
+ flag: "effect",
430
+ summary: "Effect capability level.",
431
+ source: {
432
+ kind: "category",
433
+ category: "effect"
434
+ },
435
+ configKey: "effect"
436
+ },
437
+ {
438
+ flag: "logging",
439
+ summary: "Logging library.",
440
+ source: {
441
+ kind: "category",
442
+ category: "logging"
443
+ },
444
+ configKey: "logging"
445
+ },
446
+ {
447
+ flag: "observability",
448
+ summary: "Observability provider.",
449
+ source: {
450
+ kind: "category",
451
+ category: "observability"
452
+ },
453
+ configKey: "observability"
454
+ }
455
+ ]
456
+ },
457
+ {
458
+ id: "typescript-ui",
459
+ title: "TypeScript UI and app behavior",
460
+ description: "Frontend styling, state, forms, validation, and testing flags.",
461
+ ecosystem: "typescript",
462
+ flags: [
463
+ {
464
+ flag: "css-framework",
465
+ summary: "CSS framework.",
466
+ source: {
467
+ kind: "category",
468
+ category: "cssFramework"
469
+ },
470
+ configKey: "cssFramework"
471
+ },
472
+ {
473
+ flag: "ui-library",
474
+ summary: "Component library.",
475
+ source: {
476
+ kind: "category",
477
+ category: "uiLibrary"
478
+ },
479
+ configKey: "uiLibrary"
480
+ },
481
+ {
482
+ flag: "state-management",
483
+ summary: "Client state manager.",
484
+ source: {
485
+ kind: "category",
486
+ category: "stateManagement"
487
+ },
488
+ configKey: "stateManagement"
489
+ },
490
+ {
491
+ flag: "forms",
492
+ summary: "Form library.",
493
+ source: {
494
+ kind: "category",
495
+ category: "forms"
496
+ },
497
+ configKey: "forms"
498
+ },
499
+ {
500
+ flag: "validation",
501
+ summary: "Schema validation library.",
502
+ source: {
503
+ kind: "category",
504
+ category: "validation"
505
+ },
506
+ configKey: "validation"
507
+ },
508
+ {
509
+ flag: "testing",
510
+ summary: "Testing setup.",
511
+ source: {
512
+ kind: "category",
513
+ category: "testing"
514
+ },
515
+ configKey: "testing"
516
+ },
517
+ {
518
+ flag: "animation",
519
+ summary: "Animation library.",
520
+ source: {
521
+ kind: "category",
522
+ category: "animation"
523
+ },
524
+ configKey: "animation"
525
+ }
526
+ ]
527
+ },
528
+ {
529
+ id: "shadcn",
530
+ title: "shadcn/ui flags",
531
+ description: "Only apply when `--ui-library shadcn-ui` is selected.",
532
+ ecosystem: "typescript",
533
+ flags: [
534
+ {
535
+ flag: "shadcn-base",
536
+ summary: "shadcn primitive base.",
537
+ source: {
538
+ kind: "category",
539
+ category: "shadcnBase"
540
+ },
541
+ configKey: "shadcnBase"
542
+ },
543
+ {
544
+ flag: "shadcn-style",
545
+ summary: "shadcn style preset.",
546
+ source: {
547
+ kind: "category",
548
+ category: "shadcnStyle"
549
+ },
550
+ configKey: "shadcnStyle"
551
+ },
552
+ {
553
+ flag: "shadcn-icon-library",
554
+ summary: "Icon library.",
555
+ source: {
556
+ kind: "category",
557
+ category: "shadcnIconLibrary"
558
+ },
559
+ configKey: "shadcnIconLibrary"
560
+ },
561
+ {
562
+ flag: "shadcn-color-theme",
563
+ summary: "Color theme.",
564
+ source: {
565
+ kind: "category",
566
+ category: "shadcnColorTheme"
567
+ },
568
+ configKey: "shadcnColorTheme"
569
+ },
570
+ {
571
+ flag: "shadcn-base-color",
572
+ summary: "Base neutral color.",
573
+ source: {
574
+ kind: "category",
575
+ category: "shadcnBaseColor"
576
+ },
577
+ configKey: "shadcnBaseColor"
578
+ },
579
+ {
580
+ flag: "shadcn-font",
581
+ summary: "Default font.",
582
+ source: {
583
+ kind: "category",
584
+ category: "shadcnFont"
585
+ },
586
+ configKey: "shadcnFont"
587
+ },
588
+ {
589
+ flag: "shadcn-radius",
590
+ summary: "Corner radius scale.",
591
+ source: {
592
+ kind: "category",
593
+ category: "shadcnRadius"
594
+ },
595
+ configKey: "shadcnRadius"
596
+ }
597
+ ]
598
+ },
599
+ {
600
+ id: "react-native",
601
+ title: "React Native flags",
602
+ description: "Flags for `--ecosystem react-native`.",
603
+ ecosystem: "react-native",
604
+ flags: [
605
+ {
606
+ flag: "frontend",
607
+ summary: "Expo native frontend styling.",
608
+ source: {
609
+ kind: "category",
610
+ category: "nativeFrontend"
611
+ },
612
+ defaultLiteral: "native-bare",
613
+ multiple: true
614
+ },
615
+ {
616
+ flag: "mobile-navigation",
617
+ summary: "Navigation library.",
618
+ source: {
619
+ kind: "category",
620
+ category: "mobileNavigation"
621
+ },
622
+ configKey: "mobileNavigation"
623
+ },
624
+ {
625
+ flag: "mobile-ui",
626
+ summary: "Mobile UI kit.",
627
+ source: {
628
+ kind: "category",
629
+ category: "mobileUI"
630
+ },
631
+ configKey: "mobileUI"
632
+ },
633
+ {
634
+ flag: "mobile-storage",
635
+ summary: "On-device storage.",
636
+ source: {
637
+ kind: "category",
638
+ category: "mobileStorage"
639
+ },
640
+ configKey: "mobileStorage"
641
+ },
642
+ {
643
+ flag: "mobile-testing",
644
+ summary: "Mobile testing setup.",
645
+ source: {
646
+ kind: "category",
647
+ category: "mobileTesting"
648
+ },
649
+ configKey: "mobileTesting"
650
+ },
651
+ {
652
+ flag: "mobile-push",
653
+ summary: "Push notifications.",
654
+ source: {
655
+ kind: "category",
656
+ category: "mobilePush"
657
+ },
658
+ configKey: "mobilePush"
659
+ },
660
+ {
661
+ flag: "mobile-ota",
662
+ summary: "Over-the-air updates.",
663
+ source: {
664
+ kind: "category",
665
+ category: "mobileOTA"
666
+ },
667
+ configKey: "mobileOTA"
668
+ },
669
+ {
670
+ flag: "mobile-deep-linking",
671
+ summary: "Deep linking.",
672
+ source: {
673
+ kind: "category",
674
+ category: "mobileDeepLinking"
675
+ },
676
+ configKey: "mobileDeepLinking"
677
+ }
678
+ ]
679
+ },
680
+ {
681
+ id: "rust",
682
+ title: "Rust flags",
683
+ description: "Flags for `--ecosystem rust`.",
684
+ ecosystem: "rust",
685
+ flags: [
686
+ {
687
+ flag: "rust-web-framework",
688
+ summary: "Rust web framework.",
689
+ source: {
690
+ kind: "category",
691
+ category: "rustWebFramework"
692
+ },
693
+ configKey: "rustWebFramework"
694
+ },
695
+ {
696
+ flag: "rust-frontend",
697
+ summary: "WASM frontend.",
698
+ source: {
699
+ kind: "category",
700
+ category: "rustFrontend"
701
+ },
702
+ configKey: "rustFrontend"
703
+ },
704
+ {
705
+ flag: "rust-orm",
706
+ summary: "Rust ORM / database.",
707
+ source: {
708
+ kind: "category",
709
+ category: "rustOrm"
710
+ },
711
+ configKey: "rustOrm"
712
+ },
713
+ {
714
+ flag: "rust-api",
715
+ summary: "Rust API layer.",
716
+ source: {
717
+ kind: "category",
718
+ category: "rustApi"
719
+ },
720
+ configKey: "rustApi"
721
+ },
722
+ {
723
+ flag: "rust-cli",
724
+ summary: "Rust CLI tooling.",
725
+ source: {
726
+ kind: "category",
727
+ category: "rustCli"
728
+ },
729
+ configKey: "rustCli"
730
+ },
731
+ {
732
+ flag: "rust-libraries",
733
+ summary: "Rust core libraries.",
734
+ source: {
735
+ kind: "category",
736
+ category: "rustLibraries"
737
+ },
738
+ configKey: "rustLibraries",
739
+ multiple: true
740
+ },
741
+ {
742
+ flag: "rust-logging",
743
+ summary: "Rust logging.",
744
+ source: {
745
+ kind: "category",
746
+ category: "rustLogging"
747
+ },
748
+ configKey: "rustLogging"
749
+ },
750
+ {
751
+ flag: "rust-error-handling",
752
+ summary: "Rust error handling.",
753
+ source: {
754
+ kind: "category",
755
+ category: "rustErrorHandling"
756
+ },
757
+ configKey: "rustErrorHandling"
758
+ },
759
+ {
760
+ flag: "rust-caching",
761
+ summary: "Rust caching.",
762
+ source: {
763
+ kind: "category",
764
+ category: "rustCaching"
765
+ },
766
+ configKey: "rustCaching"
767
+ },
768
+ {
769
+ flag: "rust-auth",
770
+ summary: "Rust auth.",
771
+ source: {
772
+ kind: "category",
773
+ category: "rustAuth"
774
+ },
775
+ configKey: "rustAuth"
776
+ },
777
+ {
778
+ flag: "rust-realtime",
779
+ summary: "Rust realtime.",
780
+ source: {
781
+ kind: "category",
782
+ category: "rustRealtime"
783
+ },
784
+ configKey: "rustRealtime"
785
+ },
786
+ {
787
+ flag: "rust-message-queue",
788
+ summary: "Rust message queue.",
789
+ source: {
790
+ kind: "category",
791
+ category: "rustMessageQueue"
792
+ },
793
+ configKey: "rustMessageQueue"
794
+ },
795
+ {
796
+ flag: "rust-observability",
797
+ summary: "Rust observability.",
798
+ source: {
799
+ kind: "category",
800
+ category: "rustObservability"
801
+ },
802
+ configKey: "rustObservability"
803
+ },
804
+ {
805
+ flag: "rust-templating",
806
+ summary: "Rust templating.",
807
+ source: {
808
+ kind: "category",
809
+ category: "rustTemplating"
810
+ },
811
+ configKey: "rustTemplating"
812
+ }
813
+ ]
814
+ },
815
+ {
816
+ id: "python",
817
+ title: "Python flags",
818
+ description: "Flags for `--ecosystem python`.",
819
+ ecosystem: "python",
820
+ flags: [
821
+ {
822
+ flag: "python-web-framework",
823
+ summary: "Python web framework.",
824
+ source: {
825
+ kind: "category",
826
+ category: "pythonWebFramework"
827
+ },
828
+ configKey: "pythonWebFramework"
829
+ },
830
+ {
831
+ flag: "python-orm",
832
+ summary: "Python ORM / database.",
833
+ source: {
834
+ kind: "category",
835
+ category: "pythonOrm"
836
+ },
837
+ configKey: "pythonOrm"
838
+ },
839
+ {
840
+ flag: "python-validation",
841
+ summary: "Validation library.",
842
+ source: {
843
+ kind: "category",
844
+ category: "pythonValidation"
845
+ },
846
+ configKey: "pythonValidation"
847
+ },
848
+ {
849
+ flag: "python-ai",
850
+ summary: "Python AI / ML libraries.",
851
+ source: {
852
+ kind: "category",
853
+ category: "pythonAi"
854
+ },
855
+ configKey: "pythonAi",
856
+ multiple: true
857
+ },
858
+ {
859
+ flag: "python-auth",
860
+ summary: "Python auth.",
861
+ source: {
862
+ kind: "category",
863
+ category: "pythonAuth"
864
+ },
865
+ configKey: "pythonAuth"
866
+ },
867
+ {
868
+ flag: "python-api",
869
+ summary: "Python API framework.",
870
+ source: {
871
+ kind: "category",
872
+ category: "pythonApi"
873
+ },
874
+ configKey: "pythonApi"
875
+ },
876
+ {
877
+ flag: "python-task-queue",
878
+ summary: "Python task queue.",
879
+ source: {
880
+ kind: "category",
881
+ category: "pythonTaskQueue"
882
+ },
883
+ configKey: "pythonTaskQueue"
884
+ },
885
+ {
886
+ flag: "python-graphql",
887
+ summary: "Python GraphQL.",
888
+ source: {
889
+ kind: "category",
890
+ category: "pythonGraphql"
891
+ },
892
+ configKey: "pythonGraphql"
893
+ },
894
+ {
895
+ flag: "python-quality",
896
+ summary: "Python code quality tool.",
897
+ source: {
898
+ kind: "category",
899
+ category: "pythonQuality"
900
+ },
901
+ configKey: "pythonQuality"
902
+ },
903
+ {
904
+ flag: "python-testing",
905
+ summary: "Python testing libraries.",
906
+ source: {
907
+ kind: "category",
908
+ category: "pythonTesting"
909
+ },
910
+ configKey: "pythonTesting",
911
+ multiple: true
912
+ },
913
+ {
914
+ flag: "python-caching",
915
+ summary: "Python caching.",
916
+ source: {
917
+ kind: "category",
918
+ category: "pythonCaching"
919
+ },
920
+ configKey: "pythonCaching"
921
+ },
922
+ {
923
+ flag: "python-realtime",
924
+ summary: "Python realtime.",
925
+ source: {
926
+ kind: "category",
927
+ category: "pythonRealtime"
928
+ },
929
+ configKey: "pythonRealtime"
930
+ },
931
+ {
932
+ flag: "python-observability",
933
+ summary: "Python observability.",
934
+ source: {
935
+ kind: "category",
936
+ category: "pythonObservability"
937
+ },
938
+ configKey: "pythonObservability"
939
+ },
940
+ {
941
+ flag: "python-cli",
942
+ summary: "Python CLI tooling.",
943
+ source: {
944
+ kind: "category",
945
+ category: "pythonCli"
946
+ },
947
+ configKey: "pythonCli",
948
+ multiple: true
949
+ }
950
+ ]
951
+ },
952
+ {
953
+ id: "go",
954
+ title: "Go flags",
955
+ description: "Flags for `--ecosystem go`. Global `--auth` also applies.",
956
+ ecosystem: "go",
957
+ flags: [
958
+ {
959
+ flag: "go-web-framework",
960
+ summary: "Go web framework.",
961
+ source: {
962
+ kind: "category",
963
+ category: "goWebFramework"
964
+ },
965
+ configKey: "goWebFramework"
966
+ },
967
+ {
968
+ flag: "go-orm",
969
+ summary: "Go ORM / database.",
970
+ source: {
971
+ kind: "category",
972
+ category: "goOrm"
973
+ },
974
+ configKey: "goOrm"
975
+ },
976
+ {
977
+ flag: "go-api",
978
+ summary: "Go API layer.",
979
+ source: {
980
+ kind: "category",
981
+ category: "goApi"
982
+ },
983
+ configKey: "goApi"
984
+ },
985
+ {
986
+ flag: "go-cli",
987
+ summary: "Go CLI tooling.",
988
+ source: {
989
+ kind: "category",
990
+ category: "goCli"
991
+ },
992
+ configKey: "goCli"
993
+ },
994
+ {
995
+ flag: "go-logging",
996
+ summary: "Go logging.",
997
+ source: {
998
+ kind: "category",
999
+ category: "goLogging"
1000
+ },
1001
+ configKey: "goLogging"
1002
+ },
1003
+ {
1004
+ flag: "go-auth",
1005
+ summary: "Go-native auth helpers.",
1006
+ source: {
1007
+ kind: "category",
1008
+ category: "goAuth"
1009
+ },
1010
+ configKey: "goAuth"
1011
+ },
1012
+ {
1013
+ flag: "go-testing",
1014
+ summary: "Go testing libraries.",
1015
+ source: {
1016
+ kind: "category",
1017
+ category: "goTesting"
1018
+ },
1019
+ configKey: "goTesting",
1020
+ multiple: true
1021
+ },
1022
+ {
1023
+ flag: "go-realtime",
1024
+ summary: "Go realtime.",
1025
+ source: {
1026
+ kind: "category",
1027
+ category: "goRealtime"
1028
+ },
1029
+ configKey: "goRealtime"
1030
+ },
1031
+ {
1032
+ flag: "go-message-queue",
1033
+ summary: "Go message queue.",
1034
+ source: {
1035
+ kind: "category",
1036
+ category: "goMessageQueue"
1037
+ },
1038
+ configKey: "goMessageQueue"
1039
+ },
1040
+ {
1041
+ flag: "go-caching",
1042
+ summary: "Go caching.",
1043
+ source: {
1044
+ kind: "category",
1045
+ category: "goCaching"
1046
+ },
1047
+ configKey: "goCaching"
1048
+ },
1049
+ {
1050
+ flag: "go-config",
1051
+ summary: "Go config loader.",
1052
+ source: {
1053
+ kind: "category",
1054
+ category: "goConfig"
1055
+ },
1056
+ configKey: "goConfig"
1057
+ },
1058
+ {
1059
+ flag: "go-observability",
1060
+ summary: "Go observability.",
1061
+ source: {
1062
+ kind: "category",
1063
+ category: "goObservability"
1064
+ },
1065
+ configKey: "goObservability"
1066
+ }
1067
+ ]
1068
+ },
1069
+ {
1070
+ id: "java",
1071
+ title: "Java flags",
1072
+ description: "Flags for `--ecosystem java`.",
1073
+ ecosystem: "java",
1074
+ flags: [
1075
+ {
1076
+ flag: "java-web-framework",
1077
+ summary: "Java web framework.",
1078
+ source: {
1079
+ kind: "category",
1080
+ category: "javaWebFramework"
1081
+ },
1082
+ configKey: "javaWebFramework"
1083
+ },
1084
+ {
1085
+ flag: "java-language",
1086
+ summary: "JVM language (java or kotlin).",
1087
+ source: {
1088
+ kind: "category",
1089
+ category: "javaLanguage"
1090
+ },
1091
+ configKey: "javaLanguage"
1092
+ },
1093
+ {
1094
+ flag: "java-build-tool",
1095
+ summary: "Build tool.",
1096
+ source: {
1097
+ kind: "category",
1098
+ category: "javaBuildTool"
1099
+ },
1100
+ configKey: "javaBuildTool"
1101
+ },
1102
+ {
1103
+ flag: "java-orm",
1104
+ summary: "Java ORM / database.",
1105
+ source: {
1106
+ kind: "category",
1107
+ category: "javaOrm"
1108
+ },
1109
+ configKey: "javaOrm"
1110
+ },
1111
+ {
1112
+ flag: "java-auth",
1113
+ summary: "Java auth.",
1114
+ source: {
1115
+ kind: "category",
1116
+ category: "javaAuth"
1117
+ },
1118
+ configKey: "javaAuth"
1119
+ },
1120
+ {
1121
+ flag: "java-api",
1122
+ summary: "Java API layer.",
1123
+ source: {
1124
+ kind: "category",
1125
+ category: "javaApi"
1126
+ },
1127
+ configKey: "javaApi"
1128
+ },
1129
+ {
1130
+ flag: "java-logging",
1131
+ summary: "Java logging.",
1132
+ source: {
1133
+ kind: "category",
1134
+ category: "javaLogging"
1135
+ },
1136
+ configKey: "javaLogging"
1137
+ },
1138
+ {
1139
+ flag: "java-libraries",
1140
+ summary: "Java libraries.",
1141
+ source: {
1142
+ kind: "category",
1143
+ category: "javaLibraries"
1144
+ },
1145
+ configKey: "javaLibraries",
1146
+ multiple: true
1147
+ },
1148
+ {
1149
+ flag: "java-testing-libraries",
1150
+ summary: "Java testing libraries.",
1151
+ source: {
1152
+ kind: "category",
1153
+ category: "javaTestingLibraries"
1154
+ },
1155
+ configKey: "javaTestingLibraries",
1156
+ multiple: true
1157
+ }
1158
+ ]
1159
+ },
1160
+ {
1161
+ id: "dotnet",
1162
+ title: ".NET flags",
1163
+ description: "Flags for `--ecosystem dotnet`.",
1164
+ ecosystem: "dotnet",
1165
+ flags: [
1166
+ {
1167
+ flag: "dotnet-web-framework",
1168
+ summary: ".NET web framework.",
1169
+ source: {
1170
+ kind: "category",
1171
+ category: "dotnetWebFramework"
1172
+ },
1173
+ configKey: "dotnetWebFramework"
1174
+ },
1175
+ {
1176
+ flag: "dotnet-orm",
1177
+ summary: ".NET data access.",
1178
+ source: {
1179
+ kind: "category",
1180
+ category: "dotnetOrm"
1181
+ },
1182
+ configKey: "dotnetOrm"
1183
+ },
1184
+ {
1185
+ flag: "dotnet-auth",
1186
+ summary: ".NET auth.",
1187
+ source: {
1188
+ kind: "category",
1189
+ category: "dotnetAuth"
1190
+ },
1191
+ configKey: "dotnetAuth"
1192
+ },
1193
+ {
1194
+ flag: "dotnet-api",
1195
+ summary: ".NET API style.",
1196
+ source: {
1197
+ kind: "category",
1198
+ category: "dotnetApi"
1199
+ },
1200
+ configKey: "dotnetApi"
1201
+ },
1202
+ {
1203
+ flag: "dotnet-testing",
1204
+ summary: ".NET testing libraries.",
1205
+ source: {
1206
+ kind: "category",
1207
+ category: "dotnetTesting"
1208
+ },
1209
+ configKey: "dotnetTesting",
1210
+ multiple: true
1211
+ },
1212
+ {
1213
+ flag: "dotnet-job-queue",
1214
+ summary: ".NET background jobs.",
1215
+ source: {
1216
+ kind: "category",
1217
+ category: "dotnetJobQueue"
1218
+ },
1219
+ configKey: "dotnetJobQueue"
1220
+ },
1221
+ {
1222
+ flag: "dotnet-realtime",
1223
+ summary: ".NET realtime.",
1224
+ source: {
1225
+ kind: "category",
1226
+ category: "dotnetRealtime"
1227
+ },
1228
+ configKey: "dotnetRealtime"
1229
+ },
1230
+ {
1231
+ flag: "dotnet-observability",
1232
+ summary: ".NET observability.",
1233
+ source: {
1234
+ kind: "category",
1235
+ category: "dotnetObservability"
1236
+ },
1237
+ configKey: "dotnetObservability",
1238
+ multiple: true
1239
+ },
1240
+ {
1241
+ flag: "dotnet-validation",
1242
+ summary: ".NET validation.",
1243
+ source: {
1244
+ kind: "category",
1245
+ category: "dotnetValidation"
1246
+ },
1247
+ configKey: "dotnetValidation"
1248
+ },
1249
+ {
1250
+ flag: "dotnet-caching",
1251
+ summary: ".NET caching.",
1252
+ source: {
1253
+ kind: "category",
1254
+ category: "dotnetCaching"
1255
+ },
1256
+ configKey: "dotnetCaching"
1257
+ },
1258
+ {
1259
+ flag: "dotnet-deploy",
1260
+ summary: ".NET deploy target.",
1261
+ source: {
1262
+ kind: "category",
1263
+ category: "dotnetDeploy"
1264
+ },
1265
+ configKey: "dotnetDeploy"
1266
+ }
1267
+ ]
1268
+ },
1269
+ {
1270
+ id: "elixir",
1271
+ title: "Elixir flags",
1272
+ description: "Flags for `--ecosystem elixir`.",
1273
+ ecosystem: "elixir",
1274
+ flags: [
1275
+ {
1276
+ flag: "elixir-web-framework",
1277
+ summary: "Elixir web framework.",
1278
+ source: {
1279
+ kind: "category",
1280
+ category: "elixirWebFramework"
1281
+ },
1282
+ configKey: "elixirWebFramework"
1283
+ },
1284
+ {
1285
+ flag: "elixir-orm",
1286
+ summary: "Elixir ORM / database.",
1287
+ source: {
1288
+ kind: "category",
1289
+ category: "elixirOrm"
1290
+ },
1291
+ configKey: "elixirOrm"
1292
+ },
1293
+ {
1294
+ flag: "elixir-auth",
1295
+ summary: "Elixir auth.",
1296
+ source: {
1297
+ kind: "category",
1298
+ category: "elixirAuth"
1299
+ },
1300
+ configKey: "elixirAuth"
1301
+ },
1302
+ {
1303
+ flag: "elixir-api",
1304
+ summary: "Elixir API layer.",
1305
+ source: {
1306
+ kind: "category",
1307
+ category: "elixirApi"
1308
+ },
1309
+ configKey: "elixirApi"
1310
+ },
1311
+ {
1312
+ flag: "elixir-realtime",
1313
+ summary: "Elixir realtime.",
1314
+ source: {
1315
+ kind: "category",
1316
+ category: "elixirRealtime"
1317
+ },
1318
+ configKey: "elixirRealtime"
1319
+ },
1320
+ {
1321
+ flag: "elixir-jobs",
1322
+ summary: "Elixir jobs.",
1323
+ source: {
1324
+ kind: "category",
1325
+ category: "elixirJobs"
1326
+ },
1327
+ configKey: "elixirJobs"
1328
+ },
1329
+ {
1330
+ flag: "elixir-validation",
1331
+ summary: "Elixir validation.",
1332
+ source: {
1333
+ kind: "category",
1334
+ category: "elixirValidation"
1335
+ },
1336
+ configKey: "elixirValidation"
1337
+ },
1338
+ {
1339
+ flag: "elixir-http",
1340
+ summary: "Elixir HTTP client.",
1341
+ source: {
1342
+ kind: "category",
1343
+ category: "elixirHttp"
1344
+ },
1345
+ configKey: "elixirHttp"
1346
+ },
1347
+ {
1348
+ flag: "elixir-json",
1349
+ summary: "Elixir JSON library.",
1350
+ source: {
1351
+ kind: "category",
1352
+ category: "elixirJson"
1353
+ },
1354
+ configKey: "elixirJson"
1355
+ },
1356
+ {
1357
+ flag: "elixir-email",
1358
+ summary: "Elixir email.",
1359
+ source: {
1360
+ kind: "category",
1361
+ category: "elixirEmail"
1362
+ },
1363
+ configKey: "elixirEmail"
1364
+ },
1365
+ {
1366
+ flag: "elixir-caching",
1367
+ summary: "Elixir caching.",
1368
+ source: {
1369
+ kind: "category",
1370
+ category: "elixirCaching"
1371
+ },
1372
+ configKey: "elixirCaching"
1373
+ },
1374
+ {
1375
+ flag: "elixir-observability",
1376
+ summary: "Elixir observability.",
1377
+ source: {
1378
+ kind: "category",
1379
+ category: "elixirObservability"
1380
+ },
1381
+ configKey: "elixirObservability"
1382
+ },
1383
+ {
1384
+ flag: "elixir-testing",
1385
+ summary: "Elixir testing.",
1386
+ source: {
1387
+ kind: "category",
1388
+ category: "elixirTesting"
1389
+ },
1390
+ configKey: "elixirTesting"
1391
+ },
1392
+ {
1393
+ flag: "elixir-quality",
1394
+ summary: "Elixir code quality.",
1395
+ source: {
1396
+ kind: "category",
1397
+ category: "elixirQuality"
1398
+ },
1399
+ configKey: "elixirQuality"
1400
+ },
1401
+ {
1402
+ flag: "elixir-deploy",
1403
+ summary: "Elixir deploy target.",
1404
+ source: {
1405
+ kind: "category",
1406
+ category: "elixirDeploy"
1407
+ },
1408
+ configKey: "elixirDeploy"
1409
+ },
1410
+ {
1411
+ flag: "elixir-libraries",
1412
+ summary: "Elixir libraries.",
1413
+ source: {
1414
+ kind: "category",
1415
+ category: "elixirLibraries"
1416
+ },
1417
+ configKey: "elixirLibraries",
1418
+ multiple: true
1419
+ }
1420
+ ]
1421
+ }
1422
+ ];
1423
+ function resolveValues(def) {
1424
+ const source = def.source;
1425
+ switch (source.kind) {
1426
+ case "boolean": return {
1427
+ values: [],
1428
+ valueHint: `--${def.flag} / --no-${def.flag}`
1429
+ };
1430
+ case "freeform": return {
1431
+ values: [],
1432
+ valueHint: source.hint
1433
+ };
1434
+ case "literal": return {
1435
+ values: [...source.values],
1436
+ valueHint: null
1437
+ };
1438
+ case "category":
1439
+ case "categories": {
1440
+ const categories = source.kind === "category" ? [source.category] : source.categories;
1441
+ let values = [...new Set(categories.flatMap((category) => getCategoryCliValues(category)))];
1442
+ if (def.multiple && !values.includes("none")) values = [...values, "none"];
1443
+ return {
1444
+ values,
1445
+ valueHint: null
1446
+ };
1447
+ }
1448
+ }
1449
+ }
1450
+ function formatDefault(def) {
1451
+ if (def.defaultLiteral !== void 0) return def.defaultLiteral;
1452
+ if (!def.configKey) return null;
1453
+ const value = createCliDefaultProjectConfigBase()[def.configKey];
1454
+ if (Array.isArray(value)) return value.length > 0 ? value.join(" ") : "none";
1455
+ if (typeof value === "boolean") return value ? `--${def.flag}` : `--no-${def.flag}`;
1456
+ if (value === void 0 || value === null) return null;
1457
+ return String(value);
1458
+ }
1459
+ /**
1460
+ * Resolve the declarative flag registry into fully-populated rows (accepted
1461
+ * values + defaults) sourced from the shared option metadata and CLI defaults.
1462
+ * The docs CLI-flag data module and any tooling should call this rather than
1463
+ * hand-maintaining flag tables.
1464
+ */
1465
+ function getCliFlagReference() {
1466
+ return CLI_FLAG_GROUP_DEFINITIONS.map((group) => ({
1467
+ id: group.id,
1468
+ title: group.title,
1469
+ description: group.description,
1470
+ ecosystem: group.ecosystem,
1471
+ flags: group.flags.map((def) => {
1472
+ const { values, valueHint } = resolveValues(def);
1473
+ return {
1474
+ flag: `--${def.flag}`,
1475
+ summary: def.summary,
1476
+ values,
1477
+ valueHint,
1478
+ defaultValue: formatDefault(def),
1479
+ multiple: def.multiple ?? false
1480
+ };
1481
+ })
1482
+ }));
1483
+ }
1484
+
1485
+ //#endregion
7
1486
  //#region src/local-dev.ts
8
1487
  const VITE_WEB_FRONTENDS = new Set([
9
1488
  "react-router",
@@ -19,5 +1498,81 @@ function getLocalWebDevPort(frontend) {
19
1498
  }
20
1499
 
21
1500
  //#endregion
22
- export { ADDONS_VALUES, AISchema, AI_DOCS_VALUES, AI_VALUES, ANALYTICS_VALUES, ANIMATION_VALUES, APISchema, API_VALUES, ASTRO_INTEGRATION_VALUES, AUTH_VALUES, AddInputSchema, AddonsSchema, AiDocsSchema, AnalyticsSchema, AnimationSchema, AstroIntegrationSchema, AuthSchema, BACKEND_UTILS_COMPATIBLE_BACKENDS, BACKEND_VALUES, BackendSchema, BetterFullstackConfigFileSchema, BetterFullstackConfigSchema, BetterTStackConfigFileSchema, BetterTStackConfigSchema, CACHING_VALUES, CATEGORY_ORDER, CLIInputSchema, CMSSchema, CMS_VALUES, CSSFrameworkSchema, CSS_FRAMEWORK_VALUES, CachingSchema, CreateInputSchema, DATABASE_SETUP_VALUES, DATABASE_VALUES, DEFAULT_STACK_SELECTION, DIRECTORY_CONFLICT_VALUES, DOTNET_API_VALUES, DOTNET_AUTH_VALUES, DOTNET_CACHING_VALUES, DOTNET_CATEGORY_ORDER, DOTNET_DEPLOY_VALUES, DOTNET_JOB_QUEUE_VALUES, DOTNET_OBSERVABILITY_VALUES, DOTNET_ORM_VALUES, DOTNET_REALTIME_VALUES, DOTNET_TESTING_VALUES, DOTNET_VALIDATION_VALUES, DOTNET_WEB_FRAMEWORK_VALUES, DatabaseSchema, DatabaseSetupSchema, DirectoryConflictSchema, DotnetApiSchema, DotnetAuthSchema, DotnetCachingSchema, DotnetDeploySchema, DotnetJobQueueSchema, DotnetObservabilitySchema, DotnetOrmSchema, DotnetRealtimeSchema, DotnetTestingSchema, DotnetValidationSchema, DotnetWebFrameworkSchema, ECOSYSTEM_VALUES, EFFECT_VALUES, ELIXIR_API_VALUES, ELIXIR_AUTH_VALUES, ELIXIR_CACHING_VALUES, ELIXIR_CATEGORY_ORDER, ELIXIR_DEPLOY_VALUES, ELIXIR_EMAIL_VALUES, ELIXIR_HTTP_VALUES, ELIXIR_JOBS_VALUES, ELIXIR_JSON_VALUES, ELIXIR_LIBRARIES_VALUES, ELIXIR_OBSERVABILITY_VALUES, ELIXIR_ORM_VALUES, ELIXIR_QUALITY_VALUES, ELIXIR_REALTIME_VALUES, ELIXIR_TESTING_VALUES, ELIXIR_UNSUPPORTED_GRAPH_TOOLS, ELIXIR_VALIDATION_VALUES, ELIXIR_WEB_FRAMEWORK_VALUES, EMAIL_VALUES, EXAMPLES_VALUES, EcosystemSchema, EffectSchema, ElixirApiSchema, ElixirAuthSchema, ElixirCachingSchema, ElixirDeploySchema, ElixirEmailSchema, ElixirHttpSchema, ElixirJobsSchema, ElixirJsonSchema, ElixirLibrariesSchema, ElixirObservabilitySchema, ElixirOrmSchema, ElixirQualitySchema, ElixirRealtimeSchema, ElixirTestingSchema, ElixirValidationSchema, ElixirWebFrameworkSchema, EmailSchema, ExamplesSchema, FEATURE_FLAGS_VALUES, FILE_STORAGE_VALUES, FILE_UPLOAD_VALUES, FORMS_VALUES, FRONTEND_VALUES, FeatureFlagsSchema, FileStorageSchema, FileUploadSchema, FormsSchema, FrontendSchema, GO_API_VALUES, GO_AUTH_VALUES, GO_CACHING_VALUES, GO_CATEGORY_ORDER, GO_CLI_VALUES, GO_CONFIG_VALUES, GO_LOGGING_VALUES, GO_MESSAGE_QUEUE_VALUES, GO_OBSERVABILITY_VALUES, GO_ORM_VALUES, GO_REALTIME_VALUES, GO_TESTING_VALUES, GO_WEB_FRAMEWORK_VALUES, GoApiSchema, GoAuthSchema, GoCachingSchema, GoCliSchema, GoConfigSchema, GoLoggingSchema, GoMessageQueueSchema, GoObservabilitySchema, GoOrmSchema, GoRealtimeSchema, GoTestingSchema, GoWebFrameworkSchema, I18N_VALUES, I18nSchema, InitResultSchema, JAVA_API_VALUES, JAVA_AUTH_VALUES, JAVA_BUILD_TOOL_VALUES, JAVA_CATEGORY_ORDER, JAVA_LIBRARIES_VALUES, JAVA_LOGGING_VALUES, JAVA_ORM_VALUES, JAVA_TESTING_LIBRARIES_VALUES, JAVA_WEB_FRAMEWORK_VALUES, JOB_QUEUE_VALUES, JavaApiSchema, JavaAuthSchema, JavaBuildToolSchema, JavaLibrariesSchema, JavaLoggingSchema, JavaOrmSchema, JavaTestingLibrariesSchema, JavaWebFrameworkSchema, JobQueueSchema, LOGGING_VALUES, LoggingSchema, MOBILE_DEEP_LINKING_VALUES, MOBILE_NAVIGATION_VALUES, MOBILE_OTA_VALUES, MOBILE_PUSH_VALUES, MOBILE_STORAGE_VALUES, MOBILE_TESTING_VALUES, MOBILE_UI_VALUES, MobileDeepLinkingSchema, MobileNavigationSchema, MobileOTASchema, MobilePushSchema, MobileStorageSchema, MobileTestingSchema, MobileUISchema, NON_OPTION_STACK_SELECTION_KEYS, OBSERVABILITY_VALUES, OPTION_CATEGORY_METADATA, ORMSchema, ORM_VALUES, ObservabilitySchema, PACKAGE_MANAGER_VALUES, PAYMENTS_VALUES, PYTHON_AI_VALUES, PYTHON_API_VALUES, PYTHON_AUTH_VALUES, PYTHON_CACHING_VALUES, PYTHON_CATEGORY_ORDER, PYTHON_CLI_VALUES, PYTHON_GRAPHQL_VALUES, PYTHON_OBSERVABILITY_VALUES, PYTHON_ORM_VALUES, PYTHON_QUALITY_VALUES, PYTHON_REALTIME_VALUES, PYTHON_TASK_QUEUE_VALUES, PYTHON_TESTING_VALUES, PYTHON_VALIDATION_VALUES, PYTHON_WEB_FRAMEWORK_VALUES, PackageManagerSchema, PaymentsSchema, ProjectConfigSchema, ProjectNameSchema, PythonAiSchema, PythonApiSchema, PythonAuthSchema, PythonCachingSchema, PythonCliSchema, PythonGraphqlSchema, PythonObservabilitySchema, PythonOrmSchema, PythonQualitySchema, PythonRealtimeSchema, PythonTaskQueueSchema, PythonTestingSchema, PythonValidationSchema, PythonWebFrameworkSchema, RATE_LIMIT_VALUES, REACT_NATIVE_CATEGORY_ORDER, REALTIME_VALUES, RUNTIME_VALUES, RUST_API_VALUES, RUST_AUTH_VALUES, RUST_CACHING_VALUES, RUST_CATEGORY_ORDER, RUST_CLI_VALUES, RUST_ERROR_HANDLING_VALUES, RUST_FRONTEND_VALUES, RUST_LIBRARIES_VALUES, RUST_LOGGING_VALUES, RUST_MESSAGE_QUEUE_VALUES, RUST_OBSERVABILITY_VALUES, RUST_ORM_VALUES, RUST_REALTIME_VALUES, RUST_TEMPLATING_VALUES, RUST_WEB_FRAMEWORK_VALUES, RateLimitSchema, RealtimeSchema, RuntimeSchema, RustApiSchema, RustAuthSchema, RustCachingSchema, RustCliSchema, RustErrorHandlingSchema, RustFrontendSchema, RustLibrariesSchema, RustLoggingSchema, RustMessageQueueSchema, RustObservabilitySchema, RustOrmSchema, RustRealtimeSchema, RustTemplatingSchema, RustWebFrameworkSchema, SEARCH_VALUES, SERVER_DEPLOY_VALUES, SHADCN_BASE_COLOR_VALUES, SHADCN_BASE_VALUES, SHADCN_COLOR_THEME_VALUES, SHADCN_FONT_VALUES, SHADCN_ICON_LIBRARY_VALUES, SHADCN_RADIUS_VALUES, SHADCN_STYLE_VALUES, STACK_SELECTION_KEYS, STACK_SELECTION_OPTION_CATEGORY_BY_KEY, STACK_SELECTION_URL_KEYS, STACK_TOOL_DEFINITIONS, STATE_MANAGEMENT_VALUES, SearchSchema, ServerDeploySchema, ShadcnBaseColorSchema, ShadcnBaseSchema, ShadcnColorThemeSchema, ShadcnFontSchema, ShadcnIconLibrarySchema, ShadcnRadiusSchema, ShadcnStyleSchema, StackPartEcosystemSchema, StackPartRoleSchema, StackPartSchema, StackPartSourceSchema, StateManagementSchema, TEMPLATE_VALUES, TESTING_VALUES, TYPESCRIPT_CATEGORY_ORDER, TemplateSchema, TestingSchema, UILibrarySchema, UI_LIBRARY_COMPATIBILITY, UI_LIBRARY_VALUES, VALIDATION_VALUES, VECTOR_DB_VALUES, VERSION_CHANNEL_VALUES, VIRTUAL_NONE_MULTI_SELECT_STACK_SELECTION_KEYS, ValidationSchema, VectorDbSchema, VersionChannelSchema, WEB_DEPLOY_VALUES, WebDeploySchema, allowedApisForFrontends, analyzeStackCompatibility, cliInputToProjectConfigPartial, cloneDefaultStackSelection, createCliDefaultProjectConfigBase, createStackPart, createStackSelectionSearchParams, evaluateCompatibility, formatStackPartSpec, generateStackSelectionCommand, getAIFrontendCompatibilityIssue, getAddonStackPartBinding, getApiFrontendCompatibilityIssue, getCapabilityDefinitions, getCapabilityDisabledReason, getCategoryCliValues, getCategoryDisplayName, getCategoryOptionIds, getCategoryOrderForEcosystem, getCompatibleAddons, getCompatibleCSSFrameworks, getCompatibleFormLibraries, getCompatibleUILibraries, getDisabledReason, getLocalWebDevPort, getOptionMetadata, getRoleTargetPath, getStackPartCompatibilityIssueForPart, getStackPartOptions, getStackToolDefinitions, getSupportedCapabilityOptions, getUnsupportedWebDeployFrontend, hasDockerComposeCompatibleFrontend, hasPWACompatibleFrontend, hasTanStackAICompatibleFrontend, hasTauriCompatibleFrontend, hasWebStyling, isArrayStackSelectionKey, isBackendUtilsCompatibleBackend, isCliDefaultStackSelection, isExampleAIAllowed, isExampleChatSdkAllowed, isFrontendAllowedWithBackend, isGraphStackSelection, isMultiSelectCategory, isOptionCompatible, isStackSelectionDefault, isWebFrontend, legacyProjectConfigToStackParts, materializeProvidedStackParts, normalizeCapabilitySelection, normalizeOptionId, normalizeStackSelection, normalizeStackSelectionValue, parseStackPartSpecs, parseStackSelectionFromSearch, parseStackSelectionFromUrlRecord, processCliArrayOption, requiresChatSdkVercelAI, requiresChatSdkVercelAIForExamples, requiresChatSdkVercelAIForSelection, splitFrontends, stackGraphToLegacyProjectConfigForEcosystem, stackPartsToLegacyProjectConfigPartial, stackSelectionToCliComparableConfig, stackSelectionToProjectConfig, usesVirtualNoneStackSelection, validateAddonCompatibility, validateProjectName, validateStackParts };
1501
+ //#region src/registry.ts
1502
+ /**
1503
+ * Capability-pack registry schemas.
1504
+ *
1505
+ * A capability pack is a self-contained bundle a community author (or a private
1506
+ * team) can drop into an existing Better Fullstack project: a `registry.json`
1507
+ * manifest that declares the files to write, the dependencies to merge, the env
1508
+ * vars to append, and some advisory metadata. The MVP installer resolves packs
1509
+ * from a local path or a `file://` URL only; the `https` source kind is
1510
+ * reserved but not yet wired.
1511
+ */
1512
+ /** Where a pack was resolved from. MVP wires `local`/`file` only. */
1513
+ const CapabilityPackSourceKindSchema = z.enum([
1514
+ "local",
1515
+ "file",
1516
+ "https"
1517
+ ]).describe("Pack source kind: local path, file:// URL, or (reserved) https URL");
1518
+ /**
1519
+ * A single file contributed by a pack. `content` is written verbatim unless
1520
+ * `template` is true, in which case it is rendered through the Better Fullstack
1521
+ * Handlebars pipeline against the target project's config first.
1522
+ */
1523
+ const CapabilityPackFileSchema = z.object({
1524
+ path: z.string().min(1).describe("Project-relative destination path, e.g. apps/server/src/lib/rate-limit.ts"),
1525
+ content: z.string().describe("File contents (rendered as a template when template=true)"),
1526
+ template: z.boolean().optional().default(false).describe("Render `content` through the template pipeline before writing"),
1527
+ overwrite: z.boolean().optional().default(false).describe("Overwrite an existing file at `path` instead of skipping it")
1528
+ }).describe("A file a capability pack writes into the project");
1529
+ /** An environment variable a pack appends to the project's .env.example. */
1530
+ const CapabilityPackEnvSchema = z.object({
1531
+ key: z.string().min(1).regex(/^[A-Za-z_][A-Za-z0-9_]*$/, "Env keys must be valid shell identifiers").describe("Environment variable name, e.g. RATE_LIMIT_REDIS_URL"),
1532
+ value: z.string().optional().describe("Default value written to .env.example (defaults to empty)"),
1533
+ description: z.string().optional().describe("Human-readable comment written above the variable")
1534
+ }).describe("An environment variable declared by a capability pack");
1535
+ /**
1536
+ * Dependencies keyed by workspace-relative package.json directory ("." for the
1537
+ * repo root, "apps/server", "packages/api", ...) each mapping a dependency name
1538
+ * to a literal version string.
1539
+ */
1540
+ const CapabilityPackDependencyMapSchema = z.record(z.string(), z.record(z.string(), z.string())).describe("Workspace dir -> { \"dep-name\": \"version\" }");
1541
+ /** Advisory compatibility metadata (not enforced by the MVP installer). */
1542
+ const CapabilityPackCompatibilitySchema = z.object({
1543
+ ecosystems: z.array(z.string()).optional().describe("Ecosystems this pack is intended for (advisory)"),
1544
+ requires: z.array(z.string()).optional().describe("Capability ids the pack expects to already be present (advisory)"),
1545
+ conflicts: z.array(z.string()).optional().describe("Capability ids the pack is known to conflict with (advisory)")
1546
+ }).describe("Advisory compatibility metadata for a capability pack");
1547
+ /** The full `registry.json` manifest for a capability pack. */
1548
+ const CapabilityPackManifestSchema = z.object({
1549
+ name: z.string().min(1).regex(/^@?[a-z0-9][a-z0-9._@/-]*$/i, "Pack names must be url/npm-safe").describe("Unique pack identifier, e.g. @acme/rate-limit"),
1550
+ version: z.string().min(1).describe("Pack version (semver recommended)"),
1551
+ description: z.string().optional().describe("Short human-readable summary"),
1552
+ source: CapabilityPackSourceKindSchema.optional().describe("Origin kind (informational)"),
1553
+ files: z.array(CapabilityPackFileSchema).default([]).describe("Files the pack writes into the project"),
1554
+ dependencies: CapabilityPackDependencyMapSchema.optional(),
1555
+ devDependencies: CapabilityPackDependencyMapSchema.optional(),
1556
+ env: z.array(CapabilityPackEnvSchema).default([]).describe("Env vars appended to the project's .env.example"),
1557
+ addons: z.array(z.string()).optional().describe("Addon ids recorded as metadata (not wired into the addons enum)"),
1558
+ compatibility: CapabilityPackCompatibilitySchema.optional()
1559
+ }).describe("A community/private capability pack manifest (registry.json)");
1560
+ /** A record of one installed pack, persisted in the per-project lockfile. */
1561
+ const InstalledPackSchema = z.object({
1562
+ name: z.string().describe("Pack identifier"),
1563
+ version: z.string().describe("Installed pack version"),
1564
+ source: z.string().describe("Resolved source string (local path or file:// URL)"),
1565
+ files: z.array(z.string()).default([]).describe("Project-relative paths written by the pack"),
1566
+ installedAt: z.string().describe("ISO timestamp of the install")
1567
+ }).describe("A capability pack recorded as installed in the project lockfile");
1568
+ /** Current schema version of the per-project registry lockfile. */
1569
+ const REGISTRY_LOCK_VERSION = 1;
1570
+ /** The per-project lockfile persisted at `.better-fullstack/registry.json`. */
1571
+ const RegistryLockSchema = z.object({
1572
+ version: z.number().int().default(REGISTRY_LOCK_VERSION).describe("Lockfile schema version"),
1573
+ packs: z.array(InstalledPackSchema).default([]).describe("Installed capability packs")
1574
+ }).describe("Per-project registry lockfile (.better-fullstack/registry.json)");
1575
+
1576
+ //#endregion
1577
+ export { ADDONS_VALUES, AISchema, AI_DOCS_VALUES, AI_VALUES, ANALYTICS_VALUES, ANIMATION_VALUES, APISchema, API_VALUES, ASTRO_INTEGRATION_VALUES, AUTH_VALUES, AddInputSchema, AddonsSchema, AiDocsSchema, AnalyticsSchema, AnimationSchema, AstroIntegrationSchema, AuthSchema, BACKEND_UTILS_COMPATIBLE_BACKENDS, BACKEND_VALUES, BackendSchema, BetterFullstackConfigFileSchema, BetterFullstackConfigSchema, BetterTStackConfigFileSchema, BetterTStackConfigSchema, CACHING_VALUES, CATEGORY_ORDER, CLIInputSchema, CLI_FLAG_GROUP_DEFINITIONS, CMSSchema, CMS_VALUES, CSSFrameworkSchema, CSS_FRAMEWORK_VALUES, CachingSchema, CapabilityPackCompatibilitySchema, CapabilityPackDependencyMapSchema, CapabilityPackEnvSchema, CapabilityPackFileSchema, CapabilityPackManifestSchema, CapabilityPackSourceKindSchema, CreateInputSchema, DATABASE_SETUP_VALUES, DATABASE_VALUES, DEFAULT_STACK_SELECTION, DIRECTORY_CONFLICT_VALUES, DOTNET_API_VALUES, DOTNET_AUTH_VALUES, DOTNET_CACHING_VALUES, DOTNET_CATEGORY_ORDER, DOTNET_DEPLOY_VALUES, DOTNET_JOB_QUEUE_VALUES, DOTNET_OBSERVABILITY_VALUES, DOTNET_ORM_VALUES, DOTNET_REALTIME_VALUES, DOTNET_TESTING_VALUES, DOTNET_VALIDATION_VALUES, DOTNET_WEB_FRAMEWORK_VALUES, DatabaseSchema, DatabaseSetupSchema, DirectoryConflictSchema, DotnetApiSchema, DotnetAuthSchema, DotnetCachingSchema, DotnetDeploySchema, DotnetJobQueueSchema, DotnetObservabilitySchema, DotnetOrmSchema, DotnetRealtimeSchema, DotnetTestingSchema, DotnetValidationSchema, DotnetWebFrameworkSchema, ECOSYSTEM_VALUES, EFFECT_VALUES, ELIXIR_API_VALUES, ELIXIR_AUTH_VALUES, ELIXIR_CACHING_VALUES, ELIXIR_CATEGORY_ORDER, ELIXIR_DEPLOY_VALUES, ELIXIR_EMAIL_VALUES, ELIXIR_HTTP_VALUES, ELIXIR_JOBS_VALUES, ELIXIR_JSON_VALUES, ELIXIR_LIBRARIES_VALUES, ELIXIR_OBSERVABILITY_VALUES, ELIXIR_ORM_VALUES, ELIXIR_QUALITY_VALUES, ELIXIR_REALTIME_VALUES, ELIXIR_TESTING_VALUES, ELIXIR_UNSUPPORTED_GRAPH_TOOLS, ELIXIR_VALIDATION_VALUES, ELIXIR_WEB_FRAMEWORK_VALUES, EMAIL_VALUES, EXAMPLES_VALUES, EcosystemSchema, EffectSchema, ElixirApiSchema, ElixirAuthSchema, ElixirCachingSchema, ElixirDeploySchema, ElixirEmailSchema, ElixirHttpSchema, ElixirJobsSchema, ElixirJsonSchema, ElixirLibrariesSchema, ElixirObservabilitySchema, ElixirOrmSchema, ElixirQualitySchema, ElixirRealtimeSchema, ElixirTestingSchema, ElixirValidationSchema, ElixirWebFrameworkSchema, EmailSchema, ExamplesSchema, FEATURE_FLAGS_VALUES, FILE_STORAGE_VALUES, FILE_UPLOAD_VALUES, FORMS_VALUES, FRONTEND_VALUES, FeatureFlagsSchema, FileStorageSchema, FileUploadSchema, FormsSchema, FrontendSchema, GO_API_VALUES, GO_AUTH_VALUES, GO_CACHING_VALUES, GO_CATEGORY_ORDER, GO_CLI_VALUES, GO_CONFIG_VALUES, GO_LOGGING_VALUES, GO_MESSAGE_QUEUE_VALUES, GO_OBSERVABILITY_VALUES, GO_ORM_VALUES, GO_REALTIME_VALUES, GO_TESTING_VALUES, GO_WEB_FRAMEWORK_VALUES, GoApiSchema, GoAuthSchema, GoCachingSchema, GoCliSchema, GoConfigSchema, GoLoggingSchema, GoMessageQueueSchema, GoObservabilitySchema, GoOrmSchema, GoRealtimeSchema, GoTestingSchema, GoWebFrameworkSchema, I18N_VALUES, I18nSchema, InitResultSchema, InstalledPackSchema, JAVA_API_VALUES, JAVA_AUTH_VALUES, JAVA_BUILD_TOOL_VALUES, JAVA_CATEGORY_ORDER, JAVA_LANGUAGE_VALUES, JAVA_LIBRARIES_VALUES, JAVA_LOGGING_VALUES, JAVA_ORM_VALUES, JAVA_TESTING_LIBRARIES_VALUES, JAVA_WEB_FRAMEWORK_VALUES, JOB_QUEUE_VALUES, JavaApiSchema, JavaAuthSchema, JavaBuildToolSchema, JavaLanguageSchema, JavaLibrariesSchema, JavaLoggingSchema, JavaOrmSchema, JavaTestingLibrariesSchema, JavaWebFrameworkSchema, JobQueueSchema, LOGGING_VALUES, LoggingSchema, MOBILE_DEEP_LINKING_VALUES, MOBILE_NAVIGATION_VALUES, MOBILE_OTA_VALUES, MOBILE_PUSH_VALUES, MOBILE_STORAGE_VALUES, MOBILE_TESTING_VALUES, MOBILE_UI_VALUES, MobileDeepLinkingSchema, MobileNavigationSchema, MobileOTASchema, MobilePushSchema, MobileStorageSchema, MobileTestingSchema, MobileUISchema, NON_OPTION_STACK_SELECTION_KEYS, OBSERVABILITY_VALUES, OPTION_CATEGORY_METADATA, ORMSchema, ORM_VALUES, ObservabilitySchema, PACKAGE_MANAGER_VALUES, PAYMENTS_VALUES, PYTHON_AI_VALUES, PYTHON_API_VALUES, PYTHON_AUTH_VALUES, PYTHON_CACHING_VALUES, PYTHON_CATEGORY_ORDER, PYTHON_CLI_VALUES, PYTHON_GRAPHQL_VALUES, PYTHON_OBSERVABILITY_VALUES, PYTHON_ORM_VALUES, PYTHON_QUALITY_VALUES, PYTHON_REALTIME_VALUES, PYTHON_TASK_QUEUE_VALUES, PYTHON_TESTING_VALUES, PYTHON_VALIDATION_VALUES, PYTHON_WEB_FRAMEWORK_VALUES, PackageManagerSchema, PaymentsSchema, ProjectConfigSchema, ProjectNameSchema, PythonAiSchema, PythonApiSchema, PythonAuthSchema, PythonCachingSchema, PythonCliSchema, PythonGraphqlSchema, PythonObservabilitySchema, PythonOrmSchema, PythonQualitySchema, PythonRealtimeSchema, PythonTaskQueueSchema, PythonTestingSchema, PythonValidationSchema, PythonWebFrameworkSchema, RATE_LIMIT_VALUES, REACT_NATIVE_CATEGORY_ORDER, REALTIME_VALUES, REGISTRY_LOCK_VERSION, RUNTIME_VALUES, RUST_API_VALUES, RUST_AUTH_VALUES, RUST_CACHING_VALUES, RUST_CATEGORY_ORDER, RUST_CLI_VALUES, RUST_ERROR_HANDLING_VALUES, RUST_FRONTEND_VALUES, RUST_LIBRARIES_VALUES, RUST_LOGGING_VALUES, RUST_MESSAGE_QUEUE_VALUES, RUST_OBSERVABILITY_VALUES, RUST_ORM_VALUES, RUST_REALTIME_VALUES, RUST_TEMPLATING_VALUES, RUST_WEB_FRAMEWORK_VALUES, RateLimitSchema, RealtimeSchema, RegistryLockSchema, RuntimeSchema, RustApiSchema, RustAuthSchema, RustCachingSchema, RustCliSchema, RustErrorHandlingSchema, RustFrontendSchema, RustLibrariesSchema, RustLoggingSchema, RustMessageQueueSchema, RustObservabilitySchema, RustOrmSchema, RustRealtimeSchema, RustTemplatingSchema, RustWebFrameworkSchema, SEARCH_VALUES, SERVER_DEPLOY_VALUES, SHADCN_BASE_COLOR_VALUES, SHADCN_BASE_VALUES, SHADCN_COLOR_THEME_VALUES, SHADCN_FONT_VALUES, SHADCN_ICON_LIBRARY_VALUES, SHADCN_RADIUS_VALUES, SHADCN_STYLE_VALUES, STACK_SELECTION_KEYS, STACK_SELECTION_OPTION_CATEGORY_BY_KEY, STACK_SELECTION_URL_KEYS, STACK_TOOL_DEFINITIONS, STATE_MANAGEMENT_VALUES, SearchSchema, ServerDeploySchema, ShadcnBaseColorSchema, ShadcnBaseSchema, ShadcnColorThemeSchema, ShadcnFontSchema, ShadcnIconLibrarySchema, ShadcnRadiusSchema, ShadcnStyleSchema, StackPartEcosystemSchema, StackPartRoleSchema, StackPartSchema, StackPartSourceSchema, StateManagementSchema, TEMPLATE_VALUES, TESTING_VALUES, TYPESCRIPT_CATEGORY_ORDER, TemplateSchema, TestingSchema, UILibrarySchema, UI_LIBRARY_COMPATIBILITY, UI_LIBRARY_VALUES, VALIDATION_VALUES, VECTOR_DB_VALUES, VERSION_CHANNEL_VALUES, VIRTUAL_NONE_MULTI_SELECT_STACK_SELECTION_KEYS, ValidationSchema, VectorDbSchema, VersionChannelSchema, WEB_DEPLOY_VALUES, WORKSPACE_SHAPE_VALUES, WebDeploySchema, WorkspaceShapeSchema, allowedApisForFrontends, analyzeStackCompatibility, cliInputToProjectConfigPartial, cloneDefaultStackSelection, createCliDefaultProjectConfigBase, createStackPart, createStackSelectionSearchParams, evaluateCompatibility, formatStackPartSpec, generateStackSelectionCommand, getAIFrontendCompatibilityIssue, getAddonStackPartBinding, getApiFrontendCompatibilityIssue, getCapabilityDefinitions, getCapabilityDisabledReason, getCategoryCliValues, getCategoryDisplayName, getCategoryOptionIds, getCategoryOrderForEcosystem, getCliFlagReference, getCompatibleAddons, getCompatibleCSSFrameworks, getCompatibleFormLibraries, getCompatibleUILibraries, getDisabledReason, getLocalWebDevPort, getOptionMetadata, getRoleTargetPath, getStackPartCompatibilityIssueForPart, getStackPartOptions, getStackToolDefinitions, getSupportedCapabilityOptions, getUnsupportedWebDeployFrontend, hasDockerComposeCompatibleFrontend, hasPWACompatibleFrontend, hasTanStackAICompatibleFrontend, hasTauriCompatibleFrontend, hasWebStyling, isArrayStackSelectionKey, isBackendUtilsCompatibleBackend, isCliDefaultStackSelection, isExampleAIAllowed, isExampleChatSdkAllowed, isFrontendAllowedWithBackend, isGraphStackSelection, isMultiSelectCategory, isOptionCompatible, isStackSelectionDefault, isWebFrontend, legacyProjectConfigToStackParts, materializeProvidedStackParts, normalizeCapabilitySelection, normalizeOptionId, normalizeStackSelection, normalizeStackSelectionValue, parseStackPartSpecs, parseStackSelectionFromSearch, parseStackSelectionFromUrlRecord, processCliArrayOption, requiresChatSdkVercelAI, requiresChatSdkVercelAIForExamples, requiresChatSdkVercelAIForSelection, splitFrontends, stackGraphToLegacyProjectConfigForEcosystem, stackPartsToLegacyProjectConfigPartial, stackQualifiesForSingleApp, stackSelectionToCliComparableConfig, stackSelectionToProjectConfig, usesVirtualNoneStackSelection, validateAddonCompatibility, validateProjectName, validateStackParts };
23
1578
  //# sourceMappingURL=index.mjs.map