@codebyplan/cli 2.2.0 → 2.3.0

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.js +40 -3
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -37,7 +37,7 @@ var VERSION, PACKAGE_NAME;
37
37
  var init_version = __esm({
38
38
  "src/lib/version.ts"() {
39
39
  "use strict";
40
- VERSION = "2.2.0";
40
+ VERSION = "2.3.0";
41
41
  PACKAGE_NAME = "@codebyplan/cli";
42
42
  }
43
43
  });
@@ -23555,6 +23555,19 @@ async function createPR(options) {
23555
23555
  return { pr_url: null, pr_number: null, error: errorMessage };
23556
23556
  }
23557
23557
  }
23558
+ async function mergePR(options) {
23559
+ const { repoPath, prNumber, mergeMethod } = options;
23560
+ try {
23561
+ const { stdout: stdout5 } = await exec(
23562
+ `gh pr merge ${prNumber} --${mergeMethod} --delete-branch`,
23563
+ { cwd: repoPath }
23564
+ );
23565
+ return { merged: true, message: stdout5.trim() || `PR #${prNumber} merged via ${mergeMethod}` };
23566
+ } catch (err) {
23567
+ const errorMessage = err instanceof Error ? err.message : String(err);
23568
+ return { merged: false, message: "Merge failed", error: errorMessage };
23569
+ }
23570
+ }
23558
23571
  async function getPRStatus(repoPath, prNumber) {
23559
23572
  try {
23560
23573
  const { stdout: stdout5 } = await exec(
@@ -23642,12 +23655,27 @@ Automatically created by CodeByPlan promotion engine.`
23642
23655
  status: "in_progress"
23643
23656
  });
23644
23657
  }
23658
+ let mergeMessage = "";
23659
+ if (prResult.pr_number) {
23660
+ const mergeResult = await mergePR({
23661
+ repoPath: repo.path,
23662
+ prNumber: prResult.pr_number,
23663
+ mergeMethod: "merge"
23664
+ });
23665
+ mergeMessage = mergeResult.merged ? ` \u2192 Merged` : ` \u2192 Merge failed: ${mergeResult.error}`;
23666
+ if (mergeResult.merged && checklist) {
23667
+ await apiPut(`/merge-checklists/${checklist.id}`, {
23668
+ status: "completed",
23669
+ completed_at: (/* @__PURE__ */ new Date()).toISOString()
23670
+ });
23671
+ }
23672
+ }
23645
23673
  return {
23646
23674
  promoted: true,
23647
23675
  pr_url: prResult.pr_url,
23648
23676
  pr_number: prResult.pr_number,
23649
23677
  checklist_id: checklist?.id ?? null,
23650
- message: prResult.error ? `PR creation issue: ${prResult.error}` : `PR created: ${prResult.pr_url}`
23678
+ message: prResult.error ? `PR creation issue: ${prResult.error}` : `PR created: ${prResult.pr_url}${mergeMessage}`
23651
23679
  };
23652
23680
  } catch (err) {
23653
23681
  const errorMessage = err instanceof Error ? err.message : String(err);
@@ -23685,12 +23713,21 @@ async function promoteToMain(repoId) {
23685
23713
 
23686
23714
  Automatically created by CodeByPlan promotion engine.`
23687
23715
  });
23716
+ let mergeMessage = "";
23717
+ if (prResult.pr_number) {
23718
+ const mergeResult = await mergePR({
23719
+ repoPath: repo.path,
23720
+ prNumber: prResult.pr_number,
23721
+ mergeMethod: "merge"
23722
+ });
23723
+ mergeMessage = mergeResult.merged ? ` \u2192 Merged` : ` \u2192 Merge failed: ${mergeResult.error}`;
23724
+ }
23688
23725
  return {
23689
23726
  promoted: true,
23690
23727
  pr_url: prResult.pr_url,
23691
23728
  pr_number: prResult.pr_number,
23692
23729
  checklist_id: null,
23693
- message: prResult.error ? `PR creation issue: ${prResult.error}` : `PR created: ${prResult.pr_url}`
23730
+ message: prResult.error ? `PR creation issue: ${prResult.error}` : `PR created: ${prResult.pr_url}${mergeMessage}`
23694
23731
  };
23695
23732
  } catch (err) {
23696
23733
  const errorMessage = err instanceof Error ? err.message : String(err);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codebyplan/cli",
3
- "version": "2.2.0",
3
+ "version": "2.3.0",
4
4
  "description": "MCP server for CodeByPlan — AI-powered development planning and tracking",
5
5
  "type": "module",
6
6
  "bin": {