create-better-fullstack 1.3.14 → 1.3.16

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 CHANGED
@@ -57,6 +57,22 @@ npx create-better-fullstack --backend elysia --runtime node
57
57
  npx create-better-fullstack --frontend tanstack-router native-bare
58
58
  ```
59
59
 
60
+ ## Additional Commands
61
+
62
+ ```bash
63
+ # Add new addons to an existing Better Fullstack project
64
+ npx create-better-fullstack add --addons mcp skills --install
65
+
66
+ # Show recent project history
67
+ npx create-better-fullstack history --limit 10
68
+
69
+ # Output history as JSON
70
+ npx create-better-fullstack history --json
71
+
72
+ # Clear saved history
73
+ npx create-better-fullstack history --clear
74
+ ```
75
+
60
76
  ## Project Structure
61
77
 
62
78
  ```
package/dist/cli.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { o as createBtsCli } from "./src-BkMjJY-W.mjs";
2
+ import { s as createBtsCli } from "./src-zCIIp5Gn.mjs";
3
3
 
4
4
  //#region src/cli.ts
5
5
  createBtsCli().run();
package/dist/index.d.mts CHANGED
@@ -8,6 +8,14 @@ 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/add-handler.d.ts
12
+ interface AddResult {
13
+ success: boolean;
14
+ addedAddons: types_d_exports.Addons[];
15
+ projectDir: string;
16
+ error?: string;
17
+ }
18
+ //#endregion
11
19
  //#region src/index.d.ts
