create-better-fullstack 1.7.0 → 1.7.1

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.
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env node
2
+ import "./bts-config-bOXo9tbL.mjs";
3
+ import { i as setupLefthook, n as setupBiome, r as setupHusky, t as setupAddons } from "./addons-setup-CGhYT2qC.mjs";
4
+
5
+ export { setupAddons };
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { s as dependencyVersionMap, t as readBtsConfig } from "./bts-config-B_rZ4_sj.mjs";
2
+ import { s as dependencyVersionMap, t as readBtsConfig } from "./bts-config-bOXo9tbL.mjs";
3
3
  import { autocompleteMultiselect, cancel, group, isCancel, log, multiselect, select, spinner } from "@clack/prompts";
4
4
  import pc from "picocolors";
5
5
  import fs from "fs-extra";
@@ -129,6 +129,7 @@ async function writeBtsConfig(projectConfig) {
129
129
  pythonValidation: projectConfig.pythonValidation,
130
130
  pythonAi: projectConfig.pythonAi,
131
131
  pythonAuth: projectConfig.pythonAuth,
132
+ pythonApi: projectConfig.pythonApi,
132
133
  pythonTaskQueue: projectConfig.pythonTaskQueue,
133
134
  pythonGraphql: projectConfig.pythonGraphql,
134
135
  pythonQuality: projectConfig.pythonQuality,
@@ -203,7 +204,9 @@ async function writeBtsConfig(projectConfig) {
203
204
  pythonValidation: btsConfig.pythonValidation,
204
205
  pythonAi: btsConfig.pythonAi,
205
206
  pythonAuth: btsConfig.pythonAuth,
207
+ pythonApi: btsConfig.pythonApi ?? "none",
206
208
  pythonTaskQueue: btsConfig.pythonTaskQueue,
209
+ pythonGraphql: btsConfig.pythonGraphql,
207
210
  pythonQuality: btsConfig.pythonQuality,
208
211
  goWebFramework: btsConfig.goWebFramework,
209
212
  goOrm: btsConfig.goOrm,
package/dist/cli.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  //#region src/cli.ts
3
- if (process.argv[2] === "mcp" && process.argv.length === 3) import("./mcp-CuEEG8e5.mjs").then((m) => m.startMcpServer());
3
+ if (process.argv[2] === "mcp" && process.argv.length === 3) import("./mcp-BxEilSGM.mjs").then((m) => m.startMcpServer());
4
4
  else import("./index.mjs").then((m) => m.createBtsCli().run());
5
5
 
6
6
  //#endregion
package/dist/index.d.mts CHANGED
@@ -189,6 +189,9 @@ declare const router: {
189
189
  none: "none";
190
190
  growthbook: "growthbook";
191
191
  posthog: "posthog";
192
+ launchdarkly: "launchdarkly";
193
+ flagsmith: "flagsmith";
194
+ unleash: "unleash";
192
195
  }>>;
193
196
  analytics: z.ZodOptional<z.ZodEnum<{
194
197
  none: "none";
@@ -352,6 +355,8 @@ declare const router: {
352
355
  "chakra-ui": "chakra-ui";
353
356
  nextui: "nextui";
354
357
  mantine: "mantine";
358
+ mui: "mui";
359
+ antd: "antd";
355
360
  "base-ui": "base-ui";
356
361
  "ark-ui": "ark-ui";
357
362
  "react-aria": "react-aria";
@@ -366,6 +371,8 @@ declare const router: {
366
371
  maia: "maia";
367
372
  lyra: "lyra";
368
373
  mira: "mira";
374
+ luma: "luma";
375
+ sera: "sera";
369
376
  }>>;
370
377
  shadcnIconLibrary: z.ZodOptional<z.ZodEnum<{
371
378
  lucide: "lucide";
@@ -373,6 +380,8 @@ declare const router: {
373
380
  hugeicons: "hugeicons";
374
381
  phosphor: "phosphor";
375
382
  remixicon: "remixicon";
383
+ heroicons: "heroicons";
384
+ "react-icons": "react-icons";
376
385
  }>>;
377
386
  shadcnColorTheme: z.ZodOptional<z.ZodEnum<{
378
387
  neutral: "neutral";
@@ -481,11 +490,22 @@ declare const router: {
481
490
  rustLibraries: z.ZodOptional<z.ZodArray<z.ZodEnum<{
482
491
  none: "none";
483
492
  serde: "serde";
493
+ uuid: "uuid";
494
+ chrono: "chrono";
495
+ reqwest: "reqwest";
496
+ config: "config";
497
+ dashmap: "dashmap";
498
+ "parking-lot": "parking-lot";
499
+ secrecy: "secrecy";
500
+ "tokio-util": "tokio-util";
501
+ utoipa: "utoipa";
484
502
  validator: "validator";
485
503
  jsonwebtoken: "jsonwebtoken";
486
504
  argon2: "argon2";
487
505
  "tokio-test": "tokio-test";
488
506
  mockall: "mockall";
507
+ proptest: "proptest";
508
+ insta: "insta";
489
509
  }>>>;
490
510
  rustLogging: z.ZodOptional<z.ZodEnum<{
491
511
  none: "none";
@@ -531,23 +551,35 @@ declare const router: {
531
551
  "openai-sdk": "openai-sdk";
532
552
  "anthropic-sdk": "anthropic-sdk";
533
553
  crewai: "crewai";
554
+ haystack: "haystack";
534
555
  }>>>;
535
556
  pythonAuth: z.ZodOptional<z.ZodEnum<{
536
557
  none: "none";
537
558
  authlib: "authlib";
538
559
  jwt: "jwt";
539
560
  }>>;
561
+ pythonApi: z.ZodOptional<z.ZodEnum<{
562
+ none: "none";
563
+ "django-rest-framework": "django-rest-framework";
564
+ "django-ninja": "django-ninja";
565
+ }>>;
540
566
  pythonTaskQueue: z.ZodOptional<z.ZodEnum<{
541
567
  none: "none";
542
568
  celery: "celery";
569
+ rq: "rq";
570
+ dramatiq: "dramatiq";
571
+ huey: "huey";
543
572
  }>>;
544
573
  pythonGraphql: z.ZodOptional<z.ZodEnum<{
545
574
  none: "none";
546
575
  strawberry: "strawberry";
576
+ ariadne: "ariadne";
547
577
  }>>;
548
578
  pythonQuality: z.ZodOptional<z.ZodEnum<{
549
579
  none: "none";
550
580
  ruff: "ruff";
581
+ mypy: "mypy";
582
+ pyright: "pyright";
551
583
  }>>;
552
584
  goWebFramework: z.ZodOptional<z.ZodEnum<{
553
585
  none: "none";
@@ -570,12 +602,14 @@ declare const router: {
570
602
  none: "none";
571
603
  cobra: "cobra";
572
604
  bubbletea: "bubbletea";
605
+ "urfave-cli": "urfave-cli";
573
606
  }>>;
574
607
  goLogging: z.ZodOptional<z.ZodEnum<{
575
608
  none: "none";
576
609
  zap: "zap";
577
610
  zerolog: "zerolog";
578
611
  slog: "slog";
612
+ logrus: "logrus";
579
613
  }>>;
580
614
  goAuth: z.ZodOptional<z.ZodEnum<{
581
615
  none: "none";
@@ -585,6 +619,7 @@ declare const router: {
585
619
  javaWebFramework: z.ZodOptional<z.ZodEnum<{
586
620
  none: "none";
587
621
  "spring-boot": "spring-boot";
622
+ quarkus: "quarkus";
588
623
  }>>;
589
624
  javaBuildTool: z.ZodOptional<z.ZodEnum<{
590
625
  none: "none";
@@ -609,6 +644,14 @@ declare const router: {
609
644
  lombok: "lombok";
610
645
  mapstruct: "mapstruct";
611
646
  caffeine: "caffeine";
647
+ resilience4j: "resilience4j";
648
+ "spring-webflux": "spring-webflux";
649
+ "spring-batch": "spring-batch";
650
+ "spring-kafka": "spring-kafka";
651
+ "spring-mail": "spring-mail";
652
+ "spring-devtools": "spring-devtools";
653
+ "micrometer-prometheus": "micrometer-prometheus";
654
+ thymeleaf: "thymeleaf";
612
655
  }>>>;
613
656
  javaTestingLibraries: z.ZodOptional<z.ZodArray<z.ZodEnum<{
614
657
  none: "none";
@@ -659,7 +702,7 @@ declare const router: {
659
702
  testing: "none" | "vitest" | "playwright" | "vitest-playwright" | "jest" | "cypress";
660
703
  email: "none" | "react-email" | "resend" | "nodemailer" | "postmark" | "sendgrid" | "aws-ses" | "mailgun" | "plunk";
661
704
  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";
705
+ uiLibrary: "none" | "shadcn-ui" | "daisyui" | "radix-ui" | "headless-ui" | "park-ui" | "chakra-ui" | "nextui" | "mantine" | "mui" | "antd" | "base-ui" | "ark-ui" | "react-aria";
663
706
  validation: "none" | "zod" | "valibot" | "arktype" | "typebox" | "typia" | "runtypes" | "effect-schema";
664
707
  realtime: "none" | "socket-io" | "partykit" | "ably" | "pusher" | "liveblocks" | "yjs";
665
708
  jobQueue: "none" | "bullmq" | "trigger-dev" | "inngest" | "temporal";
@@ -667,7 +710,7 @@ declare const router: {
667
710
  fileUpload: "none" | "uploadthing" | "filepond" | "uppy";
668
711
  logging: "none" | "pino" | "winston";
669
712
  observability: "none" | "opentelemetry" | "sentry" | "grafana";
670
- featureFlags: "none" | "growthbook" | "posthog";
713
+ featureFlags: "none" | "growthbook" | "posthog" | "launchdarkly" | "flagsmith" | "unleash";
671
714
  analytics: "none" | "plausible" | "umami";
672
715
  cms: "none" | "payload" | "sanity" | "strapi" | "tinacms";
673
716
  caching: "none" | "upstash-redis";
@@ -679,7 +722,7 @@ declare const router: {
679
722
  rustOrm: "none" | "sea-orm" | "sqlx" | "diesel";
680
723
  rustApi: "none" | "tonic" | "async-graphql";
681
724
  rustCli: "none" | "clap" | "ratatui";
682
- rustLibraries: ("none" | "serde" | "validator" | "jsonwebtoken" | "argon2" | "tokio-test" | "mockall")[];
725
+ rustLibraries: ("none" | "serde" | "uuid" | "chrono" | "reqwest" | "config" | "dashmap" | "parking-lot" | "secrecy" | "tokio-util" | "utoipa" | "validator" | "jsonwebtoken" | "argon2" | "tokio-test" | "mockall" | "proptest" | "insta")[];
683
726
  rustLogging: "none" | "tracing" | "env-logger";
684
727
  rustErrorHandling: "none" | "anyhow-thiserror" | "eyre";
685
728
  rustCaching: "none" | "redis" | "moka";
@@ -687,28 +730,29 @@ declare const router: {
687
730
  pythonWebFramework: "none" | "fastapi" | "django" | "flask" | "litestar";
688
731
  pythonOrm: "none" | "sqlalchemy" | "sqlmodel" | "tortoise-orm";
689
732
  pythonValidation: "none" | "pydantic";
690
- pythonAi: ("none" | "langgraph" | "langchain" | "llamaindex" | "openai-sdk" | "anthropic-sdk" | "crewai")[];
733
+ pythonAi: ("none" | "langgraph" | "langchain" | "llamaindex" | "openai-sdk" | "anthropic-sdk" | "crewai" | "haystack")[];
691
734
  pythonAuth: "none" | "authlib" | "jwt";
692
- pythonTaskQueue: "none" | "celery";
693
- pythonGraphql: "none" | "strawberry";
694
- pythonQuality: "none" | "ruff";
735
+ pythonApi: "none" | "django-rest-framework" | "django-ninja";
736
+ pythonTaskQueue: "none" | "celery" | "rq" | "dramatiq" | "huey";
737
+ pythonGraphql: "none" | "strawberry" | "ariadne";
738
+ pythonQuality: "none" | "ruff" | "mypy" | "pyright";
695
739
  goWebFramework: "none" | "gin" | "echo" | "fiber" | "chi";
696
740
  goOrm: "none" | "gorm" | "sqlc" | "ent";
697
741
  goApi: "none" | "grpc-go";
698
- goCli: "none" | "cobra" | "bubbletea";
699
- goLogging: "none" | "zap" | "zerolog" | "slog";
742
+ goCli: "none" | "cobra" | "bubbletea" | "urfave-cli";
743
+ goLogging: "none" | "zap" | "zerolog" | "slog" | "logrus";
700
744
  goAuth: "none" | "jwt" | "casbin";
701
- javaWebFramework: "none" | "spring-boot";
745
+ javaWebFramework: "none" | "spring-boot" | "quarkus";
702
746
  javaBuildTool: "none" | "maven" | "gradle";
703
747
  javaOrm: "none" | "spring-data-jpa";
704
748
  javaAuth: "none" | "spring-security";
705
- javaLibraries: ("none" | "spring-actuator" | "spring-validation" | "flyway" | "liquibase" | "springdoc-openapi" | "lombok" | "mapstruct" | "caffeine")[];
749
+ 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
750
  javaTestingLibraries: ("none" | "junit5" | "mockito" | "testcontainers" | "assertj" | "rest-assured" | "wiremock" | "awaitility" | "archunit" | "jqwik")[];
707
751
  aiDocs: ("none" | "claude-md" | "agents-md" | "cursorrules")[];
708
752
  astroIntegration?: "none" | "svelte" | "solid" | "react" | "vue" | undefined;
709
753
  shadcnBase?: "radix" | "base" | undefined;
710
- shadcnStyle?: "vega" | "nova" | "maia" | "lyra" | "mira" | undefined;
711
- shadcnIconLibrary?: "lucide" | "tabler" | "hugeicons" | "phosphor" | "remixicon" | undefined;
754
+ shadcnStyle?: "vega" | "nova" | "maia" | "lyra" | "mira" | "luma" | "sera" | undefined;
755
+ shadcnIconLibrary?: "lucide" | "tabler" | "hugeicons" | "phosphor" | "remixicon" | "heroicons" | "react-icons" | undefined;
712
756
  shadcnColorTheme?: "neutral" | "stone" | "zinc" | "gray" | "amber" | "blue" | "cyan" | "emerald" | "fuchsia" | "green" | "indigo" | "lime" | "orange" | "pink" | "purple" | "red" | "rose" | "sky" | "teal" | "violet" | "yellow" | undefined;
713
757
  shadcnBaseColor?: "neutral" | "stone" | "zinc" | "gray" | undefined;
714
758
  shadcnFont?: "inter" | "geist" | "noto-sans" | "nunito-sans" | "figtree" | "roboto" | "raleway" | "dm-sans" | "public-sans" | "outfit" | "jetbrains-mono" | "geist-mono" | undefined;
@@ -755,7 +799,7 @@ declare const router: {
755
799
  testing: "none" | "vitest" | "playwright" | "vitest-playwright" | "jest" | "cypress";
756
800
  email: "none" | "react-email" | "resend" | "nodemailer" | "postmark" | "sendgrid" | "aws-ses" | "mailgun" | "plunk";
757
801
  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";
802
+ uiLibrary: "none" | "shadcn-ui" | "daisyui" | "radix-ui" | "headless-ui" | "park-ui" | "chakra-ui" | "nextui" | "mantine" | "mui" | "antd" | "base-ui" | "ark-ui" | "react-aria";
759
803
  validation: "none" | "zod" | "valibot" | "arktype" | "typebox" | "typia" | "runtypes" | "effect-schema";
760
804
  realtime: "none" | "socket-io" | "partykit" | "ably" | "pusher" | "liveblocks" | "yjs";
761
805
  jobQueue: "none" | "bullmq" | "trigger-dev" | "inngest" | "temporal";
@@ -763,7 +807,7 @@ declare const router: {
763
807
  fileUpload: "none" | "uploadthing" | "filepond" | "uppy";
764
808
  logging: "none" | "pino" | "winston";
765
809
  observability: "none" | "opentelemetry" | "sentry" | "grafana";
766
- featureFlags: "none" | "growthbook" | "posthog";
810
+ featureFlags: "none" | "growthbook" | "posthog" | "launchdarkly" | "flagsmith" | "unleash";
767
811
  analytics: "none" | "plausible" | "umami";
768
812
  cms: "none" | "payload" | "sanity" | "strapi" | "tinacms";
769
813
  caching: "none" | "upstash-redis";
@@ -775,7 +819,7 @@ declare const router: {
775
819
  rustOrm: "none" | "sea-orm" | "sqlx" | "diesel";
776
820
  rustApi: "none" | "tonic" | "async-graphql";
777
821
  rustCli: "none" | "clap" | "ratatui";
778
- rustLibraries: ("none" | "serde" | "validator" | "jsonwebtoken" | "argon2" | "tokio-test" | "mockall")[];
822
+ rustLibraries: ("none" | "serde" | "uuid" | "chrono" | "reqwest" | "config" | "dashmap" | "parking-lot" | "secrecy" | "tokio-util" | "utoipa" | "validator" | "jsonwebtoken" | "argon2" | "tokio-test" | "mockall" | "proptest" | "insta")[];
779
823
  rustLogging: "none" | "tracing" | "env-logger";
780
824
  rustErrorHandling: "none" | "anyhow-thiserror" | "eyre";
781
825
  rustCaching: "none" | "redis" | "moka";
@@ -783,28 +827,29 @@ declare const router: {
783
827
  pythonWebFramework: "none" | "fastapi" | "django" | "flask" | "litestar";
784
828
  pythonOrm: "none" | "sqlalchemy" | "sqlmodel" | "tortoise-orm";
785
829
  pythonValidation: "none" | "pydantic";
786
- pythonAi: ("none" | "langgraph" | "langchain" | "llamaindex" | "openai-sdk" | "anthropic-sdk" | "crewai")[];
830
+ pythonAi: ("none" | "langgraph" | "langchain" | "llamaindex" | "openai-sdk" | "anthropic-sdk" | "crewai" | "haystack")[];
787
831
  pythonAuth: "none" | "authlib" | "jwt";
788
- pythonTaskQueue: "none" | "celery";
789
- pythonGraphql: "none" | "strawberry";
790
- pythonQuality: "none" | "ruff";
832
+ pythonApi: "none" | "django-rest-framework" | "django-ninja";
833
+ pythonTaskQueue: "none" | "celery" | "rq" | "dramatiq" | "huey";
834
+ pythonGraphql: "none" | "strawberry" | "ariadne";
835
+ pythonQuality: "none" | "ruff" | "mypy" | "pyright";
791
836
  goWebFramework: "none" | "gin" | "echo" | "fiber" | "chi";
792
837
  goOrm: "none" | "gorm" | "sqlc" | "ent";
793
838
  goApi: "none" | "grpc-go";
794
- goCli: "none" | "cobra" | "bubbletea";
795
- goLogging: "none" | "zap" | "zerolog" | "slog";
839
+ goCli: "none" | "cobra" | "bubbletea" | "urfave-cli";
840
+ goLogging: "none" | "zap" | "zerolog" | "slog" | "logrus";
796
841
  goAuth: "none" | "jwt" | "casbin";
797
- javaWebFramework: "none" | "spring-boot";
842
+ javaWebFramework: "none" | "spring-boot" | "quarkus";
798
843
  javaBuildTool: "none" | "maven" | "gradle";
799
844
  javaOrm: "none" | "spring-data-jpa";
800
845
  javaAuth: "none" | "spring-security";
801
- javaLibraries: ("none" | "spring-actuator" | "spring-validation" | "flyway" | "liquibase" | "springdoc-openapi" | "lombok" | "mapstruct" | "caffeine")[];
846
+ 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
847
  javaTestingLibraries: ("none" | "junit5" | "mockito" | "testcontainers" | "assertj" | "rest-assured" | "wiremock" | "awaitility" | "archunit" | "jqwik")[];
803
848
  aiDocs: ("none" | "claude-md" | "agents-md" | "cursorrules")[];
804
849
  astroIntegration?: "none" | "svelte" | "solid" | "react" | "vue" | undefined;
805
850
  shadcnBase?: "radix" | "base" | undefined;
806
- shadcnStyle?: "vega" | "nova" | "maia" | "lyra" | "mira" | undefined;
807
- shadcnIconLibrary?: "lucide" | "tabler" | "hugeicons" | "phosphor" | "remixicon" | undefined;
851
+ shadcnStyle?: "vega" | "nova" | "maia" | "lyra" | "mira" | "luma" | "sera" | undefined;
852
+ shadcnIconLibrary?: "lucide" | "tabler" | "hugeicons" | "phosphor" | "remixicon" | "heroicons" | "react-icons" | undefined;
808
853
  shadcnColorTheme?: "neutral" | "stone" | "zinc" | "gray" | "amber" | "blue" | "cyan" | "emerald" | "fuchsia" | "green" | "indigo" | "lime" | "orange" | "pink" | "purple" | "red" | "rose" | "sky" | "teal" | "violet" | "yellow" | undefined;
809
854
  shadcnBaseColor?: "neutral" | "stone" | "zinc" | "gray" | undefined;
810
855
  shadcnFont?: "inter" | "geist" | "noto-sans" | "nunito-sans" | "figtree" | "roboto" | "raleway" | "dm-sans" | "public-sans" | "outfit" | "jetbrains-mono" | "geist-mono" | undefined;
@@ -864,7 +909,7 @@ declare const router: {
864
909
  testing: "none" | "vitest" | "playwright" | "vitest-playwright" | "jest" | "cypress";
865
910
  email: "none" | "react-email" | "resend" | "nodemailer" | "postmark" | "sendgrid" | "aws-ses" | "mailgun" | "plunk";
866
911
  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";
912
+ uiLibrary: "none" | "shadcn-ui" | "daisyui" | "radix-ui" | "headless-ui" | "park-ui" | "chakra-ui" | "nextui" | "mantine" | "mui" | "antd" | "base-ui" | "ark-ui" | "react-aria";
868
913
  validation: "none" | "zod" | "valibot" | "arktype" | "typebox" | "typia" | "runtypes" | "effect-schema";
869
914
  realtime: "none" | "socket-io" | "partykit" | "ably" | "pusher" | "liveblocks" | "yjs";
870
915
  jobQueue: "none" | "bullmq" | "trigger-dev" | "inngest" | "temporal";
@@ -872,7 +917,7 @@ declare const router: {
872
917
  fileUpload: "none" | "uploadthing" | "filepond" | "uppy";
873
918
  logging: "none" | "pino" | "winston";
874
919
  observability: "none" | "opentelemetry" | "sentry" | "grafana";
875
- featureFlags: "none" | "growthbook" | "posthog";
920
+ featureFlags: "none" | "growthbook" | "posthog" | "launchdarkly" | "flagsmith" | "unleash";
876
921
  analytics: "none" | "plausible" | "umami";
877
922
  cms: "none" | "payload" | "sanity" | "strapi" | "tinacms";
878
923
  caching: "none" | "upstash-redis";
@@ -884,7 +929,7 @@ declare const router: {
884
929
  rustOrm: "none" | "sea-orm" | "sqlx" | "diesel";
885
930
  rustApi: "none" | "tonic" | "async-graphql";
886
931
  rustCli: "none" | "clap" | "ratatui";
887
- rustLibraries: ("none" | "serde" | "validator" | "jsonwebtoken" | "argon2" | "tokio-test" | "mockall")[];
932
+ rustLibraries: ("none" | "serde" | "uuid" | "chrono" | "reqwest" | "config" | "dashmap" | "parking-lot" | "secrecy" | "tokio-util" | "utoipa" | "validator" | "jsonwebtoken" | "argon2" | "tokio-test" | "mockall" | "proptest" | "insta")[];
888
933
  rustLogging: "none" | "tracing" | "env-logger";
889
934
  rustErrorHandling: "none" | "anyhow-thiserror" | "eyre";
890
935
  rustCaching: "none" | "redis" | "moka";
@@ -892,28 +937,29 @@ declare const router: {
892
937
  pythonWebFramework: "none" | "fastapi" | "django" | "flask" | "litestar";
893
938
  pythonOrm: "none" | "sqlalchemy" | "sqlmodel" | "tortoise-orm";
894
939
  pythonValidation: "none" | "pydantic";
895
- pythonAi: ("none" | "langgraph" | "langchain" | "llamaindex" | "openai-sdk" | "anthropic-sdk" | "crewai")[];
940
+ pythonAi: ("none" | "langgraph" | "langchain" | "llamaindex" | "openai-sdk" | "anthropic-sdk" | "crewai" | "haystack")[];
896
941
  pythonAuth: "none" | "authlib" | "jwt";
897
- pythonTaskQueue: "none" | "celery";
898
- pythonGraphql: "none" | "strawberry";
899
- pythonQuality: "none" | "ruff";
942
+ pythonApi: "none" | "django-rest-framework" | "django-ninja";
943
+ pythonTaskQueue: "none" | "celery" | "rq" | "dramatiq" | "huey";
944
+ pythonGraphql: "none" | "strawberry" | "ariadne";
945
+ pythonQuality: "none" | "ruff" | "mypy" | "pyright";
900
946
  goWebFramework: "none" | "gin" | "echo" | "fiber" | "chi";
901
947
  goOrm: "none" | "gorm" | "sqlc" | "ent";
902
948
  goApi: "none" | "grpc-go";
903
- goCli: "none" | "cobra" | "bubbletea";
904
- goLogging: "none" | "zap" | "zerolog" | "slog";
949
+ goCli: "none" | "cobra" | "bubbletea" | "urfave-cli";
950
+ goLogging: "none" | "zap" | "zerolog" | "slog" | "logrus";
905
951
  goAuth: "none" | "jwt" | "casbin";
906
- javaWebFramework: "none" | "spring-boot";
952
+ javaWebFramework: "none" | "spring-boot" | "quarkus";
907
953
  javaBuildTool: "none" | "maven" | "gradle";
908
954
  javaOrm: "none" | "spring-data-jpa";
909
955
  javaAuth: "none" | "spring-security";
910
- javaLibraries: ("none" | "spring-actuator" | "spring-validation" | "flyway" | "liquibase" | "springdoc-openapi" | "lombok" | "mapstruct" | "caffeine")[];
956
+ 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
957
  javaTestingLibraries: ("none" | "junit5" | "mockito" | "testcontainers" | "assertj" | "rest-assured" | "wiremock" | "awaitility" | "archunit" | "jqwik")[];
912
958
  aiDocs: ("none" | "claude-md" | "agents-md" | "cursorrules")[];
913
959
  astroIntegration?: "none" | "svelte" | "solid" | "react" | "vue" | undefined;
914
960
  shadcnBase?: "radix" | "base" | undefined;
915
- shadcnStyle?: "vega" | "nova" | "maia" | "lyra" | "mira" | undefined;
916
- shadcnIconLibrary?: "lucide" | "tabler" | "hugeicons" | "phosphor" | "remixicon" | undefined;
961
+ shadcnStyle?: "vega" | "nova" | "maia" | "lyra" | "mira" | "luma" | "sera" | undefined;
962
+ shadcnIconLibrary?: "lucide" | "tabler" | "hugeicons" | "phosphor" | "remixicon" | "heroicons" | "react-icons" | undefined;
917
963
  shadcnColorTheme?: "neutral" | "stone" | "zinc" | "gray" | "amber" | "blue" | "cyan" | "emerald" | "fuchsia" | "green" | "indigo" | "lime" | "orange" | "pink" | "purple" | "red" | "rose" | "sky" | "teal" | "violet" | "yellow" | undefined;
918
964
  shadcnBaseColor?: "neutral" | "stone" | "zinc" | "gray" | undefined;
919
965
  shadcnFont?: "inter" | "geist" | "noto-sans" | "nunito-sans" | "figtree" | "roboto" | "raleway" | "dm-sans" | "public-sans" | "outfit" | "jetbrains-mono" | "geist-mono" | undefined;
@@ -960,7 +1006,7 @@ declare const router: {
960
1006
  testing: "none" | "vitest" | "playwright" | "vitest-playwright" | "jest" | "cypress";
961
1007
  email: "none" | "react-email" | "resend" | "nodemailer" | "postmark" | "sendgrid" | "aws-ses" | "mailgun" | "plunk";
962
1008
  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";
1009
+ uiLibrary: "none" | "shadcn-ui" | "daisyui" | "radix-ui" | "headless-ui" | "park-ui" | "chakra-ui" | "nextui" | "mantine" | "mui" | "antd" | "base-ui" | "ark-ui" | "react-aria";
964
1010
  validation: "none" | "zod" | "valibot" | "arktype" | "typebox" | "typia" | "runtypes" | "effect-schema";
965
1011
  realtime: "none" | "socket-io" | "partykit" | "ably" | "pusher" | "liveblocks" | "yjs";
966
1012
  jobQueue: "none" | "bullmq" | "trigger-dev" | "inngest" | "temporal";
@@ -968,7 +1014,7 @@ declare const router: {
968
1014
  fileUpload: "none" | "uploadthing" | "filepond" | "uppy";
969
1015
  logging: "none" | "pino" | "winston";
970
1016
  observability: "none" | "opentelemetry" | "sentry" | "grafana";
971
- featureFlags: "none" | "growthbook" | "posthog";
1017
+ featureFlags: "none" | "growthbook" | "posthog" | "launchdarkly" | "flagsmith" | "unleash";
972
1018
  analytics: "none" | "plausible" | "umami";
973
1019
  cms: "none" | "payload" | "sanity" | "strapi" | "tinacms";
974
1020
  caching: "none" | "upstash-redis";
@@ -980,7 +1026,7 @@ declare const router: {
980
1026
  rustOrm: "none" | "sea-orm" | "sqlx" | "diesel";
981
1027
  rustApi: "none" | "tonic" | "async-graphql";
982
1028
  rustCli: "none" | "clap" | "ratatui";
983
- rustLibraries: ("none" | "serde" | "validator" | "jsonwebtoken" | "argon2" | "tokio-test" | "mockall")[];
1029
+ rustLibraries: ("none" | "serde" | "uuid" | "chrono" | "reqwest" | "config" | "dashmap" | "parking-lot" | "secrecy" | "tokio-util" | "utoipa" | "validator" | "jsonwebtoken" | "argon2" | "tokio-test" | "mockall" | "proptest" | "insta")[];
984
1030
  rustLogging: "none" | "tracing" | "env-logger";
985
1031
  rustErrorHandling: "none" | "anyhow-thiserror" | "eyre";
986
1032
  rustCaching: "none" | "redis" | "moka";
@@ -988,28 +1034,29 @@ declare const router: {
988
1034
  pythonWebFramework: "none" | "fastapi" | "django" | "flask" | "litestar";
989
1035
  pythonOrm: "none" | "sqlalchemy" | "sqlmodel" | "tortoise-orm";
990
1036
  pythonValidation: "none" | "pydantic";
991
- pythonAi: ("none" | "langgraph" | "langchain" | "llamaindex" | "openai-sdk" | "anthropic-sdk" | "crewai")[];
1037
+ pythonAi: ("none" | "langgraph" | "langchain" | "llamaindex" | "openai-sdk" | "anthropic-sdk" | "crewai" | "haystack")[];
992
1038
  pythonAuth: "none" | "authlib" | "jwt";
993
- pythonTaskQueue: "none" | "celery";
994
- pythonGraphql: "none" | "strawberry";
995
- pythonQuality: "none" | "ruff";
1039
+ pythonApi: "none" | "django-rest-framework" | "django-ninja";
1040
+ pythonTaskQueue: "none" | "celery" | "rq" | "dramatiq" | "huey";
1041
+ pythonGraphql: "none" | "strawberry" | "ariadne";
1042
+ pythonQuality: "none" | "ruff" | "mypy" | "pyright";
996
1043
  goWebFramework: "none" | "gin" | "echo" | "fiber" | "chi";
997
1044
  goOrm: "none" | "gorm" | "sqlc" | "ent";
998
1045
  goApi: "none" | "grpc-go";
999
- goCli: "none" | "cobra" | "bubbletea";
1000
- goLogging: "none" | "zap" | "zerolog" | "slog";
1046
+ goCli: "none" | "cobra" | "bubbletea" | "urfave-cli";
1047
+ goLogging: "none" | "zap" | "zerolog" | "slog" | "logrus";
1001
1048
  goAuth: "none" | "jwt" | "casbin";
1002
- javaWebFramework: "none" | "spring-boot";
1049
+ javaWebFramework: "none" | "spring-boot" | "quarkus";
1003
1050
  javaBuildTool: "none" | "maven" | "gradle";
1004
1051
  javaOrm: "none" | "spring-data-jpa";
1005
1052
  javaAuth: "none" | "spring-security";
1006
- javaLibraries: ("none" | "spring-actuator" | "spring-validation" | "flyway" | "liquibase" | "springdoc-openapi" | "lombok" | "mapstruct" | "caffeine")[];
1053
+ 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
1054
  javaTestingLibraries: ("none" | "junit5" | "mockito" | "testcontainers" | "assertj" | "rest-assured" | "wiremock" | "awaitility" | "archunit" | "jqwik")[];
1008
1055
  aiDocs: ("none" | "claude-md" | "agents-md" | "cursorrules")[];
1009
1056
  astroIntegration?: "none" | "svelte" | "solid" | "react" | "vue" | undefined;
1010
1057
  shadcnBase?: "radix" | "base" | undefined;
1011
- shadcnStyle?: "vega" | "nova" | "maia" | "lyra" | "mira" | undefined;
1012
- shadcnIconLibrary?: "lucide" | "tabler" | "hugeicons" | "phosphor" | "remixicon" | undefined;
1058
+ shadcnStyle?: "vega" | "nova" | "maia" | "lyra" | "mira" | "luma" | "sera" | undefined;
1059
+ shadcnIconLibrary?: "lucide" | "tabler" | "hugeicons" | "phosphor" | "remixicon" | "heroicons" | "react-icons" | undefined;
1013
1060
  shadcnColorTheme?: "neutral" | "stone" | "zinc" | "gray" | "amber" | "blue" | "cyan" | "emerald" | "fuchsia" | "green" | "indigo" | "lime" | "orange" | "pink" | "purple" | "red" | "rose" | "sky" | "teal" | "violet" | "yellow" | undefined;
1014
1061
  shadcnBaseColor?: "neutral" | "stone" | "zinc" | "gray" | undefined;
1015
1062
  shadcnFont?: "inter" | "geist" | "noto-sans" | "nunito-sans" | "figtree" | "roboto" | "raleway" | "dm-sans" | "public-sans" | "outfit" | "jetbrains-mono" | "geist-mono" | undefined;