create-better-fullstack 1.6.0 → 1.6.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.
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import "./bts-config-snHxP_EH.mjs";
2
+ import "./bts-config-B_rZ4_sj.mjs";
3
3
  import { t as startMcpServer } from "./mcp-entry.mjs";
4
4
 
5
5
  export { startMcpServer };
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
- import { i as getLatestCLIVersion, r as writeBtsConfig, t as readBtsConfig } from "./bts-config-snHxP_EH.mjs";
2
+ import { i as getLatestCLIVersion, r as writeBtsConfig, t as readBtsConfig } from "./bts-config-B_rZ4_sj.mjs";
3
3
  import z from "zod";
4
- import { AISchema, APISchema, AddonsSchema, AnalyticsSchema, AnimationSchema, AstroIntegrationSchema, AuthSchema, BackendSchema, CMSSchema, CSSFrameworkSchema, CachingSchema, DatabaseSchema, DatabaseSetupSchema, EcosystemSchema, EffectSchema, EmailSchema, ExamplesSchema, FeatureFlagsSchema, FileStorageSchema, FileUploadSchema, FormsSchema, FrontendSchema, GoApiSchema, GoCliSchema, GoLoggingSchema, GoOrmSchema, GoWebFrameworkSchema, I18nSchema, JobQueueSchema, LoggingSchema, ORMSchema, ObservabilitySchema, PackageManagerSchema, PaymentsSchema, PythonAiSchema, PythonAuthSchema, PythonGraphqlSchema, PythonOrmSchema, PythonQualitySchema, PythonTaskQueueSchema, PythonValidationSchema, PythonWebFrameworkSchema, RealtimeSchema, RuntimeSchema, RustApiSchema, RustCachingSchema, RustCliSchema, RustErrorHandlingSchema, RustFrontendSchema, RustLibrariesSchema, RustLoggingSchema, RustOrmSchema, RustWebFrameworkSchema, SearchSchema, ServerDeploySchema, StateManagementSchema, TestingSchema, UILibrarySchema, ValidationSchema, WebDeploySchema, analyzeStackCompatibility } from "@better-fullstack/types";
4
+ import { AISchema, APISchema, AddonsSchema, AnalyticsSchema, AnimationSchema, AstroIntegrationSchema, AuthSchema, BackendSchema, CMSSchema, CSSFrameworkSchema, CachingSchema, DatabaseSchema, DatabaseSetupSchema, EcosystemSchema, EffectSchema, EmailSchema, ExamplesSchema, FeatureFlagsSchema, FileStorageSchema, FileUploadSchema, FormsSchema, FrontendSchema, GoApiSchema, GoAuthSchema, GoCliSchema, GoLoggingSchema, GoOrmSchema, GoWebFrameworkSchema, I18nSchema, JavaAuthSchema, JavaBuildToolSchema, JavaLibrariesSchema, JavaOrmSchema, JavaTestingLibrariesSchema, JavaWebFrameworkSchema, JobQueueSchema, LoggingSchema, ORMSchema, ObservabilitySchema, PackageManagerSchema, PaymentsSchema, PythonAiSchema, PythonAuthSchema, PythonGraphqlSchema, PythonOrmSchema, PythonQualitySchema, PythonTaskQueueSchema, PythonValidationSchema, PythonWebFrameworkSchema, RealtimeSchema, RuntimeSchema, RustApiSchema, RustAuthSchema, RustCachingSchema, RustCliSchema, RustErrorHandlingSchema, RustFrontendSchema, RustLibrariesSchema, RustLoggingSchema, RustOrmSchema, RustWebFrameworkSchema, SearchSchema, ServerDeploySchema, StateManagementSchema, TestingSchema, UILibrarySchema, ValidationSchema, WebDeploySchema, analyzeStackCompatibility } from "@better-fullstack/types";
5
5
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
6
6
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
7
7
 
8
8
  //#region src/mcp.ts