12
20
  declare const router: {
13
21
  create: _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<{
@@ -230,6 +238,8 @@ declare const router: {
230
238
  lefthook: "lefthook";
231
239
  husky: "husky";
232
240
  ruler: "ruler";
241
+ mcp: "mcp";
242
+ skills: "skills";
233
243
  turborepo: "turborepo";
234
244
  fumadocs: "fumadocs";
235
245
  ultracite: "ultracite";
@@ -441,7 +451,7 @@ declare const router: {
441
451
  backend: "none" | "hono" | "express" | "fastify" | "elysia" | "fets" | "nestjs" | "adonisjs" | "nitro" | "encore" | "convex" | "self";
442
452
  runtime: "none" | "bun" | "node" | "workers";
443
453
  frontend: ("none" | "tanstack-router" | "react-router" | "tanstack-start" | "next" | "nuxt" | "native-bare" | "native-uniwind" | "native-unistyles" | "svelte" | "solid" | "astro" | "qwik" | "angular" | "redwood" | "fresh")[];
444
- addons: ("none" | "pwa" | "tauri" | "starlight" | "biome" | "lefthook" | "husky" | "ruler" | "turborepo" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "msw" | "storybook")[];
454
+ addons: ("none" | "pwa" | "tauri" | "starlight" | "biome" | "lefthook" | "husky" | "ruler" | "mcp" | "skills" | "turborepo" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "msw" | "storybook")[];
445
455
  examples: ("ai" | "none")[];
446
456
  auth: "none" | "better-auth" | "clerk" | "nextauth" | "stack-auth" | "supabase-auth" | "auth0";
447
457
  payments: "none" | "polar" | "stripe" | "lemon-squeezy" | "paddle" | "dodo";
@@ -520,7 +530,7 @@ declare const router: {
520
530
  backend: "none" | "hono" | "express" | "fastify" | "elysia" | "fets" | "nestjs" | "adonisjs" | "nitro" | "encore" | "convex" | "self";
521
531
  runtime: "none" | "bun" | "node" | "workers";
522
532
  frontend: ("none" | "tanstack-router" | "react-router" | "tanstack-start" | "next" | "nuxt" | "native-bare" | "native-uniwind" | "native-unistyles" | "svelte" | "solid" | "astro" | "qwik" | "angular" | "redwood" | "fresh")[];
523
- addons: ("none" | "pwa" | "tauri" | "starlight" | "biome" | "lefthook" | "husky" | "ruler" | "turborepo" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "msw" | "storybook")[];
533
+ addons: ("none" | "pwa" | "tauri" | "starlight" | "biome" | "lefthook" | "husky" | "ruler" | "mcp" | "skills" | "turborepo" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "msw" | "storybook")[];
524
534
  examples: ("ai" | "none")[];
525
535
  auth: "none" | "better-auth" | "clerk" | "nextauth" | "stack-auth" | "supabase-auth" | "auth0";
526
536
  payments: "none" | "polar" | "stripe" | "lemon-squeezy" | "paddle" | "dodo";
@@ -591,6 +601,56 @@ declare const router: {
591
601
  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>>;
592
602
  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>>;
593
603
  builder: _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>>;
604
+ add: _orpc_server0.Procedure<_orpc_server0.MergedInitialContext<Record<never, never>, Record<never, never>, Record<never, never>>, Record<never, never>, z.ZodObject<{
605
+ addons: z.ZodOptional<z.ZodArray<z.ZodEnum<{
606
+ none: "none";
607
+ pwa: "pwa";
608
+ tauri: "tauri";
609
+ starlight: "starlight";
610
+ biome: "biome";
611
+ lefthook: "lefthook";
612
+ husky: "husky";
613
+ ruler: "ruler";
614
+ mcp: "mcp";
615
+ skills: "skills";
616
+ turborepo: "turborepo";
617
+ fumadocs: "fumadocs";
618
+ ultracite: "ultracite";
619
+ oxlint: "oxlint";
620
+ opentui: "opentui";
621
+ wxt: "wxt";
622
+ msw: "msw";
623
+ storybook: "storybook";
624
+ }>>>;
625
+ webDeploy: z.ZodOptional<z.ZodEnum<{
626
+ none: "none";
627
+ docker: "docker";
628
+ cloudflare: "cloudflare";
629
+ fly: "fly";
630
+ railway: "railway";
631
+ sst: "sst";
632
+ }>>;
633
+ serverDeploy: z.ZodOptional<z.ZodEnum<{
634
+ none: "none";
635
+ docker: "docker";
636
+ cloudflare: "cloudflare";
637
+ fly: "fly";
638
+ railway: "railway";
639
+ sst: "sst";
640
+ }>>;
641
+ install: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
642
+ packageManager: z.ZodOptional<z.ZodEnum<{
643
+ bun: "bun";
644
+ npm: "npm";
645
+ pnpm: "pnpm";
646
+ }>>;
647
+ projectDir: z.ZodOptional<z.ZodString>;
648
+ }, z.core.$strip>, _orpc_server0.Schema<void, void>, _orpc_server0.MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
649
+ history: _orpc_server0.Procedure<_orpc_server0.MergedInitialContext<Record<never, never>, Record<never, never>, Record<never, never>>, Record<never, never>, z.ZodObject<{
650
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
651
+ clear: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
652
+ json: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
653
+ }, z.core.$strip>, _orpc_server0.Schema<void, void>, _orpc_server0.MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
594
654
  "update-deps": _orpc_server0.Procedure<_orpc_server0.MergedInitialContext<Record<never, never>, Record<never, never>, Record<never, never>>, Record<never, never>, z.ZodObject<{
595
655
  check: z.ZodDefault<z.ZodBoolean>;
596
656
  patch: z.ZodDefault<z.ZodBoolean>;
@@ -625,6 +685,12 @@ declare function create(projectName?: string, options?: Partial<types_d_exports.
625
685
  declare function sponsors(): Promise<void>;
626
686
  declare function docs(): Promise<void>;
627
687
  declare function builder(): Promise<void>;
688
+ declare function add(input: types_d_exports.AddInput): Promise<AddResult | undefined>;
689
+ declare function history(options?: {
690
+ limit?: number;
691
+ clear?: boolean;
692
+ json?: boolean;
693
+ }): Promise<void>;
628
694
  /**
629
695
  * Programmatic API to generate a project in-memory (virtual filesystem).
630
696
  * Returns a VirtualFileTree without writing to disk.
@@ -653,6 +719,7 @@ declare function createVirtual(options: Partial<Omit<types_d_exports.ProjectConf
653
719
  error?: string;
654
720
  }>;
655
721
  type API = import__better_fullstack_types.API;
722
+ type AddInput = import__better_fullstack_types.AddInput;
656
723
  type Addons = import__better_fullstack_types.Addons;
657
724
  type AiDocs = import__better_fullstack_types.AiDocs;
658
725
  type Analytics = import__better_fullstack_types.Analytics;
@@ -699,4 +766,4 @@ type ServerDeploy = import__better_fullstack_types.ServerDeploy;
699
766
  type Template = import__better_fullstack_types.Template;
700
767
  type UILibrary = import__better_fullstack_types.UILibrary;
701
768
  type WebDeploy = import__better_fullstack_types.WebDeploy;
702
- export { type API, 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 GoCli, type GoLogging, type GoOrm, type GoWebFramework, type InitResult, 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 RustOrm, type RustWebFramework, type ServerDeploy, TEMPLATE_COUNT, type Template, type UILibrary, type VirtualDirectory, type VirtualFile, VirtualFileSystem, type VirtualFileTree, type VirtualNode, type WebDeploy, builder, create, createBtsCli, createVirtual, docs, generateVirtualProject, router, sponsors };
769
+ 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 GoCli, type GoLogging, type GoOrm, type GoWebFramework, type InitResult, 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 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 };
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
1
  #!/usr/bin/env node
2
- import { a as create, c as docs, d as sponsors, i as builder, l as generateVirtualProject, n as TEMPLATE_COUNT, o as createBtsCli, r as VirtualFileSystem, s as createVirtual, t as EMBEDDED_TEMPLATES, u as router } from "./src-BkMjJY-W.mjs";
2
+ import { a as builder, c as createVirtual, d as history, f as router, i as add, l as docs, n as TEMPLATE_COUNT, o as create, p as sponsors, r as VirtualFileSystem, s as createBtsCli, t as EMBEDDED_TEMPLATES, u as generateVirtualProject } from "./src-zCIIp5Gn.mjs";
3
3
 
4
- export { EMBEDDED_TEMPLATES, TEMPLATE_COUNT, VirtualFileSystem, builder, create, createBtsCli, createVirtual, docs, generateVirtualProject, router, sponsors };
4
+ export { EMBEDDED_TEMPLATES, TEMPLATE_COUNT, VirtualFileSystem, add, builder, create, createBtsCli, createVirtual, docs, generateVirtualProject, history, router, sponsors };