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.
Files changed (2) hide show
  1. package/dist/index.js +15 -15
  2. 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
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-claude-kanban",
3
- "version": "3.2.0",
3
+ "version": "3.2.2",
4
4
  "description": "Scaffold a multi-agent kanban system for Claude Code projects",
5
5
  "type": "module",
6
6
  "bin": {