create-better-t-stack 3.40.1 → 3.40.2

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.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { i as SchemaNameSchema, l as create, m as getSchemaResult, s as add, u as createBtsCli, v as types_exports, y as getLatestCLIVersion } from "./src-DBE8djc0.mjs";
2
+ import { i as SchemaNameSchema, l as create, m as getSchemaResult, s as add, u as createBtsCli, v as types_exports, y as getLatestCLIVersion } from "./src-CP4utAOe.mjs";
3
3
  import z from "zod";
4
4
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
5
5
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
package/dist/index.d.mts CHANGED
@@ -111,6 +111,7 @@ declare const ProjectLauncherSchema: z.ZodEnum<{
111
111
  neovim: "neovim";
112
112
  "codex-app": "codex-app";
113
113
  codex: "codex";
114
+ "t3-code": "t3-code";
114
115
  "claude-code": "claude-code";
115
116
  opencode: "opencode";
116
117
  pi: "pi";
@@ -126,6 +127,7 @@ declare const ProjectLauncherSchema: z.ZodEnum<{
126
127
  "qwen-code": "qwen-code";
127
128
  crush: "crush";
128
129
  "cursor-agent": "cursor-agent";
130
+ orca: "orca";
129
131
  }>;
130
132
  type ProjectLauncher = z.infer<typeof ProjectLauncherSchema>;
131
133
  //#endregion
@@ -208,7 +210,7 @@ declare const router: import("@trpc/server").TRPCBuiltRouter<{
208
210
  git?: boolean | undefined;
209
211
  packageManager?: "bun" | "npm" | "pnpm" | undefined;
210
212
  install?: boolean | undefined;
211
- open?: "none" | "cursor" | "vscode" | "vscode-insiders" | "zed" | "windsurf" | "vscodium" | "webstorm" | "intellij-idea" | "sublime-text" | "neovim" | "codex-app" | "codex" | "claude-code" | "opencode" | "pi" | "gemini-cli" | "github-copilot" | "kiro-cli" | "droid" | "goose" | "cline" | "continue" | "amp" | "aider" | "qwen-code" | "crush" | "cursor-agent" | undefined;
213
+ open?: "none" | "cursor" | "vscode" | "vscode-insiders" | "zed" | "windsurf" | "vscodium" | "webstorm" | "intellij-idea" | "sublime-text" | "neovim" | "codex-app" | "codex" | "t3-code" | "claude-code" | "opencode" | "pi" | "gemini-cli" | "github-copilot" | "kiro-cli" | "droid" | "goose" | "cline" | "continue" | "amp" | "aider" | "qwen-code" | "crush" | "cursor-agent" | "orca" | undefined;
212
214
  dbSetup?: "none" | "turso" | "neon" | "prisma-postgres" | "planetscale" | "mongodb-atlas" | "supabase" | "d1" | "docker" | undefined;
213
215
  backend?: "none" | "hono" | "express" | "fastify" | "elysia" | "convex" | "self" | undefined;
214
216
  runtime?: "none" | "bun" | "node" | "workers" | undefined;
package/dist/index.mjs CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- import { C as DirectoryConflictError, E as ValidationError, S as DatabaseSetupError, T as UserCancelledError, _ as ProjectLauncherSchema, a as TEMPLATE_COUNT, b as CLIError, 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 ProjectCreationError, x as CompatibilityError } from "./src-DBE8djc0.mjs";
2
+ import { C as DirectoryConflictError, E as ValidationError, S as DatabaseSetupError, T as UserCancelledError, _ as ProjectLauncherSchema, a as TEMPLATE_COUNT, b as CLIError, 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 ProjectCreationError, x as CompatibilityError } from "./src-CP4utAOe.mjs";
3
3
  export { CLIError, CompatibilityError, DatabaseSetupError, DirectoryConflictError, EMBEDDED_TEMPLATES, GeneratorError, ProjectCreationError, ProjectLauncherSchema, Result, SchemaNameSchema, TEMPLATE_COUNT, UserCancelledError, ValidationError, VirtualFileSystem, add, builder, create, createBtsCli, createVirtual, docs, generate, getSchemaResult, router, sponsors };
@@ -6339,6 +6339,7 @@ const ProjectLauncherSchema = z.enum([
6339
6339
  "neovim",
6340
6340
  "codex-app",
6341
6341
  "codex",
6342
+ "t3-code",
6342
6343
  "claude-code",
6343
6344
  "opencode",
6344
6345
  "pi",
@@ -6354,6 +6355,7 @@ const ProjectLauncherSchema = z.enum([
6354
6355
  "qwen-code",
6355
6356
  "crush",
6356
6357
  "cursor-agent",
6358
+ "orca",
6357
6359
  "none"
6358
6360
  ]).describe("Editor, IDE, or coding agent to open after creating the project");
6359
6361
  const PROJECT_LAUNCHERS = [
@@ -6454,6 +6456,13 @@ const PROJECT_LAUNCHERS = [
6454
6456
  commands: ["codex"],
6455
6457
  cwd: (projectDir) => projectDir
6456
6458
  },
6459
+ {
6460
+ id: "t3-code",
6461
+ label: "T3 Code",
6462
+ kind: "agent",
6463
+ commands: ["t3"],
6464
+ cwd: (projectDir) => projectDir
6465
+ },
6457
6466
  {
6458
6467
  id: "claude-code",
6459
6468
  label: "Claude Code",
@@ -6560,23 +6569,46 @@ const PROJECT_LAUNCHERS = [
6560
6569
  kind: "agent",
6561
6570
  commands: ["cursor-agent"],
6562
6571
  cwd: (projectDir) => projectDir
6572
+ },
6573
+ {
6574
+ id: "orca",
6575
+ label: "Orca",
6576
+ kind: "agent",
6577
+ commands: ["orca"],
6578
+ commandsByPlatform: { linux: ["orca-ide"] },
6579
+ launchSequence: (command, projectDir) => [{
6580
+ command,
6581
+ args: ["open", "--json"]
6582
+ }, {
6583
+ command,
6584
+ args: [
6585
+ "repo",
6586
+ "add",
6587
+ "--path",
6588
+ projectDir,
6589
+ "--json"
6590
+ ]
6591
+ }]
6563
6592
  }
6564
6593
  ];
6565
6594
  async function detectProjectLaunchers(projectDir, detectCommand = commandExists, platform = process.platform) {
6566
6595
  const supportedDefinitions = PROJECT_LAUNCHERS.filter(({ platforms }) => platforms === void 0 || platforms.includes(platform));
6567
- const commands = [...new Set(supportedDefinitions.flatMap(({ commands }) => commands))];
6596
+ const commandsFor = (launcher) => launcher.commandsByPlatform?.[platform] ?? launcher.commands;
6597
+ const commands = [...new Set(supportedDefinitions.flatMap(commandsFor))];
6568
6598
  const detectedCommands = new Map(await Promise.all(commands.map(async (command) => [command, await detectCommand(command)])));
6569
6599
  return supportedDefinitions.flatMap((launcher) => {
6570
- const command = launcher.commands.find((candidate) => detectedCommands.get(candidate));
6600
+ const command = commandsFor(launcher).find((candidate) => detectedCommands.get(candidate));
6571
6601
  if (!command) return [];
6572
- return [{
6602
+ const availableLauncher = {
6573
6603
  id: launcher.id,
6574
6604
  label: launcher.label,
6575
6605
  kind: launcher.kind,
6576
6606
  command,
6577
6607
  args: launcher.args?.(projectDir) ?? [],
6578
6608
  cwd: launcher.cwd?.(projectDir)
6579
- }];
6609
+ };
6610
+ if (launcher.launchSequence) availableLauncher.launchSequence = launcher.launchSequence(command, projectDir);
6611
+ return [availableLauncher];
6580
6612
  });
6581
6613
  }
6582
6614
  async function getProjectLauncherChoice(requestedLauncher, projectDir, options = {}) {
@@ -6617,10 +6649,13 @@ const runCommand = async (command, args, options) => {
6617
6649
  async function launchProject(launcher, options = {}) {
6618
6650
  if (options.skipExternalCommands ?? shouldSkipExternalCommands()) return Result.ok(void 0);
6619
6651
  return Result.tryPromise({
6620
- try: () => (options.runner ?? runCommand)(launcher.command, launcher.args, {
6621
- cwd: launcher.cwd,
6622
- stdio: launcher.cwd ? "inherit" : "ignore"
6623
- }),
6652
+ try: async () => {
6653
+ const commands = launcher.launchSequence ?? [launcher];
6654
+ for (const command of commands) await (options.runner ?? runCommand)(command.command, command.args, {
6655
+ cwd: command.cwd,
6656
+ stdio: command.cwd ? "inherit" : "ignore"
6657
+ });
6658
+ },
6624
6659
  catch: (cause) => new CLIError({
6625
6660
  message: `Could not open the project with ${launcher.label}.`,
6626
6661
  cause
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-better-t-stack",
3
- "version": "3.40.1",
3
+ "version": "3.40.2",
4
4
  "description": "A modern CLI tool for scaffolding end-to-end type-safe TypeScript projects with best practices and customizable configurations",
5
5
  "keywords": [
6
6
  "better-auth",
@@ -69,8 +69,8 @@
69
69
  "prepublishOnly": "npm run build"
70
70
  },
71
71
  "dependencies": {
72
- "@better-t-stack/template-generator": "^3.40.1",
73
- "@better-t-stack/types": "^3.40.1",
72
+ "@better-t-stack/template-generator": "^3.40.2",
73
+ "@better-t-stack/types": "^3.40.2",
74
74
  "@clack/core": "^1.4.3",
75
75
  "@clack/prompts": "^1.7.0",
76
76
  "@modelcontextprotocol/sdk": "1.30.0",