chiefwiggum 1.3.15 → 1.3.17
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 +59 -0
- package/package.json +1 -1
package/dist/cli.cjs
CHANGED
|
@@ -949,8 +949,62 @@ Write directly to CLAUDE.md.`;
|
|
|
949
949
|
const tracker = getProjectTracker();
|
|
950
950
|
const techGenerated = (0, import_node_fs3.existsSync)(techPath) ? (0, import_node_fs3.readFileSync)(techPath, "utf-8") : "";
|
|
951
951
|
if (tracker === "github") {
|
|
952
|
+
console.log();
|
|
953
|
+
let repoName = "";
|
|
954
|
+
try {
|
|
955
|
+
repoName = (0, import_node_child_process6.execSync)("gh repo view --json nameWithOwner -q .nameWithOwner", {
|
|
956
|
+
encoding: "utf-8",
|
|
957
|
+
stdio: ["pipe", "pipe", "pipe"]
|
|
958
|
+
}).trim();
|
|
959
|
+
} catch {
|
|
960
|
+
console.log(import_picocolors7.default.red("Could not detect GitHub repo. Make sure you're in a git repo with a GitHub remote."));
|
|
961
|
+
process.exit(1);
|
|
962
|
+
}
|
|
963
|
+
let existingProjects = [];
|
|
964
|
+
try {
|
|
965
|
+
const projectsOutput = (0, import_node_child_process6.execSync)(`gh project list --owner ${repoName.split("/")[0]} --format json`, {
|
|
966
|
+
encoding: "utf-8",
|
|
967
|
+
stdio: ["pipe", "pipe", "pipe"]
|
|
968
|
+
});
|
|
969
|
+
const projects = JSON.parse(projectsOutput);
|
|
970
|
+
existingProjects = projects.projects?.map((p2) => p2.title) || [];
|
|
971
|
+
} catch {
|
|
972
|
+
}
|
|
973
|
+
console.log(import_picocolors7.default.bold(`GitHub Project Board`));
|
|
974
|
+
console.log(import_picocolors7.default.dim(`Organize issues in a Kanban-style board for ${repoName}`));
|
|
975
|
+
console.log();
|
|
976
|
+
const projectOptions = [
|
|
977
|
+
...existingProjects.map((name) => ({ value: name, label: name })),
|
|
978
|
+
{ value: "__new__", label: "Create new board..." },
|
|
979
|
+
{ value: "__none__", label: "Skip (just create issues without a board)" }
|
|
980
|
+
];
|
|
981
|
+
const selectedProject = await select2({
|
|
982
|
+
message: "Add issues to a project board?",
|
|
983
|
+
options: projectOptions
|
|
984
|
+
});
|
|
985
|
+
let projectName = null;
|
|
986
|
+
if (selectedProject === "__new__") {
|
|
987
|
+
projectName = await text2({
|
|
988
|
+
message: "Board name",
|
|
989
|
+
placeholder: "e.g., SVG Icon Generator v2"
|
|
990
|
+
});
|
|
991
|
+
console.log(import_picocolors7.default.cyan(`Creating board "${projectName}"...`));
|
|
992
|
+
try {
|
|
993
|
+
(0, import_node_child_process6.execSync)(`gh project create --owner ${repoName.split("/")[0]} --title "${projectName}"`, {
|
|
994
|
+
stdio: "inherit"
|
|
995
|
+
});
|
|
996
|
+
console.log(import_picocolors7.default.green(`\u2713 Board "${projectName}" created`));
|
|
997
|
+
} catch {
|
|
998
|
+
console.log(import_picocolors7.default.yellow("Could not create board. Issues will be created without one."));
|
|
999
|
+
projectName = null;
|
|
1000
|
+
}
|
|
1001
|
+
} else if (selectedProject !== "__none__") {
|
|
1002
|
+
projectName = selectedProject;
|
|
1003
|
+
}
|
|
952
1004
|
console.log();
|
|
953
1005
|
console.log(import_picocolors7.default.yellow("[4/4] Creating GitHub Issues..."));
|
|
1006
|
+
const projectInstruction = projectName ? `After creating each issue, add it to the project "${projectName}" using:
|
|
1007
|
+
gh project item-add <PROJECT_NUMBER> --owner ${repoName.split("/")[0]} --url <ISSUE_URL>` : "";
|
|
954
1008
|
const issuesPrompt = `You are creating GitHub Issues based on specs.
|
|
955
1009
|
|
|
956
1010
|
Here is the PRD:
|
|
@@ -970,10 +1024,15 @@ Group related issues with labels like "phase-1", "phase-2", etc.
|
|
|
970
1024
|
For each issue, run a command like:
|
|
971
1025
|
gh issue create --title "Issue title" --body "Description of the task" --label "phase-1"
|
|
972
1026
|
|
|
1027
|
+
${projectInstruction}
|
|
1028
|
+
|
|
973
1029
|
Create 5-15 issues covering the full implementation.
|
|
974
1030
|
Do NOT create a TODO.md file - only create GitHub Issues.`;
|
|
975
1031
|
await runClaude({ prompt: issuesPrompt });
|
|
976
1032
|
console.log(import_picocolors7.default.green(" \u2713 GitHub Issues created"));
|
|
1033
|
+
if (projectName) {
|
|
1034
|
+
console.log(import_picocolors7.default.green(` \u2713 Added to board "${projectName}"`));
|
|
1035
|
+
}
|
|
977
1036
|
} else {
|
|
978
1037
|
console.log();
|
|
979
1038
|
console.log(import_picocolors7.default.yellow(`[4/4] Generating ${todoFile}...`));
|