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.
- package/dist/cli.cjs +16 -5
- 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
|
|
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.
|
|
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 $
|
|
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.
|
|
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 {
|