create-claude-kanban 3.2.0 → 3.2.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/index.js +15 -15
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -666,13 +666,13 @@ async function promptProjectInfo() {
|
|
|
666
666
|
const name = await p.text({
|
|
667
667
|
message: t("projectInfo.nameMsg"),
|
|
668
668
|
placeholder: "MyProject",
|
|
669
|
-
validate: (v) => v.trim() ? void 0 : t("projectInfo.nameValidation")
|
|
669
|
+
validate: (v) => (v ?? "").trim() ? void 0 : t("projectInfo.nameValidation")
|
|
670
670
|
});
|
|
671
671
|
if (p.isCancel(name)) return null;
|
|
672
672
|
const description = await p.text({
|
|
673
673
|
message: t("projectInfo.descMsg"),
|
|
674
674
|
placeholder: t("projectInfo.descPlaceholder"),
|
|
675
|
-
validate: (v) => v.trim() ? void 0 : t("projectInfo.descValidation")
|
|
675
|
+
validate: (v) => (v ?? "").trim() ? void 0 : t("projectInfo.descValidation")
|
|
676
676
|
});
|
|
677
677
|
if (p.isCancel(description)) return null;
|
|
678
678
|
const types = await p.multiselect({
|
|
@@ -682,8 +682,8 @@ async function promptProjectInfo() {
|
|
|
682
682
|
});
|
|
683
683
|
if (p.isCancel(types)) return null;
|
|
684
684
|
return {
|
|
685
|
-
name: name.trim(),
|
|
686
|
-
description: description.trim(),
|
|
685
|
+
name: (name ?? "").trim(),
|
|
686
|
+
description: (description ?? "").trim(),
|
|
687
687
|
types
|
|
688
688
|
};
|
|
689
689
|
}
|
|
@@ -1075,7 +1075,7 @@ async function promptContextFiles(targetDir) {
|
|
|
1075
1075
|
}
|
|
1076
1076
|
});
|
|
1077
1077
|
if (p3.isCancel(mdPath)) return null;
|
|
1078
|
-
claudeMdPath = path2.resolve(targetDir, mdPath.trim());
|
|
1078
|
+
claudeMdPath = path2.resolve(targetDir, (mdPath ?? "").trim());
|
|
1079
1079
|
try {
|
|
1080
1080
|
parsedContext = parseClaudeMd(claudeMdPath);
|
|
1081
1081
|
const summary = [];
|
|
@@ -1123,10 +1123,10 @@ async function promptContextFiles(targetDir) {
|
|
|
1123
1123
|
const docPath = await p3.text({
|
|
1124
1124
|
message: t("contextFiles.docPathMsg", { type: docType }),
|
|
1125
1125
|
placeholder: `./docs/${docType}`,
|
|
1126
|
-
validate: (v) => v.trim() ? void 0 : t("contextFiles.docPathValidation")
|
|
1126
|
+
validate: (v) => (v ?? "").trim() ? void 0 : t("contextFiles.docPathValidation")
|
|
1127
1127
|
});
|
|
1128
1128
|
if (p3.isCancel(docPath)) return null;
|
|
1129
|
-
referenceDocs.push({ type: docType, path: docPath.trim() });
|
|
1129
|
+
referenceDocs.push({ type: docType, path: (docPath ?? "").trim() });
|
|
1130
1130
|
}
|
|
1131
1131
|
return {
|
|
1132
1132
|
claudeMdPath,
|
|
@@ -1255,7 +1255,7 @@ async function promptOrchestrator(projectName) {
|
|
|
1255
1255
|
const goals = await p5.text({
|
|
1256
1256
|
message: t("orchestrator.goalsMsg", { name: projectName }),
|
|
1257
1257
|
placeholder: t("orchestrator.goalsPlaceholder"),
|
|
1258
|
-
validate: (v) => v.trim() ? void 0 : t("orchestrator.goalsValidation")
|
|
1258
|
+
validate: (v) => (v ?? "").trim() ? void 0 : t("orchestrator.goalsValidation")
|
|
1259
1259
|
});
|
|
1260
1260
|
if (p5.isCancel(goals)) return null;
|
|
1261
1261
|
const stage = await p5.select({
|
|
@@ -1270,9 +1270,9 @@ async function promptOrchestrator(projectName) {
|
|
|
1270
1270
|
});
|
|
1271
1271
|
if (p5.isCancel(constraints)) return null;
|
|
1272
1272
|
return {
|
|
1273
|
-
goals: goals.trim(),
|
|
1273
|
+
goals: (goals ?? "").trim(),
|
|
1274
1274
|
stage,
|
|
1275
|
-
constraints: constraints.trim()
|
|
1275
|
+
constraints: (constraints ?? "").trim()
|
|
1276
1276
|
};
|
|
1277
1277
|
}
|
|
1278
1278
|
|
|
@@ -1305,7 +1305,7 @@ async function promptMultiProject() {
|
|
|
1305
1305
|
const name = await p6.text({
|
|
1306
1306
|
message: t("multiProject.nameMsg"),
|
|
1307
1307
|
placeholder: t("multiProject.namePlaceholder"),
|
|
1308
|
-
validate: (v) => v.trim() ? void 0 : t("multiProject.nameValidation")
|
|
1308
|
+
validate: (v) => (v ?? "").trim() ? void 0 : t("multiProject.nameValidation")
|
|
1309
1309
|
});
|
|
1310
1310
|
if (p6.isCancel(name)) return null;
|
|
1311
1311
|
const desc = await p6.text({
|
|
@@ -1326,11 +1326,11 @@ async function promptMultiProject() {
|
|
|
1326
1326
|
]
|
|
1327
1327
|
});
|
|
1328
1328
|
if (p6.isCancel(shared)) return null;
|
|
1329
|
-
const nameStr = name.trim();
|
|
1329
|
+
const nameStr = (name ?? "").trim();
|
|
1330
1330
|
projects.push({
|
|
1331
1331
|
id: nameStr.toLowerCase().replace(/[^a-z0-9가-힣]/g, "-").replace(/-+/g, "-"),
|
|
1332
1332
|
name: nameStr,
|
|
1333
|
-
description: desc.trim(),
|
|
1333
|
+
description: (desc ?? "").trim(),
|
|
1334
1334
|
color,
|
|
1335
1335
|
sharedAgents: shared === "yes"
|
|
1336
1336
|
});
|
|
@@ -1364,7 +1364,7 @@ async function promptInfra(projectName) {
|
|
|
1364
1364
|
initialValue: `/${projectName.toLowerCase().replace(/[^a-z0-9]/g, "")}`
|
|
1365
1365
|
});
|
|
1366
1366
|
if (p7.isCancel(cmd)) return null;
|
|
1367
|
-
slackCommand = cmd.trim();
|
|
1367
|
+
slackCommand = (cmd ?? "").trim();
|
|
1368
1368
|
}
|
|
1369
1369
|
const portInput = await p7.text({
|
|
1370
1370
|
message: t("infra.portMsg"),
|
|
@@ -1387,7 +1387,7 @@ async function promptInfra(projectName) {
|
|
|
1387
1387
|
slackEnabled: slackChoice === "yes",
|
|
1388
1388
|
slackCommand,
|
|
1389
1389
|
port: parseInt(portInput, 10),
|
|
1390
|
-
targetDir: targetDir.trim()
|
|
1390
|
+
targetDir: (targetDir ?? "").trim()
|
|
1391
1391
|
};
|
|
1392
1392
|
}
|
|
1393
1393
|
|