create-better-t-stack 2.35.5 → 2.36.0
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 +1 -1
- package/dist/index.js +1 -1
- package/dist/{src-D3yNVHFj.js → src-tnvyXvhu.js} +44 -55
- package/package.json +2 -2
package/dist/cli.js
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { cancel, confirm, group, groupMultiselect, intro, isCancel, log, multiselect, outro, select, spinner, text } from "@clack/prompts";
|
|
2
|
+
import { autocompleteMultiselect, cancel, confirm, group, groupMultiselect, intro, isCancel, log, multiselect, outro, select, spinner, text } from "@clack/prompts";
|
|
3
3
|
import pc from "picocolors";
|
|
4
4
|
import { createCli, trpcServer } from "trpc-cli";
|
|
5
5
|
import z from "zod";
|
|
@@ -1309,7 +1309,7 @@ async function getProjectName(initialName) {
|
|
|
1309
1309
|
initialValue: initialName,
|
|
1310
1310
|
defaultValue: defaultName,
|
|
1311
1311
|
validate: (value) => {
|
|
1312
|
-
const nameToUse = value.trim() || defaultName;
|
|
1312
|
+
const nameToUse = String(value ?? "").trim() || defaultName;
|
|
1313
1313
|
const finalDirName = path.basename(nameToUse);
|
|
1314
1314
|
const validationError = validateDirectoryName(finalDirName);
|
|
1315
1315
|
if (validationError) return validationError;
|
|
@@ -2429,7 +2429,7 @@ async function setupVibeRules(config) {
|
|
|
2429
2429
|
kilocode: { label: "Kilo Code" },
|
|
2430
2430
|
opencode: { label: "OpenCode" }
|
|
2431
2431
|
};
|
|
2432
|
-
const selectedEditors = await
|
|
2432
|
+
const selectedEditors = await autocompleteMultiselect({
|
|
2433
2433
|
message: "Select AI assistants for Ruler",
|
|
2434
2434
|
options: Object.entries(EDITORS$1).map(([key, v]) => ({
|
|
2435
2435
|
value: key,
|
|
@@ -2572,66 +2572,55 @@ async function setupTauri(config) {
|
|
|
2572
2572
|
//#endregion
|
|
2573
2573
|
//#region src/helpers/addons/ultracite-setup.ts
|
|
2574
2574
|
const EDITORS = {
|
|
2575
|
-
vscode: {
|
|
2576
|
-
|
|
2577
|
-
hint: "Visual Studio Code editor configuration"
|
|
2578
|
-
},
|
|
2579
|
-
zed: {
|
|
2580
|
-
label: "Zed",
|
|
2581
|
-
hint: "Zed editor configuration"
|
|
2582
|
-
}
|
|
2575
|
+
vscode: { label: "VSCode / Cursor / Windsurf" },
|
|
2576
|
+
zed: { label: "Zed" }
|
|
2583
2577
|
};
|
|
2584
2578
|
const RULES = {
|
|
2585
|
-
"vscode-copilot": {
|
|
2586
|
-
|
|
2587
|
-
|
|
2588
|
-
},
|
|
2589
|
-
|
|
2590
|
-
|
|
2591
|
-
|
|
2592
|
-
},
|
|
2593
|
-
|
|
2594
|
-
|
|
2595
|
-
|
|
2596
|
-
},
|
|
2597
|
-
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
},
|
|
2601
|
-
|
|
2602
|
-
label: "Claude",
|
|
2603
|
-
hint: "Claude AI integration"
|
|
2604
|
-
},
|
|
2605
|
-
codex: {
|
|
2606
|
-
label: "Codex",
|
|
2607
|
-
hint: "Codex AI integration"
|
|
2608
|
-
}
|
|
2579
|
+
"vscode-copilot": { label: "VS Code Copilot" },
|
|
2580
|
+
cursor: { label: "Cursor" },
|
|
2581
|
+
windsurf: { label: "Windsurf" },
|
|
2582
|
+
zed: { label: "Zed" },
|
|
2583
|
+
claude: { label: "Claude" },
|
|
2584
|
+
codex: { label: "Codex" },
|
|
2585
|
+
kiro: { label: "Kiro" },
|
|
2586
|
+
cline: { label: "Cline" },
|
|
2587
|
+
amp: { label: "Amp" },
|
|
2588
|
+
aider: { label: "Aider" },
|
|
2589
|
+
"firebase-studio": { label: "Firebase Studio" },
|
|
2590
|
+
"open-hands": { label: "Open Hands" },
|
|
2591
|
+
"gemini-cli": { label: "Gemini CLI" },
|
|
2592
|
+
junie: { label: "Junie" },
|
|
2593
|
+
augmentcode: { label: "AugmentCode" },
|
|
2594
|
+
"kilo-code": { label: "Kilo Code" },
|
|
2595
|
+
goose: { label: "Goose" }
|
|
2609
2596
|
};
|
|
2610
2597
|
async function setupUltracite(config, hasHusky) {
|
|
2611
2598
|
const { packageManager, projectDir } = config;
|
|
2612
2599
|
try {
|
|
2613
2600
|
log.info("Setting up Ultracite...");
|
|
2614
2601
|
await setupBiome(projectDir);
|
|
2615
|
-
const
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
})
|
|
2632
|
-
|
|
2633
|
-
|
|
2634
|
-
|
|
2602
|
+
const result = await group({
|
|
2603
|
+
editors: () => multiselect({
|
|
2604
|
+
message: "Choose editors",
|
|
2605
|
+
options: Object.entries(EDITORS).map(([key, editor]) => ({
|
|
2606
|
+
value: key,
|
|
2607
|
+
label: editor.label
|
|
2608
|
+
})),
|
|
2609
|
+
required: true
|
|
2610
|
+
}),
|
|
2611
|
+
rules: () => autocompleteMultiselect({
|
|
2612
|
+
message: "Choose rules",
|
|
2613
|
+
options: Object.entries(RULES).map(([key, rule]) => ({
|
|
2614
|
+
value: key,
|
|
2615
|
+
label: rule.label
|
|
2616
|
+
})),
|
|
2617
|
+
required: true
|
|
2618
|
+
})
|
|
2619
|
+
}, { onCancel: () => {
|
|
2620
|
+
exitCancelled("Operation cancelled");
|
|
2621
|
+
} });
|
|
2622
|
+
const editors = result.editors;
|
|
2623
|
+
const rules = result.rules;
|
|
2635
2624
|
const ultraciteArgs = [
|
|
2636
2625
|
"init",
|
|
2637
2626
|
"--pm",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-better-t-stack",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.36.0",
|
|
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",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"dependencies": {
|
|
67
67
|
"@biomejs/js-api": "^3.0.0",
|
|
68
68
|
"@biomejs/wasm-nodejs": "^2.2.0",
|
|
69
|
-
"@clack/prompts": "^0.
|
|
69
|
+
"@clack/prompts": "^1.0.0-alpha.4",
|
|
70
70
|
"consola": "^3.4.2",
|
|
71
71
|
"execa": "^9.6.0",
|
|
72
72
|
"fs-extra": "^11.3.1",
|