create-better-t-stack 3.2.9 → 3.2.10

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/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { n as createBtsCli } from "./src-CUyDENe-.js";
2
+ import { n as createBtsCli } from "./src-C8z72H-V.js";
3
3
 
4
4
  //#region src/cli.ts
5
5
  createBtsCli().run();
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  #!/usr/bin/env node
2
- import { a as router, i as init, n as createBtsCli, o as sponsors, r as docs, t as builder } from "./src-CUyDENe-.js";
2
+ import { a as router, i as init, n as createBtsCli, o as sponsors, r as docs, t as builder } from "./src-C8z72H-V.js";
3
3
 
4
4
  export { builder, createBtsCli, docs, init, router, sponsors };
@@ -2033,53 +2033,19 @@ function getPackageExecutionCommand(packageManager, commandWithArgs) {
2033
2033
 
2034
2034
  //#endregion
2035
2035
  //#region src/helpers/addons/fumadocs-setup.ts
2036
- const TEMPLATES = {
2037
- "next-mdx": {
2038
- label: "Next.js: Fumadocs MDX",
2039
- hint: "Recommended template with MDX support",
2040
- value: "+next+fuma-docs-mdx"
2041
- },
2042
- "next-content-collections": {
2043
- label: "Next.js: Content Collections",
2044
- hint: "Template using Next.js content collections",
2045
- value: "+next+content-collections"
2046
- },
2047
- "react-router-mdx-remote": {
2048
- label: "React Router: MDX Remote",
2049
- hint: "Template for React Router with MDX remote",
2050
- value: "react-router"
2051
- },
2052
- "tanstack-start-mdx-remote": {
2053
- label: "Tanstack Start: MDX Remote",
2054
- hint: "Template for Tanstack Start with MDX remote",
2055
- value: "tanstack-start"
2056
- }
2057
- };
2058
2036
  async function setupFumadocs(config) {
2059
2037
  const { packageManager, projectDir } = config;
2060
2038
  try {
2061
2039
  log.info("Setting up Fumadocs...");
2062
- const template = await select({
2063
- message: "Choose a template",
2064
- options: Object.entries(TEMPLATES).map(([key, template$1]) => ({
2065
- value: key,
2066
- label: template$1.label,
2067
- hint: template$1.hint
2068
- })),
2069
- initialValue: "next-mdx"
2070
- });
2071
- if (isCancel(template)) return exitCancelled("Operation cancelled");
2072
- const fumadocsInitCommand = getPackageExecutionCommand(packageManager, `create-fumadocs-app@latest fumadocs --template ${TEMPLATES[template].value} --src --no-install --pm ${packageManager} --no-eslint --no-git`);
2073
- const s = spinner();
2074
- s.start("Setting up Fumadocs...");
2040
+ const fumadocsInitCommand = getPackageExecutionCommand(packageManager, `create-fumadocs-app@latest fumadocs --src --no-install --pm ${packageManager} --no-eslint --no-biome --no-git`);
2075
2041
  const appsDir = path.join(projectDir, "apps");
2076
2042
  await fs.ensureDir(appsDir);
2077
2043
  await execa(fumadocsInitCommand, {
2078
2044
  cwd: appsDir,
2079
2045
  env: { CI: "true" },
2080
- shell: true
2046
+ shell: true,
2047
+ stdio: "inherit"
2081
2048
  });
2082
- s.stop("Fumadocs setup complete!");
2083
2049
  const fumadocsDir = path.join(projectDir, "apps", "fumadocs");
2084
2050
  const packageJsonPath = path.join(fumadocsDir, "package.json");
2085
2051
  if (await fs.pathExists(packageJsonPath)) {
@@ -2272,7 +2238,7 @@ const EDITORS = {
2272
2238
  vscode: { label: "VSCode / Cursor / Windsurf" },
2273
2239
  zed: { label: "Zed" }
2274
2240
  };
2275
- const RULES = {
2241
+ const AGENTS = {
2276
2242
  "vscode-copilot": { label: "VS Code Copilot" },
2277
2243
  cursor: { label: "Cursor" },
2278
2244
  windsurf: { label: "Windsurf" },
@@ -2289,10 +2255,27 @@ const RULES = {
2289
2255
  junie: { label: "Junie" },
2290
2256
  augmentcode: { label: "AugmentCode" },
2291
2257
  "kilo-code": { label: "Kilo Code" },
2292
- goose: { label: "Goose" }
2258
+ goose: { label: "Goose" },
2259
+ "roo-code": { label: "Roo Code" }
2293
2260
  };
2261
+ function getFrameworksFromFrontend(frontend) {
2262
+ const frameworkMap = {
2263
+ "tanstack-router": "react",
2264
+ "react-router": "react",
2265
+ "tanstack-start": "react",
2266
+ next: "next",
2267
+ nuxt: "vue",
2268
+ "native-nativewind": "react",
2269
+ "native-unistyles": "react",
2270
+ svelte: "svelte",
2271
+ solid: "solid"
2272
+ };
2273
+ const frameworks = /* @__PURE__ */ new Set();
2274
+ for (const f of frontend) if (f !== "none" && frameworkMap[f]) frameworks.add(frameworkMap[f]);
2275
+ return Array.from(frameworks);
2276
+ }
2294
2277
  async function setupUltracite(config, hasHusky) {
2295
- const { packageManager, projectDir } = config;
2278
+ const { packageManager, projectDir, frontend } = config;
2296
2279
  try {
2297
2280
  log.info("Setting up Ultracite...");
2298
2281
  await setupBiome(projectDir);
@@ -2305,11 +2288,11 @@ async function setupUltracite(config, hasHusky) {
2305
2288
  })),
2306
2289
  required: true
2307
2290
  }),
2308
- rules: () => autocompleteMultiselect({
2309
- message: "Choose rules",
2310
- options: Object.entries(RULES).map(([key, rule]) => ({
2291
+ agents: () => autocompleteMultiselect({
2292
+ message: "Choose agents",
2293
+ options: Object.entries(AGENTS).map(([key, agent]) => ({
2311
2294
  value: key,
2312
- label: rule.label
2295
+ label: agent.label
2313
2296
  })),
2314
2297
  required: true
2315
2298
  })
@@ -2317,14 +2300,16 @@ async function setupUltracite(config, hasHusky) {
2317
2300
  exitCancelled("Operation cancelled");
2318
2301
  } });
2319
2302
  const editors = result.editors;
2320
- const rules = result.rules;
2303
+ const agents = result.agents;
2304
+ const frameworks = getFrameworksFromFrontend(frontend);
2321
2305
  const ultraciteArgs = [
2322
2306
  "init",
2323
2307
  "--pm",
2324
2308
  packageManager
2325
2309
  ];
2310
+ if (frameworks.length > 0) ultraciteArgs.push("--frameworks", ...frameworks);
2326
2311
  if (editors.length > 0) ultraciteArgs.push("--editors", ...editors);
2327
- if (rules.length > 0) ultraciteArgs.push("--rules", ...rules);
2312
+ if (agents.length > 0) ultraciteArgs.push("--agents", ...agents);
2328
2313
  if (hasHusky) ultraciteArgs.push("--integrations", "husky", "lint-staged");
2329
2314
  const ultraciteInitCommand = getPackageExecutionCommand(packageManager, `ultracite@latest ${ultraciteArgs.join(" ")} --skip-install`);
2330
2315
  const s = spinner();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-better-t-stack",
3
- "version": "3.2.9",
3
+ "version": "3.2.10",
4
4
  "description": "A modern CLI tool for scaffolding end-to-end type-safe TypeScript projects with best practices and customizable configurations",
5
5
  "type": "module",
6
6
  "license": "MIT",