bmalph 2.4.0 → 2.6.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 (166) hide show
  1. package/README.md +93 -47
  2. package/dist/cli.js +17 -2
  3. package/dist/cli.js.map +1 -0
  4. package/dist/commands/check-updates.js +2 -17
  5. package/dist/commands/check-updates.js.map +1 -0
  6. package/dist/commands/doctor.js +6 -57
  7. package/dist/commands/doctor.js.map +1 -0
  8. package/dist/commands/implement.js +6 -4
  9. package/dist/commands/implement.js.map +1 -0
  10. package/dist/commands/init.js +28 -47
  11. package/dist/commands/init.js.map +1 -0
  12. package/dist/commands/reset.js +7 -10
  13. package/dist/commands/reset.js.map +1 -0
  14. package/dist/commands/run.js +46 -0
  15. package/dist/commands/run.js.map +1 -0
  16. package/dist/commands/status.js +18 -3
  17. package/dist/commands/status.js.map +1 -0
  18. package/dist/commands/upgrade.js +7 -10
  19. package/dist/commands/upgrade.js.map +1 -0
  20. package/dist/commands/watch.js +19 -0
  21. package/dist/commands/watch.js.map +1 -0
  22. package/dist/installer.js +11 -38
  23. package/dist/installer.js.map +1 -0
  24. package/dist/platform/aider.js +7 -63
  25. package/dist/platform/aider.js.map +1 -0
  26. package/dist/platform/claude-code.js +5 -39
  27. package/dist/platform/claude-code.js.map +1 -0
  28. package/dist/platform/codex.js +7 -59
  29. package/dist/platform/codex.js.map +1 -0
  30. package/dist/platform/copilot.js +10 -65
  31. package/dist/platform/copilot.js.map +1 -0
  32. package/dist/platform/cursor.js +7 -63
  33. package/dist/platform/cursor.js.map +1 -0
  34. package/dist/platform/detect.js +2 -1
  35. package/dist/platform/detect.js.map +1 -0
  36. package/dist/platform/doctor-checks.js +61 -0
  37. package/dist/platform/doctor-checks.js.map +1 -0
  38. package/dist/platform/index.js +1 -0
  39. package/dist/platform/index.js.map +1 -0
  40. package/dist/platform/instructions-snippet.js +75 -0
  41. package/dist/platform/instructions-snippet.js.map +1 -0
  42. package/dist/platform/registry.js +7 -0
  43. package/dist/platform/registry.js.map +1 -0
  44. package/dist/platform/resolve.js +1 -0
  45. package/dist/platform/resolve.js.map +1 -0
  46. package/dist/platform/types.js +1 -0
  47. package/dist/platform/types.js.map +1 -0
  48. package/dist/platform/windsurf.js +7 -63
  49. package/dist/platform/windsurf.js.map +1 -0
  50. package/dist/reset.js +6 -20
  51. package/dist/reset.js.map +1 -0
  52. package/dist/run/ralph-process.js +89 -0
  53. package/dist/run/ralph-process.js.map +1 -0
  54. package/dist/run/run-dashboard.js +104 -0
  55. package/dist/run/run-dashboard.js.map +1 -0
  56. package/dist/run/types.js +2 -0
  57. package/dist/run/types.js.map +1 -0
  58. package/dist/transition/artifact-scan.js +3 -2
  59. package/dist/transition/artifact-scan.js.map +1 -0
  60. package/dist/transition/artifacts.js +2 -28
  61. package/dist/transition/artifacts.js.map +1 -0
  62. package/dist/transition/context.js +1 -0
  63. package/dist/transition/context.js.map +1 -0
  64. package/dist/transition/fix-plan.js +1 -0
  65. package/dist/transition/fix-plan.js.map +1 -0
  66. package/dist/transition/index.js +2 -1
  67. package/dist/transition/index.js.map +1 -0
  68. package/dist/transition/orchestration.js +3 -2
  69. package/dist/transition/orchestration.js.map +1 -0
  70. package/dist/transition/preflight.js +1 -0
  71. package/dist/transition/preflight.js.map +1 -0
  72. package/dist/transition/specs-changelog.js +3 -2
  73. package/dist/transition/specs-changelog.js.map +1 -0
  74. package/dist/transition/specs-index.js +3 -2
  75. package/dist/transition/specs-index.js.map +1 -0
  76. package/dist/transition/story-parsing.js +1 -0
  77. package/dist/transition/story-parsing.js.map +1 -0
  78. package/dist/transition/tech-stack.js +1 -0
  79. package/dist/transition/tech-stack.js.map +1 -0
  80. package/dist/transition/types.js +1 -0
  81. package/dist/transition/types.js.map +1 -0
  82. package/dist/utils/config.js +3 -2
  83. package/dist/utils/config.js.map +1 -0
  84. package/dist/utils/constants.js +8 -49
  85. package/dist/utils/constants.js.map +1 -0
  86. package/dist/utils/dryrun.js +1 -20
  87. package/dist/utils/dryrun.js.map +1 -0
  88. package/dist/utils/errors.js +1 -19
  89. package/dist/utils/errors.js.map +1 -0
  90. package/dist/utils/file-system.js +34 -3
  91. package/dist/utils/file-system.js.map +1 -0
  92. package/dist/utils/github.js +21 -8
  93. package/dist/utils/github.js.map +1 -0
  94. package/dist/utils/json.js +2 -1
  95. package/dist/utils/json.js.map +1 -0
  96. package/dist/utils/logger.js +1 -14
  97. package/dist/utils/logger.js.map +1 -0
  98. package/dist/utils/state.js +3 -2
  99. package/dist/utils/state.js.map +1 -0
  100. package/dist/utils/validate.js +10 -1
  101. package/dist/utils/validate.js.map +1 -0
  102. package/dist/watch/dashboard.js +61 -0
  103. package/dist/watch/dashboard.js.map +1 -0
  104. package/dist/watch/file-watcher.js +30 -0
  105. package/dist/watch/file-watcher.js.map +1 -0
  106. package/dist/watch/renderer.js +242 -0
  107. package/dist/watch/renderer.js.map +1 -0
  108. package/dist/watch/state-reader.js +200 -0
  109. package/dist/watch/state-reader.js.map +1 -0
  110. package/dist/watch/types.js +2 -0
  111. package/dist/watch/types.js.map +1 -0
  112. package/package.json +11 -8
  113. package/ralph/drivers/copilot.sh +89 -0
  114. package/ralph/lib/circuit_breaker.sh +86 -59
  115. package/ralph/lib/enable_core.sh +3 -6
  116. package/ralph/lib/response_analyzer.sh +5 -29
  117. package/ralph/lib/task_sources.sh +45 -11
  118. package/ralph/lib/wizard_utils.sh +9 -0
  119. package/ralph/ralph_import.sh +7 -2
  120. package/ralph/ralph_loop.sh +29 -34
  121. package/ralph/ralph_monitor.sh +4 -0
  122. package/ralph/templates/ralphrc.template +1 -1
  123. package/slash-commands/bmalph-watch.md +22 -0
  124. package/dist/cli.d.ts +0 -1
  125. package/dist/commands/check-updates.d.ts +0 -5
  126. package/dist/commands/doctor.d.ts +0 -51
  127. package/dist/commands/implement.d.ts +0 -6
  128. package/dist/commands/init.d.ts +0 -9
  129. package/dist/commands/reset.d.ts +0 -7
  130. package/dist/commands/status.d.ts +0 -7
  131. package/dist/commands/upgrade.d.ts +0 -7
  132. package/dist/installer.d.ts +0 -39
  133. package/dist/platform/aider.d.ts +0 -2
  134. package/dist/platform/claude-code.d.ts +0 -2
  135. package/dist/platform/codex.d.ts +0 -2
  136. package/dist/platform/copilot.d.ts +0 -2
  137. package/dist/platform/cursor.d.ts +0 -2
  138. package/dist/platform/detect.d.ts +0 -7
  139. package/dist/platform/index.d.ts +0 -4
  140. package/dist/platform/registry.d.ts +0 -4
  141. package/dist/platform/resolve.d.ts +0 -8
  142. package/dist/platform/types.d.ts +0 -41
  143. package/dist/platform/windsurf.d.ts +0 -2
  144. package/dist/reset.d.ts +0 -18
  145. package/dist/transition/artifact-scan.d.ts +0 -27
  146. package/dist/transition/artifacts.d.ts +0 -3
  147. package/dist/transition/context.d.ts +0 -19
  148. package/dist/transition/fix-plan.d.ts +0 -21
  149. package/dist/transition/index.d.ts +0 -9
  150. package/dist/transition/orchestration.d.ts +0 -2
  151. package/dist/transition/preflight.d.ts +0 -6
  152. package/dist/transition/specs-changelog.d.ts +0 -3
  153. package/dist/transition/specs-index.d.ts +0 -22
  154. package/dist/transition/story-parsing.d.ts +0 -7
  155. package/dist/transition/tech-stack.d.ts +0 -3
  156. package/dist/transition/types.d.ts +0 -82
  157. package/dist/utils/config.d.ts +0 -13
  158. package/dist/utils/constants.d.ts +0 -70
  159. package/dist/utils/dryrun.d.ts +0 -7
  160. package/dist/utils/errors.d.ts +0 -63
  161. package/dist/utils/file-system.d.ts +0 -24
  162. package/dist/utils/github.d.ts +0 -83
  163. package/dist/utils/json.d.ts +0 -7
  164. package/dist/utils/logger.d.ts +0 -9
  165. package/dist/utils/state.d.ts +0 -26
  166. package/dist/utils/validate.d.ts +0 -44
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import chalk from "chalk";
2
- import inquirer from "inquirer";
2
+ import { confirm } from "@inquirer/prompts";
3
3
  import { isInitialized } from "../installer.js";
