create-kubojs 3.36.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,494 @@
1
+ #!/usr/bin/env node
2
+ import * as _$_trpc_server0 from "@trpc/server";
3
+ import * as _$better_result0 from "better-result";
4
+ import { Result, Result as Result$1 } from "better-result";
5
+ import { TrpcCliMeta, createCli } from "trpc-cli";
6
+ import z from "zod";
7
+ import { EMBEDDED_TEMPLATES, GeneratorError, GeneratorError as GeneratorError$1, GeneratorOptions, TEMPLATE_COUNT, VirtualDirectory, VirtualFile, VirtualFileSystem, VirtualFileTree, VirtualFileTree as VirtualFileTree$1, VirtualNode, generate } from "@kubojs/template-generator";
8
+
9
+ //#region src/types.d.ts
10
+
11
+ import * as import__kubojs_types from "@kubojs/types";
12
+ //#endregion
13
+ //#region src/helpers/core/command-handlers.d.ts
14
+ /**
15
+ * Result type for project creation
16
+ */
17
+ interface CreateProjectResult {
18
+ success: boolean;
19
+ projectConfig: types_d_exports.ProjectConfig;
20
+ reproducibleCommand: string;
21
+ timeScaffolded: string;
22
+ elapsedTimeMs: number;
23
+ projectDirectory: string;
24
+ relativePath: string;
25
+ error?: string;
26
+ }
27
+ //#endregion
28
+ //#region src/helpers/core/add-handler.d.ts
29
+ interface AddResult {
30
+ success: boolean;
31
+ addedAddons: types_d_exports.Addons[];
32
+ projectDir: string;
33
+ dryRun?: boolean;
34
+ plannedFileCount?: number;
35
+ error?: string;
36
+ }
37
+ //#endregion
38
+ //#region src/utils/errors.d.ts
39
+ declare const UserCancelledError_base: _$better_result0.TaggedErrorClass<"UserCancelledError", {
40
+ message: string;
41
+ }>;
42
+ /**
43
+ * User cancelled the operation (e.g., Ctrl+C in prompts)
44
+ */
45
+ declare class UserCancelledError extends UserCancelledError_base {
46
+ constructor(args?: {
47
+ message?: string;
48
+ });
49
+ }
50
+ declare const CLIError_base: _$better_result0.TaggedErrorClass<"CLIError", {
51
+ message: string;
52
+ cause?: unknown;
53
+ }>;
54
+ /**
55
+ * General CLI error for validation failures, invalid flags, etc.
56
+ */
57
+ declare class CLIError extends CLIError_base {}
58
+ declare const ValidationError_base: _$better_result0.TaggedErrorClass<"ValidationError", {
59
+ field?: string;
60
+ value?: unknown;
61
+ message: string;
62
+ }>;
63
+ /**
64
+ * Validation error for config/flag validation failures
65
+ */
66
+ declare class ValidationError extends ValidationError_base {
67
+ constructor(args: {
68
+ field?: string;
69
+ value?: unknown;
70
+ message: string;
71
+ });
72
+ }
73
+ declare const CompatibilityError_base: _$better_result0.TaggedErrorClass<"CompatibilityError", {
74
+ options: string[];
75
+ message: string;
76
+ }>;
77
+ /**
78
+ * Compatibility error for incompatible option combinations
79
+ */
80
+ declare class CompatibilityError extends CompatibilityError_base {
81
+ constructor(args: {
82
+ options: string[];
83
+ message: string;
84
+ });
85
+ }
86
+ declare const DirectoryConflictError_base: _$better_result0.TaggedErrorClass<"DirectoryConflictError", {
87
+ directory: string;
88
+ message: string;
89
+ }>;
90
+ /**
91
+ * Directory conflict error when target directory exists and is not empty
92
+ */
93
+ declare class DirectoryConflictError extends DirectoryConflictError_base {
94
+ constructor(args: {
95
+ directory: string;
96
+ });
97
+ }
98
+ declare const ProjectCreationError_base: _$better_result0.TaggedErrorClass<"ProjectCreationError", {
99
+ phase: string;
100
+ message: string;
101
+ cause?: unknown;
102
+ }>;
103
+ /**
104
+ * Project creation error for failures during scaffolding
105
+ */
106
+ declare class ProjectCreationError extends ProjectCreationError_base {
107
+ constructor(args: {
108
+ phase: string;
109
+ message: string;
110
+ cause?: unknown;
111
+ });
112
+ }
113
+ declare const DatabaseSetupError_base: _$better_result0.TaggedErrorClass<"DatabaseSetupError", {
114
+ provider: string;
115
+ message: string;
116
+ cause?: unknown;
117
+ }>;
118
+ /**
119
+ * Database setup error for failures during database configuration
120
+ */
121
+ declare class DatabaseSetupError extends DatabaseSetupError_base {
122
+ constructor(args: {
123
+ provider: string;
124
+ message: string;
125
+ cause?: unknown;
126
+ });
127
+ }
128
+ //#endregion
129
+ //#region src/index.d.ts
130
+ declare const SchemaNameSchema: z.ZodDefault<z.ZodEnum<{
131
+ all: "all";
132
+ cli: "cli";
133
+ database: "database";
134
+ orm: "orm";
135
+ backend: "backend";
136
+ runtime: "runtime";
137
+ frontend: "frontend";
138
+ addons: "addons";
139
+ examples: "examples";
140
+ packageManager: "packageManager";
141
+ databaseSetup: "databaseSetup";
142
+ api: "api";
143
+ auth: "auth";
144
+ payments: "payments";
145
+ observability: "observability";
146
+ webDeploy: "webDeploy";
147
+ serverDeploy: "serverDeploy";
148
+ directoryConflict: "directoryConflict";
149
+ template: "template";
150
+ addonOptions: "addonOptions";
151
+ dbSetupOptions: "dbSetupOptions";
152
+ createInput: "createInput";
153
+ addInput: "addInput";
154
+ projectConfig: "projectConfig";
155
+ betterTStackConfig: "betterTStackConfig";
156
+ betterTStackConfigFile: "betterTStackConfigFile";
157
+ initResult: "initResult";
158
+ }>>;
159
+ type SchemaName = z.infer<typeof SchemaNameSchema>;
160
+ declare function getSchemaResult(name: SchemaName): unknown;
161
+ declare const router: _$_trpc_server0.TRPCBuiltRouter<{
162
+ ctx: object;
163
+ meta: TrpcCliMeta;
164
+ errorShape: _$_trpc_server0.TRPCDefaultErrorShape;
165
+ transformer: false;
166
+ }, _$_trpc_server0.TRPCDecorateCreateRouterOptions<{
167
+ create: _$_trpc_server0.TRPCMutationProcedure<{
168
+ input: [string | undefined, {
169
+ template?: "none" | "mern" | "pern" | "t3" | "uniwind" | undefined;
170
+ yes?: boolean | undefined;
171
+ yolo?: boolean | undefined;
172
+ dryRun?: boolean | undefined;
173
+ verbose?: boolean | undefined;
174
+ database?: "none" | "sqlite" | "postgres" | "mysql" | "mongodb" | undefined;
175
+ orm?: "none" | "drizzle" | "prisma" | "mongoose" | undefined;
176
+ auth?: "none" | "better-auth" | "clerk" | undefined;
177
+ payments?: "none" | "abacatepay" | undefined;
178
+ observability?: "none" | "getmonitor" | undefined;
179
+ frontend?: ("none" | "tanstack-router" | "react-router" | "tanstack-start" | "next" | "nuxt" | "native-bare" | "native-uniwind" | "native-unistyles" | "svelte" | "solid" | "astro")[] | undefined;
180
+ addons?: ("none" | "pwa" | "tauri" | "electrobun" | "starlight" | "biome" | "lefthook" | "husky" | "mcp" | "turborepo" | "nx" | "vite-plus" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "skills" | "evlog")[] | undefined;
181
+ examples?: ("none" | "todo" | "ai")[] | undefined;
182
+ git?: boolean | undefined;
183
+ packageManager?: "bun" | "npm" | "pnpm" | undefined;
184
+ install?: boolean | undefined;
185
+ dbSetup?: "none" | "turso" | "neon" | "prisma-postgres" | "planetscale" | "mongodb-atlas" | "supabase" | "d1" | "docker" | undefined;
186
+ backend?: "none" | "hono" | "express" | "fastify" | "elysia" | "convex" | "self" | undefined;
187
+ runtime?: "none" | "bun" | "node" | "workers" | undefined;
188
+ api?: "none" | "trpc" | "orpc" | undefined;
189
+ webDeploy?: "none" | "docker" | "cloudflare" | "vercel" | "guaracloud" | undefined;
190
+ serverDeploy?: "none" | "docker" | "cloudflare" | "vercel" | "guaracloud" | undefined;
191
+ directoryConflict?: "merge" | "overwrite" | "increment" | "error" | undefined;
192
+ renderTitle?: boolean | undefined;
193
+ disableAnalytics?: boolean | undefined;
194
+ manualDb?: boolean | undefined;
195
+ dbSetupOptions?: {
196
+ mode?: "manual" | "auto" | undefined;
197
+ neon?: {
198
+ method?: "neondb" | "neonctl" | undefined;
199
+ projectName?: string | undefined;
200
+ regionId?: string | undefined;
201
+ } | undefined;
202
+ prismaPostgres?: {
203
+ regionId?: string | undefined;
204
+ } | undefined;
205
+ turso?: {
206
+ databaseName?: string | undefined;
207
+ groupName?: string | undefined;
208
+ installCli?: boolean | undefined;
209
+ } | undefined;
210
+ } | undefined;
211
+ }];
212
+ output: CreateProjectResult | undefined;
213
+ meta: TrpcCliMeta;
214
+ }>;
215
+ createJson: _$_trpc_server0.TRPCMutationProcedure<{
216
+ input: {
217
+ projectName?: string | undefined;
218
+ template?: "none" | "mern" | "pern" | "t3" | "uniwind" | undefined;
219
+ yes?: boolean | undefined;
220
+ yolo?: boolean | undefined;
221
+ dryRun?: boolean | undefined;
222
+ verbose?: boolean | undefined;
223
+ addonOptions?: {
224
+ wxt?: {
225
+ template: "svelte" | "solid" | "vanilla" | "vue" | "react";
226
+ devPort?: number | undefined;
227
+ } | undefined;
228
+ fumadocs?: {
229
+ template: "react-router" | "tanstack-start" | "next-mdx" | "next-mdx-static" | "waku" | "react-router-spa" | "tanstack-start-spa";
230
+ devPort?: number | undefined;
231
+ search?: "orama" | "orama-cloud" | undefined;
232
+ ogImage?: "next-og" | "takumi" | undefined;
233
+ aiChat?: "openrouter" | "llmgateway" | "inkeep" | undefined;
234
+ } | undefined;
235
+ opentui?: {
236
+ template: "solid" | "react" | "core";
237
+ } | undefined;
238
+ mcp?: {
239
+ scope?: "project" | "global" | undefined;
240
+ servers?: ("nx" | "better-auth" | "clerk" | "neon" | "planetscale" | "supabase" | "convex" | "kubojs" | "context7" | "cloudflare-docs" | "shadcn" | "next-devtools" | "nuxt-docs" | "nuxt-ui-docs" | "svelte-docs" | "astro-docs" | "expo" | "polar")[] | undefined;
241
+ agents?: ("antigravity" | "cline" | "cline-cli" | "cursor" | "claude-code" | "codex" | "opencode" | "gemini-cli" | "github-copilot-cli" | "mcporter" | "vscode" | "zed" | "claude-desktop" | "goose")[] | undefined;
242
+ } | undefined;
243
+ skills?: {
244
+ scope?: "project" | "global" | undefined;
245
+ agents?: ("antigravity" | "cline" | "cursor" | "claude-code" | "codex" | "opencode" | "gemini-cli" | "goose" | "github-copilot" | "windsurf" | "roo" | "kilo" | "openhands" | "trae" | "amp" | "pi" | "qoder" | "qwen-code" | "kiro-cli" | "droid" | "command-code" | "clawdbot" | "zencoder" | "neovate" | "mcpjam")[] | undefined;
246
+ selections?: {
247
+ source: "vercel-labs/agent-skills" | "vercel/ai" | "vercel/turborepo" | "yusukebe/hono-skill" | "vercel-labs/next-skills" | "nuxt/ui" | "heroui-inc/heroui" | "shadcn/ui" | "better-auth/skills" | "clerk/skills" | "neondatabase/agent-skills" | "supabase/agent-skills" | "planetscale/database-skills" | "expo/skills" | "prisma/skills" | "elysiajs/skills" | "waynesutton/convexskills" | "msmps/opentui-skill" | "haydenbleasel/ultracite" | "https://www.evlog.dev";
248
+ skills: string[];
249
+ }[] | undefined;
250
+ } | undefined;
251
+ ultracite?: {
252
+ linter?: "biome" | "oxlint" | undefined;
253
+ editors?: ("void" | "antigravity" | "cursor" | "vscode" | "zed" | "windsurf" | "trae" | "codebuddy" | "bob" | "kiro")[] | undefined;
254
+ agents?: ("vercel" | "cline" | "codex" | "opencode" | "goose" | "amp" | "pi" | "qoder" | "droid" | "zencoder" | "mcpjam" | "bob" | "universal" | "claude" | "jules" | "replit" | "devin" | "lovable" | "ona" | "openclaw" | "continue" | "snowflake-cortex" | "deepagents" | "kimi-cli" | "mux" | "adal" | "copilot" | "aider" | "firebase-studio" | "open-hands" | "gemini" | "junie" | "augmentcode" | "kilo-code" | "roo-code" | "warp" | "crush" | "qwen" | "amazon-q-cli" | "firebender" | "cursor-cli" | "mistral-vibe")[] | undefined;
255
+ hooks?: ("cursor" | "windsurf" | "codebuddy" | "claude" | "copilot")[] | undefined;
256
+ } | undefined;
257
+ } | undefined;
258
+ dbSetupOptions?: {
259
+ mode?: "manual" | "auto" | undefined;
260
+ neon?: {
261
+ method?: "neondb" | "neonctl" | undefined;
262
+ projectName?: string | undefined;
263
+ regionId?: string | undefined;
264
+ } | undefined;
265
+ prismaPostgres?: {
266
+ regionId?: string | undefined;
267
+ } | undefined;
268
+ turso?: {
269
+ databaseName?: string | undefined;
270
+ groupName?: string | undefined;
271
+ installCli?: boolean | undefined;
272
+ } | undefined;
273
+ } | undefined;
274
+ database?: "none" | "sqlite" | "postgres" | "mysql" | "mongodb" | undefined;
275
+ orm?: "none" | "drizzle" | "prisma" | "mongoose" | undefined;
276
+ auth?: "none" | "better-auth" | "clerk" | undefined;
277
+ payments?: "none" | "abacatepay" | undefined;
278
+ observability?: "none" | "getmonitor" | undefined;
279
+ frontend?: ("none" | "tanstack-router" | "react-router" | "tanstack-start" | "next" | "nuxt" | "native-bare" | "native-uniwind" | "native-unistyles" | "svelte" | "solid" | "astro")[] | undefined;
280
+ addons?: ("none" | "pwa" | "tauri" | "electrobun" | "starlight" | "biome" | "lefthook" | "husky" | "mcp" | "turborepo" | "nx" | "vite-plus" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "skills" | "evlog")[] | undefined;
281
+ examples?: ("none" | "todo" | "ai")[] | undefined;
282
+ git?: boolean | undefined;
283
+ packageManager?: "bun" | "npm" | "pnpm" | undefined;
284
+ install?: boolean | undefined;
285
+ dbSetup?: "none" | "turso" | "neon" | "prisma-postgres" | "planetscale" | "mongodb-atlas" | "supabase" | "d1" | "docker" | undefined;
286
+ backend?: "none" | "hono" | "express" | "fastify" | "elysia" | "convex" | "self" | undefined;
287
+ runtime?: "none" | "bun" | "node" | "workers" | undefined;
288
+ api?: "none" | "trpc" | "orpc" | undefined;
289
+ webDeploy?: "none" | "docker" | "cloudflare" | "vercel" | "guaracloud" | undefined;
290
+ serverDeploy?: "none" | "docker" | "cloudflare" | "vercel" | "guaracloud" | undefined;
291
+ directoryConflict?: "merge" | "overwrite" | "increment" | "error" | undefined;
292
+ renderTitle?: boolean | undefined;
293
+ disableAnalytics?: boolean | undefined;
294
+ manualDb?: boolean | undefined;
295
+ };
296
+ output: CreateProjectResult;
297
+ meta: TrpcCliMeta;
298
+ }>;
299
+ schema: _$_trpc_server0.TRPCQueryProcedure<{
300
+ input: {
301
+ name?: "all" | "cli" | "database" | "orm" | "backend" | "runtime" | "frontend" | "addons" | "examples" | "packageManager" | "databaseSetup" | "api" | "auth" | "payments" | "observability" | "webDeploy" | "serverDeploy" | "directoryConflict" | "template" | "addonOptions" | "dbSetupOptions" | "createInput" | "addInput" | "projectConfig" | "betterTStackConfig" | "betterTStackConfigFile" | "initResult" | undefined;
302
+ };
303
+ output: unknown;
304
+ meta: TrpcCliMeta;
305
+ }>;
306
+ sponsors: _$_trpc_server0.TRPCMutationProcedure<{
307
+ input: void;
308
+ output: void;
309
+ meta: TrpcCliMeta;
310
+ }>;
311
+ docs: _$_trpc_server0.TRPCMutationProcedure<{
312
+ input: void;
313
+ output: void;
314
+ meta: TrpcCliMeta;
315
+ }>;
316
+ builder: _$_trpc_server0.TRPCMutationProcedure<{
317
+ input: void;
318
+ output: void;
319
+ meta: TrpcCliMeta;
320
+ }>;
321
+ add: _$_trpc_server0.TRPCMutationProcedure<{
322
+ input: {
323
+ addons?: ("none" | "pwa" | "tauri" | "electrobun" | "starlight" | "biome" | "lefthook" | "husky" | "mcp" | "turborepo" | "nx" | "vite-plus" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "skills" | "evlog")[] | undefined;
324
+ install?: boolean | undefined;
325
+ packageManager?: "bun" | "npm" | "pnpm" | undefined;
326
+ projectDir?: string | undefined;
327
+ };
328
+ output: void;
329
+ meta: TrpcCliMeta;
330
+ }>;
331
+ addJson: _$_trpc_server0.TRPCMutationProcedure<{
332
+ input: {
333
+ addons?: ("none" | "pwa" | "tauri" | "electrobun" | "starlight" | "biome" | "lefthook" | "husky" | "mcp" | "turborepo" | "nx" | "vite-plus" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "skills" | "evlog")[] | undefined;
334
+ addonOptions?: {
335
+ wxt?: {
336
+ template: "svelte" | "solid" | "vanilla" | "vue" | "react";
337
+ devPort?: number | undefined;
338
+ } | undefined;
339
+ fumadocs?: {
340
+ template: "react-router" | "tanstack-start" | "next-mdx" | "next-mdx-static" | "waku" | "react-router-spa" | "tanstack-start-spa";
341
+ devPort?: number | undefined;
342
+ search?: "orama" | "orama-cloud" | undefined;
343
+ ogImage?: "next-og" | "takumi" | undefined;
344
+ aiChat?: "openrouter" | "llmgateway" | "inkeep" | undefined;
345
+ } | undefined;
346
+ opentui?: {
347
+ template: "solid" | "react" | "core";
348
+ } | undefined;
349
+ mcp?: {
350
+ scope?: "project" | "global" | undefined;
351
+ servers?: ("nx" | "better-auth" | "clerk" | "neon" | "planetscale" | "supabase" | "convex" | "kubojs" | "context7" | "cloudflare-docs" | "shadcn" | "next-devtools" | "nuxt-docs" | "nuxt-ui-docs" | "svelte-docs" | "astro-docs" | "expo" | "polar")[] | undefined;
352
+ agents?: ("antigravity" | "cline" | "cline-cli" | "cursor" | "claude-code" | "codex" | "opencode" | "gemini-cli" | "github-copilot-cli" | "mcporter" | "vscode" | "zed" | "claude-desktop" | "goose")[] | undefined;
353
+ } | undefined;
354
+ skills?: {
355
+ scope?: "project" | "global" | undefined;
356
+ agents?: ("antigravity" | "cline" | "cursor" | "claude-code" | "codex" | "opencode" | "gemini-cli" | "goose" | "github-copilot" | "windsurf" | "roo" | "kilo" | "openhands" | "trae" | "amp" | "pi" | "qoder" | "qwen-code" | "kiro-cli" | "droid" | "command-code" | "clawdbot" | "zencoder" | "neovate" | "mcpjam")[] | undefined;
357
+ selections?: {
358
+ source: "vercel-labs/agent-skills" | "vercel/ai" | "vercel/turborepo" | "yusukebe/hono-skill" | "vercel-labs/next-skills" | "nuxt/ui" | "heroui-inc/heroui" | "shadcn/ui" | "better-auth/skills" | "clerk/skills" | "neondatabase/agent-skills" | "supabase/agent-skills" | "planetscale/database-skills" | "expo/skills" | "prisma/skills" | "elysiajs/skills" | "waynesutton/convexskills" | "msmps/opentui-skill" | "haydenbleasel/ultracite" | "https://www.evlog.dev";
359
+ skills: string[];
360
+ }[] | undefined;
361
+ } | undefined;
362
+ ultracite?: {
363
+ linter?: "biome" | "oxlint" | undefined;
364
+ editors?: ("void" | "antigravity" | "cursor" | "vscode" | "zed" | "windsurf" | "trae" | "codebuddy" | "bob" | "kiro")[] | undefined;
365
+ agents?: ("vercel" | "cline" | "codex" | "opencode" | "goose" | "amp" | "pi" | "qoder" | "droid" | "zencoder" | "mcpjam" | "bob" | "universal" | "claude" | "jules" | "replit" | "devin" | "lovable" | "ona" | "openclaw" | "continue" | "snowflake-cortex" | "deepagents" | "kimi-cli" | "mux" | "adal" | "copilot" | "aider" | "firebase-studio" | "open-hands" | "gemini" | "junie" | "augmentcode" | "kilo-code" | "roo-code" | "warp" | "crush" | "qwen" | "amazon-q-cli" | "firebender" | "cursor-cli" | "mistral-vibe")[] | undefined;
366
+ hooks?: ("cursor" | "windsurf" | "codebuddy" | "claude" | "copilot")[] | undefined;
367
+ } | undefined;
368
+ } | undefined;
369
+ webDeploy?: "none" | "docker" | "cloudflare" | "vercel" | "guaracloud" | undefined;
370
+ serverDeploy?: "none" | "docker" | "cloudflare" | "vercel" | "guaracloud" | undefined;
371
+ projectDir?: string | undefined;
372
+ install?: boolean | undefined;
373
+ packageManager?: "bun" | "npm" | "pnpm" | undefined;
374
+ dryRun?: boolean | undefined;
375
+ };
376
+ output: AddResult;
377
+ meta: TrpcCliMeta;
378
+ }>;
379
+ history: _$_trpc_server0.TRPCMutationProcedure<{
380
+ input: {
381
+ limit?: number | undefined;
382
+ clear?: boolean | undefined;
383
+ json?: boolean | undefined;
384
+ };
385
+ output: void;
386
+ meta: TrpcCliMeta;
387
+ }>;
388
+ }>>;
389
+ declare function createBtsCli(): ReturnType<typeof createCli>;
390
+ /**
391
+ * Error types that can be returned from create/createVirtual
392
+ */
393
+ type CreateError = UserCancelledError | CLIError | ProjectCreationError;
394
+ /**
395
+ * Programmatic API to create a new I dont know project.
396
+ * Returns a Result type - no console output, no interactive prompts.
397
+ *
398
+ * @example
399
+ * ```typescript
400
+ * import { create, Result } from "kubojs";
401
+ *
402
+ * const result = await create("my-app", {
403
+ * frontend: ["tanstack-router"],
404
+ * backend: "hono",
405
+ * runtime: "bun",
406
+ * database: "sqlite",
407
+ * orm: "drizzle",
408
+ * });
409
+ *
410
+ * result.match({
411
+ * ok: (data) => console.log(`Project created at: ${data.projectDirectory}`),
412
+ * err: (error) => console.error(`Failed: ${error.message}`),
413
+ * });
414
+ *
415
+ * // Or use unwrapOr for a default value
416
+ * const data = result.unwrapOr(null);
417
+ * ```
418
+ */
419
+ declare function create(projectName?: string, options?: Partial<types_d_exports.CreateInput>): Promise<Result$1<types_d_exports.InitResult, CreateError>>;
420
+ declare function sponsors(): Promise<void>;
421
+ declare function docs(): Promise<void>;
422
+ declare function builder(): Promise<void>;
423
+ /**
424
+ * Programmatic API to generate a project in-memory (virtual filesystem).
425
+ * Returns a Result with a VirtualFileTree without writing to disk.
426
+ * Useful for web previews and testing.
427
+ *
428
+ * @example
429
+ * ```typescript
430
+ * import { createVirtual, EMBEDDED_TEMPLATES, Result } from "kubojs";
431
+ *
432
+ * const result = await createVirtual({
433
+ * frontend: ["tanstack-router"],
434
+ * backend: "hono",
435
+ * runtime: "bun",
436
+ * database: "sqlite",
437
+ * orm: "drizzle",
438
+ * });
439
+ *
440
+ * result.match({
441
+ * ok: (tree) => console.log(`Generated ${tree.fileCount} files`),
442
+ * err: (error) => console.error(`Failed: ${error.message}`),
443
+ * });
444
+ * ```
445
+ */
446
+ declare function createVirtual(options: Partial<Omit<types_d_exports.ProjectConfig, "projectDir" | "relativePath">>): Promise<Result$1<VirtualFileTree$1, GeneratorError$1>>;
447
+ /**
448
+ * Programmatic API to add addons to an existing I dont know project.
449
+ *
450
+ * @example
451
+ * ```typescript
452
+ * import { add } from "kubojs";
453
+ *
454
+ * const result = await add({
455
+ * addons: ["biome", "husky"],
456
+ * install: true,
457
+ * });
458
+ *
459
+ * if (result?.success) {
460
+ * console.log(`Added: ${result.addedAddons.join(", ")}`);
461
+ * }
462
+ * ```
463
+ */
464
+ declare function add(options?: {
465
+ addons?: types_d_exports.Addons[];
466
+ addonOptions?: types_d_exports.AddonOptions;
467
+ install?: boolean;
468
+ packageManager?: types_d_exports.PackageManager;
469
+ projectDir?: string;
470
+ dryRun?: boolean;
471
+ }): Promise<AddResult | undefined>;
472
+ type API = import__kubojs_types.API;
473
+ type AddonOptions = import__kubojs_types.AddonOptions;
474
+ type Addons = import__kubojs_types.Addons;
475
+ type Auth = import__kubojs_types.Auth;
476
+ type Backend = import__kubojs_types.Backend;
477
+ type BetterTStackConfig = import__kubojs_types.BetterTStackConfig;
478
+ type CreateInput = import__kubojs_types.CreateInput;
479
+ type Database = import__kubojs_types.Database;
480
+ type DatabaseSetup = import__kubojs_types.DatabaseSetup;
481
+ type DbSetupOptions = import__kubojs_types.DbSetupOptions;
482
+ type DirectoryConflict = import__kubojs_types.DirectoryConflict;
483
+ type Examples = import__kubojs_types.Examples;
484
+ type Frontend = import__kubojs_types.Frontend;
485
+ type InitResult = import__kubojs_types.InitResult;
486
+ type ORM = import__kubojs_types.ORM;
487
+ type Observability = import__kubojs_types.Observability;
488
+ type PackageManager = import__kubojs_types.PackageManager;
489
+ type Payments = import__kubojs_types.Payments;
490
+ type Runtime = import__kubojs_types.Runtime;
491
+ type ServerDeploy = import__kubojs_types.ServerDeploy;
492
+ type Template = import__kubojs_types.Template;
493
+ type WebDeploy = import__kubojs_types.WebDeploy;
494
+ export { type API, type AddResult, type AddonOptions, type Addons, type Auth, type Backend, type BetterTStackConfig, CLIError, CompatibilityError, CreateError, type CreateInput, type Database, type DatabaseSetup, DatabaseSetupError, type DbSetupOptions, type DirectoryConflict, DirectoryConflictError, EMBEDDED_TEMPLATES, type Examples, type Frontend, GeneratorError, type GeneratorOptions, type InitResult, type ORM, type Observability, type PackageManager, type Payments, ProjectCreationError, Result, type Runtime, SchemaName, SchemaNameSchema, type ServerDeploy, TEMPLATE_COUNT, type Template, UserCancelledError, ValidationError, type VirtualDirectory, type VirtualFile, VirtualFileSystem, type VirtualFileTree, type VirtualNode, type WebDeploy, add, builder, create, createBtsCli, createVirtual, docs, generate, getSchemaResult, router, sponsors };
package/dist/index.mjs ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import { C as ProjectCreationError, S as DirectoryConflictError, T as ValidationError, a as TEMPLATE_COUNT, b as CompatibilityError, c as builder, d as createVirtual, f as docs, g as sponsors, h as router, i as SchemaNameSchema, l as create, m as getSchemaResult, n as GeneratorError, o as VirtualFileSystem, p as generate, r as Result, s as add, t as EMBEDDED_TEMPLATES, u as createBtsCli, w as UserCancelledError, x as DatabaseSetupError, y as CLIError } from "./src-BpWey5Sf.mjs";
3
+ export { CLIError, CompatibilityError, DatabaseSetupError, DirectoryConflictError, EMBEDDED_TEMPLATES, GeneratorError, ProjectCreationError, Result, SchemaNameSchema, TEMPLATE_COUNT, UserCancelledError, ValidationError, VirtualFileSystem, add, builder, create, createBtsCli, createVirtual, docs, generate, getSchemaResult, router, sponsors };