bmalph 2.7.5 → 2.7.6

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 (53) hide show
  1. package/README.md +20 -5
  2. package/dist/commands/doctor-runtime-checks.js +104 -86
  3. package/dist/commands/doctor-runtime-checks.js.map +1 -1
  4. package/dist/installer/bmad-assets.js +182 -0
  5. package/dist/installer/bmad-assets.js.map +1 -0
  6. package/dist/installer/commands.js +324 -0
  7. package/dist/installer/commands.js.map +1 -0
  8. package/dist/installer/install.js +42 -0
  9. package/dist/installer/install.js.map +1 -0
  10. package/dist/installer/metadata.js +56 -0
  11. package/dist/installer/metadata.js.map +1 -0
  12. package/dist/installer/project-files.js +169 -0
  13. package/dist/installer/project-files.js.map +1 -0
  14. package/dist/installer/ralph-assets.js +91 -0
  15. package/dist/installer/ralph-assets.js.map +1 -0
  16. package/dist/installer/template-files.js +168 -0
  17. package/dist/installer/template-files.js.map +1 -0
  18. package/dist/installer/types.js +2 -0
  19. package/dist/installer/types.js.map +1 -0
  20. package/dist/installer.js +5 -843
  21. package/dist/installer.js.map +1 -1
  22. package/dist/transition/artifact-loading.js +91 -0
  23. package/dist/transition/artifact-loading.js.map +1 -0
  24. package/dist/transition/context-output.js +85 -0
  25. package/dist/transition/context-output.js.map +1 -0
  26. package/dist/transition/fix-plan-sync.js +119 -0
  27. package/dist/transition/fix-plan-sync.js.map +1 -0
  28. package/dist/transition/orchestration.js +25 -362
  29. package/dist/transition/orchestration.js.map +1 -1
  30. package/dist/transition/specs-sync.js +78 -2
  31. package/dist/transition/specs-sync.js.map +1 -1
  32. package/dist/utils/ralph-runtime-state.js +222 -0
  33. package/dist/utils/ralph-runtime-state.js.map +1 -0
  34. package/dist/utils/state.js +17 -16
  35. package/dist/utils/state.js.map +1 -1
  36. package/dist/utils/validate.js +16 -0
  37. package/dist/utils/validate.js.map +1 -1
  38. package/dist/watch/renderer.js +48 -6
  39. package/dist/watch/renderer.js.map +1 -1
  40. package/dist/watch/state-reader.js +79 -44
  41. package/dist/watch/state-reader.js.map +1 -1
  42. package/package.json +1 -1
  43. package/ralph/RALPH-REFERENCE.md +33 -13
  44. package/ralph/drivers/claude-code.sh +25 -0
  45. package/ralph/drivers/codex.sh +11 -0
  46. package/ralph/drivers/copilot.sh +11 -0
  47. package/ralph/drivers/cursor.sh +11 -0
  48. package/ralph/lib/circuit_breaker.sh +3 -3
  49. package/ralph/lib/date_utils.sh +28 -9
  50. package/ralph/lib/response_analyzer.sh +127 -7
  51. package/ralph/ralph_loop.sh +464 -121
  52. package/ralph/templates/PROMPT.md +5 -0
  53. package/ralph/templates/ralphrc.template +14 -4