9
- const INSTRUCTIONS = `Better-Fullstack scaffolds fullstack projects across TypeScript, Rust, Go, and Python ecosystems with 270+ configurable options.
9
+ const INSTRUCTIONS = `Better-Fullstack scaffolds fullstack projects across TypeScript, Rust, Go, Python, and Java ecosystems with 270+ configurable options.
10
10
 
11
11
  RECOMMENDED WORKFLOW:
12
12
  1. Call bfs_get_guidance to understand field semantics, required fields, and workflow rules.
@@ -21,10 +21,10 @@ For existing projects:
21
21
 
22
22
  CRITICAL RULES:
23
23
  - Dependency installation is ALWAYS skipped in MCP mode (timeout risk). After scaffolding, tell the user to run install manually.
24
- - "frontend" is an ARRAY (multiple frontends in one monorepo). All other fields are strings.
24
+ - Array fields: "frontend", "addons", "examples", "aiDocs", "rustLibraries", "pythonAi", "javaLibraries", and "javaTestingLibraries". Most other option fields are strings.
25
25
  - "none" means "skip this feature entirely", not "use the default".
26
26
  - Always specify "ecosystem" first — it determines which other fields are relevant.
27
- - TypeScript-specific fields (frontend, backend, orm, etc.) are IGNORED for rust/python/go ecosystems.
27
+ - TypeScript-specific fields (frontend, backend, orm, etc.) are IGNORED for rust/python/go/java ecosystems.
28
28
  - The compatibility engine auto-adjusts invalid combinations — always call bfs_check_compatibility first to see adjustments.`;
29
29
  function getGuidance() {
30
30
  return {
@@ -40,19 +40,21 @@ function getGuidance() {
40
40
  typescript: "Full-featured: frontend + backend + database + ORM + auth + payments + 20+ feature categories.",
41
41
  rust: "Backend/CLI: web framework (axum/actix-web), ORM (sea-orm/sqlx), gRPC, GraphQL, CLI tools.",
42
42
  python: "Backend/AI: web framework (fastapi/django), ORM (sqlalchemy/sqlmodel), AI/ML integrations, task queues.",
43
- go: "Backend/CLI: web framework (gin/echo), ORM (gorm/sqlc), gRPC, CLI tools, logging."
43
+ go: "Backend/CLI: web framework (gin/echo), ORM (gorm/sqlc), gRPC, CLI tools, logging.",
44
+ java: "Backend/API: Spring Boot with Maven or Gradle Wrapper, optional Spring Data JPA, Spring Security, app libraries, and Java testing libraries."
44
45
  },
45
46
  fieldRules: {
46
47
  projectName: "kebab-case directory name. Required for bfs_create_project.",
47
48
  ecosystem: "Must be set first. Determines which other fields are relevant.",
48
49
  frontend: "ARRAY of strings. TypeScript only. Supports multiple frontends in one monorepo. Use [] for API-only.",
50
+ arrayFields: "Use arrays for frontend, addons, examples, aiDocs, rustLibraries, pythonAi, javaLibraries, and javaTestingLibraries. Use [] for \"none\" on multi-select fields.",
49
51
  backend: "String. \"self\" means fullstack mode (Next.js/TanStack Start/Nuxt/Astro API routes). \"none\" for frontend-only.",
50
52
  runtime: "\"bun\" or \"node\". Must be \"none\" when backend is \"self\" or \"convex\".",
51
53
  addons: "ARRAY of strings. Monorepo tools, code quality, desktop (tauri), browser extensions (wxt), etc."
52
54
  },
53
55
  ambiguityRules: [
54
56
  "If the user request leaves major stack choices unspecified, ASK the user before proceeding. Do not guess.",
55
- "Do not infer addons, examples, or optional features the user did not mention. Default to \"none\".",
57
+ "Do not infer addons, examples, or optional features the user did not mention. Default strings to \"none\" and multi-select arrays to [].",
56
58
  "When the user says 'fullstack Next.js', use backend='self', frontend=['next'], runtime='none'.",
57
59
  "When the user says 'React + Hono', use frontend=['tanstack-router'] (or ask which React framework), backend='hono'."
58
60
  ],
@@ -118,6 +120,7 @@ const SCHEMA_MAP = {
118
120
  rustLogging: RustLoggingSchema,
119
121
  rustErrorHandling: RustErrorHandlingSchema,
120
122
  rustCaching: RustCachingSchema,
123
+ rustAuth: RustAuthSchema,
121
124
  pythonWebFramework: PythonWebFrameworkSchema,
122
125
  pythonOrm: PythonOrmSchema,
123
126
  pythonValidation: PythonValidationSchema,
@@ -130,7 +133,14 @@ const SCHEMA_MAP = {
130
133
  goOrm: GoOrmSchema,
131
134
  goApi: GoApiSchema,
132
135
  goCli: GoCliSchema,
133
- goLogging: GoLoggingSchema
136
+ goLogging: GoLoggingSchema,
137
+ goAuth: GoAuthSchema,
138
+ javaWebFramework: JavaWebFrameworkSchema,
139
+ javaBuildTool: JavaBuildToolSchema,
140
+ javaOrm: JavaOrmSchema,
141
+ javaAuth: JavaAuthSchema,
142
+ javaLibraries: JavaLibrariesSchema,
143
+ javaTestingLibraries: JavaTestingLibrariesSchema
134
144
  };
135
145
  const ECOSYSTEM_CATEGORIES = {
136
146
  typescript: [
@@ -175,7 +185,8 @@ const ECOSYSTEM_CATEGORIES = {
175
185
  "rustLibraries",
176
186
  "rustLogging",
177
187
  "rustErrorHandling",
178
- "rustCaching"
188
+ "rustCaching",
189
+ "rustAuth"
179
190
  ],
180
191
  python: [
181
192
  "pythonWebFramework",
@@ -192,7 +203,16 @@ const ECOSYSTEM_CATEGORIES = {
192
203
  "goOrm",
193
204
  "goApi",
194
205
  "goCli",
195
- "goLogging"
206
+ "goLogging",
207
+ "goAuth"
208
+ ],
209
+ java: [
210
+ "javaWebFramework",
211
+ "javaBuildTool",
212
+ "javaOrm",
213
+ "javaAuth",
214
+ "javaLibraries",
215
+ "javaTestingLibraries"
196
216
  ],
197
217
  shared: [
198
218
  "ecosystem",
@@ -225,11 +245,12 @@ function getSchemaOptions(category, ecosystem) {
225
245
  }
226
246
  return result;
227
247
  }
228
- function getInstallCommand(ecosystem, projectName, packageManager) {
248
+ function getInstallCommand(ecosystem, projectName, packageManager, javaBuildTool) {
229
249
  switch (ecosystem) {
230
250
  case "rust": return `cd ${projectName} && cargo build`;
231
251
  case "python": return `cd ${projectName} && uv sync`;
232
252
  case "go": return `cd ${projectName} && go mod tidy`;
253
+ case "java": return javaBuildTool === "gradle" ? `cd ${projectName} && ./gradlew test && ./gradlew bootRun` : `cd ${projectName} && ./mvnw test && ./mvnw spring-boot:run`;
233
254
  default: return `cd ${projectName} && ${packageManager ?? "bun"} install`;
234
255
  }
235
256
  }
@@ -318,6 +339,7 @@ function buildProjectConfig(input, overrides) {
318
339
  rustLogging: input.rustLogging ?? "none",
319
340
  rustErrorHandling: input.rustErrorHandling ?? "none",
320
341
  rustCaching: input.rustCaching ?? "none",
342
+ rustAuth: input.rustAuth ?? "none",
321
343
  pythonWebFramework: input.pythonWebFramework ?? "none",
322
344
  pythonOrm: input.pythonOrm ?? "none",
323
345
  pythonValidation: input.pythonValidation ?? "none",
@@ -330,7 +352,14 @@ function buildProjectConfig(input, overrides) {
330
352
  goOrm: input.goOrm ?? "none",
331
353
  goApi: input.goApi ?? "none",
332
354
  goCli: input.goCli ?? "none",
333
- goLogging: input.goLogging ?? "none"
355
+ goLogging: input.goLogging ?? "none",
356
+ goAuth: input.goAuth ?? "none",
357
+ javaWebFramework: input.javaWebFramework ?? "spring-boot",
358
+ javaBuildTool: input.javaBuildTool ?? "maven",
359
+ javaOrm: input.javaOrm ?? "none",
360
+ javaAuth: input.javaAuth ?? "none",
361
+ javaLibraries: input.javaLibraries ?? [],
362
+ javaTestingLibraries: input.javaTestingLibraries ?? ["junit5"]
334
363
  };
335
364
  }
336
365
  function sanitizePath(input) {
@@ -386,6 +415,13 @@ function buildCompatibilityInput(input) {
386
415
  animation: input.animation ?? "none",
387
416
  cssFramework: input.cssFramework ?? "tailwind",
388
417
  uiLibrary: input.uiLibrary ?? "none",
418
+ shadcnBase: input.shadcnBase ?? "radix",
419
+ shadcnStyle: input.shadcnStyle ?? "nova",
420
+ shadcnIconLibrary: input.shadcnIconLibrary ?? "lucide",
421
+ shadcnColorTheme: input.shadcnColorTheme ?? "neutral",
422
+ shadcnBaseColor: input.shadcnBaseColor ?? "neutral",
423
+ shadcnFont: input.shadcnFont ?? "inter",
424
+ shadcnRadius: input.shadcnRadius ?? "default",
389
425
  cms: input.cms ?? "none",
390
426
  search: input.search ?? "none",
391
427
  fileStorage: input.fileStorage ?? "none",
@@ -408,14 +444,15 @@ function buildCompatibilityInput(input) {
408
444
  rustOrm: input.rustOrm ?? "none",
409
445
  rustApi: input.rustApi ?? "none",
410
446
  rustCli: input.rustCli ?? "none",
411
- rustLibraries: (input.rustLibraries ?? []).join(",") || "none",
447
+ rustLibraries: input.rustLibraries ?? [],
412
448
  rustLogging: input.rustLogging ?? "none",
413
449
  rustErrorHandling: input.rustErrorHandling ?? "none",
414
450
  rustCaching: input.rustCaching ?? "none",
451
+ rustAuth: input.rustAuth ?? "none",
415
452
  pythonWebFramework: input.pythonWebFramework ?? "none",
416
453
  pythonOrm: input.pythonOrm ?? "none",
417
454
  pythonValidation: input.pythonValidation ?? "none",
418
- pythonAi: (input.pythonAi ?? []).join(",") || "none",
455
+ pythonAi: input.pythonAi ?? [],
419
456
  pythonAuth: input.pythonAuth ?? "none",
420
457
  pythonTaskQueue: input.pythonTaskQueue ?? "none",
421
458
  pythonGraphql: input.pythonGraphql ?? "none",
@@ -424,7 +461,14 @@ function buildCompatibilityInput(input) {
424
461
  goOrm: input.goOrm ?? "none",
425
462
  goApi: input.goApi ?? "none",
426
463
  goCli: input.goCli ?? "none",
427
- goLogging: input.goLogging ?? "none"
464
+ goLogging: input.goLogging ?? "none",
465
+ goAuth: input.goAuth ?? "none",
466
+ javaWebFramework: input.javaWebFramework ?? "spring-boot",
467
+ javaBuildTool: input.javaBuildTool ?? "maven",
468
+ javaOrm: input.javaOrm ?? "none",
469
+ javaAuth: input.javaAuth ?? "none",
470
+ javaLibraries: input.javaLibraries ?? [],
471
+ javaTestingLibraries: input.javaTestingLibraries ?? ["junit5"]
428
472
  };
429
473
  }
430
474
  function summarizeTree(tree) {
@@ -476,7 +520,7 @@ const COMPATIBILITY_RULES_MD = `# Better-Fullstack Compatibility Rules
476
520
  - Polar requires better-auth and a web frontend.