4
4
  import { buildResetPlan, executeResetPlan, planToDryRunActions } from "../reset.js";
5
5
  import { formatDryRunSummary } from "../utils/dryrun.js";
@@ -44,15 +44,11 @@ async function runReset(options) {
44
44
  if (!process.stdin.isTTY) {
45
45
  throw new Error("Non-interactive mode requires --force flag for reset");
46
46
  }
47
- const { confirm } = await inquirer.prompt([
48
- {
49
- type: "confirm",
50
- name: "confirm",
51
- message: "This will remove all bmalph files from the project. Continue?",
52
- default: false,
53
- },
54
- ]);
55
- if (!confirm) {
47
+ const confirmed = await confirm({
48
+ message: "This will remove all bmalph files from the project. Continue?",
49
+ default: false,
50
+ });
51
+ if (!confirmed) {
56
52
  console.log("Aborted.");
57
53
  return;
58
54
  }
@@ -79,3 +75,4 @@ async function runReset(options) {
79
75
  console.log(chalk.yellow(`\nNote: ${warning.path} ${warning.message}`));
80
76
  }
81
77
  }
78
+ //# sourceMappingURL=reset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset.js","sourceRoot":"","sources":["../../src/commands/reset.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import chalk from "chalk";
2
+ import { readConfig } from "../utils/config.js";
3
+ import { withErrorHandling } from "../utils/errors.js";
4
+ import { isPlatformId, getPlatform, getFullTierPlatformNames } from "../platform/registry.js";
5
+ import { validateBashAvailable, validateRalphLoop, spawnRalphLoop } from "../run/ralph-process.js";
6
+ import { startRunDashboard } from "../run/run-dashboard.js";
7
+ import { parseInterval } from "../utils/validate.js";
8
+ export async function runCommand(options) {
9
+ await withErrorHandling(() => executeRun(options));
10
+ }
11
+ async function executeRun(options) {
12
+ const { projectDir, dashboard } = options;
13
+ const config = await readConfig(projectDir);
14
+ if (!config) {
15
+ throw new Error("Project not initialized. Run: bmalph init");
16
+ }
17
+ const platform = resolvePlatform(options.driver, config.platform);
18
+ if (platform.tier !== "full") {
19
+ throw new Error(`Ralph requires a full-tier platform (${getFullTierPlatformNames()}). ` +
20
+ `Current: ${platform.displayName}`);
21
+ }
22
+ if (platform.experimental) {
23
+ console.log(chalk.yellow(`Warning: ${platform.displayName} support is experimental`));
24
+ }
25
+ const interval = parseInterval(options.interval);
26
+ await Promise.all([validateBashAvailable(), validateRalphLoop(projectDir)]);
27
+ const ralph = spawnRalphLoop(projectDir, platform.id, {
28
+ inheritStdio: !dashboard,
29
+ });
30
+ if (dashboard) {
31
+ await startRunDashboard({ projectDir, interval, ralph });
32
+ }
33
+ else {
34
+ await new Promise((resolve) => {
35
+ ralph.onExit(() => resolve());
36
+ });
37
+ }
38
+ }
39
+ function resolvePlatform(driverOverride, configPlatform) {
40
+ const id = driverOverride ?? configPlatform ?? "claude-code";
41
+ if (!isPlatformId(id)) {
42
+ throw new Error(`Unknown platform: ${id}`);
43
+ }
44
+ return getPlatform(id);
45
+ }
46
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAUrD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAA0B;IACzD,MAAM,iBAAiB,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,OAA0B;IAClD,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAE1C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClE,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,wCAAwC,wBAAwB,EAAE,KAAK;YACrE,YAAY,QAAQ,CAAC,WAAW,EAAE,CACrC,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,QAAQ,CAAC,WAAW,0BAA0B,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEjD,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,qBAAqB,EAAE,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAE5E,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE;QACpD,YAAY,EAAE,CAAC,SAAS;KACzB,CAAC,CAAC;IAEH,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,iBAAiB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,cAAkC,EAClC,cAA2B;IAE3B,MAAM,EAAE,GAAG,cAAc,IAAI,cAAc,IAAI,aAAa,CAAC;IAC7D,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC;AACzB,CAAC"}
@@ -3,6 +3,7 @@ import { readConfig } from "../utils/config.js";
3
3
  import { readState, readRalphStatus, getPhaseLabel, getPhaseInfo } from "../utils/state.js";
4
4
  import { withErrorHandling } from "../utils/errors.js";
5
5
  import { resolveProjectPlatform } from "../platform/resolve.js";
6
+ import { getFullTierPlatformNames } from "../platform/registry.js";
6
7
  import { scanProjectArtifacts } from "../transition/artifact-scan.js";
7
8
  export async function statusCommand(options) {
8
9
  await withErrorHandling(() => runStatus(options));
@@ -43,6 +44,11 @@ export async function runStatus(options) {
43
44
  const nextAction = artifactScan && phaseDetected
44
45
  ? artifactScan.nextAction
45
46
  : getNextAction(phase, status, ralphStatus, platform);
47
+ // Detect when Ralph completed but bmalph state hasn't caught up
48
+ const completionMismatch = phase === 4 &&
49
+ status === "implementing" &&
50
+ ralphStatus !== null &&
51
+ ralphStatus.status === "completed";
46
52
  if (options.json) {
47
53
  const output = {
48
54
  phase,
@@ -68,6 +74,9 @@ export async function runStatus(options) {
68
74
  if (nextAction) {
69
75
  output.nextAction = nextAction;
70
76
  }
77
+ if (completionMismatch) {
78
+ output.completionMismatch = true;
79
+ }
71
80
  console.log(JSON.stringify(output, null, 2));
72
81
  return;
73
82
  }
@@ -97,7 +106,12 @@ export async function runStatus(options) {
97
106
  console.log(chalk.bold(" Ralph Loop"));
98
107
  console.log(` ${chalk.cyan("Status:")} ${chalk.dim("not started")}`);
99
108
  }
100
- if (nextAction) {
109
+ if (completionMismatch) {
110
+ console.log("");
111
+ console.log(chalk.green(" Ralph has completed all tasks."));
112
+ console.log(` ${chalk.cyan("Next:")} Review changes and update project phase`);
113
+ }
114
+ else if (nextAction) {
101
115
  console.log("");
102
116
  console.log(` ${chalk.cyan("Next:")} ${nextAction}`);
103
117
  }
@@ -181,9 +195,9 @@ function getNextAction(phase, status, ralphStatus, platform) {
181
195
  case 4:
182
196
  if (!ralphStatus || ralphStatus.status === "not_started") {
183
197
  if (platform.tier === "full") {
184
- return `Start Ralph loop with: bash .ralph/drivers/${platform.id}.sh`;
198
+ return "Start Ralph loop with: bmalph run";
185
199
  }
186
- return "Ralph requires a full-tier platform (Claude Code or Codex)";
200
+ return `Ralph requires a full-tier platform (${getFullTierPlatformNames()})`;
187
201
  }
188
202
  if (ralphStatus.status === "blocked") {
189
203
  return "Review Ralph logs: bmalph doctor";
@@ -196,3 +210,4 @@ function getNextAction(phase, status, ralphStatus, platform) {
196
210
  return null;
197
211
  }
198
212
  }
213
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import chalk from "chalk";
2
- import inquirer from "inquirer";
2
+ import { confirm } from "@inquirer/prompts";
3
3
  import { isInitialized, copyBundledAssets, mergeInstructionsFile, previewUpgrade, getBundledVersions, } from "../installer.js";
4
4
  import { readConfig, writeConfig } from "../utils/config.js";
5
5
  import { formatDryRunSummary } from "../utils/dryrun.js";
@@ -31,15 +31,11 @@ async function runUpgrade(options) {
31
31
  if (!process.stdin.isTTY) {
32
32
  throw new Error("Non-interactive mode requires --force flag for upgrade");
33
33
  }
34
- const { confirm } = await inquirer.prompt([
35
- {
36
- type: "confirm",
37
- name: "confirm",
38
- message: "This will overwrite managed files. Continue?",
39
- default: false,
40
- },
41
- ]);
42
- if (!confirm) {
34
+ const confirmed = await confirm({
35
+ message: "This will overwrite managed files. Continue?",
36
+ default: false,
37
+ });
38
+ if (!confirmed) {
43
39
  console.log("Aborted.");
44
40
  return;
45
41
  }
@@ -66,3 +62,4 @@ async function runUpgrade(options) {
66
62
  console.log(" .ralph/specs/");
67
63
  console.log(chalk.green("\nUpgrade complete."));
68
64
  }
65
+ //# sourceMappingURL=upgrade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAqB,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAQhE,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAuB;IAC1D,MAAM,iBAAiB,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,OAAuB;IAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAEtC,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC,CAAC;QAC9E,OAAO;IACT,CAAC;IAED,qCAAqC;IACrC,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAE1D,sBAAsB;IACtB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAmB;YAC9B,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACzE,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;SAC1E,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,4CAA4C;IAC5C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;YAC9B,OAAO,EAAE,8CAA8C;YACvD,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gCAAgC,QAAQ,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC;IAEnF,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7D,MAAM,qBAAqB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAElD,8DAA8D;IAC9D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,gBAAgB,GAAG,kBAAkB,EAAE,CAAC;QAC/C,MAAM,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAE/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAClD,CAAC"}
@@ -0,0 +1,19 @@
1
+ import chalk from "chalk";
2
+ import { readConfig } from "../utils/config.js";
3
+ import { withErrorHandling } from "../utils/errors.js";
4
+ import { parseInterval } from "../utils/validate.js";
5
+ import { startDashboard } from "../watch/dashboard.js";
6
+ export async function watchCommand(options) {
7
+ await withErrorHandling(() => runWatch(options));
8
+ }
9
+ async function runWatch(options) {
10
+ console.error(chalk.yellow('Warning: "bmalph watch" is deprecated. Use "bmalph run" instead.'));
11
+ const projectDir = options.projectDir;
12
+ const config = await readConfig(projectDir);
13
+ if (!config) {
14
+ throw new Error("Project not initialized. Run: bmalph init");
15
+ }
16
+ const interval = parseInterval(options.interval);
17
+ await startDashboard({ projectDir, interval });
18
+ }
19
+ //# sourceMappingURL=watch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/commands/watch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAOvD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAA4B;IAC7D,MAAM,iBAAiB,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,OAA4B;IAClD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,kEAAkE,CAAC,CAAC,CAAC;IAEhG,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAEtC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEjD,MAAM,cAAc,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;AACjD,CAAC"}
package/dist/installer.js CHANGED
@@ -1,10 +1,10 @@
1
- import { cp, mkdir, readFile, readdir, rm, chmod, rename } from "fs/promises";
2
- import { readFileSync } from "fs";
3
- import { join, basename, dirname } from "path";
4
- import { fileURLToPath } from "url";
1
+ import { cp, mkdir, readFile, readdir, rm, chmod, rename } from "node:fs/promises";
2
+ import { readFileSync } from "node:fs";
3
+ import { join, basename, dirname } from "node:path";
4
+ import { fileURLToPath } from "node:url";
5
5
  import { debug, warn } from "./utils/logger.js";
6
6
  import { formatError, isEnoent } from "./utils/errors.js";
7
- import { exists, atomicWriteFile } from "./utils/file-system.js";
7
+ import { exists, atomicWriteFile, parseGitignoreLines, replaceSection, } from "./utils/file-system.js";
8
8
  import { STATE_DIR, CONFIG_FILE } from "./utils/constants.js";
9
9
  const __filename = fileURLToPath(import.meta.url);
10
10
  const __dirname = dirname(__filename);
@@ -126,13 +126,7 @@ async function deliverCommands(projectDir, platform, slashCommandsDir) {
126
126
  const inlineMarker = "## BMAD Commands";
127
127
  const commandsBlock = `\n${inlineMarker}\n\n${commandSections.join("\n\n---\n\n")}\n`;
128
128
  if (existing.includes(inlineMarker)) {
129
- // Replace existing commands section
130
- const sectionStart = existing.indexOf(inlineMarker);
131
- const before = existing.slice(0, sectionStart);
132
- const afterSection = existing.slice(sectionStart);
133
- const nextHeadingMatch = afterSection.match(/\n## (?!BMAD Commands)/);
134
- const after = nextHeadingMatch ? afterSection.slice(nextHeadingMatch.index) : "";
135
- await atomicWriteFile(instructionsPath, before.trimEnd() + commandsBlock + after);
129
+ await atomicWriteFile(instructionsPath, replaceSection(existing, inlineMarker, commandsBlock));
136
130
  }
137
131
  else {
138
132
  await atomicWriteFile(instructionsPath, existing + commandsBlock);
@@ -278,8 +272,8 @@ modules:
278
272
  }
279
273
  }
280
274
  }
281
- catch {
282
- // Non-fatal if chmod fails
275
+ catch (err) {
276
+ debug(`chmod on driver scripts failed (non-fatal): ${formatError(err)}`);
283
277
  }
284
278
  }
285
279
  // Deliver slash commands based on platform strategy
@@ -377,11 +371,7 @@ async function updateGitignore(projectDir) {
377
371
  if (!isEnoent(err))
378
372
  throw err;
379
373
  }
380
- // Split into lines for exact comparison (avoid substring matching issues)
381
- const existingLines = new Set(existing
382
- .split(/\r?\n/)
383
- .map((line) => line.trim())
384
- .filter(Boolean));
374
+ const existingLines = parseGitignoreLines(existing);
385
375
  const entries = [".ralph/logs/", "_bmad-output/"];
386
376
  const newEntries = entries.filter((e) => !existingLines.has(e));
387
377
  if (newEntries.length === 0)
@@ -411,32 +401,14 @@ export async function mergeInstructionsFile(projectDir, platform) {
411
401
  throw err;
412
402
  }
413
403
  if (existing.includes(marker)) {
414
- // Replace stale section with current content, preserving content after it
415
- const sectionStart = existing.indexOf(marker);
416
- const before = existing.slice(0, sectionStart);
417
- const afterSection = existing.slice(sectionStart);
418
- // Find the next level-2 heading after the section start
419
- const markerEscaped = marker.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
420
- const nextHeadingMatch = afterSection.match(new RegExp(`\\n## (?!${markerEscaped.slice(3)})`));
421
- const after = nextHeadingMatch ? afterSection.slice(nextHeadingMatch.index) : "";
422
- await atomicWriteFile(instructionsPath, before.trimEnd() + "\n" + snippet + after);
404
+ await atomicWriteFile(instructionsPath, replaceSection(existing, marker, "\n" + snippet));
423
405
  return;
424
406
  }
425
407
  await atomicWriteFile(instructionsPath, existing + snippet);
426
408
  }
427
- /**
428
- * @deprecated Use `mergeInstructionsFile(projectDir)` instead.
429
- * Kept for backward compatibility during migration.
430
- */
431
- export async function mergeClaudeMd(projectDir) {
432
- return mergeInstructionsFile(projectDir);
433
- }
434
409
  export async function isInitialized(projectDir) {
435
410
  return exists(join(projectDir, CONFIG_FILE));
436
411
  }
437
- export async function hasExistingBmadDir(projectDir) {
438
- return exists(join(projectDir, "_bmad"));
439
- }
440
412
  export async function previewInstall(projectDir, platform) {
441
413
  const p = platform ?? (await getDefaultPlatform());
442
414
  const wouldCreate = [];
@@ -545,3 +517,4 @@ export async function previewUpgrade(projectDir, platform) {
545
517
  }
546
518
  return { wouldUpdate, wouldCreate, wouldPreserve };
547
519
  }
520
+ //# sourceMappingURL=installer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- import { readFile } from "fs/promises";
2
- import { join } from "path";
3
- import { isEnoent, formatError } from "../utils/errors.js";
1
+ import { buildPlatformDoctorChecks } from "./doctor-checks.js";
2
+ import { generateInstructionsOnlySnippet } from "./instructions-snippet.js";
4
3
  export const aiderPlatform = {
5
4
  id: "aider",
6
5
  displayName: "Aider",
@@ -8,64 +7,9 @@ export const aiderPlatform = {
8
7
  instructionsFile: "CONVENTIONS.md",
9
8
  commandDelivery: { kind: "none" },
10
9
  instructionsSectionMarker: "## BMAD-METHOD Integration",
11
- generateInstructionsSnippet: () => `
12
- ## BMAD-METHOD Integration
13
-
14
- Ask the BMAD master agent to navigate phases. Ask for help to discover all available agents and workflows.
15
-
16
- ### Phases
17
-
18
- | Phase | Focus | Key Agents |
19
- |-------|-------|-----------|
20
- | 1. Analysis | Understand the problem | Analyst agent |
21
- | 2. Planning | Define the solution | Product Manager agent |
22
- | 3. Solutioning | Design the architecture | Architect agent |
23
-
24
- ### Workflow
25
-
26
- Work through Phases 1-3 using BMAD agents and workflows interactively.
27
-
28
- > **Note:** Ralph (Phase 4 — autonomous implementation) is not supported on this platform.
29
-
30
- ### Available Agents
31
-
32
- | Agent | Role |
33
- |-------|------|
34
- | Analyst | Research, briefs, discovery |
35
- | Architect | Technical design, architecture |
36
- | Product Manager | PRDs, epics, stories |
37
- | Scrum Master | Sprint planning, status, coordination |
38
- | Developer | Implementation, coding |
39
- | UX Designer | User experience, wireframes |
40
- | QA Engineer | Test automation, quality assurance |
41
- `,
42
- getDoctorChecks: () => [
43
- {
44
- id: "instructions-file",
45
- label: "CONVENTIONS.md contains BMAD snippet",
46
- check: async (projectDir) => {
47
- try {
48
- const content = await readFile(join(projectDir, "CONVENTIONS.md"), "utf-8");
49
- if (content.includes("BMAD-METHOD Integration")) {
50
- return { passed: true };
51
- }
52
- return {
53
- passed: false,
54
- detail: "missing BMAD-METHOD Integration section",
55
- hint: "Run: bmalph init",
56
- };
57
- }
58
- catch (err) {
59
- if (isEnoent(err)) {
60
- return {
61
- passed: false,
62
- detail: "CONVENTIONS.md not found",
63
- hint: "Run: bmalph init",
64
- };
65
- }
66
- return { passed: false, detail: formatError(err), hint: "Check file permissions" };
67
- }
68
- },
69
- },
70
- ],
10
+ generateInstructionsSnippet: generateInstructionsOnlySnippet,
11
+ getDoctorChecks() {
12
+ return buildPlatformDoctorChecks(this);
13
+ },
71
14
  };
15
+ //# sourceMappingURL=aider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aider.js","sourceRoot":"","sources":["../../src/platform/aider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAE5E,MAAM,CAAC,MAAM,aAAa,GAAa;IACrC,EAAE,EAAE,OAAO;IACX,WAAW,EAAE,OAAO;IACpB,IAAI,EAAE,mBAAmB;IACzB,gBAAgB,EAAE,gBAAgB;IAClC,eAAe,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACjC,yBAAyB,EAAE,4BAA4B;IACvD,2BAA2B,EAAE,+BAA+B;IAC5D,eAAe;QACb,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;CACF,CAAC"}
@@ -1,7 +1,4 @@
1
- import { readFile } from "fs/promises";
2
- import { join } from "path";
3
- import { exists } from "../utils/file-system.js";
4
- import { isEnoent, formatError } from "../utils/errors.js";
1
+ import { buildPlatformDoctorChecks } from "./doctor-checks.js";
5
2
  export const claudeCodePlatform = {
6
3
  id: "claude-code",
7
4
  displayName: "Claude Code",
@@ -49,39 +46,8 @@ Use \`/bmalph\` to navigate phases. Use \`/bmad-help\` to discover all commands.
49
46
  | \`/ux-designer\` | UX Designer | User experience, wireframes |
50
47
  | \`/qa\` | QA Engineer | Test automation, quality assurance |
51
48
  `,
52
- getDoctorChecks: () => [
53
- {
54
- id: "slash-command",
55
- label: ".claude/commands/bmalph.md present",
56
- check: async (projectDir) => {
57
- if (await exists(join(projectDir, ".claude/commands/bmalph.md"))) {
58
- return { passed: true };
59
- }
60
- return { passed: false, detail: "not found", hint: "Run: bmalph init" };
61
- },
62
- },
63
- {
64
- id: "instructions-file",
65
- label: "CLAUDE.md contains BMAD snippet",
66
- check: async (projectDir) => {
67
- try {
68
- const content = await readFile(join(projectDir, "CLAUDE.md"), "utf-8");
69
- if (content.includes("BMAD-METHOD Integration")) {
70
- return { passed: true };
71
- }
72
- return {
73
- passed: false,
74
- detail: "missing BMAD-METHOD Integration section",
75
- hint: "Run: bmalph init",
76
- };
77
- }
78
- catch (err) {
79
- if (isEnoent(err)) {
80
- return { passed: false, detail: "CLAUDE.md not found", hint: "Run: bmalph init" };
81
- }
82
- return { passed: false, detail: formatError(err), hint: "Check file permissions" };
83
- }
84
- },
85
- },
86
- ],
49
+ getDoctorChecks() {
50
+ return buildPlatformDoctorChecks(this);
51
+ },
87
52
  };
53
+ //# sourceMappingURL=claude-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/platform/claude-code.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,MAAM,CAAC,MAAM,kBAAkB,GAAa;IAC1C,EAAE,EAAE,aAAa;IACjB,WAAW,EAAE,aAAa;IAC1B,IAAI,EAAE,MAAM;IACZ,gBAAgB,EAAE,WAAW;IAC7B,eAAe,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,kBAAkB,EAAE;IAC/D,yBAAyB,EAAE,4BAA4B;IACvD,2BAA2B,EAAE,GAAG,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCpC;IACC,eAAe;QACb,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;CACF,CAAC"}
@@ -1,6 +1,5 @@
1
- import { readFile } from "fs/promises";
2
- import { join } from "path";
3
- import { isEnoent, formatError } from "../utils/errors.js";
1
+ import { buildPlatformDoctorChecks } from "./doctor-checks.js";
2
+ import { generateFullTierSnippet } from "./instructions-snippet.js";
4
3
  export const codexPlatform = {
5
4
  id: "codex",
6
5
  displayName: "OpenAI Codex",
@@ -8,60 +7,9 @@ export const codexPlatform = {
8
7
  instructionsFile: "AGENTS.md",
9
8
  commandDelivery: { kind: "inline" },
10
9
  instructionsSectionMarker: "## BMAD-METHOD Integration",
11
- generateInstructionsSnippet: () => `
12
- ## BMAD-METHOD Integration
13
-
14
- Run the BMAD master agent to navigate phases. Ask for help to discover all available agents and workflows.
15
-
16
- ### Phases
17
-
18
- | Phase | Focus | Key Agents |
19
- |-------|-------|-----------|
20
- | 1. Analysis | Understand the problem | Analyst agent |
21
- | 2. Planning | Define the solution | Product Manager agent |
22
- | 3. Solutioning | Design the architecture | Architect agent |
23
- | 4. Implementation | Build it | Developer agent, then Ralph autonomous loop |
24
-
25
- ### Workflow
26
-
27
- 1. Work through Phases 1-3 using BMAD agents and workflows
28
- 2. Use the bmalph-implement transition to prepare Ralph format, then start Ralph
29
-
30
- ### Available Agents
31
-
32
- | Agent | Role |
33
- |-------|------|
34
- | Analyst | Research, briefs, discovery |
35
- | Architect | Technical design, architecture |
36
- | Product Manager | PRDs, epics, stories |
37
- | Scrum Master | Sprint planning, status, coordination |
38
- | Developer | Implementation, coding |
39
- | UX Designer | User experience, wireframes |
40
- | QA Engineer | Test automation, quality assurance |
41
- `,
42
- getDoctorChecks: () => [
43
- {
44
- id: "instructions-file",
45
- label: "AGENTS.md contains BMAD snippet",
46
- check: async (projectDir) => {
47
- try {
48
- const content = await readFile(join(projectDir, "AGENTS.md"), "utf-8");
49
- if (content.includes("BMAD-METHOD Integration")) {
50
- return { passed: true };
51
- }
52
- return {
53
- passed: false,
54
- detail: "missing BMAD-METHOD Integration section",
55
- hint: "Run: bmalph init",
56
- };
57
- }
58
- catch (err) {
59
- if (isEnoent(err)) {
60
- return { passed: false, detail: "AGENTS.md not found", hint: "Run: bmalph init" };
61
- }
62
- return { passed: false, detail: formatError(err), hint: "Check file permissions" };
63
- }
64
- },
65
- },
66
- ],
10
+ generateInstructionsSnippet: () => generateFullTierSnippet("Run"),
11
+ getDoctorChecks() {
12
+ return buildPlatformDoctorChecks(this);
13
+ },
67
14
  };
15
+ //# sourceMappingURL=codex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/platform/codex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,CAAC,MAAM,aAAa,GAAa;IACrC,EAAE,EAAE,OAAO;IACX,WAAW,EAAE,cAAc;IAC3B,IAAI,EAAE,MAAM;IACZ,gBAAgB,EAAE,WAAW;IAC7B,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACnC,yBAAyB,EAAE,4BAA4B;IACvD,2BAA2B,EAAE,GAAG,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC;IACjE,eAAe;QACb,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;CACF,CAAC"}