chiefwiggum 1.3.36 → 1.3.39

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/cli.cjs +16 -5
  2. package/package.json +1 -1
package/dist/cli.cjs CHANGED
@@ -440,9 +440,10 @@ Then list open issues: gh issue list --state open
440
440
  Use this to update issue status on the project board (replace <issue_number> and <status_name>):
441
441
 
442
442
  \`\`\`bash
443
- # Get repo owner and project number
443
+ # Get repo owner, project number, and project ID
444
444
  OWNER=$(gh repo view --json owner -q .owner.login)
445
- PROJECT_NUM=$(gh repo view --json projectsV2 -q '.projectsV2.nodes[0].number')
445
+ PROJECT_NUM=$(gh repo view --json projectsV2 -q '.projectsV2.Nodes[0].number')
446
+ PROJECT_ID=$(gh repo view --json projectsV2 -q '.projectsV2.Nodes[0].id')
446
447
 
447
448
  # Get the issue's item ID in the project
448
449
  ITEM_ID=$(gh project item-list $PROJECT_NUM --owner $OWNER --format json | jq -r '.items[] | select(.content.number == <issue_number>) | .id')
@@ -452,7 +453,7 @@ FIELD_ID=$(gh project field-list $PROJECT_NUM --owner $OWNER --format json | jq
452
453
  STATUS_ID=$(gh project field-list $PROJECT_NUM --owner $OWNER --format json | jq -r '.fields[] | select(.name == "Status") | .options[] | select(.name == "<status_name>") | .id')
453
454
 
454
455
  # Update status (use "In Progress" when starting, "Done" when complete)
455
- gh project item-edit --project-id $PROJECT_NUM --id $ITEM_ID --field-id $FIELD_ID --single-select-option-id $STATUS_ID
456
+ gh project item-edit --project-id $PROJECT_ID --id $ITEM_ID --field-id $FIELD_ID --single-select-option-id $STATUS_ID
456
457
  \`\`\`
457
458
 
458
459
  If any step fails (no project linked, field not found), skip and continue.
@@ -575,7 +576,7 @@ function getCurrentCommit() {
575
576
  function getLinkedProjectNumber() {
576
577
  try {
577
578
  const output = (0, import_node_child_process5.execSync)(
578
- "gh repo view --json projectsV2 -q '.projectsV2.nodes[0].number'",
579
+ "gh repo view --json projectsV2 -q '.projectsV2.Nodes[0].number'",
579
580
  { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"], timeout: 3e4 }
580
581
  );
581
582
  const num = output.trim();
@@ -637,9 +638,19 @@ async function ensureProjectLinked() {
637
638
  return;
638
639
  }
639
640
  if (selected === "__new__") {
641
+ const existingNames = new Set(existingProjects.map((p2) => p2.title.toLowerCase()));
640
642
  const projectName = await text2({
641
643
  message: "Board name",
642
- placeholder: "e.g., My Project Kanban"
644
+ placeholder: "e.g., My Project Kanban",
645
+ validate: (value) => {
646
+ if (!value || !value.trim()) {
647
+ return "Board name is required";
648
+ }
649
+ if (existingNames.has(value.trim().toLowerCase())) {
650
+ return `A board named "${value.trim()}" already exists. Choose a different name.`;
651
+ }
652
+ return void 0;
653
+ }
643
654
  });
644
655
  console.log(import_picocolors6.default.cyan(`Creating board "${projectName}"...`));
645
656
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chiefwiggum",
3
- "version": "1.3.36",
3
+ "version": "1.3.39",
4
4
  "description": "Autonomous coding agent CLI. Point it at a plan, watch it build.",
5
5
  "type": "module",
6
6
  "bin": {