477
521
 
478
522
  ## Ecosystem Isolation
479
- - Rust, Python, Go ecosystems are independent — TypeScript fields are ignored.
523
+ - Rust, Python, Go, and Java ecosystems are independent — TypeScript fields are ignored.
480
524
  - Each ecosystem generates a standalone project with its own build system.
481
525
  `;
482
526
  const GETTING_STARTED_MD = `# Getting Started with Better-Fullstack MCP
@@ -516,6 +560,14 @@ const GETTING_STARTED_MD = `# Getting Started with Better-Fullstack MCP
516
560
  - goOrm: "gorm"
517
561
  2. Tell the user to run: cd my-go-app && go mod tidy && go run cmd/server/main.go
518
562
 
563
+ ## Quick Start — Java Project
564
+ 1. Call bfs_create_project with:
565
+ - projectName: "my-java-app"
566
+ - ecosystem: "java"
567
+ - javaWebFramework: "spring-boot"
568
+ - javaBuildTool: "maven"
569
+ 2. Tell the user to run: cd my-java-app && ./mvnw test && ./mvnw spring-boot:run
570
+
519
571
  ## Adding Features to Existing Projects
520
572
  1. Call bfs_add_feature with projectDir pointing to the project root.
521
573
  2. Provide addons array with features to add (e.g., ["biome", "turborepo"]).
@@ -557,7 +609,13 @@ async function startMcpServer() {
557
609
  payments: z.string().optional().describe("Payments provider"),
558
610
  uiLibrary: z.string().optional().describe("UI component library"),
559
611
  cssFramework: z.string().optional().describe("CSS framework"),
560
- addons: z.array(z.string()).optional().describe("Addon list")
612
+ addons: z.array(z.string()).optional().describe("Addon list"),
613
+ javaWebFramework: JavaWebFrameworkSchema.optional().describe("Java web framework"),
614
+ javaBuildTool: JavaBuildToolSchema.optional().describe("Java build tool"),
615
+ javaOrm: JavaOrmSchema.optional().describe("Java ORM"),
616
+ javaAuth: JavaAuthSchema.optional().describe("Java authentication library"),
617
+ javaLibraries: z.array(JavaLibrariesSchema).optional().describe("Java application libraries"),
618
+ javaTestingLibraries: z.array(JavaTestingLibrariesSchema).optional().describe("Java testing libraries")
561
619
  }, async (input) => {
562
620
  try {
563
621
  const filtered = filterCompatibilityResult(analyzeStackCompatibility(buildCompatibilityInput(input)), input.ecosystem);
@@ -620,6 +678,7 @@ async function startMcpServer() {
620
678
  rustLogging: RustLoggingSchema.optional().describe("Rust logging library"),
621
679
  rustErrorHandling: RustErrorHandlingSchema.optional().describe("Rust error handling library"),
622
680
  rustCaching: RustCachingSchema.optional().describe("Rust caching library"),
681
+ rustAuth: RustAuthSchema.optional().describe("Rust authentication library"),
623
682
  pythonWebFramework: PythonWebFrameworkSchema.optional().describe("Python web framework"),
624
683
  pythonOrm: PythonOrmSchema.optional().describe("Python ORM"),
625
684
  pythonValidation: PythonValidationSchema.optional().describe("Python validation"),
@@ -631,7 +690,14 @@ async function startMcpServer() {
631
690
  goOrm: GoOrmSchema.optional().describe("Go ORM"),
632
691
  goApi: GoApiSchema.optional().describe("Go API layer"),
633
692
  goCli: GoCliSchema.optional().describe("Go CLI framework"),
634
- goLogging: GoLoggingSchema.optional().describe("Go logging library")
693
+ goLogging: GoLoggingSchema.optional().describe("Go logging library"),
694
+ goAuth: GoAuthSchema.optional().describe("Go authentication library"),
695
+ javaWebFramework: JavaWebFrameworkSchema.optional().describe("Java web framework"),
696
+ javaBuildTool: JavaBuildToolSchema.optional().describe("Java build tool"),
697
+ javaOrm: JavaOrmSchema.optional().describe("Java ORM"),
698
+ javaAuth: JavaAuthSchema.optional().describe("Java authentication library"),
699
+ javaLibraries: z.array(JavaLibrariesSchema).optional().describe("Java application libraries"),
700
+ javaTestingLibraries: z.array(JavaTestingLibrariesSchema).optional().describe("Java testing libraries")
635
701
  };
636
702
  server.tool("bfs_plan_project", "Dry-run: generates a project in-memory and returns the file tree WITHOUT writing to disk. Use this to preview what would be created.", planCreateSchema, async (input) => {
637
703
  try {
@@ -700,10 +766,10 @@ async function startMcpServer() {
700
766
  await writeBtsConfig(config);
701
767
  let addonWarnings = [];
702
768
  if (config.addons.length > 0 && config.addons[0] !== "none") {
703
- const { setupAddons } = await import("./addons-setup-By7Kqjss.mjs");
769
+ const { setupAddons } = await import("./addons-setup-Cx9DU_sr.mjs");
704
770
  addonWarnings = await setupAddons(config);
705
771
  }
706
- const installCmd = getInstallCommand(input.ecosystem ?? "typescript", projectName, input.packageManager);
772
+ const installCmd = getInstallCommand(input.ecosystem ?? "typescript", projectName, input.packageManager, input.javaBuildTool);
707
773
  return { content: [{
708
774
  type: "text",
709
775
  text: JSON.stringify({
@@ -801,7 +867,8 @@ async function startMcpServer() {
801
867
  packageManager: input.packageManager
802
868
  });
803
869
  if (result?.success) {
804
- const installCmd = getInstallCommand((await readBtsConfig(safePath))?.ecosystem ?? "typescript", safePath.split("/").pop() ?? "project", input.packageManager);
870
+ const existingConfig = await readBtsConfig(safePath);
871
+ const installCmd = getInstallCommand(existingConfig?.ecosystem ?? "typescript", safePath.split("/").pop() ?? "project", input.packageManager, existingConfig?.javaBuildTool);
805
872
  return { content: [{
806
873
  type: "text",
807
874
  text: JSON.stringify({
@@ -1,4 +1,4 @@
1
1
  #!/usr/bin/env node
2
- import { EMBEDDED_TEMPLATES, GeneratorOptions, GeneratorResult, TEMPLATE_COUNT, VirtualDirectory, VirtualFile, VirtualFileSystem, VirtualFileTree, VirtualNode, generateVirtualProject } from "@better-fullstack/template-generator";
3
2
  import { API, Addons, Auth, Backend, Database, DatabaseSetup, Examples, Frontend, ORM, PackageManager, Payments, ProjectConfig, Runtime, ServerDeploy, WebDeploy } from "@better-fullstack/types";
3
+ import { EMBEDDED_TEMPLATES, GeneratorOptions, GeneratorResult, TEMPLATE_COUNT, VirtualDirectory, VirtualFile, VirtualFileSystem, VirtualFileTree, VirtualNode, generateVirtualProject } from "@better-fullstack/template-generator";
4
4
  export { type API, type Addons, type Auth, type Backend, type Database, type DatabaseSetup, EMBEDDED_TEMPLATES, type Examples, type Frontend, type GeneratorOptions, type GeneratorResult, type ORM, type PackageManager, type Payments, type ProjectConfig, type Runtime, type ServerDeploy, TEMPLATE_COUNT, type VirtualDirectory, type VirtualFile, VirtualFileSystem, type VirtualFileTree, type VirtualNode, type WebDeploy, generateVirtualProject };
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "create-better-fullstack",
3
- "version": "1.6.0",
4
- "description": "Scaffold production-ready fullstack apps in seconds. Pick your stack from 270+ options — the CLI wires everything together.",
3
+ "version": "1.6.1",
4
+ "description": "Scaffold production-ready fullstack apps in seconds. Pick your stack from 340+ options — the CLI wires everything together.",
5
5
  "keywords": [
6
+ "algolia",
6
7
  "angular",
7
8
  "astro",
8
9
  "authentication",
@@ -16,27 +17,38 @@
16
17
  "create-app",
17
18
  "desktop",
18
19
  "developer-tools",
20
+ "diesel",
19
21
  "docker",
20
22
  "drizzle",
21
23
  "elysia",
24
+ "ent",
22
25
  "expo",
23
26
  "fastapi",
27
+ "fiber",
28
+ "flask",
24
29
  "fullstack",
25
30
  "go",
26
31
  "golang",
32
+ "graphql-yoga",
27
33
  "hono",
34
+ "i18next",
35
+ "litestar",
28
36
  "mobile",
37
+ "moka",
29
38
  "monorepo",
39
+ "next-intl",
30
40
  "nextjs",
31
41
  "nuxt",
32
42
  "payments",
33
43
  "pnpm",
44
+ "pothos",
34
45
  "prisma",
35
46
  "project-generator",
36
47
  "pwa",
37
48
  "python",
38
49
  "react",
39
50
  "react-native",
51
+ "rocket",
40
52
  "rust",
41
53
  "scaffold",
42
54
  "scaffolding",
@@ -44,6 +56,7 @@
44
56
  "solid",
45
57
  "starter",
46
58
  "starter-kit",
59
+ "strawberry",
47
60
  "svelte",
48
61
  "sveltekit",
49
62
  "tailwind",
@@ -54,10 +67,12 @@
54
67
  "turborepo",
55
68
  "type-safety",
56
69
  "typescript",
70
+ "vercel",
57
71
  "vite",
58
72
  "vue",
59
73
  "web-app",
60
- "yarn"
74
+ "yarn",
75
+ "zerolog"
61
76
  ],
62
77
  "homepage": "https://better-fullstack.dev/",
63
78
  "license": "MIT",
@@ -112,11 +127,11 @@
112
127
  "prepublishOnly": "npm run build"
113
128
  },
114
129
  "dependencies": {
115
- "@better-fullstack/template-generator": "^1.6.0",
116
- "@better-fullstack/types": "^1.6.0",
130
+ "@better-fullstack/template-generator": "^1.6.1",
131
+ "@better-fullstack/types": "^1.6.1",
117
132
  "@clack/core": "^0.5.0",
118
133
  "@clack/prompts": "^1.2.0",
119
- "@orpc/server": "^1.13.13",
134
+ "@orpc/server": "^1.13.14",
120
135
  "consola": "^3.4.2",
121
136
  "env-paths": "^4.0.0",
122
137
  "execa": "^9.6.1",
@@ -126,7 +141,7 @@
126
141
  "jsonc-parser": "^3.3.1",
127
142
  "oxfmt": "^0.19.0",
128
143
  "picocolors": "^1.1.1",
129
- "tinyglobby": "^0.2.15",
144
+ "tinyglobby": "^0.2.16",
130
145
  "@modelcontextprotocol/sdk": "^1.29.0",
131
146
  "trpc-cli": "^0.12.1",
132
147
  "ts-morph": "^27.0.2",
@@ -134,9 +149,9 @@
134
149
  "zod": "^4.3.6"
135
150
  },
136
151
  "devDependencies": {
137
- "@types/bun": "^1.3.11",
152
+ "@types/bun": "^1.3.12",
138
153
  "@types/fs-extra": "^11.0.4",
139
- "@types/node": "^25.5.2",
154
+ "@types/node": "^25.6.0",
140
155
  "publint": "^0.3.18",
141
156
  "tsdown": "^0.18.2",
142
157
  "typescript": "^5.9.3"
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env node
2
- import "./bts-config-snHxP_EH.mjs";
3
- import { i as setupLefthook, n as setupBiome, r as setupHusky, t as setupAddons } from "./addons-setup--oB72n29.mjs";
4
-
5
- export { setupAddons };