create-better-fullstack 1.7.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -33,10 +33,12 @@ declare const router: {
33
33
  dryRun: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
34
34
  ecosystem: z.ZodOptional<z.ZodEnum<{
35
35
  typescript: "typescript";
36
+ "react-native": "react-native";
36
37
  rust: "rust";
37
38
  python: "python";
38
39
  go: "go";
39
40
  java: "java";
41
+ elixir: "elixir";
40
42
  }>>;
41
43
  database: z.ZodOptional<z.ZodEnum<{
42
44
  none: "none";
@@ -93,8 +95,8 @@ declare const router: {
93
95
  uppy: "uppy";
94
96
  }>>;
95
97
  effect: z.ZodOptional<z.ZodEnum<{
96
- none: "none";
97
98
  effect: "effect";
99
+ none: "none";
98
100
  "effect-full": "effect-full";
99
101
  }>>;
100
102
  stateManagement: z.ZodOptional<z.ZodEnum<{
@@ -189,6 +191,9 @@ declare const router: {
189
191
  none: "none";
190
192
  growthbook: "growthbook";
191
193
  posthog: "posthog";
194
+ launchdarkly: "launchdarkly";
195
+ flagsmith: "flagsmith";
196
+ unleash: "unleash";
192
197
  }>>;
193
198
  analytics: z.ZodOptional<z.ZodEnum<{
194
199
  none: "none";
@@ -223,6 +228,40 @@ declare const router: {
223
228
  s3: "s3";
224
229
  r2: "r2";
225
230
  }>>;
231
+ mobileNavigation: z.ZodOptional<z.ZodEnum<{
232
+ none: "none";
233
+ "expo-router": "expo-router";
234
+ "react-navigation": "react-navigation";
235
+ }>>;
236
+ mobileUI: z.ZodOptional<z.ZodEnum<{
237
+ none: "none";
238
+ uniwind: "uniwind";
239
+ tamagui: "tamagui";
240
+ "gluestack-ui": "gluestack-ui";
241
+ unistyles: "unistyles";
242
+ }>>;
243
+ mobileStorage: z.ZodOptional<z.ZodEnum<{
244
+ none: "none";
245
+ mmkv: "mmkv";
246
+ }>>;
247
+ mobileTesting: z.ZodOptional<z.ZodEnum<{
248
+ none: "none";
249
+ maestro: "maestro";
250
+ "react-native-testing-library": "react-native-testing-library";
251
+ "maestro-react-native-testing-library": "maestro-react-native-testing-library";
252
+ }>>;
253
+ mobilePush: z.ZodOptional<z.ZodEnum<{
254
+ none: "none";
255
+ "expo-notifications": "expo-notifications";
256
+ }>>;
257
+ mobileOTA: z.ZodOptional<z.ZodEnum<{
258
+ none: "none";
259
+ "expo-updates": "expo-updates";
260
+ }>>;
261
+ mobileDeepLinking: z.ZodOptional<z.ZodEnum<{
262
+ none: "none";
263
+ "expo-linking": "expo-linking";
264
+ }>>;
226
265
  frontend: z.ZodOptional<z.ZodArray<z.ZodEnum<{
227
266
  none: "none";
228
267
  "tanstack-router": "tanstack-router";
@@ -230,6 +269,7 @@ declare const router: {
230
269
  "react-vite": "react-vite";
231
270
  "tanstack-start": "tanstack-start";
232
271
  next: "next";
272
+ vinext: "vinext";
233
273
  nuxt: "nuxt";
234
274
  "native-bare": "native-bare";
235
275
  "native-uniwind": "native-uniwind";
@@ -277,8 +317,8 @@ declare const router: {
277
317
  "docker-compose": "docker-compose";
278
318
  }>>>;
279
319
  examples: z.ZodOptional<z.ZodArray<z.ZodEnum<{
280
- none: "none";
281
320
  ai: "ai";
321
+ none: "none";
282
322
  "chat-sdk": "chat-sdk";
283
323
  "tanstack-showcase": "tanstack-showcase";
284
324
  }>>>;
@@ -343,6 +383,7 @@ declare const router: {
343
383
  "postcss-only": "postcss-only";
344
384
  }>>;
345
385
  uiLibrary: z.ZodOptional<z.ZodEnum<{
386
+ mui: "mui";
346
387
  none: "none";
347
388
  "shadcn-ui": "shadcn-ui";
348
389
  daisyui: "daisyui";
@@ -352,6 +393,7 @@ declare const router: {
352
393
  "chakra-ui": "chakra-ui";
353
394
  nextui: "nextui";
354
395
  mantine: "mantine";
396
+ antd: "antd";
355
397
  "base-ui": "base-ui";
356
398
  "ark-ui": "ark-ui";
357
399
  "react-aria": "react-aria";
@@ -366,6 +408,8 @@ declare const router: {
366
408
  maia: "maia";
367
409
  lyra: "lyra";
368
410
  mira: "mira";
411
+ luma: "luma";
412
+ sera: "sera";
369
413
  }>>;
370
414
  shadcnIconLibrary: z.ZodOptional<z.ZodEnum<{
371
415
  lucide: "lucide";
@@ -373,6 +417,8 @@ declare const router: {
373
417
  hugeicons: "hugeicons";
374
418
  phosphor: "phosphor";
375
419
  remixicon: "remixicon";
420
+ heroicons: "heroicons";
421
+ "react-icons": "react-icons";
376
422
  }>>;
377
423
  shadcnColorTheme: z.ZodOptional<z.ZodEnum<{
378
424
  neutral: "neutral";
@@ -481,11 +527,22 @@ declare const router: {
481
527
  rustLibraries: z.ZodOptional<z.ZodArray<z.ZodEnum<{
482
528
  none: "none";
483
529
  serde: "serde";
530
+ uuid: "uuid";
531
+ chrono: "chrono";
532
+ reqwest: "reqwest";
533
+ config: "config";
534
+ dashmap: "dashmap";
535
+ "parking-lot": "parking-lot";
536
+ secrecy: "secrecy";
537
+ "tokio-util": "tokio-util";
538
+ utoipa: "utoipa";
484
539
  validator: "validator";
485
540
  jsonwebtoken: "jsonwebtoken";
486
541
  argon2: "argon2";
487
542
  "tokio-test": "tokio-test";
488
543
  mockall: "mockall";
544
+ proptest: "proptest";
545
+ insta: "insta";
489
546
  }>>>;
490
547
  rustLogging: z.ZodOptional<z.ZodEnum<{
491
548
  none: "none";
@@ -531,23 +588,35 @@ declare const router: {
531
588
  "openai-sdk": "openai-sdk";
532
589
  "anthropic-sdk": "anthropic-sdk";
533
590
  crewai: "crewai";
591
+ haystack: "haystack";
534
592
  }>>>;
535
593
  pythonAuth: z.ZodOptional<z.ZodEnum<{
536
594
  none: "none";
537
595
  authlib: "authlib";
538
596
  jwt: "jwt";
539
597
  }>>;
598
+ pythonApi: z.ZodOptional<z.ZodEnum<{
599
+ none: "none";
600
+ "django-rest-framework": "django-rest-framework";
601
+ "django-ninja": "django-ninja";
602
+ }>>;
540
603
  pythonTaskQueue: z.ZodOptional<z.ZodEnum<{
541
604
  none: "none";
542
605
  celery: "celery";
606
+ rq: "rq";
607
+ dramatiq: "dramatiq";
608
+ huey: "huey";
543
609
  }>>;
544
610
  pythonGraphql: z.ZodOptional<z.ZodEnum<{
545
611
  none: "none";
546
612
  strawberry: "strawberry";
613
+ ariadne: "ariadne";
547
614
  }>>;
548
615
  pythonQuality: z.ZodOptional<z.ZodEnum<{
549
616
  none: "none";
550
617
  ruff: "ruff";
618
+ mypy: "mypy";
619
+ pyright: "pyright";
551
620
  }>>;
552
621
  goWebFramework: z.ZodOptional<z.ZodEnum<{
553
622
  none: "none";
@@ -557,8 +626,8 @@ declare const router: {
557
626
  chi: "chi";
558
627
  }>>;
559
628
  goOrm: z.ZodOptional<z.ZodEnum<{
560
- none: "none";
561
629
  gorm: "gorm";
630
+ none: "none";
562
631
  sqlc: "sqlc";
563
632
  ent: "ent";
564
633
  }>>;
@@ -570,12 +639,14 @@ declare const router: {
570
639
  none: "none";
571
640
  cobra: "cobra";
572
641
  bubbletea: "bubbletea";
642
+ "urfave-cli": "urfave-cli";
573
643
  }>>;
574
644
  goLogging: z.ZodOptional<z.ZodEnum<{
575
645
  none: "none";
576
646
  zap: "zap";
577
647
  zerolog: "zerolog";
578
648
  slog: "slog";
649
+ logrus: "logrus";
579
650
  }>>;
580
651
  goAuth: z.ZodOptional<z.ZodEnum<{
581
652
  none: "none";
@@ -585,6 +656,7 @@ declare const router: {
585
656
  javaWebFramework: z.ZodOptional<z.ZodEnum<{
586
657
  none: "none";
587
658
  "spring-boot": "spring-boot";
659
+ quarkus: "quarkus";
588
660
  }>>;
589
661
  javaBuildTool: z.ZodOptional<z.ZodEnum<{
590
662
  none: "none";
@@ -609,6 +681,14 @@ declare const router: {
609
681
  lombok: "lombok";
610
682
  mapstruct: "mapstruct";
611
683
  caffeine: "caffeine";
684
+ resilience4j: "resilience4j";
685
+ "spring-webflux": "spring-webflux";
686
+ "spring-batch": "spring-batch";
687
+ "spring-kafka": "spring-kafka";
688
+ "spring-mail": "spring-mail";
689
+ "spring-devtools": "spring-devtools";
690
+ "micrometer-prometheus": "micrometer-prometheus";
691
+ thymeleaf: "thymeleaf";
612
692
  }>>>;
613
693
  javaTestingLibraries: z.ZodOptional<z.ZodArray<z.ZodEnum<{
614
694
  none: "none";
@@ -622,6 +702,88 @@ declare const router: {
622
702
  archunit: "archunit";
623
703
  jqwik: "jqwik";
624
704
  }>>>;
705
+ elixirWebFramework: z.ZodOptional<z.ZodEnum<{
706
+ none: "none";
707
+ phoenix: "phoenix";
708
+ "phoenix-live-view": "phoenix-live-view";
709
+ }>>;
710
+ elixirOrm: z.ZodOptional<z.ZodEnum<{
711
+ none: "none";
712
+ ecto: "ecto";
713
+ "ecto-sql": "ecto-sql";
714
+ }>>;
715
+ elixirAuth: z.ZodOptional<z.ZodEnum<{
716
+ none: "none";
717
+ "phx-gen-auth": "phx-gen-auth";
718
+ ueberauth: "ueberauth";
719
+ guardian: "guardian";
720
+ }>>;
721
+ elixirApi: z.ZodOptional<z.ZodEnum<{
722
+ none: "none";
723
+ rest: "rest";
724
+ absinthe: "absinthe";
725
+ }>>;
726
+ elixirRealtime: z.ZodOptional<z.ZodEnum<{
727
+ none: "none";
728
+ channels: "channels";
729
+ presence: "presence";
730
+ pubsub: "pubsub";
731
+ "live-view-streams": "live-view-streams";
732
+ }>>;
733
+ elixirJobs: z.ZodOptional<z.ZodEnum<{
734
+ none: "none";
735
+ oban: "oban";
736
+ quantum: "quantum";
737
+ }>>;
738
+ elixirValidation: z.ZodOptional<z.ZodEnum<{
739
+ none: "none";
740
+ "ecto-changesets": "ecto-changesets";
741
+ "nimble-options": "nimble-options";
742
+ }>>;
743
+ elixirHttp: z.ZodOptional<z.ZodEnum<{
744
+ none: "none";
745
+ req: "req";
746
+ finch: "finch";
747
+ }>>;
748
+ elixirJson: z.ZodOptional<z.ZodEnum<{
749
+ none: "none";
750
+ jason: "jason";
751
+ }>>;
752
+ elixirEmail: z.ZodOptional<z.ZodEnum<{
753
+ none: "none";
754
+ swoosh: "swoosh";
755
+ }>>;
756
+ elixirCaching: z.ZodOptional<z.ZodEnum<{
757
+ none: "none";
758
+ cachex: "cachex";
759
+ nebulex: "nebulex";
760
+ }>>;
761
+ elixirObservability: z.ZodOptional<z.ZodEnum<{
762
+ none: "none";
763
+ opentelemetry: "opentelemetry";
764
+ telemetry: "telemetry";
765
+ prom_ex: "prom_ex";
766
+ }>>;
767
+ elixirTesting: z.ZodOptional<z.ZodEnum<{
768
+ none: "none";
769
+ ex_unit: "ex_unit";
770
+ mox: "mox";
771
+ bypass: "bypass";
772
+ wallaby: "wallaby";
773
+ }>>;
774
+ elixirQuality: z.ZodOptional<z.ZodEnum<{
775
+ none: "none";
776
+ credo: "credo";
777
+ dialyxir: "dialyxir";
778
+ sobelow: "sobelow";
779
+ }>>;
780
+ elixirDeploy: z.ZodOptional<z.ZodEnum<{
781
+ none: "none";
782
+ docker: "docker";
783
+ fly: "fly";
784
+ gigalixir: "gigalixir";
785
+ "mix-release": "mix-release";
786
+ }>>;
625
787
  aiDocs: z.ZodOptional<z.ZodArray<z.ZodEnum<{
626
788
  none: "none";
627
789
  "claude-md": "claude-md";
@@ -634,12 +796,12 @@ declare const router: {
634
796
  projectName: string;
635
797
  projectDir: string;
636
798
  relativePath: string;
637
- ecosystem: "typescript" | "rust" | "python" | "go" | "java";
799
+ ecosystem: "typescript" | "react-native" | "rust" | "python" | "go" | "java" | "elixir";
638
800
  database: "none" | "sqlite" | "postgres" | "mysql" | "mongodb" | "edgedb" | "redis";
639
801
  orm: "none" | "drizzle" | "prisma" | "mongoose" | "typeorm" | "kysely" | "mikroorm" | "sequelize";
640
802
  backend: "none" | "hono" | "express" | "fastify" | "elysia" | "fets" | "nestjs" | "adonisjs" | "nitro" | "encore" | "convex" | "self";
641
803
  runtime: "none" | "bun" | "node" | "workers";
642
- frontend: ("none" | "tanstack-router" | "react-router" | "react-vite" | "tanstack-start" | "next" | "nuxt" | "native-bare" | "native-uniwind" | "native-unistyles" | "svelte" | "solid" | "solid-start" | "astro" | "qwik" | "angular" | "redwood" | "fresh")[];
804
+ 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")[];
643
805
  addons: ("none" | "pwa" | "tauri" | "starlight" | "biome" | "lefthook" | "husky" | "ruler" | "mcp" | "skills" | "turborepo" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "msw" | "storybook" | "tanstack-query" | "tanstack-table" | "tanstack-virtual" | "tanstack-db" | "tanstack-pacer" | "docker-compose")[];
644
806
  examples: ("ai" | "none" | "chat-sdk" | "tanstack-showcase")[];
645
807
  auth: "none" | "better-auth" | "go-better-auth" | "clerk" | "nextauth" | "stack-auth" | "supabase-auth" | "auth0";
@@ -659,7 +821,7 @@ declare const router: {
659
821
  testing: "none" | "vitest" | "playwright" | "vitest-playwright" | "jest" | "cypress";
660
822
  email: "none" | "react-email" | "resend" | "nodemailer" | "postmark" | "sendgrid" | "aws-ses" | "mailgun" | "plunk";
661
823
  cssFramework: "none" | "tailwind" | "scss" | "less" | "postcss-only";
662
- uiLibrary: "none" | "shadcn-ui" | "daisyui" | "radix-ui" | "headless-ui" | "park-ui" | "chakra-ui" | "nextui" | "mantine" | "base-ui" | "ark-ui" | "react-aria";
824
+ uiLibrary: "none" | "mui" | "shadcn-ui" | "daisyui" | "radix-ui" | "headless-ui" | "park-ui" | "chakra-ui" | "nextui" | "mantine" | "antd" | "base-ui" | "ark-ui" | "react-aria";
663
825
  validation: "none" | "zod" | "valibot" | "arktype" | "typebox" | "typia" | "runtypes" | "effect-schema";
664
826
  realtime: "none" | "socket-io" | "partykit" | "ably" | "pusher" | "liveblocks" | "yjs";
665
827
  jobQueue: "none" | "bullmq" | "trigger-dev" | "inngest" | "temporal";
@@ -667,19 +829,26 @@ declare const router: {
667
829
  fileUpload: "none" | "uploadthing" | "filepond" | "uppy";
668
830
  logging: "none" | "pino" | "winston";
669
831
  observability: "none" | "opentelemetry" | "sentry" | "grafana";
670
- featureFlags: "none" | "growthbook" | "posthog";
832
+ featureFlags: "none" | "growthbook" | "posthog" | "launchdarkly" | "flagsmith" | "unleash";
671
833
  analytics: "none" | "plausible" | "umami";
672
834
  cms: "none" | "payload" | "sanity" | "strapi" | "tinacms";
673
835
  caching: "none" | "upstash-redis";
674
836
  i18n: "none" | "i18next" | "next-intl";
675
837
  search: "none" | "meilisearch" | "typesense" | "elasticsearch" | "algolia";
676
838
  fileStorage: "none" | "s3" | "r2";
839
+ mobileNavigation: "none" | "expo-router" | "react-navigation";
840
+ mobileUI: "none" | "uniwind" | "tamagui" | "gluestack-ui" | "unistyles";
841
+ mobileStorage: "none" | "mmkv";
842
+ mobileTesting: "none" | "maestro" | "react-native-testing-library" | "maestro-react-native-testing-library";
843
+ mobilePush: "none" | "expo-notifications";
844
+ mobileOTA: "none" | "expo-updates";
845
+ mobileDeepLinking: "none" | "expo-linking";
677
846
  rustWebFramework: "none" | "axum" | "actix-web" | "rocket";
678
847
  rustFrontend: "none" | "leptos" | "dioxus";
679
848
  rustOrm: "none" | "sea-orm" | "sqlx" | "diesel";
680
849
  rustApi: "none" | "tonic" | "async-graphql";
681
850
  rustCli: "none" | "clap" | "ratatui";
682
- rustLibraries: ("none" | "serde" | "validator" | "jsonwebtoken" | "argon2" | "tokio-test" | "mockall")[];
851
+ rustLibraries: ("none" | "serde" | "uuid" | "chrono" | "reqwest" | "config" | "dashmap" | "parking-lot" | "secrecy" | "tokio-util" | "utoipa" | "validator" | "jsonwebtoken" | "argon2" | "tokio-test" | "mockall" | "proptest" | "insta")[];
683
852
  rustLogging: "none" | "tracing" | "env-logger";
684
853
  rustErrorHandling: "none" | "anyhow-thiserror" | "eyre";
685
854
  rustCaching: "none" | "redis" | "moka";
@@ -687,28 +856,44 @@ declare const router: {
687
856
  pythonWebFramework: "none" | "fastapi" | "django" | "flask" | "litestar";
688
857
  pythonOrm: "none" | "sqlalchemy" | "sqlmodel" | "tortoise-orm";
689
858
  pythonValidation: "none" | "pydantic";
690
- pythonAi: ("none" | "langgraph" | "langchain" | "llamaindex" | "openai-sdk" | "anthropic-sdk" | "crewai")[];
859
+ pythonAi: ("none" | "langgraph" | "langchain" | "llamaindex" | "openai-sdk" | "anthropic-sdk" | "crewai" | "haystack")[];
691
860
  pythonAuth: "none" | "authlib" | "jwt";
692
- pythonTaskQueue: "none" | "celery";
693
- pythonGraphql: "none" | "strawberry";
694
- pythonQuality: "none" | "ruff";
861
+ pythonApi: "none" | "django-rest-framework" | "django-ninja";
862
+ pythonTaskQueue: "none" | "celery" | "rq" | "dramatiq" | "huey";
863
+ pythonGraphql: "none" | "strawberry" | "ariadne";
864
+ pythonQuality: "none" | "ruff" | "mypy" | "pyright";
695
865
  goWebFramework: "none" | "gin" | "echo" | "fiber" | "chi";
696
866
  goOrm: "none" | "gorm" | "sqlc" | "ent";
697
867
  goApi: "none" | "grpc-go";
698
- goCli: "none" | "cobra" | "bubbletea";
699
- goLogging: "none" | "zap" | "zerolog" | "slog";
868
+ goCli: "none" | "cobra" | "bubbletea" | "urfave-cli";
869
+ goLogging: "none" | "zap" | "zerolog" | "slog" | "logrus";
700
870
  goAuth: "none" | "jwt" | "casbin";
701
- javaWebFramework: "none" | "spring-boot";
871
+ javaWebFramework: "none" | "spring-boot" | "quarkus";
702
872
  javaBuildTool: "none" | "maven" | "gradle";
703
873
  javaOrm: "none" | "spring-data-jpa";
704
874
  javaAuth: "none" | "spring-security";
705
- javaLibraries: ("none" | "spring-actuator" | "spring-validation" | "flyway" | "liquibase" | "springdoc-openapi" | "lombok" | "mapstruct" | "caffeine")[];
875
+ 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")[];
706
876
  javaTestingLibraries: ("none" | "junit5" | "mockito" | "testcontainers" | "assertj" | "rest-assured" | "wiremock" | "awaitility" | "archunit" | "jqwik")[];
877
+ elixirWebFramework: "none" | "phoenix" | "phoenix-live-view";
878
+ elixirOrm: "none" | "ecto" | "ecto-sql";
879
+ elixirAuth: "none" | "phx-gen-auth" | "ueberauth" | "guardian";
880
+ elixirApi: "none" | "rest" | "absinthe";
881
+ elixirRealtime: "none" | "channels" | "presence" | "pubsub" | "live-view-streams";
882
+ elixirJobs: "none" | "oban" | "quantum";
883
+ elixirValidation: "none" | "ecto-changesets" | "nimble-options";
884
+ elixirHttp: "none" | "req" | "finch";
885
+ elixirJson: "none" | "jason";
886
+ elixirEmail: "none" | "swoosh";
887
+ elixirCaching: "none" | "cachex" | "nebulex";
888
+ elixirObservability: "none" | "opentelemetry" | "telemetry" | "prom_ex";
889
+ elixirTesting: "none" | "ex_unit" | "mox" | "bypass" | "wallaby";
890
+ elixirQuality: "none" | "credo" | "dialyxir" | "sobelow";
891
+ elixirDeploy: "none" | "docker" | "fly" | "gigalixir" | "mix-release";
707
892
  aiDocs: ("none" | "claude-md" | "agents-md" | "cursorrules")[];
708
893
  astroIntegration?: "none" | "svelte" | "solid" | "react" | "vue" | undefined;
709
894
  shadcnBase?: "radix" | "base" | undefined;
710
- shadcnStyle?: "vega" | "nova" | "maia" | "lyra" | "mira" | undefined;
711
- shadcnIconLibrary?: "lucide" | "tabler" | "hugeicons" | "phosphor" | "remixicon" | undefined;
895
+ shadcnStyle?: "vega" | "nova" | "maia" | "lyra" | "mira" | "luma" | "sera" | undefined;
896
+ shadcnIconLibrary?: "lucide" | "tabler" | "hugeicons" | "phosphor" | "remixicon" | "heroicons" | "react-icons" | undefined;
712
897
  shadcnColorTheme?: "neutral" | "stone" | "zinc" | "gray" | "amber" | "blue" | "cyan" | "emerald" | "fuchsia" | "green" | "indigo" | "lime" | "orange" | "pink" | "purple" | "red" | "rose" | "sky" | "teal" | "violet" | "yellow" | undefined;
713
898
  shadcnBaseColor?: "neutral" | "stone" | "zinc" | "gray" | undefined;
714
899
  shadcnFont?: "inter" | "geist" | "noto-sans" | "nunito-sans" | "figtree" | "roboto" | "raleway" | "dm-sans" | "public-sans" | "outfit" | "jetbrains-mono" | "geist-mono" | undefined;
@@ -730,12 +915,12 @@ declare const router: {
730
915
  projectName: string;
731
916
  projectDir: string;
732
917
  relativePath: string;
733
- ecosystem: "typescript" | "rust" | "python" | "go" | "java";
918
+ ecosystem: "typescript" | "react-native" | "rust" | "python" | "go" | "java" | "elixir";
734
919
  database: "none" | "sqlite" | "postgres" | "mysql" | "mongodb" | "edgedb" | "redis";
735
920
  orm: "none" | "drizzle" | "prisma" | "mongoose" | "typeorm" | "kysely" | "mikroorm" | "sequelize";
736
921
  backend: "none" | "hono" | "express" | "fastify" | "elysia" | "fets" | "nestjs" | "adonisjs" | "nitro" | "encore" | "convex" | "self";
737
922
  runtime: "none" | "bun" | "node" | "workers";
738
- frontend: ("none" | "tanstack-router" | "react-router" | "react-vite" | "tanstack-start" | "next" | "nuxt" | "native-bare" | "native-uniwind" | "native-unistyles" | "svelte" | "solid" | "solid-start" | "astro" | "qwik" | "angular" | "redwood" | "fresh")[];
923
+ 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")[];
739
924
  addons: ("none" | "pwa" | "tauri" | "starlight" | "biome" | "lefthook" | "husky" | "ruler" | "mcp" | "skills" | "turborepo" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "msw" | "storybook" | "tanstack-query" | "tanstack-table" | "tanstack-virtual" | "tanstack-db" | "tanstack-pacer" | "docker-compose")[];
740
925
  examples: ("ai" | "none" | "chat-sdk" | "tanstack-showcase")[];
741
926
  auth: "none" | "better-auth" | "go-better-auth" | "clerk" | "nextauth" | "stack-auth" | "supabase-auth" | "auth0";
@@ -755,7 +940,7 @@ declare const router: {
755
940
  testing: "none" | "vitest" | "playwright" | "vitest-playwright" | "jest" | "cypress";
756
941
  email: "none" | "react-email" | "resend" | "nodemailer" | "postmark" | "sendgrid" | "aws-ses" | "mailgun" | "plunk";
757
942
  cssFramework: "none" | "tailwind" | "scss" | "less" | "postcss-only";
758
- uiLibrary: "none" | "shadcn-ui" | "daisyui" | "radix-ui" | "headless-ui" | "park-ui" | "chakra-ui" | "nextui" | "mantine" | "base-ui" | "ark-ui" | "react-aria";
943
+ uiLibrary: "none" | "mui" | "shadcn-ui" | "daisyui" | "radix-ui" | "headless-ui" | "park-ui" | "chakra-ui" | "nextui" | "mantine" | "antd" | "base-ui" | "ark-ui" | "react-aria";
759
944
  validation: "none" | "zod" | "valibot" | "arktype" | "typebox" | "typia" | "runtypes" | "effect-schema";
760
945
  realtime: "none" | "socket-io" | "partykit" | "ably" | "pusher" | "liveblocks" | "yjs";
761
946
  jobQueue: "none" | "bullmq" | "trigger-dev" | "inngest" | "temporal";
@@ -763,19 +948,26 @@ declare const router: {
763
948
  fileUpload: "none" | "uploadthing" | "filepond" | "uppy";
764
949
  logging: "none" | "pino" | "winston";
765
950
  observability: "none" | "opentelemetry" | "sentry" | "grafana";
766
- featureFlags: "none" | "growthbook" | "posthog";
951
+ featureFlags: "none" | "growthbook" | "posthog" | "launchdarkly" | "flagsmith" | "unleash";
767
952
  analytics: "none" | "plausible" | "umami";
768
953
  cms: "none" | "payload" | "sanity" | "strapi" | "tinacms";
769
954
  caching: "none" | "upstash-redis";
770
955
  i18n: "none" | "i18next" | "next-intl";
771
956
  search: "none" | "meilisearch" | "typesense" | "elasticsearch" | "algolia";
772
957
  fileStorage: "none" | "s3" | "r2";
958
+ mobileNavigation: "none" | "expo-router" | "react-navigation";
959
+ mobileUI: "none" | "uniwind" | "tamagui" | "gluestack-ui" | "unistyles";
960
+ mobileStorage: "none" | "mmkv";
961
+ mobileTesting: "none" | "maestro" | "react-native-testing-library" | "maestro-react-native-testing-library";
962
+ mobilePush: "none" | "expo-notifications";
963
+ mobileOTA: "none" | "expo-updates";
964
+ mobileDeepLinking: "none" | "expo-linking";
773
965
  rustWebFramework: "none" | "axum" | "actix-web" | "rocket";
774
966
  rustFrontend: "none" | "leptos" | "dioxus";
775
967
  rustOrm: "none" | "sea-orm" | "sqlx" | "diesel";
776
968
  rustApi: "none" | "tonic" | "async-graphql";
777
969
  rustCli: "none" | "clap" | "ratatui";
778
- rustLibraries: ("none" | "serde" | "validator" | "jsonwebtoken" | "argon2" | "tokio-test" | "mockall")[];
970
+ rustLibraries: ("none" | "serde" | "uuid" | "chrono" | "reqwest" | "config" | "dashmap" | "parking-lot" | "secrecy" | "tokio-util" | "utoipa" | "validator" | "jsonwebtoken" | "argon2" | "tokio-test" | "mockall" | "proptest" | "insta")[];
779
971
  rustLogging: "none" | "tracing" | "env-logger";
780
972
  rustErrorHandling: "none" | "anyhow-thiserror" | "eyre";
781
973
  rustCaching: "none" | "redis" | "moka";
@@ -783,28 +975,44 @@ declare const router: {
783
975
  pythonWebFramework: "none" | "fastapi" | "django" | "flask" | "litestar";
784
976
  pythonOrm: "none" | "sqlalchemy" | "sqlmodel" | "tortoise-orm";
785
977
  pythonValidation: "none" | "pydantic";
786
- pythonAi: ("none" | "langgraph" | "langchain" | "llamaindex" | "openai-sdk" | "anthropic-sdk" | "crewai")[];
978
+ pythonAi: ("none" | "langgraph" | "langchain" | "llamaindex" | "openai-sdk" | "anthropic-sdk" | "crewai" | "haystack")[];
787
979
  pythonAuth: "none" | "authlib" | "jwt";
788
- pythonTaskQueue: "none" | "celery";
789
- pythonGraphql: "none" | "strawberry";
790
- pythonQuality: "none" | "ruff";
980
+ pythonApi: "none" | "django-rest-framework" | "django-ninja";
981
+ pythonTaskQueue: "none" | "celery" | "rq" | "dramatiq" | "huey";
982
+ pythonGraphql: "none" | "strawberry" | "ariadne";
983
+ pythonQuality: "none" | "ruff" | "mypy" | "pyright";
791
984
  goWebFramework: "none" | "gin" | "echo" | "fiber" | "chi";
792
985
  goOrm: "none" | "gorm" | "sqlc" | "ent";
793
986
  goApi: "none" | "grpc-go";
794
- goCli: "none" | "cobra" | "bubbletea";
795
- goLogging: "none" | "zap" | "zerolog" | "slog";
987
+ goCli: "none" | "cobra" | "bubbletea" | "urfave-cli";
988
+ goLogging: "none" | "zap" | "zerolog" | "slog" | "logrus";
796
989
  goAuth: "none" | "jwt" | "casbin";
797
- javaWebFramework: "none" | "spring-boot";
990
+ javaWebFramework: "none" | "spring-boot" | "quarkus";
798
991
  javaBuildTool: "none" | "maven" | "gradle";
799
992
  javaOrm: "none" | "spring-data-jpa";
800
993
  javaAuth: "none" | "spring-security";
801
- javaLibraries: ("none" | "spring-actuator" | "spring-validation" | "flyway" | "liquibase" | "springdoc-openapi" | "lombok" | "mapstruct" | "caffeine")[];
994
+ 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")[];
802
995
  javaTestingLibraries: ("none" | "junit5" | "mockito" | "testcontainers" | "assertj" | "rest-assured" | "wiremock" | "awaitility" | "archunit" | "jqwik")[];
996
+ elixirWebFramework: "none" | "phoenix" | "phoenix-live-view";
997
+ elixirOrm: "none" | "ecto" | "ecto-sql";
998
+ elixirAuth: "none" | "phx-gen-auth" | "ueberauth" | "guardian";
999
+ elixirApi: "none" | "rest" | "absinthe";
1000
+ elixirRealtime: "none" | "channels" | "presence" | "pubsub" | "live-view-streams";
1001
+ elixirJobs: "none" | "oban" | "quantum";
1002
+ elixirValidation: "none" | "ecto-changesets" | "nimble-options";
1003
+ elixirHttp: "none" | "req" | "finch";
1004
+ elixirJson: "none" | "jason";
1005
+ elixirEmail: "none" | "swoosh";
1006
+ elixirCaching: "none" | "cachex" | "nebulex";
1007
+ elixirObservability: "none" | "opentelemetry" | "telemetry" | "prom_ex";
1008
+ elixirTesting: "none" | "ex_unit" | "mox" | "bypass" | "wallaby";
1009
+ elixirQuality: "none" | "credo" | "dialyxir" | "sobelow";
1010
+ elixirDeploy: "none" | "docker" | "fly" | "gigalixir" | "mix-release";
803
1011
  aiDocs: ("none" | "claude-md" | "agents-md" | "cursorrules")[];
804
1012
  astroIntegration?: "none" | "svelte" | "solid" | "react" | "vue" | undefined;
805
1013
  shadcnBase?: "radix" | "base" | undefined;
806
- shadcnStyle?: "vega" | "nova" | "maia" | "lyra" | "mira" | undefined;
807
- shadcnIconLibrary?: "lucide" | "tabler" | "hugeicons" | "phosphor" | "remixicon" | undefined;
1014
+ shadcnStyle?: "vega" | "nova" | "maia" | "lyra" | "mira" | "luma" | "sera" | undefined;
1015
+ shadcnIconLibrary?: "lucide" | "tabler" | "hugeicons" | "phosphor" | "remixicon" | "heroicons" | "react-icons" | undefined;
808
1016
  shadcnColorTheme?: "neutral" | "stone" | "zinc" | "gray" | "amber" | "blue" | "cyan" | "emerald" | "fuchsia" | "green" | "indigo" | "lime" | "orange" | "pink" | "purple" | "red" | "rose" | "sky" | "teal" | "violet" | "yellow" | undefined;
809
1017
  shadcnBaseColor?: "neutral" | "stone" | "zinc" | "gray" | undefined;
810
1018
  shadcnFont?: "inter" | "geist" | "noto-sans" | "nunito-sans" | "figtree" | "roboto" | "raleway" | "dm-sans" | "public-sans" | "outfit" | "jetbrains-mono" | "geist-mono" | undefined;
@@ -839,12 +1047,12 @@ declare const router: {
839
1047
  projectName: string;
840
1048
  projectDir: string;
841
1049
  relativePath: string;
842
- ecosystem: "typescript" | "rust" | "python" | "go" | "java";
1050
+ ecosystem: "typescript" | "react-native" | "rust" | "python" | "go" | "java" | "elixir";
843
1051
  database: "none" | "sqlite" | "postgres" | "mysql" | "mongodb" | "edgedb" | "redis";
844
1052
  orm: "none" | "drizzle" | "prisma" | "mongoose" | "typeorm" | "kysely" | "mikroorm" | "sequelize";
845
1053
  backend: "none" | "hono" | "express" | "fastify" | "elysia" | "fets" | "nestjs" | "adonisjs" | "nitro" | "encore" | "convex" | "self";
846
1054
  runtime: "none" | "bun" | "node" | "workers";
847
- frontend: ("none" | "tanstack-router" | "react-router" | "react-vite" | "tanstack-start" | "next" | "nuxt" | "native-bare" | "native-uniwind" | "native-unistyles" | "svelte" | "solid" | "solid-start" | "astro" | "qwik" | "angular" | "redwood" | "fresh")[];
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")[];
848
1056
  addons: ("none" | "pwa" | "tauri" | "starlight" | "biome" | "lefthook" | "husky" | "ruler" | "mcp" | "skills" | "turborepo" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "msw" | "storybook" | "tanstack-query" | "tanstack-table" | "tanstack-virtual" | "tanstack-db" | "tanstack-pacer" | "docker-compose")[];
849
1057
  examples: ("ai" | "none" | "chat-sdk" | "tanstack-showcase")[];
850
1058
  auth: "none" | "better-auth" | "go-better-auth" | "clerk" | "nextauth" | "stack-auth" | "supabase-auth" | "auth0";
@@ -864,7 +1072,7 @@ declare const router: {
864
1072
  testing: "none" | "vitest" | "playwright" | "vitest-playwright" | "jest" | "cypress";
865
1073
  email: "none" | "react-email" | "resend" | "nodemailer" | "postmark" | "sendgrid" | "aws-ses" | "mailgun" | "plunk";
866
1074
  cssFramework: "none" | "tailwind" | "scss" | "less" | "postcss-only";
867
- uiLibrary: "none" | "shadcn-ui" | "daisyui" | "radix-ui" | "headless-ui" | "park-ui" | "chakra-ui" | "nextui" | "mantine" | "base-ui" | "ark-ui" | "react-aria";
1075
+ uiLibrary: "none" | "mui" | "shadcn-ui" | "daisyui" | "radix-ui" | "headless-ui" | "park-ui" | "chakra-ui" | "nextui" | "mantine" | "antd" | "base-ui" | "ark-ui" | "react-aria";
868
1076
  validation: "none" | "zod" | "valibot" | "arktype" | "typebox" | "typia" | "runtypes" | "effect-schema";
869
1077
  realtime: "none" | "socket-io" | "partykit" | "ably" | "pusher" | "liveblocks" | "yjs";
870
1078
  jobQueue: "none" | "bullmq" | "trigger-dev" | "inngest" | "temporal";
@@ -872,19 +1080,26 @@ declare const router: {
872
1080
  fileUpload: "none" | "uploadthing" | "filepond" | "uppy";
873
1081
  logging: "none" | "pino" | "winston";
874
1082
  observability: "none" | "opentelemetry" | "sentry" | "grafana";
875
- featureFlags: "none" | "growthbook" | "posthog";
1083
+ featureFlags: "none" | "growthbook" | "posthog" | "launchdarkly" | "flagsmith" | "unleash";
876
1084
  analytics: "none" | "plausible" | "umami";
877
1085
  cms: "none" | "payload" | "sanity" | "strapi" | "tinacms";
878
1086
  caching: "none" | "upstash-redis";
879
1087
  i18n: "none" | "i18next" | "next-intl";
880
1088
  search: "none" | "meilisearch" | "typesense" | "elasticsearch" | "algolia";
881
1089
  fileStorage: "none" | "s3" | "r2";
1090
+ mobileNavigation: "none" | "expo-router" | "react-navigation";
1091
+ mobileUI: "none" | "uniwind" | "tamagui" | "gluestack-ui" | "unistyles";
1092
+ mobileStorage: "none" | "mmkv";
1093
+ mobileTesting: "none" | "maestro" | "react-native-testing-library" | "maestro-react-native-testing-library";
1094
+ mobilePush: "none" | "expo-notifications";
1095
+ mobileOTA: "none" | "expo-updates";
1096
+ mobileDeepLinking: "none" | "expo-linking";
882
1097
  rustWebFramework: "none" | "axum" | "actix-web" | "rocket";
883
1098
  rustFrontend: "none" | "leptos" | "dioxus";
884
1099
  rustOrm: "none" | "sea-orm" | "sqlx" | "diesel";
885
1100
  rustApi: "none" | "tonic" | "async-graphql";
886
1101
  rustCli: "none" | "clap" | "ratatui";
887
- rustLibraries: ("none" | "serde" | "validator" | "jsonwebtoken" | "argon2" | "tokio-test" | "mockall")[];
1102
+ rustLibraries: ("none" | "serde" | "uuid" | "chrono" | "reqwest" | "config" | "dashmap" | "parking-lot" | "secrecy" | "tokio-util" | "utoipa" | "validator" | "jsonwebtoken" | "argon2" | "tokio-test" | "mockall" | "proptest" | "insta")[];
888
1103
  rustLogging: "none" | "tracing" | "env-logger";
889
1104
  rustErrorHandling: "none" | "anyhow-thiserror" | "eyre";
890
1105
  rustCaching: "none" | "redis" | "moka";
@@ -892,28 +1107,44 @@ declare const router: {
892
1107
  pythonWebFramework: "none" | "fastapi" | "django" | "flask" | "litestar";
893
1108
  pythonOrm: "none" | "sqlalchemy" | "sqlmodel" | "tortoise-orm";
894
1109
  pythonValidation: "none" | "pydantic";
895
- pythonAi: ("none" | "langgraph" | "langchain" | "llamaindex" | "openai-sdk" | "anthropic-sdk" | "crewai")[];
1110
+ pythonAi: ("none" | "langgraph" | "langchain" | "llamaindex" | "openai-sdk" | "anthropic-sdk" | "crewai" | "haystack")[];
896
1111
  pythonAuth: "none" | "authlib" | "jwt";
897
- pythonTaskQueue: "none" | "celery";
898
- pythonGraphql: "none" | "strawberry";
899
- pythonQuality: "none" | "ruff";
1112
+ pythonApi: "none" | "django-rest-framework" | "django-ninja";
1113
+ pythonTaskQueue: "none" | "celery" | "rq" | "dramatiq" | "huey";
1114
+ pythonGraphql: "none" | "strawberry" | "ariadne";
1115
+ pythonQuality: "none" | "ruff" | "mypy" | "pyright";
900
1116
  goWebFramework: "none" | "gin" | "echo" | "fiber" | "chi";
901
1117
  goOrm: "none" | "gorm" | "sqlc" | "ent";
902
1118
  goApi: "none" | "grpc-go";
903
- goCli: "none" | "cobra" | "bubbletea";
904
- goLogging: "none" | "zap" | "zerolog" | "slog";
1119
+ goCli: "none" | "cobra" | "bubbletea" | "urfave-cli";
1120
+ goLogging: "none" | "zap" | "zerolog" | "slog" | "logrus";
905
1121
  goAuth: "none" | "jwt" | "casbin";
906
- javaWebFramework: "none" | "spring-boot";
1122
+ javaWebFramework: "none" | "spring-boot" | "quarkus";
907
1123
  javaBuildTool: "none" | "maven" | "gradle";
908
1124
  javaOrm: "none" | "spring-data-jpa";
909
1125
  javaAuth: "none" | "spring-security";
910
- javaLibraries: ("none" | "spring-actuator" | "spring-validation" | "flyway" | "liquibase" | "springdoc-openapi" | "lombok" | "mapstruct" | "caffeine")[];
1126
+ 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")[];
911
1127
  javaTestingLibraries: ("none" | "junit5" | "mockito" | "testcontainers" | "assertj" | "rest-assured" | "wiremock" | "awaitility" | "archunit" | "jqwik")[];
1128
+ elixirWebFramework: "none" | "phoenix" | "phoenix-live-view";
1129
+ elixirOrm: "none" | "ecto" | "ecto-sql";
1130
+ elixirAuth: "none" | "phx-gen-auth" | "ueberauth" | "guardian";
1131
+ elixirApi: "none" | "rest" | "absinthe";
1132
+ elixirRealtime: "none" | "channels" | "presence" | "pubsub" | "live-view-streams";
1133
+ elixirJobs: "none" | "oban" | "quantum";
1134
+ elixirValidation: "none" | "ecto-changesets" | "nimble-options";
1135
+ elixirHttp: "none" | "req" | "finch";
1136
+ elixirJson: "none" | "jason";
1137
+ elixirEmail: "none" | "swoosh";
1138
+ elixirCaching: "none" | "cachex" | "nebulex";
1139
+ elixirObservability: "none" | "opentelemetry" | "telemetry" | "prom_ex";
1140
+ elixirTesting: "none" | "ex_unit" | "mox" | "bypass" | "wallaby";
1141
+ elixirQuality: "none" | "credo" | "dialyxir" | "sobelow";
1142
+ elixirDeploy: "none" | "docker" | "fly" | "gigalixir" | "mix-release";
912
1143
  aiDocs: ("none" | "claude-md" | "agents-md" | "cursorrules")[];
913
1144
  astroIntegration?: "none" | "svelte" | "solid" | "react" | "vue" | undefined;
914
1145
  shadcnBase?: "radix" | "base" | undefined;
915
- shadcnStyle?: "vega" | "nova" | "maia" | "lyra" | "mira" | undefined;
916
- shadcnIconLibrary?: "lucide" | "tabler" | "hugeicons" | "phosphor" | "remixicon" | undefined;
1146
+ shadcnStyle?: "vega" | "nova" | "maia" | "lyra" | "mira" | "luma" | "sera" | undefined;
1147
+ shadcnIconLibrary?: "lucide" | "tabler" | "hugeicons" | "phosphor" | "remixicon" | "heroicons" | "react-icons" | undefined;
917
1148
  shadcnColorTheme?: "neutral" | "stone" | "zinc" | "gray" | "amber" | "blue" | "cyan" | "emerald" | "fuchsia" | "green" | "indigo" | "lime" | "orange" | "pink" | "purple" | "red" | "rose" | "sky" | "teal" | "violet" | "yellow" | undefined;
918
1149
  shadcnBaseColor?: "neutral" | "stone" | "zinc" | "gray" | undefined;
919
1150
  shadcnFont?: "inter" | "geist" | "noto-sans" | "nunito-sans" | "figtree" | "roboto" | "raleway" | "dm-sans" | "public-sans" | "outfit" | "jetbrains-mono" | "geist-mono" | undefined;
@@ -935,12 +1166,12 @@ declare const router: {
935
1166
  projectName: string;
936
1167
  projectDir: string;
937
1168
  relativePath: string;
938
- ecosystem: "typescript" | "rust" | "python" | "go" | "java";
1169
+ ecosystem: "typescript" | "react-native" | "rust" | "python" | "go" | "java" | "elixir";
939
1170
  database: "none" | "sqlite" | "postgres" | "mysql" | "mongodb" | "edgedb" | "redis";
940
1171
  orm: "none" | "drizzle" | "prisma" | "mongoose" | "typeorm" | "kysely" | "mikroorm" | "sequelize";
941
1172
  backend: "none" | "hono" | "express" | "fastify" | "elysia" | "fets" | "nestjs" | "adonisjs" | "nitro" | "encore" | "convex" | "self";
942
1173
  runtime: "none" | "bun" | "node" | "workers";
943
- frontend: ("none" | "tanstack-router" | "react-router" | "react-vite" | "tanstack-start" | "next" | "nuxt" | "native-bare" | "native-uniwind" | "native-unistyles" | "svelte" | "solid" | "solid-start" | "astro" | "qwik" | "angular" | "redwood" | "fresh")[];
1174
+ 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")[];
944
1175
  addons: ("none" | "pwa" | "tauri" | "starlight" | "biome" | "lefthook" | "husky" | "ruler" | "mcp" | "skills" | "turborepo" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "msw" | "storybook" | "tanstack-query" | "tanstack-table" | "tanstack-virtual" | "tanstack-db" | "tanstack-pacer" | "docker-compose")[];
945
1176
  examples: ("ai" | "none" | "chat-sdk" | "tanstack-showcase")[];
946
1177
  auth: "none" | "better-auth" | "go-better-auth" | "clerk" | "nextauth" | "stack-auth" | "supabase-auth" | "auth0";
@@ -960,7 +1191,7 @@ declare const router: {
960
1191
  testing: "none" | "vitest" | "playwright" | "vitest-playwright" | "jest" | "cypress";
961
1192
  email: "none" | "react-email" | "resend" | "nodemailer" | "postmark" | "sendgrid" | "aws-ses" | "mailgun" | "plunk";
962
1193
  cssFramework: "none" | "tailwind" | "scss" | "less" | "postcss-only";
963
- uiLibrary: "none" | "shadcn-ui" | "daisyui" | "radix-ui" | "headless-ui" | "park-ui" | "chakra-ui" | "nextui" | "mantine" | "base-ui" | "ark-ui" | "react-aria";
1194
+ uiLibrary: "none" | "mui" | "shadcn-ui" | "daisyui" | "radix-ui" | "headless-ui" | "park-ui" | "chakra-ui" | "nextui" | "mantine" | "antd" | "base-ui" | "ark-ui" | "react-aria";
964
1195
  validation: "none" | "zod" | "valibot" | "arktype" | "typebox" | "typia" | "runtypes" | "effect-schema";
965
1196
  realtime: "none" | "socket-io" | "partykit" | "ably" | "pusher" | "liveblocks" | "yjs";
966
1197
  jobQueue: "none" | "bullmq" | "trigger-dev" | "inngest" | "temporal";
@@ -968,19 +1199,26 @@ declare const router: {
968
1199
  fileUpload: "none" | "uploadthing" | "filepond" | "uppy";
969
1200
  logging: "none" | "pino" | "winston";
970
1201
  observability: "none" | "opentelemetry" | "sentry" | "grafana";
971
- featureFlags: "none" | "growthbook" | "posthog";
1202
+ featureFlags: "none" | "growthbook" | "posthog" | "launchdarkly" | "flagsmith" | "unleash";
972
1203
  analytics: "none" | "plausible" | "umami";
973
1204
  cms: "none" | "payload" | "sanity" | "strapi" | "tinacms";
974
1205
  caching: "none" | "upstash-redis";
975
1206
  i18n: "none" | "i18next" | "next-intl";
976
1207
  search: "none" | "meilisearch" | "typesense" | "elasticsearch" | "algolia";
977
1208
  fileStorage: "none" | "s3" | "r2";
1209
+ mobileNavigation: "none" | "expo-router" | "react-navigation";
1210
+ mobileUI: "none" | "uniwind" | "tamagui" | "gluestack-ui" | "unistyles";
1211
+ mobileStorage: "none" | "mmkv";
1212
+ mobileTesting: "none" | "maestro" | "react-native-testing-library" | "maestro-react-native-testing-library";
1213
+ mobilePush: "none" | "expo-notifications";
1214
+ mobileOTA: "none" | "expo-updates";
1215
+ mobileDeepLinking: "none" | "expo-linking";
978
1216
  rustWebFramework: "none" | "axum" | "actix-web" | "rocket";
979
1217
  rustFrontend: "none" | "leptos" | "dioxus";
980
1218
  rustOrm: "none" | "sea-orm" | "sqlx" | "diesel";
981
1219
  rustApi: "none" | "tonic" | "async-graphql";
982
1220
  rustCli: "none" | "clap" | "ratatui";
983
- rustLibraries: ("none" | "serde" | "validator" | "jsonwebtoken" | "argon2" | "tokio-test" | "mockall")[];
1221
+ rustLibraries: ("none" | "serde" | "uuid" | "chrono" | "reqwest" | "config" | "dashmap" | "parking-lot" | "secrecy" | "tokio-util" | "utoipa" | "validator" | "jsonwebtoken" | "argon2" | "tokio-test" | "mockall" | "proptest" | "insta")[];
984
1222
  rustLogging: "none" | "tracing" | "env-logger";
985
1223
  rustErrorHandling: "none" | "anyhow-thiserror" | "eyre";
986
1224
  rustCaching: "none" | "redis" | "moka";
@@ -988,28 +1226,44 @@ declare const router: {
988
1226
  pythonWebFramework: "none" | "fastapi" | "django" | "flask" | "litestar";
989
1227
  pythonOrm: "none" | "sqlalchemy" | "sqlmodel" | "tortoise-orm";
990
1228
  pythonValidation: "none" | "pydantic";
991
- pythonAi: ("none" | "langgraph" | "langchain" | "llamaindex" | "openai-sdk" | "anthropic-sdk" | "crewai")[];
1229
+ pythonAi: ("none" | "langgraph" | "langchain" | "llamaindex" | "openai-sdk" | "anthropic-sdk" | "crewai" | "haystack")[];
992
1230
  pythonAuth: "none" | "authlib" | "jwt";
993
- pythonTaskQueue: "none" | "celery";
994
- pythonGraphql: "none" | "strawberry";
995
- pythonQuality: "none" | "ruff";
1231
+ pythonApi: "none" | "django-rest-framework" | "django-ninja";
1232
+ pythonTaskQueue: "none" | "celery" | "rq" | "dramatiq" | "huey";
1233
+ pythonGraphql: "none" | "strawberry" | "ariadne";
1234
+ pythonQuality: "none" | "ruff" | "mypy" | "pyright";
996
1235
  goWebFramework: "none" | "gin" | "echo" | "fiber" | "chi";
997
1236
  goOrm: "none" | "gorm" | "sqlc" | "ent";
998
1237
  goApi: "none" | "grpc-go";
999
- goCli: "none" | "cobra" | "bubbletea";
1000
- goLogging: "none" | "zap" | "zerolog" | "slog";
1238
+ goCli: "none" | "cobra" | "bubbletea" | "urfave-cli";
1239
+ goLogging: "none" | "zap" | "zerolog" | "slog" | "logrus";
1001
1240
  goAuth: "none" | "jwt" | "casbin";
1002
- javaWebFramework: "none" | "spring-boot";
1241
+ javaWebFramework: "none" | "spring-boot" | "quarkus";
1003
1242
  javaBuildTool: "none" | "maven" | "gradle";
1004
1243
  javaOrm: "none" | "spring-data-jpa";
1005
1244
  javaAuth: "none" | "spring-security";
1006
- javaLibraries: ("none" | "spring-actuator" | "spring-validation" | "flyway" | "liquibase" | "springdoc-openapi" | "lombok" | "mapstruct" | "caffeine")[];
1245
+ 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")[];
1007
1246
  javaTestingLibraries: ("none" | "junit5" | "mockito" | "testcontainers" | "assertj" | "rest-assured" | "wiremock" | "awaitility" | "archunit" | "jqwik")[];
1247
+ elixirWebFramework: "none" | "phoenix" | "phoenix-live-view";
1248
+ elixirOrm: "none" | "ecto" | "ecto-sql";
1249
+ elixirAuth: "none" | "phx-gen-auth" | "ueberauth" | "guardian";
1250
+ elixirApi: "none" | "rest" | "absinthe";
1251
+ elixirRealtime: "none" | "channels" | "presence" | "pubsub" | "live-view-streams";
1252
+ elixirJobs: "none" | "oban" | "quantum";
1253
+ elixirValidation: "none" | "ecto-changesets" | "nimble-options";
1254
+ elixirHttp: "none" | "req" | "finch";
1255
+ elixirJson: "none" | "jason";
1256
+ elixirEmail: "none" | "swoosh";
1257
+ elixirCaching: "none" | "cachex" | "nebulex";
1258
+ elixirObservability: "none" | "opentelemetry" | "telemetry" | "prom_ex";
1259
+ elixirTesting: "none" | "ex_unit" | "mox" | "bypass" | "wallaby";
1260
+ elixirQuality: "none" | "credo" | "dialyxir" | "sobelow";
1261
+ elixirDeploy: "none" | "docker" | "fly" | "gigalixir" | "mix-release";
1008
1262
  aiDocs: ("none" | "claude-md" | "agents-md" | "cursorrules")[];
1009
1263
  astroIntegration?: "none" | "svelte" | "solid" | "react" | "vue" | undefined;
1010
1264
  shadcnBase?: "radix" | "base" | undefined;
1011
- shadcnStyle?: "vega" | "nova" | "maia" | "lyra" | "mira" | undefined;
1012
- shadcnIconLibrary?: "lucide" | "tabler" | "hugeicons" | "phosphor" | "remixicon" | undefined;
1265
+ shadcnStyle?: "vega" | "nova" | "maia" | "lyra" | "mira" | "luma" | "sera" | undefined;
1266
+ shadcnIconLibrary?: "lucide" | "tabler" | "hugeicons" | "phosphor" | "remixicon" | "heroicons" | "react-icons" | undefined;
1013
1267
  shadcnColorTheme?: "neutral" | "stone" | "zinc" | "gray" | "amber" | "blue" | "cyan" | "emerald" | "fuchsia" | "green" | "indigo" | "lime" | "orange" | "pink" | "purple" | "red" | "rose" | "sky" | "teal" | "violet" | "yellow" | undefined;
1014
1268
  shadcnBaseColor?: "neutral" | "stone" | "zinc" | "gray" | undefined;
1015
1269
  shadcnFont?: "inter" | "geist" | "noto-sans" | "nunito-sans" | "figtree" | "roboto" | "raleway" | "dm-sans" | "public-sans" | "outfit" | "jetbrains-mono" | "geist-mono" | undefined;
@@ -1187,6 +1441,21 @@ type DatabaseSetup = import__better_fullstack_types.DatabaseSetup;
1187
1441
  type DirectoryConflict = import__better_fullstack_types.DirectoryConflict;
1188
1442
  type Ecosystem = import__better_fullstack_types.Ecosystem;
1189
1443
  type Effect = import__better_fullstack_types.Effect;
1444
+ type ElixirApi = import__better_fullstack_types.ElixirApi;
1445
+ type ElixirAuth = import__better_fullstack_types.ElixirAuth;
1446
+ type ElixirCaching = import__better_fullstack_types.ElixirCaching;
1447
+ type ElixirDeploy = import__better_fullstack_types.ElixirDeploy;
1448
+ type ElixirEmail = import__better_fullstack_types.ElixirEmail;
1449
+ type ElixirHttp = import__better_fullstack_types.ElixirHttp;
1450
+ type ElixirJobs = import__better_fullstack_types.ElixirJobs;
1451
+ type ElixirJson = import__better_fullstack_types.ElixirJson;
1452
+ type ElixirObservability = import__better_fullstack_types.ElixirObservability;
1453
+ type ElixirOrm = import__better_fullstack_types.ElixirOrm;
1454
+ type ElixirQuality = import__better_fullstack_types.ElixirQuality;
1455
+ type ElixirRealtime = import__better_fullstack_types.ElixirRealtime;
1456
+ type ElixirTesting = import__better_fullstack_types.ElixirTesting;
1457
+ type ElixirValidation = import__better_fullstack_types.ElixirValidation;
1458
+ type ElixirWebFramework = import__better_fullstack_types.ElixirWebFramework;
1190
1459
  type Examples = import__better_fullstack_types.Examples;
1191
1460
  type Frontend = import__better_fullstack_types.Frontend;
1192
1461
  type GoApi = import__better_fullstack_types.GoApi;
@@ -1225,4 +1494,4 @@ type ServerDeploy = import__better_fullstack_types.ServerDeploy;
1225
1494
  type Template = import__better_fullstack_types.Template;
1226
1495
  type UILibrary = import__better_fullstack_types.UILibrary;
1227
1496
  type WebDeploy = import__better_fullstack_types.WebDeploy;
1228
- 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 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, create, createBtsCli, createVirtual, docs, generateVirtualProject, history, router, sponsors };
1497
+ 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, create, createBtsCli, createVirtual, docs, generateVirtualProject, history, router, sponsors };