create-better-fullstack 2.1.5 → 2.1.7

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 (29) hide show
  1. package/dist/{add-handler-BNSL6HdM.mjs → add-handler-ztNjzoMN.mjs} +52 -6
  2. package/dist/addons-setup-DnLjAzTw.mjs +7 -0
  3. package/dist/{addons-setup-CyrP1IV-.mjs → addons-setup-LaAj43NP.mjs} +10 -24
  4. package/dist/analytics-DVltG11u.mjs +170 -0
  5. package/dist/{errors-Cyol8zbN.mjs → bts-config-DQVWvPDs.mjs} +72 -149
  6. package/dist/cli.mjs +2 -2
  7. package/dist/{templates-CnTOtKjm.mjs → config-processing-D9-F2Us9.mjs} +57 -2
  8. package/dist/{doctor-DBoq7bZ9.mjs → doctor-a4ca3SMd.mjs} +3 -2
  9. package/dist/errors-ns_o2OKg.mjs +86 -0
  10. package/dist/{file-formatter-B3dsev2l.mjs → file-formatter-gvmrpd-g.mjs} +78 -6
  11. package/dist/gen-CCClL7Ve.mjs +274 -0
  12. package/dist/{generated-checks-C8hn9w2i.mjs → generated-checks-BV9jol5h.mjs} +1 -1
  13. package/dist/index.d.mts +162 -64
  14. package/dist/index.mjs +17 -8
  15. package/dist/{install-dependencies-CgNh-aOy.mjs → install-dependencies-RoUyaE8o.mjs} +80 -21
  16. package/dist/mcp-492OkjcS.mjs +11 -0
  17. package/dist/mcp-entry.mjs +205 -30
  18. package/dist/prompt-environment-BR0Kkw2W.mjs +26 -0
  19. package/dist/registry-DSf2CEaU.mjs +408 -0
  20. package/dist/{run-BYse4yJy.mjs → run-D9I7NdES.mjs} +2081 -464
  21. package/dist/run-buK4aZS8.mjs +15 -0
  22. package/dist/scaffold-manifest-DGRyepdb.mjs +4 -0
  23. package/dist/scaffold-manifest-Dyi0voqE.mjs +135 -0
  24. package/dist/update-DJ8CI5KW.mjs +401 -0
  25. package/package.json +3 -3
  26. package/dist/addons-setup-DyMm42a5.mjs +0 -5
  27. package/dist/mcp-CsW3i66c.mjs +0 -6
  28. package/dist/run-_cf_sFwM.mjs +0 -10
  29. /package/dist/{update-deps-D5OG0KmJ.mjs → update-deps-aD-iQw4U.mjs} +0 -0
package/dist/index.d.mts CHANGED
@@ -23,6 +23,10 @@ interface SetupStepResult {
23
23
  errorMessage?: string;
24
24
  }
25
25
  //#endregion
26
+ //#region src/utils/analytics.d.ts
27
+
28
+ type TelemetrySource = "cli-interactive" | "cli-flags" | "mcp" | "programmatic";
29
+ //#endregion
26
30
  //#region src/helpers/core/add-handler.d.ts
