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/README.md +2 -2
- package/dist/addons-setup-CJwQAWFg.mjs +5 -0
- package/dist/{addons-setup-DQa6TRrx.mjs → addons-setup-CUmA_nra.mjs} +5 -5
- package/dist/{bts-config-B_rZ4_sj.mjs → bts-config-YcroedMK.mjs} +48 -0
- package/dist/cli.mjs +1 -1
- package/dist/index.d.mts +333 -64
- package/dist/index.mjs +1539 -133
- package/dist/{mcp-CuEEG8e5.mjs → mcp-DoPutOIG.mjs} +1 -1
- package/dist/mcp-entry.mjs +307 -53
- package/package.json +11 -11
- package/dist/addons-setup-CBK1Htlc.mjs +0 -5
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
|
-
|
|
693
|
-
|
|
694
|
-
|
|
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
|
-
|
|
789
|
-
|
|
790
|
-
|
|
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
|
-
|
|
898
|
-
|
|
899
|
-
|
|
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
|
-
|
|
994
|
-
|
|
995
|
-
|
|
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 };
|