@@ -1 +1 @@
1
- {"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,91 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import { join } from "node:path";
3
+ import { debug, info, warn } from "../utils/logger.js";
4
+ import { formatError } from "../utils/errors.js";
5
+ import { getFilesRecursive } from "../utils/file-system.js";
6
+ import { collectTransitionArtifacts, } from "./artifact-collection.js";
7
+ import { findArtifactsDir, resolvePlanningSpecsSubpath } from "./artifacts.js";
8
+ import { runPreflight, PreflightValidationError } from "./preflight.js";
9
+ import { compareStoryIds } from "./story-id.js";
10
+ import { parseStoriesWithWarnings } from "./story-parsing.js";
11
+ export async function loadTransitionInputs(projectDir, options) {
12
+ info("Locating BMAD artifacts...");
13
+ const artifactsDir = await findArtifactsDir(projectDir);
14
+ if (!artifactsDir) {
15
+ throw new Error("No BMAD artifacts found. Run BMAD planning phases first (at minimum: Create PRD, Create Architecture, Create Epics and Stories).");
16
+ }
17
+ const files = await getFilesRecursive(artifactsDir);
18
+ const collectedArtifacts = collectTransitionArtifacts(files);
19
+ const artifactContents = new Map();
20
+ for (const file of collectedArtifacts.files) {
21
+ if (!/\.(?:md|ya?ml)$/i.test(file)) {
22
+ continue;
23
+ }
24
+ try {
25
+ const content = await readFile(join(artifactsDir, file), "utf-8");
26
+ artifactContents.set(file, content);
27
+ }
28
+ catch (err) {
29
+ warn(`Could not read artifact ${file}: ${formatError(err)}`);
30
+ }
31
+ }
32
+ if (collectedArtifacts.storyFiles.length === 0) {
33
+ debug(`Files in artifacts dir: ${collectedArtifacts.files.join(", ")}`);
34
+ throw new Error(`No epics/stories file found in ${artifactsDir}. Available files: ${collectedArtifacts.files.join(", ")}. Run 'CE' (Create Epics and Stories) first.`);
35
+ }
36
+ debug(`Using stories files: ${collectedArtifacts.storyFiles.join(", ")}`);
37
+ info("Parsing stories...");
38
+ const stories = [];
39
+ const parseWarnings = [];
40
+ for (const storyFile of collectedArtifacts.storyFiles) {
41
+ const storiesContent = artifactContents.get(storyFile);
42
+ if (!storiesContent) {
43
+ warn(`Could not read stories artifact ${storyFile}`);
44
+ continue;
45
+ }
46
+ const parsedStories = parseStoriesWithWarnings(storiesContent, storyFile);
47
+ stories.push(...parsedStories.stories);
48
+ parseWarnings.push(...parsedStories.warnings);
49
+ }
50
+ ensureUniqueStoryIds(stories);
51
+ stories.sort((left, right) => compareStoryIds(left.id, right.id) ||
52
+ left.sourceFile.localeCompare(right.sourceFile) ||
53
+ left.title.localeCompare(right.title));
54
+ if (stories.length === 0) {
55
+ throw new Error("No stories parsed from the epics files. Ensure stories follow the format: ### Story N.M: Title");
56
+ }
57
+ info("Pre-flight validation...");
58
+ const preflightResult = runPreflight(artifactContents, collectedArtifacts.files, stories, parseWarnings);
59
+ const preflightIssues = options?.force
60
+ ? preflightResult.issues.map((issue) => issue.severity === "error" ? { ...issue, severity: "warning" } : issue)
61
+ : preflightResult.issues;
62
+ if (!preflightResult.pass) {
63
+ if (options?.force) {
64
+ warn("Pre-flight validation has errors but --force was used, continuing...");
65
+ }
66
+ else {
67
+ throw new PreflightValidationError(preflightResult.issues);
68
+ }
69
+ }
70
+ return {
71
+ projectDir,
72
+ artifactsDir,
73
+ collectedArtifacts,
74
+ artifactContents,
75
+ stories,
76
+ parseWarnings,
77
+ preflightIssues,
78
+ planningSpecsSubpath: resolvePlanningSpecsSubpath(projectDir, artifactsDir),
79
+ };
80
+ }
81
+ function ensureUniqueStoryIds(stories) {
82
+ const sourceById = new Map();
83
+ for (const story of stories) {
84
+ const existingSource = sourceById.get(story.id);
85
+ if (existingSource) {
86
+ throw new Error(`Duplicate story ID "${story.id}" found in ${existingSource} and ${story.sourceFile}`);
87
+ }
88
+ sourceById.set(story.id, story.sourceFile);
89
+ }
90
+ }
91
+ //# sourceMappingURL=artifact-loading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact-loading.js","sourceRoot":"","sources":["../../src/transition/artifact-loading.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import { join } from "node:path";
3
+ import { debug, info, warn } from "../utils/logger.js";
4
+ import { isEnoent, formatError } from "../utils/errors.js";
5
+ import { atomicWriteFile, exists } from "../utils/file-system.js";
6
+ import { readConfig } from "../utils/config.js";
7
+ import { combineArtifactContents } from "./artifact-collection.js";
8
+ import { extractProjectContext, generateProjectContextMd, generatePrompt, detectTruncation, } from "./context.js";
9
+ import { detectTechStack, customizeAgentMd } from "./tech-stack.js";
10
+ export async function generateContextOutputs(projectDir, inputs) {
11
+ const generatedFiles = [];
12
+ let projectName = "project";
13
+ try {
14
+ const config = await readConfig(projectDir);
15
+ if (config?.name) {
16
+ projectName = config.name;
17
+ }
18
+ }
19
+ catch (err) {
20
+ debug(`Could not read config for project name: ${formatError(err)}`);
21
+ }
22
+ info("Generating PROJECT_CONTEXT.md...");
23
+ const projectContextPath = join(projectDir, ".ralph/PROJECT_CONTEXT.md");
24
+ const projectContextExisted = await exists(projectContextPath);
25
+ let projectContext = null;
26
+ let truncationWarnings = [];
27
+ if (inputs.artifactContents.size > 0) {
28
+ const { context, truncated } = extractProjectContext(inputs.artifactContents);
29
+ projectContext = context;
30
+ truncationWarnings = detectTruncation(truncated);
31
+ const contextMd = generateProjectContextMd(projectContext, projectName);
32
+ await atomicWriteFile(projectContextPath, contextMd);
33
+ generatedFiles.push({
34
+ path: ".ralph/PROJECT_CONTEXT.md",
35
+ action: projectContextExisted ? "updated" : "created",
36
+ });
37
+ debug("Generated PROJECT_CONTEXT.md");
38
+ }
39
+ info("Generating PROMPT.md...");
40
+ let prompt;
41
+ let promptExisted = false;
42
+ try {
43
+ const existingPrompt = await readFile(join(projectDir, ".ralph/PROMPT.md"), "utf-8");
44
+ promptExisted = true;
45
+ if (existingPrompt.includes("[YOUR PROJECT NAME]")) {
46
+ prompt = existingPrompt.replace(/\[YOUR PROJECT NAME\]/g, projectName);
47
+ }
48
+ else {
49
+ prompt = generatePrompt(projectName, projectContext ?? undefined);
50
+ }
51
+ }
52
+ catch (err) {
53
+ if (isEnoent(err)) {
54
+ debug("No existing PROMPT.md found, generating from template");
55
+ }
56
+ else {
57
+ warn(`Could not read existing PROMPT.md: ${formatError(err)}`);
58
+ }
59
+ prompt = generatePrompt(projectName, projectContext ?? undefined);
60
+ }
61
+ await atomicWriteFile(join(projectDir, ".ralph/PROMPT.md"), prompt);
62
+ generatedFiles.push({ path: ".ralph/PROMPT.md", action: promptExisted ? "updated" : "created" });
63
+ const combinedArchitectureContent = combineArtifactContents(inputs.collectedArtifacts.architectureFiles, inputs.artifactContents);
64
+ if (combinedArchitectureContent) {
65
+ try {
66
+ const stack = detectTechStack(combinedArchitectureContent);
67
+ if (stack) {
68
+ const agentPath = join(projectDir, ".ralph/@AGENT.md");
69
+ const agentTemplate = await readFile(agentPath, "utf-8");
70
+ const customized = customizeAgentMd(agentTemplate, stack);
71
+ await atomicWriteFile(agentPath, customized);
72
+ generatedFiles.push({ path: ".ralph/@AGENT.md", action: "updated" });
73
+ debug("Customized @AGENT.md with detected tech stack");
74
+ }
75
+ }
76
+ catch (err) {
77
+ warn(`Could not customize @AGENT.md: ${formatError(err)}`);
78
+ }
79
+ }
80
+ return {
81
+ warnings: truncationWarnings,
82
+ generatedFiles,
83
+ };
84
+ }
85
+ //# sourceMappingURL=context-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-output.js","sourceRoot":"","sources":["../../src/transition/context-output.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import { join, relative } from "node:path";
3
+ import { debug, info, warn } from "../utils/logger.js";
4
+ import { isEnoent, formatError } from "../utils/errors.js";
5
+ import { atomicWriteFile, exists } from "../utils/file-system.js";
6
+ import { generateFixPlan, parseFixPlan, mergeFixPlanProgress, detectOrphanedCompletedStories, detectRenumberedStories, buildCompletedTitleMap, normalizeTitle, } from "./fix-plan.js";
7
+ import { parseSprintStatus } from "./sprint-status.js";
8
+ export async function syncFixPlan(projectDir, inputs) {
9
+ let completedIds = new Set();
10
+ let existingItems = [];
11
+ let orphanWarnings = [];
12
+ let renumberWarnings = [];
13
+ const completionWarnings = [];
14
+ let useTitleBasedMerge = true;
15
+ let fixPlanPreserved = false;
16
+ const fixPlanPath = join(projectDir, ".ralph/@fix_plan.md");
17
+ const fixPlanExisted = await exists(fixPlanPath);
18
+ try {
19
+ const existingFixPlan = await readFile(fixPlanPath, "utf-8");
20
+ existingItems = parseFixPlan(existingFixPlan);
21
+ debug(`Found ${existingItems.filter((item) => item.completed).length} completed stories in existing fix_plan`);
22
+ }
23
+ catch (err) {
24
+ if (isEnoent(err)) {
25
+ debug("No existing fix_plan found, starting fresh");
26
+ }
27
+ else {
28
+ warn(`Could not read existing fix_plan: ${formatError(err)}`);
29
+ }
30
+ }
31
+ const sprintStatusSource = await resolveSprintStatusSource(projectDir, inputs);
32
+ if (sprintStatusSource) {
33
+ useTitleBasedMerge = false;
34
+ if (sprintStatusSource.readError) {
35
+ completionWarnings.push(`Sprint status file "${sprintStatusSource.displayPath}" could not be read: ${sprintStatusSource.readError}. All stories were left unchecked.`);
36
+ }
37
+ else if (!sprintStatusSource.content) {
38
+ completionWarnings.push(`Sprint status file "${sprintStatusSource.displayPath}" could not be read. All stories were left unchecked.`);
39
+ }
40
+ else {
41
+ const sprintStatus = parseSprintStatus(sprintStatusSource.content);
42
+ completionWarnings.push(...sprintStatus.warnings);
43
+ if (sprintStatus.valid) {
44
+ completedIds = new Set(inputs.stories
45
+ .filter((story) => sprintStatus.storyStatusById.get(story.id) === "done")
46
+ .map((story) => story.id));
47
+ fixPlanPreserved = completedIds.size > 0;
48
+ for (const story of inputs.stories) {
49
+ if (!sprintStatus.storyStatusById.has(story.id)) {
50
+ completionWarnings.push(`Sprint status is missing story ${story.id} (${story.title}); leaving it unchecked.`);
51
+ }
52
+ }
53
+ }
54
+ }
55
+ }
56
+ else {
57
+ completedIds = new Set(existingItems.filter((item) => item.completed).map((item) => item.id));
58
+ fixPlanPreserved = completedIds.size > 0;
59
+ const newStoryIds = new Set(inputs.stories.map((story) => story.id));
60
+ orphanWarnings = detectOrphanedCompletedStories(existingItems, newStoryIds);
61
+ const completedTitles = buildCompletedTitleMap(existingItems);
62
+ const newTitleMap = new Map(inputs.stories.map((story) => [story.id, story.title]));
63
+ const preservedIds = new Set();
64
+ for (const [id, title] of newTitleMap) {
65
+ if (!completedIds.has(id) && completedTitles.has(normalizeTitle(title))) {
66
+ preservedIds.add(id);
67
+ }
68
+ }
69
+ renumberWarnings = detectRenumberedStories(existingItems, inputs.stories, preservedIds);
70
+ }
71
+ const completedTitles = buildCompletedTitleMap(existingItems);
72
+ const newTitleMap = new Map(inputs.stories.map((story) => [story.id, story.title]));
73
+ info(`Generating fix plan for ${inputs.stories.length} stories...`);
74
+ const newFixPlan = generateFixPlan(inputs.stories, undefined, inputs.planningSpecsSubpath);
75
+ const mergedFixPlan = mergeFixPlanProgress(newFixPlan, completedIds, useTitleBasedMerge ? newTitleMap : undefined, useTitleBasedMerge ? completedTitles : undefined);
76
+ await atomicWriteFile(fixPlanPath, mergedFixPlan);
77
+ return {
78
+ warnings: [...completionWarnings, ...orphanWarnings, ...renumberWarnings],
79
+ fixPlanPreserved,
80
+ generatedFile: {
81
+ path: ".ralph/@fix_plan.md",
82
+ action: fixPlanExisted ? "updated" : "created",
83
+ },
84
+ };
85
+ }
86
+ async function resolveSprintStatusSource(projectDir, inputs) {
87
+ const canonicalCandidates = [
88
+ "_bmad-output/implementation-artifacts/sprint-status.yaml",
89
+ "_bmad-output/implementation_artifacts/sprint-status.yaml",
90
+ ];
91
+ for (const candidate of canonicalCandidates) {
92
+ const candidatePath = join(projectDir, candidate);
93
+ if (!(await exists(candidatePath))) {
94
+ continue;
95
+ }
96
+ try {
97
+ return {
98
+ displayPath: candidate,
99
+ content: await readFile(candidatePath, "utf-8"),
100
+ };
101
+ }
102
+ catch (err) {
103
+ return {
104
+ displayPath: candidate,
105
+ content: null,
106
+ readError: formatError(err),
107
+ };
108
+ }
109
+ }
110
+ if (!inputs.collectedArtifacts.sprintStatusFile) {
111
+ return null;
112
+ }
113
+ const artifactsRelativeDir = relative(projectDir, inputs.artifactsDir).replace(/\\/g, "/");
114
+ return {
115
+ displayPath: `${artifactsRelativeDir}/${inputs.collectedArtifacts.sprintStatusFile}`,
116
+ content: inputs.artifactContents.get(inputs.collectedArtifacts.sprintStatusFile) ?? null,
117
+ };
118
+ }
119
+ //# sourceMappingURL=fix-plan-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fix-plan-sync.js","sourceRoot":"","sources":["../../src/transition/fix-plan-sync.ts"],"names":[],"mappings":"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"}