27
31
  interface AddResult {
28
32
  success: boolean;
@@ -41,6 +45,7 @@ declare const router: {
41
45
  mern: "mern";
42
46
  pern: "pern";
43
47
  t3: "t3";
48
+ saas: "saas";
44
49
  }>>;
45
50
  fromHistory: z.ZodOptional<z.ZodNumber>;
46
51
  config: z.ZodOptional<z.ZodString>;
@@ -94,11 +99,15 @@ declare const router: {
94
99
  }>>;
95
100
  payments: z.ZodOptional<z.ZodEnum<{
96
101
  none: "none";
102
+ revenuecat: "revenuecat";
97
103
  polar: "polar";
98
104
  stripe: "stripe";
99
105
  "lemon-squeezy": "lemon-squeezy";
100
106
  paddle: "paddle";
101
107
  dodo: "dodo";
108
+ creem: "creem";
109
+ autumn: "autumn";
110
+ commet: "commet";
102
111
  }>>;
103
112
  email: z.ZodOptional<z.ZodEnum<{
104
113
  none: "none";
@@ -224,6 +233,7 @@ declare const router: {
224
233
  }>>;
225
234
  analytics: z.ZodOptional<z.ZodEnum<{
226
235
  none: "none";
236
+ posthog: "posthog";
227
237
  plausible: "plausible";
228
238
  umami: "umami";
229
239
  }>>;
@@ -238,6 +248,7 @@ declare const router: {
238
248
  }>>;
239
249
  caching: z.ZodOptional<z.ZodEnum<{
240
250
  none: "none";
251
+ redis: "redis";
241
252
  "upstash-redis": "upstash-redis";
242
253
  }>>;
243
254
  rateLimit: z.ZodOptional<z.ZodEnum<{
@@ -250,6 +261,7 @@ declare const router: {
250
261
  paraglide: "paraglide";
251
262
  i18next: "i18next";
252
263
  "next-intl": "next-intl";
264
+ intlayer: "intlayer";
253
265
  }>>;
254
266
  search: z.ZodOptional<z.ZodEnum<{
255
267
  none: "none";
@@ -258,6 +270,7 @@ declare const router: {
258
270
  elasticsearch: "elasticsearch";
259
271
  opensearch: "opensearch";
260
272
  algolia: "algolia";
273
+ bleve: "bleve";
261
274
  }>>;
262
275
  vectorDb: z.ZodOptional<z.ZodEnum<{
263
276
  none: "none";
@@ -271,6 +284,7 @@ declare const router: {
271
284
  s3: "s3";
272
285
  r2: "r2";
273
286
  cloudinary: "cloudinary";
287
+ "supabase-storage": "supabase-storage";
274
288
  }>>;
275
289
  mobileNavigation: z.ZodOptional<z.ZodEnum<{
276
290
  none: "none";
@@ -378,6 +392,10 @@ declare const router: {
378
392
  pnpm: "pnpm";
379
393
  yarn: "yarn";
380
394
  }>>;
395
+ workspaceShape: z.ZodOptional<z.ZodEnum<{
396
+ monorepo: "monorepo";
397
+ "single-app": "single-app";
398
+ }>>;
381
399
  install: z.ZodOptional<z.ZodBoolean>;
382
400
  versionChannel: z.ZodOptional<z.ZodEnum<{
383
401
  stable: "stable";
@@ -397,6 +415,7 @@ declare const router: {
397
415
  docker: "docker";
398
416
  }>>;
399
417
  backend: z.ZodOptional<z.ZodEnum<{
418
+ effect: "effect";
400
419
  none: "none";
401
420
  hono: "hono";
402
421
  express: "express";
@@ -558,6 +577,8 @@ declare const router: {
558
577
  axum: "axum";
559
578
  "actix-web": "actix-web";
560
579
  rocket: "rocket";
580
+ poem: "poem";
581
+ loco: "loco";
561
582
  }>>;
562
583
  rustFrontend: z.ZodOptional<z.ZodEnum<{
563
584
  none: "none";
@@ -730,9 +751,11 @@ declare const router: {
730
751
  echo: "echo";
731
752
  fiber: "fiber";
732
753
  chi: "chi";
754
+ stdlib: "stdlib";
733
755
  }>>;
734
756
  goOrm: z.ZodOptional<z.ZodEnum<{
735
757
  none: "none";
758
+ bun: "bun";
736
759
  gorm: "gorm";
737
760
  sqlc: "sqlc";
738
761
  ent: "ent";
@@ -794,6 +817,11 @@ declare const router: {
794
817
  none: "none";
795
818
  "spring-boot": "spring-boot";
796
819
  quarkus: "quarkus";
820
+ micronaut: "micronaut";
821
+ }>>;
822
+ javaLanguage: z.ZodOptional<z.ZodEnum<{
823
+ java: "java";
824
+ kotlin: "kotlin";
797
825
  }>>;
798
826
  javaBuildTool: z.ZodOptional<z.ZodEnum<{
799
827
  none: "none";
@@ -814,10 +842,13 @@ declare const router: {
814
842
  javaApi: z.ZodOptional<z.ZodEnum<{
815
843
  none: "none";
816
844
  "spring-graphql": "spring-graphql";
845
+ "openapi-generator": "openapi-generator";
846
+ grpc: "grpc";
817
847
  }>>;
818
848
  javaLogging: z.ZodOptional<z.ZodEnum<{
819
849
  none: "none";
820
850
  logback: "logback";
851
+ log4j2: "log4j2";
821
852
  }>>;
822
853
  javaLibraries: z.ZodOptional<z.ZodArray<z.ZodEnum<{
823
854
  none: "none";
@@ -934,9 +965,9 @@ declare const router: {
934
965
  }>>;
935
966
  elixirApi: z.ZodOptional<z.ZodEnum<{
936
967
  none: "none";
968
+ grpc: "grpc";
937
969
  rest: "rest";
938
970
  absinthe: "absinthe";
939
- grpc: "grpc";
940
971
  }>>;
941
972
  elixirRealtime: z.ZodOptional<z.ZodEnum<{
942
973
  none: "none";
@@ -1019,13 +1050,13 @@ declare const router: {
1019
1050
  ecosystem: "typescript" | "react-native" | "rust" | "python" | "go" | "java" | "elixir" | "dotnet";
1020
1051
  database: "none" | "sqlite" | "postgres" | "mysql" | "mongodb" | "edgedb" | "redis";
1021
1052
  orm: "none" | "drizzle" | "prisma" | "mongoose" | "typeorm" | "kysely" | "mikroorm" | "sequelize";
1022
- backend: "none" | "hono" | "express" | "fastify" | "elysia" | "fets" | "nestjs" | "adonisjs" | "nitro" | "encore" | "convex" | "self";
1053
+ backend: "effect" | "none" | "hono" | "express" | "fastify" | "elysia" | "fets" | "nestjs" | "adonisjs" | "nitro" | "encore" | "convex" | "self";
1023
1054
  runtime: "none" | "bun" | "node" | "workers";
1024
1055
  frontend: ("none" | "tanstack-router" | "react-router" | "react-vite" | "tanstack-start" | "next" | "vinext" | "nuxt" | "native-bare" | "native-uniwind" | "native-unistyles" | "svelte" | "solid" | "solid-start" | "astro" | "qwik" | "angular" | "redwood" | "fresh")[];
1025
1056
  addons: ("none" | "pwa" | "tauri" | "starlight" | "biome" | "lefthook" | "husky" | "ruler" | "mcp" | "skills" | "turborepo" | "nx" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "msw" | "storybook" | "swr" | "tanstack-query" | "tanstack-table" | "tanstack-virtual" | "tanstack-db" | "tanstack-pacer" | "backend-utils" | "devcontainer" | "docker-compose" | "github-actions")[];
1026
1057
  examples: ("ai" | "none" | "chat-sdk" | "tanstack-showcase")[];
1027
1058
  auth: "none" | "better-auth" | "better-auth-organizations" | "go-better-auth" | "clerk" | "nextauth" | "stack-auth" | "supabase-auth" | "auth0" | "workos" | "kinde";
1028
- payments: "none" | "polar" | "stripe" | "lemon-squeezy" | "paddle" | "dodo";
1059
+ payments: "none" | "revenuecat" | "polar" | "stripe" | "lemon-squeezy" | "paddle" | "dodo" | "creem" | "autumn" | "commet";
1029
1060
  git: boolean;
1030
1061
  packageManager: "bun" | "npm" | "pnpm" | "yarn";
1031
1062
  versionChannel: "stable" | "latest" | "beta";
@@ -1050,14 +1081,14 @@ declare const router: {
1050
1081
  logging: "none" | "pino" | "winston" | "evlog";
1051
1082
  observability: "none" | "opentelemetry" | "sentry" | "grafana" | "datadog" | "axiom" | "betterstack";
1052
1083
  featureFlags: "none" | "growthbook" | "posthog" | "launchdarkly" | "flagsmith" | "unleash";
1053
- analytics: "none" | "plausible" | "umami";
1084
+ analytics: "none" | "posthog" | "plausible" | "umami";
1054
1085
  cms: "none" | "payload" | "sanity" | "strapi" | "tinacms" | "directus" | "keystatic";
1055
- caching: "none" | "upstash-redis";
1086
+ caching: "none" | "redis" | "upstash-redis";
1056
1087
  rateLimit: "none" | "arcjet" | "upstash-ratelimit";
1057
- i18n: "none" | "paraglide" | "i18next" | "next-intl";
1058
- search: "none" | "meilisearch" | "typesense" | "elasticsearch" | "opensearch" | "algolia";
1088
+ i18n: "none" | "paraglide" | "i18next" | "next-intl" | "intlayer";
1089
+ search: "none" | "meilisearch" | "typesense" | "elasticsearch" | "opensearch" | "algolia" | "bleve";
1059
1090
  vectorDb: "none" | "pgvector" | "qdrant" | "chroma" | "pinecone";
1060
- fileStorage: "none" | "s3" | "r2" | "cloudinary";
1091
+ fileStorage: "none" | "s3" | "r2" | "cloudinary" | "supabase-storage";
1061
1092
  mobileNavigation: "none" | "expo-router" | "react-navigation";
1062
1093
  mobileUI: "none" | "uniwind" | "tamagui" | "gluestack-ui" | "unistyles";
1063
1094
  mobileStorage: "none" | "mmkv";
@@ -1065,7 +1096,7 @@ declare const router: {
1065
1096
  mobilePush: "none" | "expo-notifications";
1066
1097
  mobileOTA: "none" | "expo-updates";
1067
1098
  mobileDeepLinking: "none" | "expo-linking";
1068
- rustWebFramework: "none" | "axum" | "actix-web" | "rocket";
1099
+ rustWebFramework: "none" | "axum" | "actix-web" | "rocket" | "poem" | "loco";
1069
1100
  rustFrontend: "none" | "leptos" | "dioxus";
1070
1101
  rustOrm: "none" | "sea-orm" | "sqlx" | "diesel";
1071
1102
  rustApi: "none" | "tonic" | "async-graphql";
@@ -1093,8 +1124,8 @@ declare const router: {
1093
1124
  pythonRealtime: "none" | "python-socketio" | "websockets";
1094
1125
  pythonObservability: "none" | "opentelemetry";
1095
1126
  pythonCli: ("none" | "typer" | "click" | "rich")[];
1096
- goWebFramework: "none" | "gin" | "echo" | "fiber" | "chi";
1097
- goOrm: "none" | "gorm" | "sqlc" | "ent";
1127
+ goWebFramework: "none" | "gin" | "echo" | "fiber" | "chi" | "stdlib";
1128
+ goOrm: "none" | "bun" | "gorm" | "sqlc" | "ent";
1098
1129
  goApi: "none" | "grpc-go" | "gqlgen";
1099
1130
  goCli: "none" | "cobra" | "bubbletea" | "urfave-cli";
1100
1131
  goLogging: "none" | "zap" | "zerolog" | "slog" | "logrus";
@@ -1105,12 +1136,12 @@ declare const router: {
1105
1136
  goCaching: "none" | "redis" | "ristretto";
1106
1137
  goConfig: "none" | "viper" | "koanf";
1107
1138
  goObservability: "none" | "opentelemetry";
1108
- javaWebFramework: "none" | "spring-boot" | "quarkus";
1139
+ javaWebFramework: "none" | "spring-boot" | "quarkus" | "micronaut";
1109
1140
  javaBuildTool: "none" | "maven" | "gradle";
1110
1141
  javaOrm: "none" | "spring-data-jpa" | "jooq" | "mybatis";
1111
1142
  javaAuth: "none" | "spring-security" | "keycloak";
1112
- javaApi: "none" | "spring-graphql";
1113
- javaLogging: "none" | "logback";
1143
+ javaApi: "none" | "spring-graphql" | "openapi-generator" | "grpc";
1144
+ javaLogging: "none" | "logback" | "log4j2";
1114
1145
  javaLibraries: ("none" | "spring-actuator" | "spring-validation" | "flyway" | "liquibase" | "springdoc-openapi" | "lombok" | "mapstruct" | "caffeine" | "resilience4j" | "spring-webflux" | "spring-batch" | "spring-kafka" | "spring-mail" | "spring-devtools" | "micrometer-prometheus" | "thymeleaf" | "spring-amqp" | "opentelemetry-java")[];
1115
1146
  javaTestingLibraries: ("none" | "junit5" | "mockito" | "testcontainers" | "assertj" | "rest-assured" | "wiremock" | "awaitility" | "archunit" | "jqwik")[];
1116
1147
  dotnetWebFramework: "none" | "aspnet-minimal" | "aspnet-mvc" | "aspnet-blazor";
@@ -1127,7 +1158,7 @@ declare const router: {
1127
1158
  elixirWebFramework: "none" | "phoenix" | "phoenix-live-view";
1128
1159
  elixirOrm: "none" | "ecto" | "ecto-sql";
1129
1160
  elixirAuth: "none" | "phx-gen-auth" | "ueberauth" | "guardian";
1130
- elixirApi: "none" | "rest" | "absinthe" | "grpc";
1161
+ elixirApi: "none" | "grpc" | "rest" | "absinthe";
1131
1162
  elixirRealtime: "none" | "channels" | "presence" | "pubsub" | "live-view-streams";
1132
1163
  elixirJobs: "none" | "oban" | "quantum";
1133
1164
  elixirValidation: "none" | "ecto-changesets" | "nimble-options";
@@ -1141,6 +1172,7 @@ declare const router: {
1141
1172
  elixirDeploy: "none" | "docker" | "fly" | "gigalixir" | "mix-release";
1142
1173
  elixirLibraries: ("none" | "nx" | "broadway")[];
1143
1174
  aiDocs: ("none" | "claude-md" | "agents-md" | "cursorrules")[];
1175
+ workspaceShape?: "monorepo" | "single-app" | undefined;
1144
1176
  astroIntegration?: "none" | "svelte" | "solid" | "react" | "vue" | undefined;
1145
1177
  shadcnBase?: "radix" | "base" | undefined;
1146
1178
  shadcnStyle?: "vega" | "nova" | "maia" | "lyra" | "mira" | "luma" | "sera" | undefined;
@@ -1149,9 +1181,10 @@ declare const router: {
1149
1181
  shadcnBaseColor?: "neutral" | "stone" | "zinc" | "gray" | undefined;
1150
1182
  shadcnFont?: "inter" | "geist" | "noto-sans" | "nunito-sans" | "figtree" | "roboto" | "raleway" | "dm-sans" | "public-sans" | "outfit" | "jetbrains-mono" | "geist-mono" | undefined;
1151
1183
  shadcnRadius?: "default" | "none" | "small" | "medium" | "large" | undefined;
1184
+ javaLanguage?: "java" | "kotlin" | undefined;
1152
1185
  stackParts?: {
1153
1186
  id: string;
1154
- role: "api" | "runtime" | "backend" | "database" | "orm" | "dbSetup" | "auth" | "payments" | "email" | "fileUpload" | "logging" | "observability" | "stateManagement" | "forms" | "validation" | "testing" | "realtime" | "jobQueue" | "caching" | "rateLimit" | "i18n" | "search" | "vectorDb" | "fileStorage" | "animation" | "cms" | "featureFlags" | "analytics" | "codeQuality" | "documentation" | "examples" | "ai" | "effect" | "config" | "frontend" | "push" | "mobile" | "graphql" | "deploy" | "navigation" | "ui" | "css" | "storage" | "ota" | "deepLinking" | "appPlatform" | "dataFetching" | "workspaceTooling" | "buildTool" | "cli" | "errorHandling" | "httpClient" | "libraries" | "templating";
1187
+ role: "api" | "runtime" | "backend" | "database" | "orm" | "dbSetup" | "auth" | "payments" | "email" | "fileUpload" | "logging" | "observability" | "stateManagement" | "forms" | "validation" | "testing" | "realtime" | "jobQueue" | "caching" | "rateLimit" | "i18n" | "search" | "vectorDb" | "fileStorage" | "animation" | "cms" | "featureFlags" | "analytics" | "codeQuality" | "documentation" | "examples" | "ai" | "effect" | "config" | "frontend" | "push" | "mobile" | "graphql" | "deploy" | "navigation" | "ui" | "css" | "storage" | "ota" | "deepLinking" | "appPlatform" | "dataFetching" | "workspaceTooling" | "language" | "buildTool" | "cli" | "errorHandling" | "httpClient" | "libraries" | "templating";
1155
1188
  toolId: string;
1156
1189
  ecosystem: "typescript" | "react-native" | "rust" | "python" | "go" | "java" | "elixir" | "dotnet" | "universal";
1157
1190
  source: "selected" | "defaulted" | "provided" | "legacy" | "adjusted";
@@ -1181,13 +1214,13 @@ declare const router: {
1181
1214
  ecosystem: "typescript" | "react-native" | "rust" | "python" | "go" | "java" | "elixir" | "dotnet";
1182
1215
  database: "none" | "sqlite" | "postgres" | "mysql" | "mongodb" | "edgedb" | "redis";
1183
1216
  orm: "none" | "drizzle" | "prisma" | "mongoose" | "typeorm" | "kysely" | "mikroorm" | "sequelize";
1184
- backend: "none" | "hono" | "express" | "fastify" | "elysia" | "fets" | "nestjs" | "adonisjs" | "nitro" | "encore" | "convex" | "self";
1217
+ backend: "effect" | "none" | "hono" | "express" | "fastify" | "elysia" | "fets" | "nestjs" | "adonisjs" | "nitro" | "encore" | "convex" | "self";
1185
1218
  runtime: "none" | "bun" | "node" | "workers";
1186
1219
  frontend: ("none" | "tanstack-router" | "react-router" | "react-vite" | "tanstack-start" | "next" | "vinext" | "nuxt" | "native-bare" | "native-uniwind" | "native-unistyles" | "svelte" | "solid" | "solid-start" | "astro" | "qwik" | "angular" | "redwood" | "fresh")[];
1187
1220
  addons: ("none" | "pwa" | "tauri" | "starlight" | "biome" | "lefthook" | "husky" | "ruler" | "mcp" | "skills" | "turborepo" | "nx" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "msw" | "storybook" | "swr" | "tanstack-query" | "tanstack-table" | "tanstack-virtual" | "tanstack-db" | "tanstack-pacer" | "backend-utils" | "devcontainer" | "docker-compose" | "github-actions")[];
1188
1221
  examples: ("ai" | "none" | "chat-sdk" | "tanstack-showcase")[];
1189
1222
  auth: "none" | "better-auth" | "better-auth-organizations" | "go-better-auth" | "clerk" | "nextauth" | "stack-auth" | "supabase-auth" | "auth0" | "workos" | "kinde";
1190
- payments: "none" | "polar" | "stripe" | "lemon-squeezy" | "paddle" | "dodo";
1223
+ payments: "none" | "revenuecat" | "polar" | "stripe" | "lemon-squeezy" | "paddle" | "dodo" | "creem" | "autumn" | "commet";
1191
1224
  git: boolean;
1192
1225
  packageManager: "bun" | "npm" | "pnpm" | "yarn";
1193
1226
  versionChannel: "stable" | "latest" | "beta";
@@ -1212,14 +1245,14 @@ declare const router: {
1212
1245
  logging: "none" | "pino" | "winston" | "evlog";
1213
1246
  observability: "none" | "opentelemetry" | "sentry" | "grafana" | "datadog" | "axiom" | "betterstack";
1214
1247
  featureFlags: "none" | "growthbook" | "posthog" | "launchdarkly" | "flagsmith" | "unleash";
1215
- analytics: "none" | "plausible" | "umami";
1248
+ analytics: "none" | "posthog" | "plausible" | "umami";
1216
1249
  cms: "none" | "payload" | "sanity" | "strapi" | "tinacms" | "directus" | "keystatic";
1217
- caching: "none" | "upstash-redis";
1250
+ caching: "none" | "redis" | "upstash-redis";
1218
1251
  rateLimit: "none" | "arcjet" | "upstash-ratelimit";
1219
- i18n: "none" | "paraglide" | "i18next" | "next-intl";
1220
- search: "none" | "meilisearch" | "typesense" | "elasticsearch" | "opensearch" | "algolia";
1252
+ i18n: "none" | "paraglide" | "i18next" | "next-intl" | "intlayer";
1253
+ search: "none" | "meilisearch" | "typesense" | "elasticsearch" | "opensearch" | "algolia" | "bleve";
1221
1254
  vectorDb: "none" | "pgvector" | "qdrant" | "chroma" | "pinecone";
1222
- fileStorage: "none" | "s3" | "r2" | "cloudinary";
1255
+ fileStorage: "none" | "s3" | "r2" | "cloudinary" | "supabase-storage";
1223
1256
  mobileNavigation: "none" | "expo-router" | "react-navigation";
1224
1257
  mobileUI: "none" | "uniwind" | "tamagui" | "gluestack-ui" | "unistyles";
1225
1258
  mobileStorage: "none" | "mmkv";
@@ -1227,7 +1260,7 @@ declare const router: {
1227
1260
  mobilePush: "none" | "expo-notifications";
1228
1261
  mobileOTA: "none" | "expo-updates";
1229
1262
  mobileDeepLinking: "none" | "expo-linking";
1230
- rustWebFramework: "none" | "axum" | "actix-web" | "rocket";
1263
+ rustWebFramework: "none" | "axum" | "actix-web" | "rocket" | "poem" | "loco";
1231
1264
  rustFrontend: "none" | "leptos" | "dioxus";
1232
1265
  rustOrm: "none" | "sea-orm" | "sqlx" | "diesel";
1233
1266
  rustApi: "none" | "tonic" | "async-graphql";
@@ -1255,8 +1288,8 @@ declare const router: {
1255
1288
  pythonRealtime: "none" | "python-socketio" | "websockets";
1256
1289
  pythonObservability: "none" | "opentelemetry";
1257
1290
  pythonCli: ("none" | "typer" | "click" | "rich")[];
1258
- goWebFramework: "none" | "gin" | "echo" | "fiber" | "chi";
1259
- goOrm: "none" | "gorm" | "sqlc" | "ent";
1291
+ goWebFramework: "none" | "gin" | "echo" | "fiber" | "chi" | "stdlib";
1292
+ goOrm: "none" | "bun" | "gorm" | "sqlc" | "ent";
1260
1293
  goApi: "none" | "grpc-go" | "gqlgen";
1261
1294
  goCli: "none" | "cobra" | "bubbletea" | "urfave-cli";
1262
1295
  goLogging: "none" | "zap" | "zerolog" | "slog" | "logrus";
@@ -1267,12 +1300,12 @@ declare const router: {
1267
1300
  goCaching: "none" | "redis" | "ristretto";
1268
1301
  goConfig: "none" | "viper" | "koanf";
1269
1302
  goObservability: "none" | "opentelemetry";
1270
- javaWebFramework: "none" | "spring-boot" | "quarkus";
1303
+ javaWebFramework: "none" | "spring-boot" | "quarkus" | "micronaut";
1271
1304
  javaBuildTool: "none" | "maven" | "gradle";
1272
1305
  javaOrm: "none" | "spring-data-jpa" | "jooq" | "mybatis";
1273
1306
  javaAuth: "none" | "spring-security" | "keycloak";
1274
- javaApi: "none" | "spring-graphql";
1275
- javaLogging: "none" | "logback";
1307
+ javaApi: "none" | "spring-graphql" | "openapi-generator" | "grpc";
1308
+ javaLogging: "none" | "logback" | "log4j2";
1276
1309
  javaLibraries: ("none" | "spring-actuator" | "spring-validation" | "flyway" | "liquibase" | "springdoc-openapi" | "lombok" | "mapstruct" | "caffeine" | "resilience4j" | "spring-webflux" | "spring-batch" | "spring-kafka" | "spring-mail" | "spring-devtools" | "micrometer-prometheus" | "thymeleaf" | "spring-amqp" | "opentelemetry-java")[];
1277
1310
  javaTestingLibraries: ("none" | "junit5" | "mockito" | "testcontainers" | "assertj" | "rest-assured" | "wiremock" | "awaitility" | "archunit" | "jqwik")[];
1278
1311
  dotnetWebFramework: "none" | "aspnet-minimal" | "aspnet-mvc" | "aspnet-blazor";
@@ -1289,7 +1322,7 @@ declare const router: {
1289
1322
  elixirWebFramework: "none" | "phoenix" | "phoenix-live-view";
1290
1323
  elixirOrm: "none" | "ecto" | "ecto-sql";
1291
1324
  elixirAuth: "none" | "phx-gen-auth" | "ueberauth" | "guardian";
1292
- elixirApi: "none" | "rest" | "absinthe" | "grpc";
1325
+ elixirApi: "none" | "grpc" | "rest" | "absinthe";
1293
1326
  elixirRealtime: "none" | "channels" | "presence" | "pubsub" | "live-view-streams";
1294
1327
  elixirJobs: "none" | "oban" | "quantum";
1295
1328
  elixirValidation: "none" | "ecto-changesets" | "nimble-options";
@@ -1303,6 +1336,7 @@ declare const router: {
1303
1336
  elixirDeploy: "none" | "docker" | "fly" | "gigalixir" | "mix-release";
1304
1337
  elixirLibraries: ("none" | "nx" | "broadway")[];
1305
1338
  aiDocs: ("none" | "claude-md" | "agents-md" | "cursorrules")[];
1339
+ workspaceShape?: "monorepo" | "single-app" | undefined;
1306
1340
  astroIntegration?: "none" | "svelte" | "solid" | "react" | "vue" | undefined;
1307
1341
  shadcnBase?: "radix" | "base" | undefined;
1308
1342
  shadcnStyle?: "vega" | "nova" | "maia" | "lyra" | "mira" | "luma" | "sera" | undefined;
@@ -1311,9 +1345,10 @@ declare const router: {
1311
1345
  shadcnBaseColor?: "neutral" | "stone" | "zinc" | "gray" | undefined;
1312
1346
  shadcnFont?: "inter" | "geist" | "noto-sans" | "nunito-sans" | "figtree" | "roboto" | "raleway" | "dm-sans" | "public-sans" | "outfit" | "jetbrains-mono" | "geist-mono" | undefined;
1313
1347
  shadcnRadius?: "default" | "none" | "small" | "medium" | "large" | undefined;
1348
+ javaLanguage?: "java" | "kotlin" | undefined;
1314
1349
  stackParts?: {
1315
1350
  id: string;
1316
- role: "api" | "runtime" | "backend" | "database" | "orm" | "dbSetup" | "auth" | "payments" | "email" | "fileUpload" | "logging" | "observability" | "stateManagement" | "forms" | "validation" | "testing" | "realtime" | "jobQueue" | "caching" | "rateLimit" | "i18n" | "search" | "vectorDb" | "fileStorage" | "animation" | "cms" | "featureFlags" | "analytics" | "codeQuality" | "documentation" | "examples" | "ai" | "effect" | "config" | "frontend" | "push" | "mobile" | "graphql" | "deploy" | "navigation" | "ui" | "css" | "storage" | "ota" | "deepLinking" | "appPlatform" | "dataFetching" | "workspaceTooling" | "buildTool" | "cli" | "errorHandling" | "httpClient" | "libraries" | "templating";
1351
+ role: "api" | "runtime" | "backend" | "database" | "orm" | "dbSetup" | "auth" | "payments" | "email" | "fileUpload" | "logging" | "observability" | "stateManagement" | "forms" | "validation" | "testing" | "realtime" | "jobQueue" | "caching" | "rateLimit" | "i18n" | "search" | "vectorDb" | "fileStorage" | "animation" | "cms" | "featureFlags" | "analytics" | "codeQuality" | "documentation" | "examples" | "ai" | "effect" | "config" | "frontend" | "push" | "mobile" | "graphql" | "deploy" | "navigation" | "ui" | "css" | "storage" | "ota" | "deepLinking" | "appPlatform" | "dataFetching" | "workspaceTooling" | "language" | "buildTool" | "cli" | "errorHandling" | "httpClient" | "libraries" | "templating";
1317
1352
  toolId: string;
1318
1353
  ecosystem: "typescript" | "react-native" | "rust" | "python" | "go" | "java" | "elixir" | "dotnet" | "universal";
1319
1354
  source: "selected" | "defaulted" | "provided" | "legacy" | "adjusted";
@@ -1357,13 +1392,13 @@ declare const router: {
1357
1392
  ecosystem: "typescript" | "react-native" | "rust" | "python" | "go" | "java" | "elixir" | "dotnet";
1358
1393
  database: "none" | "sqlite" | "postgres" | "mysql" | "mongodb" | "edgedb" | "redis";
1359
1394
  orm: "none" | "drizzle" | "prisma" | "mongoose" | "typeorm" | "kysely" | "mikroorm" | "sequelize";
1360
- backend: "none" | "hono" | "express" | "fastify" | "elysia" | "fets" | "nestjs" | "adonisjs" | "nitro" | "encore" | "convex" | "self";
1395
+ backend: "effect" | "none" | "hono" | "express" | "fastify" | "elysia" | "fets" | "nestjs" | "adonisjs" | "nitro" | "encore" | "convex" | "self";
1361
1396
  runtime: "none" | "bun" | "node" | "workers";
1362
1397
  frontend: ("none" | "tanstack-router" | "react-router" | "react-vite" | "tanstack-start" | "next" | "vinext" | "nuxt" | "native-bare" | "native-uniwind" | "native-unistyles" | "svelte" | "solid" | "solid-start" | "astro" | "qwik" | "angular" | "redwood" | "fresh")[];
1363
1398
  addons: ("none" | "pwa" | "tauri" | "starlight" | "biome" | "lefthook" | "husky" | "ruler" | "mcp" | "skills" | "turborepo" | "nx" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "msw" | "storybook" | "swr" | "tanstack-query" | "tanstack-table" | "tanstack-virtual" | "tanstack-db" | "tanstack-pacer" | "backend-utils" | "devcontainer" | "docker-compose" | "github-actions")[];
1364
1399
  examples: ("ai" | "none" | "chat-sdk" | "tanstack-showcase")[];
1365
1400
  auth: "none" | "better-auth" | "better-auth-organizations" | "go-better-auth" | "clerk" | "nextauth" | "stack-auth" | "supabase-auth" | "auth0" | "workos" | "kinde";
1366
- payments: "none" | "polar" | "stripe" | "lemon-squeezy" | "paddle" | "dodo";
1401
+ payments: "none" | "revenuecat" | "polar" | "stripe" | "lemon-squeezy" | "paddle" | "dodo" | "creem" | "autumn" | "commet";
1367
1402
  git: boolean;
1368
1403
  packageManager: "bun" | "npm" | "pnpm" | "yarn";
1369
1404
  versionChannel: "stable" | "latest" | "beta";
@@ -1388,14 +1423,14 @@ declare const router: {
1388
1423
  logging: "none" | "pino" | "winston" | "evlog";
1389
1424
  observability: "none" | "opentelemetry" | "sentry" | "grafana" | "datadog" | "axiom" | "betterstack";
1390
1425
  featureFlags: "none" | "growthbook" | "posthog" | "launchdarkly" | "flagsmith" | "unleash";
1391
- analytics: "none" | "plausible" | "umami";
1426
+ analytics: "none" | "posthog" | "plausible" | "umami";
1392
1427
  cms: "none" | "payload" | "sanity" | "strapi" | "tinacms" | "directus" | "keystatic";
1393
- caching: "none" | "upstash-redis";
1428
+ caching: "none" | "redis" | "upstash-redis";
1394
1429
  rateLimit: "none" | "arcjet" | "upstash-ratelimit";
1395
- i18n: "none" | "paraglide" | "i18next" | "next-intl";
1396
- search: "none" | "meilisearch" | "typesense" | "elasticsearch" | "opensearch" | "algolia";
1430
+ i18n: "none" | "paraglide" | "i18next" | "next-intl" | "intlayer";
1431
+ search: "none" | "meilisearch" | "typesense" | "elasticsearch" | "opensearch" | "algolia" | "bleve";
1397
1432
  vectorDb: "none" | "pgvector" | "qdrant" | "chroma" | "pinecone";
1398
- fileStorage: "none" | "s3" | "r2" | "cloudinary";
1433
+ fileStorage: "none" | "s3" | "r2" | "cloudinary" | "supabase-storage";
1399
1434
  mobileNavigation: "none" | "expo-router" | "react-navigation";
1400
1435
  mobileUI: "none" | "uniwind" | "tamagui" | "gluestack-ui" | "unistyles";
1401
1436
  mobileStorage: "none" | "mmkv";
@@ -1403,7 +1438,7 @@ declare const router: {
1403
1438
  mobilePush: "none" | "expo-notifications";
1404
1439
  mobileOTA: "none" | "expo-updates";
1405
1440
  mobileDeepLinking: "none" | "expo-linking";
1406
- rustWebFramework: "none" | "axum" | "actix-web" | "rocket";
1441
+ rustWebFramework: "none" | "axum" | "actix-web" | "rocket" | "poem" | "loco";
1407
1442
  rustFrontend: "none" | "leptos" | "dioxus";
1408
1443
  rustOrm: "none" | "sea-orm" | "sqlx" | "diesel";
1409
1444
  rustApi: "none" | "tonic" | "async-graphql";
@@ -1431,8 +1466,8 @@ declare const router: {
1431
1466
  pythonRealtime: "none" | "python-socketio" | "websockets";
1432
1467
  pythonObservability: "none" | "opentelemetry";
1433
1468
  pythonCli: ("none" | "typer" | "click" | "rich")[];
1434
- goWebFramework: "none" | "gin" | "echo" | "fiber" | "chi";
1435
- goOrm: "none" | "gorm" | "sqlc" | "ent";
1469
+ goWebFramework: "none" | "gin" | "echo" | "fiber" | "chi" | "stdlib";
1470
+ goOrm: "none" | "bun" | "gorm" | "sqlc" | "ent";
1436
1471
  goApi: "none" | "grpc-go" | "gqlgen";
1437
1472
  goCli: "none" | "cobra" | "bubbletea" | "urfave-cli";
1438
1473
  goLogging: "none" | "zap" | "zerolog" | "slog" | "logrus";
@@ -1443,12 +1478,12 @@ declare const router: {
1443
1478
  goCaching: "none" | "redis" | "ristretto";
1444
1479
  goConfig: "none" | "viper" | "koanf";
1445
1480
  goObservability: "none" | "opentelemetry";
1446
- javaWebFramework: "none" | "spring-boot" | "quarkus";
1481
+ javaWebFramework: "none" | "spring-boot" | "quarkus" | "micronaut";
1447
1482
  javaBuildTool: "none" | "maven" | "gradle";
1448
1483
  javaOrm: "none" | "spring-data-jpa" | "jooq" | "mybatis";
1449
1484
  javaAuth: "none" | "spring-security" | "keycloak";
1450
- javaApi: "none" | "spring-graphql";
1451
- javaLogging: "none" | "logback";
1485
+ javaApi: "none" | "spring-graphql" | "openapi-generator" | "grpc";
1486
+ javaLogging: "none" | "logback" | "log4j2";
1452
1487
  javaLibraries: ("none" | "spring-actuator" | "spring-validation" | "flyway" | "liquibase" | "springdoc-openapi" | "lombok" | "mapstruct" | "caffeine" | "resilience4j" | "spring-webflux" | "spring-batch" | "spring-kafka" | "spring-mail" | "spring-devtools" | "micrometer-prometheus" | "thymeleaf" | "spring-amqp" | "opentelemetry-java")[];
1453
1488
  javaTestingLibraries: ("none" | "junit5" | "mockito" | "testcontainers" | "assertj" | "rest-assured" | "wiremock" | "awaitility" | "archunit" | "jqwik")[];
1454
1489
  dotnetWebFramework: "none" | "aspnet-minimal" | "aspnet-mvc" | "aspnet-blazor";
@@ -1465,7 +1500,7 @@ declare const router: {
1465
1500
  elixirWebFramework: "none" | "phoenix" | "phoenix-live-view";
1466
1501
  elixirOrm: "none" | "ecto" | "ecto-sql";
1467
1502
  elixirAuth: "none" | "phx-gen-auth" | "ueberauth" | "guardian";
1468
- elixirApi: "none" | "rest" | "absinthe" | "grpc";
1503
+ elixirApi: "none" | "grpc" | "rest" | "absinthe";
1469
1504
  elixirRealtime: "none" | "channels" | "presence" | "pubsub" | "live-view-streams";
1470
1505
  elixirJobs: "none" | "oban" | "quantum";
1471
1506
  elixirValidation: "none" | "ecto-changesets" | "nimble-options";
@@ -1479,6 +1514,7 @@ declare const router: {
1479
1514
  elixirDeploy: "none" | "docker" | "fly" | "gigalixir" | "mix-release";
1480
1515
  elixirLibraries: ("none" | "nx" | "broadway")[];
1481
1516
  aiDocs: ("none" | "claude-md" | "agents-md" | "cursorrules")[];
1517
+ workspaceShape?: "monorepo" | "single-app" | undefined;
1482
1518
  astroIntegration?: "none" | "svelte" | "solid" | "react" | "vue" | undefined;
1483
1519
  shadcnBase?: "radix" | "base" | undefined;
1484
1520
  shadcnStyle?: "vega" | "nova" | "maia" | "lyra" | "mira" | "luma" | "sera" | undefined;
@@ -1487,9 +1523,10 @@ declare const router: {
1487
1523
  shadcnBaseColor?: "neutral" | "stone" | "zinc" | "gray" | undefined;
1488
1524
  shadcnFont?: "inter" | "geist" | "noto-sans" | "nunito-sans" | "figtree" | "roboto" | "raleway" | "dm-sans" | "public-sans" | "outfit" | "jetbrains-mono" | "geist-mono" | undefined;
1489
1525
  shadcnRadius?: "default" | "none" | "small" | "medium" | "large" | undefined;
1526
+ javaLanguage?: "java" | "kotlin" | undefined;
1490
1527
  stackParts?: {
1491
1528
  id: string;
1492
- role: "api" | "runtime" | "backend" | "database" | "orm" | "dbSetup" | "auth" | "payments" | "email" | "fileUpload" | "logging" | "observability" | "stateManagement" | "forms" | "validation" | "testing" | "realtime" | "jobQueue" | "caching" | "rateLimit" | "i18n" | "search" | "vectorDb" | "fileStorage" | "animation" | "cms" | "featureFlags" | "analytics" | "codeQuality" | "documentation" | "examples" | "ai" | "effect" | "config" | "frontend" | "push" | "mobile" | "graphql" | "deploy" | "navigation" | "ui" | "css" | "storage" | "ota" | "deepLinking" | "appPlatform" | "dataFetching" | "workspaceTooling" | "buildTool" | "cli" | "errorHandling" | "httpClient" | "libraries" | "templating";
1529
+ role: "api" | "runtime" | "backend" | "database" | "orm" | "dbSetup" | "auth" | "payments" | "email" | "fileUpload" | "logging" | "observability" | "stateManagement" | "forms" | "validation" | "testing" | "realtime" | "jobQueue" | "caching" | "rateLimit" | "i18n" | "search" | "vectorDb" | "fileStorage" | "animation" | "cms" | "featureFlags" | "analytics" | "codeQuality" | "documentation" | "examples" | "ai" | "effect" | "config" | "frontend" | "push" | "mobile" | "graphql" | "deploy" | "navigation" | "ui" | "css" | "storage" | "ota" | "deepLinking" | "appPlatform" | "dataFetching" | "workspaceTooling" | "language" | "buildTool" | "cli" | "errorHandling" | "httpClient" | "libraries" | "templating";
1493
1530
  toolId: string;
1494
1531
  ecosystem: "typescript" | "react-native" | "rust" | "python" | "go" | "java" | "elixir" | "dotnet" | "universal";
1495
1532
  source: "selected" | "defaulted" | "provided" | "legacy" | "adjusted";
@@ -1519,13 +1556,13 @@ declare const router: {
1519
1556
  ecosystem: "typescript" | "react-native" | "rust" | "python" | "go" | "java" | "elixir" | "dotnet";
1520
1557
  database: "none" | "sqlite" | "postgres" | "mysql" | "mongodb" | "edgedb" | "redis";
1521
1558
  orm: "none" | "drizzle" | "prisma" | "mongoose" | "typeorm" | "kysely" | "mikroorm" | "sequelize";
1522
- backend: "none" | "hono" | "express" | "fastify" | "elysia" | "fets" | "nestjs" | "adonisjs" | "nitro" | "encore" | "convex" | "self";
1559
+ backend: "effect" | "none" | "hono" | "express" | "fastify" | "elysia" | "fets" | "nestjs" | "adonisjs" | "nitro" | "encore" | "convex" | "self";
1523
1560
  runtime: "none" | "bun" | "node" | "workers";
1524
1561
  frontend: ("none" | "tanstack-router" | "react-router" | "react-vite" | "tanstack-start" | "next" | "vinext" | "nuxt" | "native-bare" | "native-uniwind" | "native-unistyles" | "svelte" | "solid" | "solid-start" | "astro" | "qwik" | "angular" | "redwood" | "fresh")[];
1525
1562
  addons: ("none" | "pwa" | "tauri" | "starlight" | "biome" | "lefthook" | "husky" | "ruler" | "mcp" | "skills" | "turborepo" | "nx" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "msw" | "storybook" | "swr" | "tanstack-query" | "tanstack-table" | "tanstack-virtual" | "tanstack-db" | "tanstack-pacer" | "backend-utils" | "devcontainer" | "docker-compose" | "github-actions")[];
1526
1563
  examples: ("ai" | "none" | "chat-sdk" | "tanstack-showcase")[];
1527
1564
  auth: "none" | "better-auth" | "better-auth-organizations" | "go-better-auth" | "clerk" | "nextauth" | "stack-auth" | "supabase-auth" | "auth0" | "workos" | "kinde";
1528
- payments: "none" | "polar" | "stripe" | "lemon-squeezy" | "paddle" | "dodo";
1565
+ payments: "none" | "revenuecat" | "polar" | "stripe" | "lemon-squeezy" | "paddle" | "dodo" | "creem" | "autumn" | "commet";
1529
1566
  git: boolean;
1530
1567
  packageManager: "bun" | "npm" | "pnpm" | "yarn";
1531
1568
  versionChannel: "stable" | "latest" | "beta";
@@ -1550,14 +1587,14 @@ declare const router: {
1550
1587
  logging: "none" | "pino" | "winston" | "evlog";
1551
1588
  observability: "none" | "opentelemetry" | "sentry" | "grafana" | "datadog" | "axiom" | "betterstack";
1552
1589
  featureFlags: "none" | "growthbook" | "posthog" | "launchdarkly" | "flagsmith" | "unleash";
1553
- analytics: "none" | "plausible" | "umami";
1590
+ analytics: "none" | "posthog" | "plausible" | "umami";
1554
1591
  cms: "none" | "payload" | "sanity" | "strapi" | "tinacms" | "directus" | "keystatic";
1555
- caching: "none" | "upstash-redis";
1592
+ caching: "none" | "redis" | "upstash-redis";
1556
1593
  rateLimit: "none" | "arcjet" | "upstash-ratelimit";
1557
- i18n: "none" | "paraglide" | "i18next" | "next-intl";
1558
- search: "none" | "meilisearch" | "typesense" | "elasticsearch" | "opensearch" | "algolia";
1594
+ i18n: "none" | "paraglide" | "i18next" | "next-intl" | "intlayer";
1595
+ search: "none" | "meilisearch" | "typesense" | "elasticsearch" | "opensearch" | "algolia" | "bleve";
1559
1596
  vectorDb: "none" | "pgvector" | "qdrant" | "chroma" | "pinecone";
1560
- fileStorage: "none" | "s3" | "r2" | "cloudinary";
1597
+ fileStorage: "none" | "s3" | "r2" | "cloudinary" | "supabase-storage";
1561
1598
  mobileNavigation: "none" | "expo-router" | "react-navigation";
1562
1599
  mobileUI: "none" | "uniwind" | "tamagui" | "gluestack-ui" | "unistyles";
1563
1600
  mobileStorage: "none" | "mmkv";
@@ -1565,7 +1602,7 @@ declare const router: {
1565
1602
  mobilePush: "none" | "expo-notifications";
1566
1603
  mobileOTA: "none" | "expo-updates";
1567
1604
  mobileDeepLinking: "none" | "expo-linking";
1568
- rustWebFramework: "none" | "axum" | "actix-web" | "rocket";
1605
+ rustWebFramework: "none" | "axum" | "actix-web" | "rocket" | "poem" | "loco";
1569
1606
  rustFrontend: "none" | "leptos" | "dioxus";
1570
1607
  rustOrm: "none" | "sea-orm" | "sqlx" | "diesel";
1571
1608
  rustApi: "none" | "tonic" | "async-graphql";
@@ -1593,8 +1630,8 @@ declare const router: {
1593
1630
  pythonRealtime: "none" | "python-socketio" | "websockets";
1594
1631
  pythonObservability: "none" | "opentelemetry";
1595
1632
  pythonCli: ("none" | "typer" | "click" | "rich")[];
1596
- goWebFramework: "none" | "gin" | "echo" | "fiber" | "chi";
1597
- goOrm: "none" | "gorm" | "sqlc" | "ent";
1633
+ goWebFramework: "none" | "gin" | "echo" | "fiber" | "chi" | "stdlib";
1634
+ goOrm: "none" | "bun" | "gorm" | "sqlc" | "ent";
1598
1635
  goApi: "none" | "grpc-go" | "gqlgen";
1599
1636
  goCli: "none" | "cobra" | "bubbletea" | "urfave-cli";
1600
1637
  goLogging: "none" | "zap" | "zerolog" | "slog" | "logrus";
@@ -1605,12 +1642,12 @@ declare const router: {
1605
1642
  goCaching: "none" | "redis" | "ristretto";
1606
1643
  goConfig: "none" | "viper" | "koanf";
1607
1644
  goObservability: "none" | "opentelemetry";
1608
- javaWebFramework: "none" | "spring-boot" | "quarkus";
1645
+ javaWebFramework: "none" | "spring-boot" | "quarkus" | "micronaut";
1609
1646
  javaBuildTool: "none" | "maven" | "gradle";
1610
1647
  javaOrm: "none" | "spring-data-jpa" | "jooq" | "mybatis";
1611
1648
  javaAuth: "none" | "spring-security" | "keycloak";
1612
- javaApi: "none" | "spring-graphql";
1613
- javaLogging: "none" | "logback";
1649
+ javaApi: "none" | "spring-graphql" | "openapi-generator" | "grpc";
1650
+ javaLogging: "none" | "logback" | "log4j2";
1614
1651
  javaLibraries: ("none" | "spring-actuator" | "spring-validation" | "flyway" | "liquibase" | "springdoc-openapi" | "lombok" | "mapstruct" | "caffeine" | "resilience4j" | "spring-webflux" | "spring-batch" | "spring-kafka" | "spring-mail" | "spring-devtools" | "micrometer-prometheus" | "thymeleaf" | "spring-amqp" | "opentelemetry-java")[];
1615
1652
  javaTestingLibraries: ("none" | "junit5" | "mockito" | "testcontainers" | "assertj" | "rest-assured" | "wiremock" | "awaitility" | "archunit" | "jqwik")[];
1616
1653
  dotnetWebFramework: "none" | "aspnet-minimal" | "aspnet-mvc" | "aspnet-blazor";
@@ -1627,7 +1664,7 @@ declare const router: {
1627
1664
  elixirWebFramework: "none" | "phoenix" | "phoenix-live-view";
1628
1665
  elixirOrm: "none" | "ecto" | "ecto-sql";
1629
1666
  elixirAuth: "none" | "phx-gen-auth" | "ueberauth" | "guardian";
1630
- elixirApi: "none" | "rest" | "absinthe" | "grpc";
1667
+ elixirApi: "none" | "grpc" | "rest" | "absinthe";
1631
1668
  elixirRealtime: "none" | "channels" | "presence" | "pubsub" | "live-view-streams";
1632
1669
  elixirJobs: "none" | "oban" | "quantum";
1633
1670
  elixirValidation: "none" | "ecto-changesets" | "nimble-options";
@@ -1641,6 +1678,7 @@ declare const router: {
1641
1678
  elixirDeploy: "none" | "docker" | "fly" | "gigalixir" | "mix-release";
1642
1679
  elixirLibraries: ("none" | "nx" | "broadway")[];
1643
1680
  aiDocs: ("none" | "claude-md" | "agents-md" | "cursorrules")[];
1681
+ workspaceShape?: "monorepo" | "single-app" | undefined;
1644
1682
  astroIntegration?: "none" | "svelte" | "solid" | "react" | "vue" | undefined;
1645
1683
  shadcnBase?: "radix" | "base" | undefined;
1646
1684
  shadcnStyle?: "vega" | "nova" | "maia" | "lyra" | "mira" | "luma" | "sera" | undefined;
@@ -1649,9 +1687,10 @@ declare const router: {
1649
1687
  shadcnBaseColor?: "neutral" | "stone" | "zinc" | "gray" | undefined;
1650
1688
  shadcnFont?: "inter" | "geist" | "noto-sans" | "nunito-sans" | "figtree" | "roboto" | "raleway" | "dm-sans" | "public-sans" | "outfit" | "jetbrains-mono" | "geist-mono" | undefined;
1651
1689
  shadcnRadius?: "default" | "none" | "small" | "medium" | "large" | undefined;
1690
+ javaLanguage?: "java" | "kotlin" | undefined;
1652
1691
  stackParts?: {
1653
1692
  id: string;
1654
- role: "api" | "runtime" | "backend" | "database" | "orm" | "dbSetup" | "auth" | "payments" | "email" | "fileUpload" | "logging" | "observability" | "stateManagement" | "forms" | "validation" | "testing" | "realtime" | "jobQueue" | "caching" | "rateLimit" | "i18n" | "search" | "vectorDb" | "fileStorage" | "animation" | "cms" | "featureFlags" | "analytics" | "codeQuality" | "documentation" | "examples" | "ai" | "effect" | "config" | "frontend" | "push" | "mobile" | "graphql" | "deploy" | "navigation" | "ui" | "css" | "storage" | "ota" | "deepLinking" | "appPlatform" | "dataFetching" | "workspaceTooling" | "buildTool" | "cli" | "errorHandling" | "httpClient" | "libraries" | "templating";
1693
+ role: "api" | "runtime" | "backend" | "database" | "orm" | "dbSetup" | "auth" | "payments" | "email" | "fileUpload" | "logging" | "observability" | "stateManagement" | "forms" | "validation" | "testing" | "realtime" | "jobQueue" | "caching" | "rateLimit" | "i18n" | "search" | "vectorDb" | "fileStorage" | "animation" | "cms" | "featureFlags" | "analytics" | "codeQuality" | "documentation" | "examples" | "ai" | "effect" | "config" | "frontend" | "push" | "mobile" | "graphql" | "deploy" | "navigation" | "ui" | "css" | "storage" | "ota" | "deepLinking" | "appPlatform" | "dataFetching" | "workspaceTooling" | "language" | "buildTool" | "cli" | "errorHandling" | "httpClient" | "libraries" | "templating";
1655
1694
  toolId: string;
1656
1695
  ecosystem: "typescript" | "react-native" | "rust" | "python" | "go" | "java" | "elixir" | "dotnet" | "universal";
1657
1696
  source: "selected" | "defaulted" | "provided" | "legacy" | "adjusted";
@@ -1715,6 +1754,7 @@ declare const router: {
1715
1754
  workers: "workers";
1716
1755
  }>>;
1717
1756
  backend: z.ZodOptional<z.ZodEnum<{
1757
+ effect: "effect";
1718
1758
  none: "none";
1719
1759
  hono: "hono";
1720
1760
  express: "express";
@@ -1796,11 +1836,15 @@ declare const router: {
1796
1836
  }>>;
1797
1837
  payments: z.ZodOptional<z.ZodEnum<{
1798
1838
  none: "none";
1839
+ revenuecat: "revenuecat";
1799
1840
  polar: "polar";
1800
1841
  stripe: "stripe";
1801
1842
  "lemon-squeezy": "lemon-squeezy";
1802
1843
  paddle: "paddle";
1803
1844
  dodo: "dodo";
1845
+ creem: "creem";
1846
+ autumn: "autumn";
1847
+ commet: "commet";
1804
1848
  }>>;
1805
1849
  email: z.ZodOptional<z.ZodEnum<{
1806
1850
  none: "none";
@@ -1891,6 +1935,7 @@ declare const router: {
1891
1935
  }>>;
1892
1936
  caching: z.ZodOptional<z.ZodEnum<{
1893
1937
  none: "none";
1938
+ redis: "redis";
1894
1939
  "upstash-redis": "upstash-redis";
1895
1940
  }>>;
1896
1941
  rateLimit: z.ZodOptional<z.ZodEnum<{
@@ -1903,6 +1948,7 @@ declare const router: {
1903
1948
  paraglide: "paraglide";
1904
1949
  i18next: "i18next";
1905
1950
  "next-intl": "next-intl";
1951
+ intlayer: "intlayer";
1906
1952
  }>>;
1907
1953
  search: z.ZodOptional<z.ZodEnum<{
1908
1954
  none: "none";
@@ -1911,6 +1957,7 @@ declare const router: {
1911
1957
  elasticsearch: "elasticsearch";
1912
1958
  opensearch: "opensearch";
1913
1959
  algolia: "algolia";
1960
+ bleve: "bleve";
1914
1961
  }>>;
1915
1962
  vectorDb: z.ZodOptional<z.ZodEnum<{
1916
1963
  none: "none";
@@ -1924,6 +1971,7 @@ declare const router: {
1924
1971
  s3: "s3";
1925
1972
  r2: "r2";
1926
1973
  cloudinary: "cloudinary";
1974
+ "supabase-storage": "supabase-storage";
1927
1975
  }>>;
1928
1976
  animation: z.ZodOptional<z.ZodEnum<{
1929
1977
  none: "none";
@@ -1976,6 +2024,7 @@ declare const router: {
1976
2024
  }>>;
1977
2025
  analytics: z.ZodOptional<z.ZodEnum<{
1978
2026
  none: "none";
2027
+ posthog: "posthog";
1979
2028
  plausible: "plausible";
1980
2029
  umami: "umami";
1981
2030
  }>>;
@@ -2133,6 +2182,8 @@ declare const router: {
2133
2182
  axum: "axum";
2134
2183
  "actix-web": "actix-web";
2135
2184
  rocket: "rocket";
2185
+ poem: "poem";
2186
+ loco: "loco";
2136
2187
  }>>;
2137
2188
  rustFrontend: z.ZodOptional<z.ZodEnum<{
2138
2189
  none: "none";
@@ -2305,9 +2356,11 @@ declare const router: {
2305
2356
  echo: "echo";
2306
2357
  fiber: "fiber";
2307
2358
  chi: "chi";
2359
+ stdlib: "stdlib";
2308
2360
  }>>;
2309
2361
  goOrm: z.ZodOptional<z.ZodEnum<{
2310
2362
  none: "none";
2363
+ bun: "bun";
2311
2364
  gorm: "gorm";
2312
2365
  sqlc: "sqlc";
2313
2366
  ent: "ent";
@@ -2365,10 +2418,15 @@ declare const router: {
2365
2418
  none: "none";
2366
2419
  opentelemetry: "opentelemetry";
2367
2420
  }>>;
2421
+ javaLanguage: z.ZodOptional<z.ZodEnum<{
2422
+ java: "java";
2423
+ kotlin: "kotlin";
2424
+ }>>;
2368
2425
  javaWebFramework: z.ZodOptional<z.ZodEnum<{
2369
2426
  none: "none";
2370
2427
  "spring-boot": "spring-boot";
2371
2428
  quarkus: "quarkus";
2429
+ micronaut: "micronaut";
2372
2430
  }>>;
2373
2431
  javaBuildTool: z.ZodOptional<z.ZodEnum<{
2374
2432
  none: "none";
@@ -2389,10 +2447,13 @@ declare const router: {
2389
2447
  javaApi: z.ZodOptional<z.ZodEnum<{
2390
2448
  none: "none";
2391
2449
  "spring-graphql": "spring-graphql";
2450
+ "openapi-generator": "openapi-generator";
2451
+ grpc: "grpc";
2392
2452
  }>>;
2393
2453
  javaLogging: z.ZodOptional<z.ZodEnum<{
2394
2454
  none: "none";
2395
2455
  logback: "logback";
2456
+ log4j2: "log4j2";
2396
2457
  }>>;
2397
2458
  javaLibraries: z.ZodOptional<z.ZodArray<z.ZodEnum<{
2398
2459
  none: "none";
@@ -2509,9 +2570,9 @@ declare const router: {
2509
2570
  }>>;
2510
2571
  elixirApi: z.ZodOptional<z.ZodEnum<{
2511
2572
  none: "none";
2573
+ grpc: "grpc";
2512
2574
  rest: "rest";
2513
2575
  absinthe: "absinthe";
2514
- grpc: "grpc";
2515
2576
  }>>;
2516
2577
  elixirRealtime: z.ZodOptional<z.ZodEnum<{
2517
2578
  none: "none";
@@ -2644,6 +2705,7 @@ declare const router: {
2644
2705
  "github-actions": "github-actions";
2645
2706
  }>>>;
2646
2707
  projectDir: z.ZodOptional<z.ZodString>;
2708
+ acknowledgeArchitectureChange: z.ZodOptional<z.ZodBoolean>;
2647
2709
  }, z.core.$strip>, _orpc_server0.Schema<void, void>, _orpc_server0.MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
2648
2710
  history: _orpc_server0.Procedure<_orpc_server0.MergedInitialContext<Record<never, never>, Record<never, never>, Record<never, never>>, Record<never, never>, z.ZodObject<{
2649
2711
  limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
@@ -2664,6 +2726,28 @@ declare const router: {
2664
2726
  ecosystem: z.ZodOptional<z.ZodString>;
2665
2727
  "list-ecosystems": z.ZodDefault<z.ZodBoolean>;
2666
2728
  }, z.core.$strip>, _orpc_server0.Schema<void, void>, _orpc_server0.MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
2729
+ gen: _orpc_server0.Procedure<_orpc_server0.MergedInitialContext<Record<never, never>, Record<never, never>, Record<never, never>>, Record<never, never>, z.ZodTuple<[z.ZodEnum<{
2730
+ resource: "resource";
2731
+ route: "route";
2732
+ }>, z.ZodString, z.ZodObject<{
2733
+ dir: z.ZodOptional<z.ZodString>;
2734
+ dryRun: z.ZodDefault<z.ZodBoolean>;
2735
+ }, z.core.$strip>], null>, _orpc_server0.Schema<void, void>, _orpc_server0.MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
2736
+ registry: _orpc_server0.Procedure<_orpc_server0.MergedInitialContext<Record<never, never>, Record<never, never>, Record<never, never>>, Record<never, never>, z.ZodTuple<[z.ZodDefault<z.ZodOptional<z.ZodEnum<{
2737
+ add: "add";
2738
+ list: "list";
2739
+ }>>>, z.ZodOptional<z.ZodString>, z.ZodObject<{
2740
+ projectDir: z.ZodOptional<z.ZodString>;
2741
+ json: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
2742
+ dryRun: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
2743
+ }, z.core.$strip>], null>, _orpc_server0.Schema<void, void>, _orpc_server0.MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
2744
+ update: _orpc_server0.Procedure<_orpc_server0.MergedInitialContext<Record<never, never>, Record<never, never>, Record<never, never>>, Record<never, never>, z.ZodTuple<[z.ZodOptional<z.ZodString>, z.ZodObject<{
2745
+ dryRun: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
2746
+ apply: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
2747
+ check: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
2748
+ json: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
2749
+ recordBaseline: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
2750
+ }, z.core.$strip>], null>, _orpc_server0.Schema<void, void>, _orpc_server0.MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
2667
2751
  mcp: _orpc_server0.Procedure<_orpc_server0.MergedInitialContext<Record<never, never>, Record<never, never>, Record<never, never>>, Record<never, never>, _orpc_server0.Schema<unknown, unknown>, _orpc_server0.Schema<void, void>, _orpc_server0.MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
2668
2752
  doctor: _orpc_server0.Procedure<_orpc_server0.MergedInitialContext<Record<never, never>, Record<never, never>, Record<never, never>>, Record<never, never>, z.ZodTuple<[z.ZodOptional<z.ZodString>, z.ZodObject<{
2669
2753
  skipChecks: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
@@ -2673,6 +2757,11 @@ declare const router: {
2673
2757
  skipChecks: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
2674
2758
  json: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
2675
2759
  }, z.core.$strip>], null>, _orpc_server0.Schema<void, void>, _orpc_server0.MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
2760
+ recommend: _orpc_server0.Procedure<_orpc_server0.MergedInitialContext<Record<never, never>, Record<never, never>, Record<never, never>>, Record<never, never>, z.ZodObject<{
2761
+ brief: z.ZodString;
2762
+ ecosystem: z.ZodOptional<z.ZodString>;
2763
+ json: z.ZodDefault<z.ZodBoolean>;
2764
+ }, z.core.$strip>, _orpc_server0.Schema<void, void>, _orpc_server0.MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
2676
2765
  };
2677
2766
  declare function createBtsCli(): trpc_cli0.TrpcCli;
2678
2767
  /**
@@ -2700,7 +2789,9 @@ declare function create(projectName?: string, options?: Partial<types_d_exports.
2700
2789
  declare function sponsors(): Promise<void>;
2701
2790
  declare function docs(): Promise<void>;
2702
2791
  declare function builder(): Promise<void>;
2703
- declare function add(input: types_d_exports.AddInput): Promise<AddResult | undefined>;
2792
+ declare function add(input: types_d_exports.AddInput, options?: {
2793
+ telemetrySource?: TelemetrySource;
2794
+ }): Promise<AddResult | undefined>;
2704
2795
  declare function history(options?: {
2705
2796
  limit?: number;
2706
2797
  clear?: boolean;
@@ -2717,6 +2808,13 @@ declare function check(projectDir?: string, options?: {
2717
2808
  skipChecks?: boolean;
2718
2809
  json?: boolean;
2719
2810
  }): Promise<void>;
2811
+ declare function update(projectDir?: string, options?: {
2812
+ dryRun?: boolean;
2813
+ apply?: boolean;
2814
+ check?: boolean;
2815
+ json?: boolean;
2816
+ recordBaseline?: boolean;
2817
+ }): Promise<void>;
2720
2818
  //#endregion
2721
2819
  //#region src/index.d.ts
2722
2820
  /**
@@ -2817,4 +2915,4 @@ type ServerDeploy = import__better_fullstack_types.ServerDeploy;
2817
2915
  type Template = import__better_fullstack_types.Template;
2818
2916
  type UILibrary = import__better_fullstack_types.UILibrary;
2819
2917
  type WebDeploy = import__better_fullstack_types.WebDeploy;
2820
- export { type API, type AddInput, type AddResult, type Addons, type AiDocs, type Analytics, type Animation, type Auth, type Backend, type BetterTStackConfig, type CMS, type CSSFramework, type Caching, type CreateInput, type Database, type DatabaseSetup, type DirectoryConflict, EMBEDDED_TEMPLATES, type Ecosystem, type Effect, type ElixirApi, type ElixirAuth, type ElixirCaching, type ElixirDeploy, type ElixirEmail, type ElixirHttp, type ElixirJobs, type ElixirJson, type ElixirObservability, type ElixirOrm, type ElixirQuality, type ElixirRealtime, type ElixirTesting, type ElixirValidation, type ElixirWebFramework, type Examples, type Frontend, type GeneratorOptions, type GeneratorResult, type GoApi, type GoAuth, type GoCli, type GoLogging, type GoOrm, type GoWebFramework, type InitResult, type JavaAuth, type JavaBuildTool, type JavaLibraries, type JavaOrm, type JavaTestingLibraries, type JavaWebFramework, type Logging, type ORM, type PackageManager, type Payments, type PythonAi, type PythonOrm, type PythonQuality, type PythonTaskQueue, type PythonValidation, type PythonWebFramework, type Realtime, type Runtime, type RustApi, type RustCli, type RustFrontend, type RustLibraries, type RustLogging, type RustOrm, type RustWebFramework, type ServerDeploy, TEMPLATE_COUNT, type Template, type UILibrary, type VirtualDirectory, type VirtualFile, VirtualFileSystem, type VirtualFileTree, type VirtualNode, type WebDeploy, add, builder, check, create, createBtsCli, createVirtual, docs, doctor, generateVirtualProject, history, router, sponsors, telemetry };
2918
+ export { type API, type AddInput, type AddResult, type Addons, type AiDocs, type Analytics, type Animation, type Auth, type Backend, type BetterTStackConfig, type CMS, type CSSFramework, type Caching, type CreateInput, type Database, type DatabaseSetup, type DirectoryConflict, EMBEDDED_TEMPLATES, type Ecosystem, type Effect, type ElixirApi, type ElixirAuth, type ElixirCaching, type ElixirDeploy, type ElixirEmail, type ElixirHttp, type ElixirJobs, type ElixirJson, type ElixirObservability, type ElixirOrm, type ElixirQuality, type ElixirRealtime, type ElixirTesting, type ElixirValidation, type ElixirWebFramework, type Examples, type Frontend, type GeneratorOptions, type GeneratorResult, type GoApi, type GoAuth, type GoCli, type GoLogging, type GoOrm, type GoWebFramework, type InitResult, type JavaAuth, type JavaBuildTool, type JavaLibraries, type JavaOrm, type JavaTestingLibraries, type JavaWebFramework, type Logging, type ORM, type PackageManager, type Payments, type PythonAi, type PythonOrm, type PythonQuality, type PythonTaskQueue, type PythonValidation, type PythonWebFramework, type Realtime, type Runtime, type RustApi, type RustCli, type RustFrontend, type RustLibraries, type RustLogging, type RustOrm, type RustWebFramework, type ServerDeploy, TEMPLATE_COUNT, type Template, type UILibrary, type VirtualDirectory, type VirtualFile, VirtualFileSystem, type VirtualFileTree, type VirtualNode, type WebDeploy, add, builder, check, create, createBtsCli, createVirtual, docs, doctor, generateVirtualProject, history, router, sponsors, telemetry, update };