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.
Files changed (2) hide show
  1. package/dist/cli.cjs +59 -0
  2. 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}...`));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chiefwiggum",
3
- "version": "1.3.15",
3
+ "version": "1.3.17",
4
4
  "description": "Autonomous coding agent CLI. Point it at a plan, watch it build.",
5
5
  "type": "module",
6
6
  "bin": {