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.
- package/dist/addons-setup-BdKQJ1h6.mjs +5 -0
- package/dist/{addons-setup-DQa6TRrx.mjs → addons-setup-CGhYT2qC.mjs} +1 -1
- package/dist/{bts-config-B_rZ4_sj.mjs → bts-config-bOXo9tbL.mjs} +3 -0
- package/dist/cli.mjs +1 -1
- package/dist/index.d.mts +99 -52
- package/dist/index.mjs +488 -104
- package/dist/{mcp-CuEEG8e5.mjs → mcp-BxEilSGM.mjs} +1 -1
- package/dist/mcp-entry.mjs +116 -15
- package/package.json +8 -8
- package/dist/addons-setup-CBK1Htlc.mjs +0 -5
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { s as dependencyVersionMap, t as readBtsConfig } from "./bts-config-
|
|
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-
|
|
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
|
-
|
|
693
|
-
|
|
694
|
-
|
|
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
|
-
|
|
789
|
-
|
|
790
|
-
|
|
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
|
-
|
|
898
|
-
|
|
899
|
-
|
|
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
|
-
|
|
994
|
-
|
|
995
|
-
|
|
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;
|