create-better-fullstack 2.0.3 → 2.1.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/{add-handler-BQN6pwGJ.mjs → add-handler-9F-AsGM-.mjs} +11 -9
- package/dist/addons-setup-C8eaCaH5.mjs +5 -0
- package/dist/{addons-setup-HSghQS7c.mjs → addons-setup-C_xrNtkL.mjs} +3 -83
- package/dist/cli.mjs +2 -2
- package/dist/compatibility-rules-D7zYNVjC.mjs +372 -0
- package/dist/config-validation-C4glouQh.mjs +1512 -0
- package/dist/doctor-BFSSbS-U.mjs +280 -0
- package/dist/{bts-config-Bg1Qea9Y.mjs → errors-D9yiiGVq.mjs} +215 -72
- package/dist/generated-checks-DUvVXWId.mjs +91 -0
- package/dist/index.d.mts +85 -29
- package/dist/index.mjs +11 -6
- package/dist/{install-dependencies-D0Z1dZEx.mjs → install-dependencies-DDGF-zDG.mjs} +102 -397
- package/dist/mcp-BXLhb7wW.mjs +7 -0
- package/dist/mcp-entry.mjs +1802 -296
- package/dist/render-title-zvyKC1ej.mjs +34 -0
- package/dist/run-BmRKR2wG.mjs +11 -0
- package/dist/{run-BhcXBjxh.mjs → run-DRzP53v3.mjs} +534 -1717
- package/package.json +5 -4
- package/dist/addons-setup-CV5uZyhH.mjs +0 -5
- package/dist/mcp-58r70ZcL.mjs +0 -5
- package/dist/run-DCxVLUMS.mjs +0 -7
- /package/dist/{update-deps-CLebIM70.mjs → update-deps-D5OG0KmJ.mjs} +0 -0
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { O as getPrimaryGraphPart } from "./errors-D9yiiGVq.mjs";
|
|
3
|
+
import { log, spinner } from "@clack/prompts";
|
|
4
|
+
import pc from "picocolors";
|
|
5
|
+
import path from "node:path";
|
|
6
|
+
import { $ } from "execa";
|
|
7
|
+
|
|
8
|
+
//#region src/utils/command-exists.ts
|
|
9
|
+
async function commandExists(command) {
|
|
10
|
+
try {
|
|
11
|
+
if (process.platform === "win32") return (await $({ reject: false })`where ${command}`).exitCode === 0;
|
|
12
|
+
return (await $({ reject: false })`which ${command}`).exitCode === 0;
|
|
13
|
+
} catch {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region src/utils/generated-checks.ts
|
|
20
|
+
function getGraphTarget(config) {
|
|
21
|
+
const backend = getPrimaryGraphPart(config, "backend");
|
|
22
|
+
if (!backend || backend.ecosystem === "typescript" || backend.ecosystem === "react-native" || backend.ecosystem === "universal") return null;
|
|
23
|
+
return {
|
|
24
|
+
ecosystem: backend.ecosystem,
|
|
25
|
+
projectDir: path.join(config.projectDir, backend.targetPath ?? "apps/server")
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function getSingleEcosystemTarget(config) {
|
|
29
|
+
if (config.ecosystem === "typescript" || config.ecosystem === "react-native" || config.ecosystem === "java") return null;
|
|
30
|
+
return {
|
|
31
|
+
ecosystem: config.ecosystem,
|
|
32
|
+
projectDir: config.projectDir
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
async function runCommand(cwd, command, args) {
|
|
36
|
+
await $({
|
|
37
|
+
cwd,
|
|
38
|
+
stdout: "inherit",
|
|
39
|
+
stderr: "inherit"
|
|
40
|
+
})`${command} ${args}`;
|
|
41
|
+
}
|
|
42
|
+
async function verifyTarget(target) {
|
|
43
|
+
const s = spinner();
|
|
44
|
+
const cwd = target.projectDir;
|
|
45
|
+
switch (target.ecosystem) {
|
|
46
|
+
case "go":
|
|
47
|
+
s.start("Verifying generated Go server...");
|
|
48
|
+
await runCommand(cwd, "go", ["mod", "tidy"]);
|
|
49
|
+
await runCommand(cwd, "go", ["test", "./..."]);
|
|
50
|
+
s.stop("Generated Go server checks passed");
|
|
51
|
+
return;
|
|
52
|
+
case "rust":
|
|
53
|
+
s.start("Verifying generated Rust server...");
|
|
54
|
+
await runCommand(cwd, "cargo", ["check"]);
|
|
55
|
+
s.stop("Generated Rust server checks passed");
|
|
56
|
+
return;
|
|
57
|
+
case "python":
|
|
58
|
+
s.start("Verifying generated Python server...");
|
|
59
|
+
await runCommand(cwd, "uv", ["sync"]);
|
|
60
|
+
await runCommand(cwd, "uv", [
|
|
61
|
+
"run",
|
|
62
|
+
"ruff",
|
|
63
|
+
"check",
|
|
64
|
+
"."
|
|
65
|
+
]);
|
|
66
|
+
s.stop("Generated Python server checks passed");
|
|
67
|
+
return;
|
|
68
|
+
case "elixir":
|
|
69
|
+
if (!await commandExists("mix")) {
|
|
70
|
+
log.warn(pc.yellow("Skipping Elixir verification because mix is not on PATH"));
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
s.start("Verifying generated Elixir server...");
|
|
74
|
+
await runCommand(cwd, "mix", ["deps.get"]);
|
|
75
|
+
await runCommand(cwd, "mix", ["compile"]);
|
|
76
|
+
s.stop("Generated Elixir server checks passed");
|
|
77
|
+
return;
|
|
78
|
+
default: log.warn(pc.yellow(`No generated checks are configured for ${target.ecosystem}`));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
async function runGeneratedChecks(config) {
|
|
82
|
+
const target = getGraphTarget(config) ?? getSingleEcosystemTarget(config);
|
|
83
|
+
if (!target) {
|
|
84
|
+
log.warn(pc.yellow("No generated checks are configured for this stack"));
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
await verifyTarget(target);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
//#endregion
|
|
91
|
+
export { commandExists as n, runGeneratedChecks as t };
|
package/dist/index.d.mts
CHANGED
|
@@ -8,6 +8,21 @@ import { EMBEDDED_TEMPLATES, GeneratorOptions, GeneratorResult, TEMPLATE_COUNT,
|
|
|
8
8
|
|
|
9
9
|
import * as import__better_fullstack_types from "@better-fullstack/types";
|
|
10
10
|
//#endregion
|
|
11
|
+
//#region src/helpers/core/install-dependencies.d.ts
|
|
12
|
+
/**
|
|
13
|
+
* Result of a post-scaffold setup step (dependency install, native build, db setup).
|
|
14
|
+
* Steps still log their own errors, but no longer swallow failure silently — callers
|
|
15
|
+
* collect these so the CLI reports an accurate final status instead of always
|
|
16
|
+
* printing "Project created successfully" on top of a broken install.
|
|
17
|
+
*/
|
|
18
|
+
interface SetupStepResult {
|
|
19
|
+
/** Human-readable step name, e.g. "Install dependencies". */
|
|
20
|
+
step: string;
|
|
21
|
+
success: boolean;
|
|
22
|
+
/** Present when success is false. */
|
|
23
|
+
errorMessage?: string;
|
|
24
|
+
}
|
|
25
|
+
//#endregion
|
|
11
26
|
//#region src/helpers/core/add-handler.d.ts
|
|
12
27
|
interface AddResult {
|
|
13
28
|
success: boolean;
|
|
@@ -27,6 +42,8 @@ declare const router: {
|
|
|
27
42
|
t3: "t3";
|
|
28
43
|
uniwind: "uniwind";
|
|
29
44
|
}>>;
|
|
45
|
+
fromHistory: z.ZodOptional<z.ZodNumber>;
|
|
46
|
+
config: z.ZodOptional<z.ZodString>;
|
|
30
47
|
yes: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
31
48
|
yolo: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
32
49
|
part: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -217,6 +234,7 @@ declare const router: {
|
|
|
217
234
|
strapi: "strapi";
|
|
218
235
|
tinacms: "tinacms";
|
|
219
236
|
directus: "directus";
|
|
237
|
+
keystatic: "keystatic";
|
|
220
238
|
}>>;
|
|
221
239
|
caching: z.ZodOptional<z.ZodEnum<{
|
|
222
240
|
none: "none";
|
|
@@ -229,6 +247,7 @@ declare const router: {
|
|
|
229
247
|
}>>;
|
|
230
248
|
i18n: z.ZodOptional<z.ZodEnum<{
|
|
231
249
|
none: "none";
|
|
250
|
+
paraglide: "paraglide";
|
|
232
251
|
i18next: "i18next";
|
|
233
252
|
"next-intl": "next-intl";
|
|
234
253
|
}>>;
|
|
@@ -237,8 +256,16 @@ declare const router: {
|
|
|
237
256
|
meilisearch: "meilisearch";
|
|
238
257
|
typesense: "typesense";
|
|
239
258
|
elasticsearch: "elasticsearch";
|
|
259
|
+
opensearch: "opensearch";
|
|
240
260
|
algolia: "algolia";
|
|
241
261
|
}>>;
|
|
262
|
+
vectorDb: z.ZodOptional<z.ZodEnum<{
|
|
263
|
+
none: "none";
|
|
264
|
+
pgvector: "pgvector";
|
|
265
|
+
qdrant: "qdrant";
|
|
266
|
+
chroma: "chroma";
|
|
267
|
+
pinecone: "pinecone";
|
|
268
|
+
}>>;
|
|
242
269
|
fileStorage: z.ZodOptional<z.ZodEnum<{
|
|
243
270
|
none: "none";
|
|
244
271
|
s3: "s3";
|
|
@@ -334,7 +361,9 @@ declare const router: {
|
|
|
334
361
|
"tanstack-db": "tanstack-db";
|
|
335
362
|
"tanstack-pacer": "tanstack-pacer";
|
|
336
363
|
"backend-utils": "backend-utils";
|
|
364
|
+
devcontainer: "devcontainer";
|
|
337
365
|
"docker-compose": "docker-compose";
|
|
366
|
+
"github-actions": "github-actions";
|
|
338
367
|
}>>>;
|
|
339
368
|
examples: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
340
369
|
none: "none";
|
|
@@ -394,6 +423,7 @@ declare const router: {
|
|
|
394
423
|
"ts-rest": "ts-rest";
|
|
395
424
|
garph: "garph";
|
|
396
425
|
"graphql-yoga": "graphql-yoga";
|
|
426
|
+
"apollo-server": "apollo-server";
|
|
397
427
|
openapi: "openapi";
|
|
398
428
|
}>>;
|
|
399
429
|
cssFramework: z.ZodOptional<z.ZodEnum<{
|
|
@@ -992,7 +1022,7 @@ declare const router: {
|
|
|
992
1022
|
backend: "none" | "hono" | "express" | "fastify" | "elysia" | "fets" | "nestjs" | "adonisjs" | "nitro" | "encore" | "convex" | "self";
|
|
993
1023
|
runtime: "none" | "bun" | "node" | "workers";
|
|
994
1024
|
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")[];
|
|
995
|
-
addons: ("none" | "pwa" | "tauri" | "starlight" | "biome" | "lefthook" | "husky" | "ruler" | "mcp" | "skills" | "turborepo" | "nx" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "msw" | "storybook" | "swr" | "tanstack-query" | "tanstack-table" | "tanstack-virtual" | "tanstack-db" | "tanstack-pacer" | "backend-utils" | "docker-compose")[];
|
|
1025
|
+
addons: ("none" | "pwa" | "tauri" | "starlight" | "biome" | "lefthook" | "husky" | "ruler" | "mcp" | "skills" | "turborepo" | "nx" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "msw" | "storybook" | "swr" | "tanstack-query" | "tanstack-table" | "tanstack-virtual" | "tanstack-db" | "tanstack-pacer" | "backend-utils" | "devcontainer" | "docker-compose" | "github-actions")[];
|
|
996
1026
|
examples: ("ai" | "none" | "chat-sdk" | "tanstack-showcase")[];
|
|
997
1027
|
auth: "none" | "better-auth" | "better-auth-organizations" | "go-better-auth" | "clerk" | "nextauth" | "stack-auth" | "supabase-auth" | "auth0" | "workos" | "kinde";
|
|
998
1028
|
payments: "none" | "polar" | "stripe" | "lemon-squeezy" | "paddle" | "dodo";
|
|
@@ -1001,7 +1031,7 @@ declare const router: {
|
|
|
1001
1031
|
versionChannel: "stable" | "latest" | "beta";
|
|
1002
1032
|
install: boolean;
|
|
1003
1033
|
dbSetup: "none" | "turso" | "neon" | "prisma-postgres" | "planetscale" | "mongodb-atlas" | "supabase" | "upstash" | "d1" | "docker";
|
|
1004
|
-
api: "none" | "trpc" | "orpc" | "ts-rest" | "garph" | "graphql-yoga" | "openapi";
|
|
1034
|
+
api: "none" | "trpc" | "orpc" | "ts-rest" | "garph" | "graphql-yoga" | "apollo-server" | "openapi";
|
|
1005
1035
|
webDeploy: "none" | "docker" | "cloudflare" | "fly" | "railway" | "render" | "netlify" | "sst" | "vercel";
|
|
1006
1036
|
serverDeploy: "none" | "docker" | "cloudflare" | "fly" | "railway" | "render" | "netlify" | "sst" | "vercel";
|
|
1007
1037
|
ai: "none" | "langgraph" | "google-adk" | "langchain" | "llamaindex" | "vercel-ai" | "mastra" | "voltagent" | "openai-agents" | "modelfusion" | "tanstack-ai" | "ai-cli";
|
|
@@ -1021,11 +1051,12 @@ declare const router: {
|
|
|
1021
1051
|
observability: "none" | "opentelemetry" | "sentry" | "grafana" | "datadog" | "axiom" | "betterstack";
|
|
1022
1052
|
featureFlags: "none" | "growthbook" | "posthog" | "launchdarkly" | "flagsmith" | "unleash";
|
|
1023
1053
|
analytics: "none" | "plausible" | "umami";
|
|
1024
|
-
cms: "none" | "payload" | "sanity" | "strapi" | "tinacms" | "directus";
|
|
1054
|
+
cms: "none" | "payload" | "sanity" | "strapi" | "tinacms" | "directus" | "keystatic";
|
|
1025
1055
|
caching: "none" | "upstash-redis";
|
|
1026
1056
|
rateLimit: "none" | "arcjet" | "upstash-ratelimit";
|
|
1027
|
-
i18n: "none" | "i18next" | "next-intl";
|
|
1028
|
-
search: "none" | "meilisearch" | "typesense" | "elasticsearch" | "algolia";
|
|
1057
|
+
i18n: "none" | "paraglide" | "i18next" | "next-intl";
|
|
1058
|
+
search: "none" | "meilisearch" | "typesense" | "elasticsearch" | "opensearch" | "algolia";
|
|
1059
|
+
vectorDb: "none" | "pgvector" | "qdrant" | "chroma" | "pinecone";
|
|
1029
1060
|
fileStorage: "none" | "s3" | "r2" | "cloudinary";
|
|
1030
1061
|
mobileNavigation: "none" | "expo-router" | "react-navigation";
|
|
1031
1062
|
mobileUI: "none" | "uniwind" | "tamagui" | "gluestack-ui" | "unistyles";
|
|
@@ -1039,7 +1070,7 @@ declare const router: {
|
|
|
1039
1070
|
rustOrm: "none" | "sea-orm" | "sqlx" | "diesel";
|
|
1040
1071
|
rustApi: "none" | "tonic" | "async-graphql";
|
|
1041
1072
|
rustCli: "none" | "clap" | "ratatui";
|
|
1042
|
-
rustLibraries: ("none" | "serde" | "uuid" | "chrono" | "reqwest" | "
|
|
1073
|
+
rustLibraries: ("config" | "none" | "serde" | "uuid" | "chrono" | "reqwest" | "dashmap" | "parking-lot" | "secrecy" | "tokio-util" | "utoipa" | "validator" | "jsonwebtoken" | "argon2" | "tokio-test" | "mockall" | "proptest" | "insta")[];
|
|
1043
1074
|
rustLogging: "none" | "tracing" | "env-logger";
|
|
1044
1075
|
rustErrorHandling: "none" | "anyhow-thiserror" | "eyre";
|
|
1045
1076
|
rustCaching: "none" | "redis" | "moka";
|
|
@@ -1120,7 +1151,7 @@ declare const router: {
|
|
|
1120
1151
|
shadcnRadius?: "default" | "none" | "small" | "medium" | "large" | undefined;
|
|
1121
1152
|
stackParts?: {
|
|
1122
1153
|
id: string;
|
|
1123
|
-
role: "api" | "runtime" | "backend" | "database" | "orm" | "dbSetup" | "auth" | "payments" | "email" | "fileUpload" | "logging" | "observability" | "stateManagement" | "forms" | "validation" | "testing" | "realtime" | "jobQueue" | "caching" | "rateLimit" | "i18n" | "search" | "fileStorage" | "animation" | "cms" | "featureFlags" | "analytics" | "codeQuality" | "documentation" | "examples" | "ai" | "effect" | "
|
|
1154
|
+
role: "api" | "runtime" | "backend" | "database" | "orm" | "dbSetup" | "auth" | "payments" | "email" | "fileUpload" | "logging" | "observability" | "stateManagement" | "forms" | "validation" | "testing" | "realtime" | "jobQueue" | "caching" | "rateLimit" | "i18n" | "search" | "vectorDb" | "fileStorage" | "animation" | "cms" | "featureFlags" | "analytics" | "codeQuality" | "documentation" | "examples" | "ai" | "effect" | "config" | "frontend" | "mobile" | "deploy" | "navigation" | "ui" | "css" | "storage" | "appPlatform" | "dataFetching" | "workspaceTooling" | "buildTool" | "cli" | "errorHandling" | "httpClient" | "libraries" | "templating";
|
|
1124
1155
|
toolId: string;
|
|
1125
1156
|
ecosystem: "typescript" | "react-native" | "rust" | "python" | "go" | "java" | "elixir" | "dotnet" | "universal";
|
|
1126
1157
|
source: "selected" | "defaulted" | "provided" | "legacy" | "adjusted";
|
|
@@ -1139,6 +1170,7 @@ declare const router: {
|
|
|
1139
1170
|
fileCount: number;
|
|
1140
1171
|
directoryCount: number;
|
|
1141
1172
|
files: string[];
|
|
1173
|
+
setupFailures?: undefined;
|
|
1142
1174
|
error?: undefined;
|
|
1143
1175
|
} | {
|
|
1144
1176
|
success: boolean;
|
|
@@ -1152,7 +1184,7 @@ declare const router: {
|
|
|
1152
1184
|
backend: "none" | "hono" | "express" | "fastify" | "elysia" | "fets" | "nestjs" | "adonisjs" | "nitro" | "encore" | "convex" | "self";
|
|
1153
1185
|
runtime: "none" | "bun" | "node" | "workers";
|
|
1154
1186
|
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")[];
|
|
1155
|
-
addons: ("none" | "pwa" | "tauri" | "starlight" | "biome" | "lefthook" | "husky" | "ruler" | "mcp" | "skills" | "turborepo" | "nx" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "msw" | "storybook" | "swr" | "tanstack-query" | "tanstack-table" | "tanstack-virtual" | "tanstack-db" | "tanstack-pacer" | "backend-utils" | "docker-compose")[];
|
|
1187
|
+
addons: ("none" | "pwa" | "tauri" | "starlight" | "biome" | "lefthook" | "husky" | "ruler" | "mcp" | "skills" | "turborepo" | "nx" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "msw" | "storybook" | "swr" | "tanstack-query" | "tanstack-table" | "tanstack-virtual" | "tanstack-db" | "tanstack-pacer" | "backend-utils" | "devcontainer" | "docker-compose" | "github-actions")[];
|
|
1156
1188
|
examples: ("ai" | "none" | "chat-sdk" | "tanstack-showcase")[];
|
|
1157
1189
|
auth: "none" | "better-auth" | "better-auth-organizations" | "go-better-auth" | "clerk" | "nextauth" | "stack-auth" | "supabase-auth" | "auth0" | "workos" | "kinde";
|
|
1158
1190
|
payments: "none" | "polar" | "stripe" | "lemon-squeezy" | "paddle" | "dodo";
|
|
@@ -1161,7 +1193,7 @@ declare const router: {
|
|
|
1161
1193
|
versionChannel: "stable" | "latest" | "beta";
|
|
1162
1194
|
install: boolean;
|
|
1163
1195
|
dbSetup: "none" | "turso" | "neon" | "prisma-postgres" | "planetscale" | "mongodb-atlas" | "supabase" | "upstash" | "d1" | "docker";
|
|
1164
|
-
api: "none" | "trpc" | "orpc" | "ts-rest" | "garph" | "graphql-yoga" | "openapi";
|
|
1196
|
+
api: "none" | "trpc" | "orpc" | "ts-rest" | "garph" | "graphql-yoga" | "apollo-server" | "openapi";
|
|
1165
1197
|
webDeploy: "none" | "docker" | "cloudflare" | "fly" | "railway" | "render" | "netlify" | "sst" | "vercel";
|
|
1166
1198
|
serverDeploy: "none" | "docker" | "cloudflare" | "fly" | "railway" | "render" | "netlify" | "sst" | "vercel";
|
|
1167
1199
|
ai: "none" | "langgraph" | "google-adk" | "langchain" | "llamaindex" | "vercel-ai" | "mastra" | "voltagent" | "openai-agents" | "modelfusion" | "tanstack-ai" | "ai-cli";
|
|
@@ -1181,11 +1213,12 @@ declare const router: {
|
|
|
1181
1213
|
observability: "none" | "opentelemetry" | "sentry" | "grafana" | "datadog" | "axiom" | "betterstack";
|
|
1182
1214
|
featureFlags: "none" | "growthbook" | "posthog" | "launchdarkly" | "flagsmith" | "unleash";
|
|
1183
1215
|
analytics: "none" | "plausible" | "umami";
|
|
1184
|
-
cms: "none" | "payload" | "sanity" | "strapi" | "tinacms" | "directus";
|
|
1216
|
+
cms: "none" | "payload" | "sanity" | "strapi" | "tinacms" | "directus" | "keystatic";
|
|
1185
1217
|
caching: "none" | "upstash-redis";
|
|
1186
1218
|
rateLimit: "none" | "arcjet" | "upstash-ratelimit";
|
|
1187
|
-
i18n: "none" | "i18next" | "next-intl";
|
|
1188
|
-
search: "none" | "meilisearch" | "typesense" | "elasticsearch" | "algolia";
|
|
1219
|
+
i18n: "none" | "paraglide" | "i18next" | "next-intl";
|
|
1220
|
+
search: "none" | "meilisearch" | "typesense" | "elasticsearch" | "opensearch" | "algolia";
|
|
1221
|
+
vectorDb: "none" | "pgvector" | "qdrant" | "chroma" | "pinecone";
|
|
1189
1222
|
fileStorage: "none" | "s3" | "r2" | "cloudinary";
|
|
1190
1223
|
mobileNavigation: "none" | "expo-router" | "react-navigation";
|
|
1191
1224
|
mobileUI: "none" | "uniwind" | "tamagui" | "gluestack-ui" | "unistyles";
|
|
@@ -1199,7 +1232,7 @@ declare const router: {
|
|
|
1199
1232
|
rustOrm: "none" | "sea-orm" | "sqlx" | "diesel";
|
|
1200
1233
|
rustApi: "none" | "tonic" | "async-graphql";
|
|
1201
1234
|
rustCli: "none" | "clap" | "ratatui";
|
|
1202
|
-
rustLibraries: ("none" | "serde" | "uuid" | "chrono" | "reqwest" | "
|
|
1235
|
+
rustLibraries: ("config" | "none" | "serde" | "uuid" | "chrono" | "reqwest" | "dashmap" | "parking-lot" | "secrecy" | "tokio-util" | "utoipa" | "validator" | "jsonwebtoken" | "argon2" | "tokio-test" | "mockall" | "proptest" | "insta")[];
|
|
1203
1236
|
rustLogging: "none" | "tracing" | "env-logger";
|
|
1204
1237
|
rustErrorHandling: "none" | "anyhow-thiserror" | "eyre";
|
|
1205
1238
|
rustCaching: "none" | "redis" | "moka";
|
|
@@ -1280,7 +1313,7 @@ declare const router: {
|
|
|
1280
1313
|
shadcnRadius?: "default" | "none" | "small" | "medium" | "large" | undefined;
|
|
1281
1314
|
stackParts?: {
|
|
1282
1315
|
id: string;
|
|
1283
|
-
role: "api" | "runtime" | "backend" | "database" | "orm" | "dbSetup" | "auth" | "payments" | "email" | "fileUpload" | "logging" | "observability" | "stateManagement" | "forms" | "validation" | "testing" | "realtime" | "jobQueue" | "caching" | "rateLimit" | "i18n" | "search" | "fileStorage" | "animation" | "cms" | "featureFlags" | "analytics" | "codeQuality" | "documentation" | "examples" | "ai" | "effect" | "
|
|
1316
|
+
role: "api" | "runtime" | "backend" | "database" | "orm" | "dbSetup" | "auth" | "payments" | "email" | "fileUpload" | "logging" | "observability" | "stateManagement" | "forms" | "validation" | "testing" | "realtime" | "jobQueue" | "caching" | "rateLimit" | "i18n" | "search" | "vectorDb" | "fileStorage" | "animation" | "cms" | "featureFlags" | "analytics" | "codeQuality" | "documentation" | "examples" | "ai" | "effect" | "config" | "frontend" | "mobile" | "deploy" | "navigation" | "ui" | "css" | "storage" | "appPlatform" | "dataFetching" | "workspaceTooling" | "buildTool" | "cli" | "errorHandling" | "httpClient" | "libraries" | "templating";
|
|
1284
1317
|
toolId: string;
|
|
1285
1318
|
ecosystem: "typescript" | "react-native" | "rust" | "python" | "go" | "java" | "elixir" | "dotnet" | "universal";
|
|
1286
1319
|
source: "selected" | "defaulted" | "provided" | "legacy" | "adjusted";
|
|
@@ -1295,6 +1328,7 @@ declare const router: {
|
|
|
1295
1328
|
elapsedTimeMs: number;
|
|
1296
1329
|
projectDirectory: string;
|
|
1297
1330
|
relativePath: string;
|
|
1331
|
+
setupFailures: SetupStepResult[];
|
|
1298
1332
|
dryRun?: undefined;
|
|
1299
1333
|
fileCount?: undefined;
|
|
1300
1334
|
directoryCount?: undefined;
|
|
@@ -1313,6 +1347,7 @@ declare const router: {
|
|
|
1313
1347
|
fileCount?: undefined;
|
|
1314
1348
|
directoryCount?: undefined;
|
|
1315
1349
|
files?: undefined;
|
|
1350
|
+
setupFailures?: undefined;
|
|
1316
1351
|
} | undefined, {
|
|
1317
1352
|
success: boolean;
|
|
1318
1353
|
projectConfig: {
|
|
@@ -1325,7 +1360,7 @@ declare const router: {
|
|
|
1325
1360
|
backend: "none" | "hono" | "express" | "fastify" | "elysia" | "fets" | "nestjs" | "adonisjs" | "nitro" | "encore" | "convex" | "self";
|
|
1326
1361
|
runtime: "none" | "bun" | "node" | "workers";
|
|
1327
1362
|
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")[];
|
|
1328
|
-
addons: ("none" | "pwa" | "tauri" | "starlight" | "biome" | "lefthook" | "husky" | "ruler" | "mcp" | "skills" | "turborepo" | "nx" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "msw" | "storybook" | "swr" | "tanstack-query" | "tanstack-table" | "tanstack-virtual" | "tanstack-db" | "tanstack-pacer" | "backend-utils" | "docker-compose")[];
|
|
1363
|
+
addons: ("none" | "pwa" | "tauri" | "starlight" | "biome" | "lefthook" | "husky" | "ruler" | "mcp" | "skills" | "turborepo" | "nx" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "msw" | "storybook" | "swr" | "tanstack-query" | "tanstack-table" | "tanstack-virtual" | "tanstack-db" | "tanstack-pacer" | "backend-utils" | "devcontainer" | "docker-compose" | "github-actions")[];
|
|
1329
1364
|
examples: ("ai" | "none" | "chat-sdk" | "tanstack-showcase")[];
|
|
1330
1365
|
auth: "none" | "better-auth" | "better-auth-organizations" | "go-better-auth" | "clerk" | "nextauth" | "stack-auth" | "supabase-auth" | "auth0" | "workos" | "kinde";
|
|
1331
1366
|
payments: "none" | "polar" | "stripe" | "lemon-squeezy" | "paddle" | "dodo";
|
|
@@ -1334,7 +1369,7 @@ declare const router: {
|
|
|
1334
1369
|
versionChannel: "stable" | "latest" | "beta";
|
|
1335
1370
|
install: boolean;
|
|
1336
1371
|
dbSetup: "none" | "turso" | "neon" | "prisma-postgres" | "planetscale" | "mongodb-atlas" | "supabase" | "upstash" | "d1" | "docker";
|
|
1337
|
-
api: "none" | "trpc" | "orpc" | "ts-rest" | "garph" | "graphql-yoga" | "openapi";
|
|
1372
|
+
api: "none" | "trpc" | "orpc" | "ts-rest" | "garph" | "graphql-yoga" | "apollo-server" | "openapi";
|
|
1338
1373
|
webDeploy: "none" | "docker" | "cloudflare" | "fly" | "railway" | "render" | "netlify" | "sst" | "vercel";
|
|
1339
1374
|
serverDeploy: "none" | "docker" | "cloudflare" | "fly" | "railway" | "render" | "netlify" | "sst" | "vercel";
|
|
1340
1375
|
ai: "none" | "langgraph" | "google-adk" | "langchain" | "llamaindex" | "vercel-ai" | "mastra" | "voltagent" | "openai-agents" | "modelfusion" | "tanstack-ai" | "ai-cli";
|
|
@@ -1354,11 +1389,12 @@ declare const router: {
|
|
|
1354
1389
|
observability: "none" | "opentelemetry" | "sentry" | "grafana" | "datadog" | "axiom" | "betterstack";
|
|
1355
1390
|
featureFlags: "none" | "growthbook" | "posthog" | "launchdarkly" | "flagsmith" | "unleash";
|
|
1356
1391
|
analytics: "none" | "plausible" | "umami";
|
|
1357
|
-
cms: "none" | "payload" | "sanity" | "strapi" | "tinacms" | "directus";
|
|
1392
|
+
cms: "none" | "payload" | "sanity" | "strapi" | "tinacms" | "directus" | "keystatic";
|
|
1358
1393
|
caching: "none" | "upstash-redis";
|
|
1359
1394
|
rateLimit: "none" | "arcjet" | "upstash-ratelimit";
|
|
1360
|
-
i18n: "none" | "i18next" | "next-intl";
|
|
1361
|
-
search: "none" | "meilisearch" | "typesense" | "elasticsearch" | "algolia";
|
|
1395
|
+
i18n: "none" | "paraglide" | "i18next" | "next-intl";
|
|
1396
|
+
search: "none" | "meilisearch" | "typesense" | "elasticsearch" | "opensearch" | "algolia";
|
|
1397
|
+
vectorDb: "none" | "pgvector" | "qdrant" | "chroma" | "pinecone";
|
|
1362
1398
|
fileStorage: "none" | "s3" | "r2" | "cloudinary";
|
|
1363
1399
|
mobileNavigation: "none" | "expo-router" | "react-navigation";
|
|
1364
1400
|
mobileUI: "none" | "uniwind" | "tamagui" | "gluestack-ui" | "unistyles";
|
|
@@ -1372,7 +1408,7 @@ declare const router: {
|
|
|
1372
1408
|
rustOrm: "none" | "sea-orm" | "sqlx" | "diesel";
|
|
1373
1409
|
rustApi: "none" | "tonic" | "async-graphql";
|
|
1374
1410
|
rustCli: "none" | "clap" | "ratatui";
|
|
1375
|
-
rustLibraries: ("none" | "serde" | "uuid" | "chrono" | "reqwest" | "
|
|
1411
|
+
rustLibraries: ("config" | "none" | "serde" | "uuid" | "chrono" | "reqwest" | "dashmap" | "parking-lot" | "secrecy" | "tokio-util" | "utoipa" | "validator" | "jsonwebtoken" | "argon2" | "tokio-test" | "mockall" | "proptest" | "insta")[];
|
|
1376
1412
|
rustLogging: "none" | "tracing" | "env-logger";
|
|
1377
1413
|
rustErrorHandling: "none" | "anyhow-thiserror" | "eyre";
|
|
1378
1414
|
rustCaching: "none" | "redis" | "moka";
|
|
@@ -1453,7 +1489,7 @@ declare const router: {
|
|
|
1453
1489
|
shadcnRadius?: "default" | "none" | "small" | "medium" | "large" | undefined;
|
|
1454
1490
|
stackParts?: {
|
|
1455
1491
|
id: string;
|
|
1456
|
-
role: "api" | "runtime" | "backend" | "database" | "orm" | "dbSetup" | "auth" | "payments" | "email" | "fileUpload" | "logging" | "observability" | "stateManagement" | "forms" | "validation" | "testing" | "realtime" | "jobQueue" | "caching" | "rateLimit" | "i18n" | "search" | "fileStorage" | "animation" | "cms" | "featureFlags" | "analytics" | "codeQuality" | "documentation" | "examples" | "ai" | "effect" | "
|
|
1492
|
+
role: "api" | "runtime" | "backend" | "database" | "orm" | "dbSetup" | "auth" | "payments" | "email" | "fileUpload" | "logging" | "observability" | "stateManagement" | "forms" | "validation" | "testing" | "realtime" | "jobQueue" | "caching" | "rateLimit" | "i18n" | "search" | "vectorDb" | "fileStorage" | "animation" | "cms" | "featureFlags" | "analytics" | "codeQuality" | "documentation" | "examples" | "ai" | "effect" | "config" | "frontend" | "mobile" | "deploy" | "navigation" | "ui" | "css" | "storage" | "appPlatform" | "dataFetching" | "workspaceTooling" | "buildTool" | "cli" | "errorHandling" | "httpClient" | "libraries" | "templating";
|
|
1457
1493
|
toolId: string;
|
|
1458
1494
|
ecosystem: "typescript" | "react-native" | "rust" | "python" | "go" | "java" | "elixir" | "dotnet" | "universal";
|
|
1459
1495
|
source: "selected" | "defaulted" | "provided" | "legacy" | "adjusted";
|
|
@@ -1472,6 +1508,7 @@ declare const router: {
|
|
|
1472
1508
|
fileCount: number;
|
|
1473
1509
|
directoryCount: number;
|
|
1474
1510
|
files: string[];
|
|
1511
|
+
setupFailures?: undefined;
|
|
1475
1512
|
error?: undefined;
|
|
1476
1513
|
} | {
|
|
1477
1514
|
success: boolean;
|
|
@@ -1485,7 +1522,7 @@ declare const router: {
|
|
|
1485
1522
|
backend: "none" | "hono" | "express" | "fastify" | "elysia" | "fets" | "nestjs" | "adonisjs" | "nitro" | "encore" | "convex" | "self";
|
|
1486
1523
|
runtime: "none" | "bun" | "node" | "workers";
|
|
1487
1524
|
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")[];
|
|
1488
|
-
addons: ("none" | "pwa" | "tauri" | "starlight" | "biome" | "lefthook" | "husky" | "ruler" | "mcp" | "skills" | "turborepo" | "nx" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "msw" | "storybook" | "swr" | "tanstack-query" | "tanstack-table" | "tanstack-virtual" | "tanstack-db" | "tanstack-pacer" | "backend-utils" | "docker-compose")[];
|
|
1525
|
+
addons: ("none" | "pwa" | "tauri" | "starlight" | "biome" | "lefthook" | "husky" | "ruler" | "mcp" | "skills" | "turborepo" | "nx" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "msw" | "storybook" | "swr" | "tanstack-query" | "tanstack-table" | "tanstack-virtual" | "tanstack-db" | "tanstack-pacer" | "backend-utils" | "devcontainer" | "docker-compose" | "github-actions")[];
|
|
1489
1526
|
examples: ("ai" | "none" | "chat-sdk" | "tanstack-showcase")[];
|
|
1490
1527
|
auth: "none" | "better-auth" | "better-auth-organizations" | "go-better-auth" | "clerk" | "nextauth" | "stack-auth" | "supabase-auth" | "auth0" | "workos" | "kinde";
|
|
1491
1528
|
payments: "none" | "polar" | "stripe" | "lemon-squeezy" | "paddle" | "dodo";
|
|
@@ -1494,7 +1531,7 @@ declare const router: {
|
|
|
1494
1531
|
versionChannel: "stable" | "latest" | "beta";
|
|
1495
1532
|
install: boolean;
|
|
1496
1533
|
dbSetup: "none" | "turso" | "neon" | "prisma-postgres" | "planetscale" | "mongodb-atlas" | "supabase" | "upstash" | "d1" | "docker";
|
|
1497
|
-
api: "none" | "trpc" | "orpc" | "ts-rest" | "garph" | "graphql-yoga" | "openapi";
|
|
1534
|
+
api: "none" | "trpc" | "orpc" | "ts-rest" | "garph" | "graphql-yoga" | "apollo-server" | "openapi";
|
|
1498
1535
|
webDeploy: "none" | "docker" | "cloudflare" | "fly" | "railway" | "render" | "netlify" | "sst" | "vercel";
|
|
1499
1536
|
serverDeploy: "none" | "docker" | "cloudflare" | "fly" | "railway" | "render" | "netlify" | "sst" | "vercel";
|
|
1500
1537
|
ai: "none" | "langgraph" | "google-adk" | "langchain" | "llamaindex" | "vercel-ai" | "mastra" | "voltagent" | "openai-agents" | "modelfusion" | "tanstack-ai" | "ai-cli";
|
|
@@ -1514,11 +1551,12 @@ declare const router: {
|
|
|
1514
1551
|
observability: "none" | "opentelemetry" | "sentry" | "grafana" | "datadog" | "axiom" | "betterstack";
|
|
1515
1552
|
featureFlags: "none" | "growthbook" | "posthog" | "launchdarkly" | "flagsmith" | "unleash";
|
|
1516
1553
|
analytics: "none" | "plausible" | "umami";
|
|
1517
|
-
cms: "none" | "payload" | "sanity" | "strapi" | "tinacms" | "directus";
|
|
1554
|
+
cms: "none" | "payload" | "sanity" | "strapi" | "tinacms" | "directus" | "keystatic";
|
|
1518
1555
|
caching: "none" | "upstash-redis";
|
|
1519
1556
|
rateLimit: "none" | "arcjet" | "upstash-ratelimit";
|
|
1520
|
-
i18n: "none" | "i18next" | "next-intl";
|
|
1521
|
-
search: "none" | "meilisearch" | "typesense" | "elasticsearch" | "algolia";
|
|
1557
|
+
i18n: "none" | "paraglide" | "i18next" | "next-intl";
|
|
1558
|
+
search: "none" | "meilisearch" | "typesense" | "elasticsearch" | "opensearch" | "algolia";
|
|
1559
|
+
vectorDb: "none" | "pgvector" | "qdrant" | "chroma" | "pinecone";
|
|
1522
1560
|
fileStorage: "none" | "s3" | "r2" | "cloudinary";
|
|
1523
1561
|
mobileNavigation: "none" | "expo-router" | "react-navigation";
|
|
1524
1562
|
mobileUI: "none" | "uniwind" | "tamagui" | "gluestack-ui" | "unistyles";
|
|
@@ -1532,7 +1570,7 @@ declare const router: {
|
|
|
1532
1570
|
rustOrm: "none" | "sea-orm" | "sqlx" | "diesel";
|
|
1533
1571
|
rustApi: "none" | "tonic" | "async-graphql";
|
|
1534
1572
|
rustCli: "none" | "clap" | "ratatui";
|
|
1535
|
-
rustLibraries: ("none" | "serde" | "uuid" | "chrono" | "reqwest" | "
|
|
1573
|
+
rustLibraries: ("config" | "none" | "serde" | "uuid" | "chrono" | "reqwest" | "dashmap" | "parking-lot" | "secrecy" | "tokio-util" | "utoipa" | "validator" | "jsonwebtoken" | "argon2" | "tokio-test" | "mockall" | "proptest" | "insta")[];
|
|
1536
1574
|
rustLogging: "none" | "tracing" | "env-logger";
|
|
1537
1575
|
rustErrorHandling: "none" | "anyhow-thiserror" | "eyre";
|
|
1538
1576
|
rustCaching: "none" | "redis" | "moka";
|
|
@@ -1613,7 +1651,7 @@ declare const router: {
|
|
|
1613
1651
|
shadcnRadius?: "default" | "none" | "small" | "medium" | "large" | undefined;
|
|
1614
1652
|
stackParts?: {
|
|
1615
1653
|
id: string;
|
|
1616
|
-
role: "api" | "runtime" | "backend" | "database" | "orm" | "dbSetup" | "auth" | "payments" | "email" | "fileUpload" | "logging" | "observability" | "stateManagement" | "forms" | "validation" | "testing" | "realtime" | "jobQueue" | "caching" | "rateLimit" | "i18n" | "search" | "fileStorage" | "animation" | "cms" | "featureFlags" | "analytics" | "codeQuality" | "documentation" | "examples" | "ai" | "effect" | "
|
|
1654
|
+
role: "api" | "runtime" | "backend" | "database" | "orm" | "dbSetup" | "auth" | "payments" | "email" | "fileUpload" | "logging" | "observability" | "stateManagement" | "forms" | "validation" | "testing" | "realtime" | "jobQueue" | "caching" | "rateLimit" | "i18n" | "search" | "vectorDb" | "fileStorage" | "animation" | "cms" | "featureFlags" | "analytics" | "codeQuality" | "documentation" | "examples" | "ai" | "effect" | "config" | "frontend" | "mobile" | "deploy" | "navigation" | "ui" | "css" | "storage" | "appPlatform" | "dataFetching" | "workspaceTooling" | "buildTool" | "cli" | "errorHandling" | "httpClient" | "libraries" | "templating";
|
|
1617
1655
|
toolId: string;
|
|
1618
1656
|
ecosystem: "typescript" | "react-native" | "rust" | "python" | "go" | "java" | "elixir" | "dotnet" | "universal";
|
|
1619
1657
|
source: "selected" | "defaulted" | "provided" | "legacy" | "adjusted";
|
|
@@ -1628,6 +1666,7 @@ declare const router: {
|
|
|
1628
1666
|
elapsedTimeMs: number;
|
|
1629
1667
|
projectDirectory: string;
|
|
1630
1668
|
relativePath: string;
|
|
1669
|
+
setupFailures: SetupStepResult[];
|
|
1631
1670
|
dryRun?: undefined;
|
|
1632
1671
|
fileCount?: undefined;
|
|
1633
1672
|
directoryCount?: undefined;
|
|
@@ -1646,6 +1685,7 @@ declare const router: {
|
|
|
1646
1685
|
fileCount?: undefined;
|
|
1647
1686
|
directoryCount?: undefined;
|
|
1648
1687
|
files?: undefined;
|
|
1688
|
+
setupFailures?: undefined;
|
|
1649
1689
|
} | undefined>, _orpc_server0.MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
|
|
1650
1690
|
sponsors: _orpc_server0.Procedure<_orpc_server0.MergedInitialContext<Record<never, never>, Record<never, never>, Record<never, never>>, Record<never, never>, _orpc_server0.Schema<unknown, unknown>, _orpc_server0.Schema<void, void>, _orpc_server0.MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
|
|
1651
1691
|
docs: _orpc_server0.Procedure<_orpc_server0.MergedInitialContext<Record<never, never>, Record<never, never>, Record<never, never>>, Record<never, never>, _orpc_server0.Schema<unknown, unknown>, _orpc_server0.Schema<void, void>, _orpc_server0.MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
|
|
@@ -1678,7 +1718,9 @@ declare const router: {
|
|
|
1678
1718
|
"tanstack-db": "tanstack-db";
|
|
1679
1719
|
"tanstack-pacer": "tanstack-pacer";
|
|
1680
1720
|
"backend-utils": "backend-utils";
|
|
1721
|
+
devcontainer: "devcontainer";
|
|
1681
1722
|
"docker-compose": "docker-compose";
|
|
1723
|
+
"github-actions": "github-actions";
|
|
1682
1724
|
}>>>;
|
|
1683
1725
|
webDeploy: z.ZodOptional<z.ZodEnum<{
|
|
1684
1726
|
none: "none";
|
|
@@ -1716,6 +1758,13 @@ declare const router: {
|
|
|
1716
1758
|
clear: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
1717
1759
|
json: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
1718
1760
|
}, z.core.$strip>, _orpc_server0.Schema<void, void>, _orpc_server0.MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
|
|
1761
|
+
telemetry: _orpc_server0.Procedure<_orpc_server0.MergedInitialContext<Record<never, never>, Record<never, never>, Record<never, never>>, Record<never, never>, z.ZodTuple<[z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
1762
|
+
status: "status";
|
|
1763
|
+
enable: "enable";
|
|
1764
|
+
disable: "disable";
|
|
1765
|
+
}>>>, z.ZodObject<{
|
|
1766
|
+
json: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
1767
|
+
}, z.core.$strip>], null>, _orpc_server0.Schema<void, void>, _orpc_server0.MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
|
|
1719
1768
|
"update-deps": _orpc_server0.Procedure<_orpc_server0.MergedInitialContext<Record<never, never>, Record<never, never>, Record<never, never>>, Record<never, never>, z.ZodObject<{
|
|
1720
1769
|
check: z.ZodDefault<z.ZodBoolean>;
|
|
1721
1770
|
patch: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -1724,6 +1773,10 @@ declare const router: {
|
|
|
1724
1773
|
"list-ecosystems": z.ZodDefault<z.ZodBoolean>;
|
|
1725
1774
|
}, z.core.$strip>, _orpc_server0.Schema<void, void>, _orpc_server0.MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
|
|
1726
1775
|
mcp: _orpc_server0.Procedure<_orpc_server0.MergedInitialContext<Record<never, never>, Record<never, never>, Record<never, never>>, Record<never, never>, _orpc_server0.Schema<unknown, unknown>, _orpc_server0.Schema<void, void>, _orpc_server0.MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
|
|
1776
|
+
doctor: _orpc_server0.Procedure<_orpc_server0.MergedInitialContext<Record<never, never>, Record<never, never>, Record<never, never>>, Record<never, never>, z.ZodTuple<[z.ZodOptional<z.ZodString>, z.ZodObject<{
|
|
1777
|
+
skipChecks: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
1778
|
+
json: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
1779
|
+
}, z.core.$strip>], null>, _orpc_server0.Schema<void, void>, _orpc_server0.MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
|
|
1727
1780
|
};
|
|
1728
1781
|
declare function createBtsCli(): trpc_cli0.TrpcCli;
|
|
1729
1782
|
/**
|
|
@@ -1757,6 +1810,9 @@ declare function history(options?: {
|
|
|
1757
1810
|
clear?: boolean;
|
|
1758
1811
|
json?: boolean;
|
|
1759
1812
|
}): Promise<void>;
|
|
1813
|
+
declare function telemetry(action?: "status" | "enable" | "disable", options?: {
|
|
1814
|
+
json?: boolean;
|
|
1815
|
+
}): Promise<void>;
|
|
1760
1816
|
//#endregion
|
|
1761
1817
|
//#region src/index.d.ts
|
|
1762
1818
|
/**
|
|
@@ -1857,4 +1913,4 @@ type ServerDeploy = import__better_fullstack_types.ServerDeploy;
|
|
|
1857
1913
|
type Template = import__better_fullstack_types.Template;
|
|
1858
1914
|
type UILibrary = import__better_fullstack_types.UILibrary;
|
|
1859
1915
|
type WebDeploy = import__better_fullstack_types.WebDeploy;
|
|
1860
|
-
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 };
|
|
1916
|
+
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, telemetry };
|
package/dist/index.mjs
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import "./
|
|
3
|
-
import { a as docs, c as sponsors, i as createBtsCli, n as builder, o as history, r as create, s as router, t as add } from "./run-
|
|
4
|
-
import "./
|
|
5
|
-
import "./addons-setup-
|
|
2
|
+
import "./errors-D9yiiGVq.mjs";
|
|
3
|
+
import { a as docs, c as sponsors, i as createBtsCli, l as telemetry, n as builder, o as history, r as create, s as router, t as add } from "./run-DRzP53v3.mjs";
|
|
4
|
+
import "./render-title-zvyKC1ej.mjs";
|
|
5
|
+
import "./addons-setup-C_xrNtkL.mjs";
|
|
6
|
+
import "./config-validation-C4glouQh.mjs";
|
|
7
|
+
import "./compatibility-rules-D7zYNVjC.mjs";
|
|
8
|
+
import "./install-dependencies-DDGF-zDG.mjs";
|
|
9
|
+
import "./generated-checks-DUvVXWId.mjs";
|
|
6
10
|
import { EMBEDDED_TEMPLATES, TEMPLATE_COUNT, VirtualFileSystem, generateVirtualProject } from "@better-fullstack/template-generator";
|
|
7
11
|
|
|
8
12
|
//#region src/index.ts
|
|
@@ -93,6 +97,7 @@ async function createVirtual(options) {
|
|
|
93
97
|
rateLimit: options.rateLimit || "none",
|
|
94
98
|
i18n: options.i18n || "none",
|
|
95
99
|
search: options.search || "none",
|
|
100
|
+
vectorDb: options.vectorDb || "none",
|
|
96
101
|
fileStorage: options.fileStorage || "none",
|
|
97
102
|
rustWebFramework: options.rustWebFramework || "none",
|
|
98
103
|
rustFrontend: options.rustFrontend || "none",
|
|
@@ -169,7 +174,7 @@ async function createVirtual(options) {
|
|
|
169
174
|
elixirQuality: options.elixirQuality || (options.ecosystem === "elixir" ? "credo" : "none"),
|
|
170
175
|
elixirDeploy: options.elixirDeploy || "none",
|
|
171
176
|
elixirLibraries: options.elixirLibraries || [],
|
|
172
|
-
aiDocs: options.aiDocs || ["claude-md"]
|
|
177
|
+
aiDocs: options.aiDocs || ["claude-md", "agents-md"]
|
|
173
178
|
};
|
|
174
179
|
if (options.stackParts) config.stackParts = options.stackParts;
|
|
175
180
|
const { generateVirtualProject: generate, EMBEDDED_TEMPLATES: EMBEDDED_TEMPLATES$2 } = await import("@better-fullstack/template-generator");
|
|
@@ -194,4 +199,4 @@ async function createVirtual(options) {
|
|
|
194
199
|
}
|
|
195
200
|
|
|
196
201
|
//#endregion
|
|
197
|
-
export { EMBEDDED_TEMPLATES, TEMPLATE_COUNT, VirtualFileSystem, add, builder, create, createBtsCli, createVirtual, docs, generateVirtualProject, history, router, sponsors };
|
|
202
|
+
export { EMBEDDED_TEMPLATES, TEMPLATE_COUNT, VirtualFileSystem, add, builder, create, createBtsCli, createVirtual, docs, generateVirtualProject, history, router, sponsors, telemetry };
|