poe-code 3.0.21-beta.3 → 3.0.21-beta.5

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.
@@ -5,7 +5,14 @@ import { supportedAgents, resolveAgentSupport, installSkill } from "@poe-code/ag
5
5
  import { renderTemplate } from "@poe-code/config-mutations";
6
6
  import { ValidationError } from "../errors.js";
7
7
  import { createExecutionResources, resolveCommandFlags } from "./shared.js";
8
- import { loadTemplate } from "../../utils/templates.js";
8
+ import ralphPromptPartialPlan from "../../templates/ralph/PROMPT_PARTIAL_plan.md";
9
+ import ralphSkillPlan from "../../templates/ralph/SKILL_plan.md";
10
+ import ralphPromptPlan from "../../templates/ralph/PROMPT_plan.md";
11
+ import ralphPromptBuild from "../../templates/ralph/PROMPT_build.md";
12
+ import ralphStateProgress from "../../templates/ralph/state/progress.md";
13
+ import ralphStateGuardrails from "../../templates/ralph/state/guardrails.md";
14
+ import ralphStateErrors from "../../templates/ralph/state/errors.log";
15
+ import ralphStateActivity from "../../templates/ralph/state/activity.log";
9
16
  const DEFAULT_RALPH_AGENT = "claude-code";
10
17
  async function pathExists(fs, filePath) {
11
18
  try {
@@ -64,9 +71,7 @@ async function installRalphTemplates(args) {
64
71
  throw new ValidationError(`Unsupported agent: ${args.agent}`);
65
72
  }
66
73
  // Install /plan skill to agent's skill directory
67
- const promptPartialPlan = await loadTemplate("ralph/PROMPT_PARTIAL_plan.md");
68
- const skillTemplate = await loadTemplate("ralph/SKILL_plan.md");
69
- const skillContents = renderTemplate(skillTemplate, { PROMPT_PARTIAL_PLAN: promptPartialPlan });
74
+ const skillContents = renderTemplate(ralphSkillPlan, { PROMPT_PARTIAL_PLAN: ralphPromptPartialPlan });
70
75
  const skillResult = await installSkill(args.agent, { name: "poe-code-ralph-plan", content: skillContents }, {
71
76
  fs: resources.context.fs,
72
77
  cwd,
@@ -77,8 +82,7 @@ async function installRalphTemplates(args) {
77
82
  resources.logger.info(`Create: ${skillResult.displayPath}`);
78
83
  // Install project templates to .agents/poe-code-ralph
79
84
  // PROMPT_plan.md: use string replace to preserve {{REQUEST}} and {{OUT_PATH}} as runtime variables
80
- const promptPlanTemplate = await loadTemplate("ralph/PROMPT_plan.md");
81
- const promptPlanContents = promptPlanTemplate.replace("{{{PROMPT_PARTIAL_PLAN}}}", promptPartialPlan);
85
+ const promptPlanContents = ralphPromptPlan.replace("{{{PROMPT_PARTIAL_PLAN}}}", ralphPromptPartialPlan);
82
86
  const templateWrites = [
83
87
  {
84
88
  targetPath: path.join(cwd, ".agents", "poe-code-ralph", "PROMPT_plan.md"),
@@ -88,7 +92,7 @@ async function installRalphTemplates(args) {
88
92
  {
89
93
  targetPath: path.join(cwd, ".agents", "poe-code-ralph", "PROMPT_build.md"),
90
94
  displayPath: ".agents/poe-code-ralph/PROMPT_build.md",
91
- contents: await loadTemplate("ralph/PROMPT_build.md")
95
+ contents: ralphPromptBuild
92
96
  }
93
97
  ];
94
98
  for (const entry of templateWrites) {
@@ -104,32 +108,31 @@ async function installRalphTemplates(args) {
104
108
  // Install state files to .poe-code-ralph
105
109
  const stateFiles = [
106
110
  {
107
- templatePath: "ralph/state/progress.md",
111
+ contents: ralphStateProgress,
108
112
  targetPath: path.join(cwd, ".poe-code-ralph", "progress.md"),
109
113
  displayPath: ".poe-code-ralph/progress.md"
110
114
  },
111
115
  {
112
- templatePath: "ralph/state/guardrails.md",
116
+ contents: ralphStateGuardrails,
113
117
  targetPath: path.join(cwd, ".poe-code-ralph", "guardrails.md"),
114
118
  displayPath: ".poe-code-ralph/guardrails.md"
115
119
  },
116
120
  {
117
- templatePath: "ralph/state/errors.log",
121
+ contents: ralphStateErrors,
118
122
  targetPath: path.join(cwd, ".poe-code-ralph", "errors.log"),
119
123
  displayPath: ".poe-code-ralph/errors.log"
120
124
  },
121
125
  {
122
- templatePath: "ralph/state/activity.log",
126
+ contents: ralphStateActivity,
123
127
  targetPath: path.join(cwd, ".poe-code-ralph", "activity.log"),
124
128
  displayPath: ".poe-code-ralph/activity.log"
125
129
  }
126
130
  ];
127
131
  for (const entry of stateFiles) {
128
- const contents = await loadTemplate(entry.templatePath);
129
132
  await writeFileOrSkip({
130
133
  fs: resources.context.fs,
131
134
  filePath: entry.targetPath,
132
- contents,
135
+ contents: entry.contents,
133
136
  force,
134
137
  logger: resources.logger,
135
138
  displayPath: entry.displayPath
@@ -1 +1 @@
1
- {"version":3,"file":"ralph.js","sourceRoot":"","sources":["../../../src/cli/commands/ralph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ralph.js","sourceRoot":"","sources":["../../../src/cli/commands/ralph.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -16772,10 +16772,12 @@ async function spawn2(agentId, options, _context) {
16772
16772
  stdoutStream.setEncoding("utf8");
16773
16773
  stdoutStream.on("data", (chunk) => {
16774
16774
  stdout += chunk;
16775
+ if (options.tee?.stdout) options.tee.stdout.write(chunk);
16775
16776
  });
16776
16777
  stderrStream.setEncoding("utf8");
16777
16778
  stderrStream.on("data", (chunk) => {
16778
16779
  stderr += chunk;
16780
+ if (options.tee?.stderr) options.tee.stderr.write(chunk);
16779
16781
  });
16780
16782
  child.on("error", (error2) => {
16781
16783
  reject(error2);
@@ -17570,41 +17572,21 @@ async function runInstallStep(step, context) {
17570
17572
  }
17571
17573
  }
17572
17574
 
17573
- // src/utils/templates.ts
17574
- import Mustache3 from "mustache";
17575
- var customLoader = null;
17576
- var templatesCache = null;
17577
- async function getTemplates() {
17578
- if (templatesCache) {
17579
- return templatesCache;
17580
- }
17581
- const [pythonEnvTemplate, pythonMainTemplate, pythonRequirementsTemplate, codexConfigTemplate] = await Promise.all([
17582
- Promise.resolve().then(() => __toESM(require_env(), 1)).then((m2) => m2.default),
17583
- Promise.resolve().then(() => __toESM(require_main_py(), 1)).then((m2) => m2.default),
17584
- Promise.resolve().then(() => __toESM(require_requirements_txt(), 1)).then((m2) => m2.default),
17585
- Promise.resolve().then(() => __toESM(require_config_toml(), 1)).then((m2) => m2.default)
17586
- ]);
17587
- templatesCache = {
17588
- "python/env.hbs": pythonEnvTemplate,
17589
- "python/main.py.hbs": pythonMainTemplate,
17590
- "python/requirements.txt.hbs": pythonRequirementsTemplate,
17591
- "codex/config.toml.hbs": codexConfigTemplate
17592
- };
17593
- return templatesCache;
17594
- }
17595
- async function loadTemplate(relativePath) {
17596
- if (customLoader) {
17597
- return customLoader(relativePath);
17598
- }
17599
- const templates = await getTemplates();
17600
- const template = templates[relativePath];
17601
- if (!template) {
17602
- throw new Error(`Template not found: ${relativePath}`);
17575
+ // src/providers/create-provider.ts
17576
+ var templateImports = {
17577
+ "python/env.hbs": () => Promise.resolve().then(() => __toESM(require_env(), 1)),
17578
+ "python/main.py.hbs": () => Promise.resolve().then(() => __toESM(require_main_py(), 1)),
17579
+ "python/requirements.txt.hbs": () => Promise.resolve().then(() => __toESM(require_requirements_txt(), 1)),
17580
+ "codex/config.toml.hbs": () => Promise.resolve().then(() => __toESM(require_config_toml(), 1))
17581
+ };
17582
+ async function loadTemplate(templateId) {
17583
+ const loader = templateImports[templateId];
17584
+ if (!loader) {
17585
+ throw new Error(`Template not found: ${templateId}`);
17603
17586
  }
17604
- return template;
17587
+ const module = await loader();
17588
+ return module.default;
17605
17589
  }
17606
-
17607
- // src/providers/create-provider.ts
17608
17590
  function createProvider(opts) {
17609
17591
  const provider = {
17610
17592
  id: opts.id,
@@ -33868,23 +33850,23 @@ init_src();
33868
33850
 
33869
33851
  // packages/agent-skill-config/src/templates.ts
33870
33852
  import { readFile as readFile3 } from "node:fs/promises";
33871
- var templatesCache2 = null;
33872
- async function getTemplates2() {
33873
- if (templatesCache2) {
33874
- return templatesCache2;
33853
+ var templatesCache = null;
33854
+ async function getTemplates() {
33855
+ if (templatesCache) {
33856
+ return templatesCache;
33875
33857
  }
33876
33858
  const poeGenerateTemplateUrl = new URL(
33877
33859
  "./templates/poe-generate.md",
33878
33860
  import.meta.url
33879
33861
  );
33880
33862
  const poeGenerateTemplate = await readFile3(poeGenerateTemplateUrl, "utf8");
33881
- templatesCache2 = {
33863
+ templatesCache = {
33882
33864
  "poe-generate.md": poeGenerateTemplate
33883
33865
  };
33884
- return templatesCache2;
33866
+ return templatesCache;
33885
33867
  }
33886
33868
  async function loadTemplate2(templateId) {
33887
- const templates = await getTemplates2();
33869
+ const templates = await getTemplates();
33888
33870
  const template = templates[templateId];
33889
33871
  if (!template) {
33890
33872
  throw new Error(`Template not found: ${templateId}`);
@@ -34863,6 +34845,30 @@ var OverbakingDetector = class {
34863
34845
  };
34864
34846
 
34865
34847
  // packages/ralph/src/build/loop.ts
34848
+ async function defaultStreamingSpawn(agentId, options) {
34849
+ const { events, done } = spawnStreaming({
34850
+ agentId,
34851
+ prompt: options.prompt,
34852
+ cwd: options.cwd,
34853
+ useStdin: options.useStdin
34854
+ });
34855
+ let agentText = "";
34856
+ async function* tapEvents(source) {
34857
+ for await (const event of source) {
34858
+ if (event.event === "agent_message") {
34859
+ agentText += event.text;
34860
+ }
34861
+ yield event;
34862
+ }
34863
+ }
34864
+ await renderAcpStream(tapEvents(events));
34865
+ const result = await done;
34866
+ return {
34867
+ stdout: agentText,
34868
+ stderr: result.stderr,
34869
+ exitCode: result.exitCode
34870
+ };
34871
+ }
34866
34872
  function absPath(cwd, path16) {
34867
34873
  if (!path16) return resolvePath2(cwd);
34868
34874
  return path16.startsWith("/") ? path16 : resolvePath2(cwd, path16);
@@ -34991,7 +34997,7 @@ async function defaultPromptOverbake(args) {
34991
34997
  async function buildLoop(options) {
34992
34998
  const fs3 = options.deps?.fs ?? fsPromises5;
34993
34999
  const lock = options.deps?.lock ?? lockPlanFile3;
34994
- const spawn5 = options.deps?.spawn ?? spawn2;
35000
+ const spawn5 = options.deps?.spawn ?? defaultStreamingSpawn;
34995
35001
  const git = options.deps?.git ?? {
34996
35002
  getHead,
34997
35003
  getCommitList,
@@ -35003,15 +35009,15 @@ async function buildLoop(options) {
35003
35009
  const promptOverbake = options.deps?.promptOverbake ?? defaultPromptOverbake;
35004
35010
  const cwd = absPath(options.cwd, ".");
35005
35011
  const planPath = absPath(cwd, options.planPath);
35006
- const progressPath = absPath(cwd, options.progressPath ?? ".ralph/progress.md");
35007
- const guardrailsPath = absPath(cwd, options.guardrailsPath ?? ".ralph/guardrails.md");
35008
- const errorsLogPath = absPath(cwd, options.errorsLogPath ?? ".ralph/errors.log");
35009
- const activityLogPath = absPath(cwd, options.activityLogPath ?? ".ralph/activity.log");
35010
- const guardrailsRef = absPath(cwd, ".agents/ralph/references/GUARDRAILS.md");
35011
- const contextRef = absPath(cwd, ".agents/ralph/references/CONTEXT_ENGINEERING.md");
35012
- const activityCmd = absPath(cwd, ".agents/ralph/log-activity.sh");
35013
- const promptTemplatePath = absPath(cwd, ".agents/ralph/PROMPT_build.md");
35014
- const runsDir = absPath(cwd, ".ralph/runs");
35012
+ const progressPath = absPath(cwd, options.progressPath ?? ".poe-code-ralph/progress.md");
35013
+ const guardrailsPath = absPath(cwd, options.guardrailsPath ?? ".poe-code-ralph/guardrails.md");
35014
+ const errorsLogPath = absPath(cwd, options.errorsLogPath ?? ".poe-code-ralph/errors.log");
35015
+ const activityLogPath = absPath(cwd, options.activityLogPath ?? ".poe-code-ralph/activity.log");
35016
+ const guardrailsRef = absPath(cwd, ".agents/poe-code-ralph/references/GUARDRAILS.md");
35017
+ const contextRef = absPath(cwd, ".agents/poe-code-ralph/references/CONTEXT_ENGINEERING.md");
35018
+ const activityCmd = absPath(cwd, ".agents/poe-code-ralph/log-activity.sh");
35019
+ const promptTemplatePath = absPath(cwd, ".agents/poe-code-ralph/PROMPT_build.md");
35020
+ const runsDir = absPath(cwd, ".poe-code-ralph/runs");
35015
35021
  const runId = options.deps?.runId ?? createRunId(nowFn());
35016
35022
  const overbaking = new OverbakingDetector({ threshold: options.maxFailures });
35017
35023
  const skippedStoryIds = /* @__PURE__ */ new Set();
@@ -35041,7 +35047,7 @@ async function buildLoop(options) {
35041
35047
  const logPath = resolvePath2(runsDir, `run-${runId}-iter-${i}.log`);
35042
35048
  const metaPath = resolvePath2(runsDir, `run-${runId}-iter-${i}.md`);
35043
35049
  const renderedPromptPath = resolvePath2(
35044
- absPath(cwd, ".ralph/.tmp"),
35050
+ absPath(cwd, ".poe-code-ralph/.tmp"),
35045
35051
  `prompt-build-${runId}-iter-${i}.md`
35046
35052
  );
35047
35053
  const template = await fs3.readFile(promptTemplatePath, "utf8");
@@ -35072,20 +35078,24 @@ async function buildLoop(options) {
35072
35078
  let stderrForErrorsLog = "";
35073
35079
  let overbakeAction = null;
35074
35080
  try {
35075
- const result = await spawn5(options.agent, { prompt, cwd, useStdin: true });
35081
+ const result = await spawn5(options.agent, {
35082
+ prompt,
35083
+ cwd,
35084
+ useStdin: true
35085
+ });
35076
35086
  const stdout = result.stdout ?? "";
35077
- const stderr2 = result.stderr ?? "";
35078
- stderrForErrorsLog = stderr2;
35087
+ const agentStderr = result.stderr ?? "";
35088
+ stderrForErrorsLog = agentStderr;
35079
35089
  combinedOutput = [
35080
35090
  stdout ? `# stdout
35081
35091
  ${stdout}` : "",
35082
- stderr2 ? `# stderr
35083
- ${stderr2}` : ""
35092
+ agentStderr ? `# stderr
35093
+ ${agentStderr}` : ""
35084
35094
  ].filter(Boolean).join("\n");
35085
35095
  if (result.exitCode !== 0) {
35086
35096
  status = "failure";
35087
35097
  combinedOutput = `${combinedOutput}${formatAgentSetupHint(options.agent)}`;
35088
- stderrForErrorsLog = `${stderr2}${formatAgentSetupHint(options.agent)}`;
35098
+ stderrForErrorsLog = `${agentStderr}${formatAgentSetupHint(options.agent)}`;
35089
35099
  } else if (detectCompletion(stdout)) {
35090
35100
  status = "success";
35091
35101
  } else {
@@ -35492,6 +35502,32 @@ async function ralphBuild(options) {
35492
35502
  // src/cli/commands/ralph.ts
35493
35503
  init_src();
35494
35504
  init_shared();
35505
+
35506
+ // src/templates/ralph/PROMPT_PARTIAL_plan.md
35507
+ var PROMPT_PARTIAL_plan_default = '# Plan Generation\n\nYou are an agent that generates a Ralph PRD file (YAML) based on a user request.\n\n## Requirements\n- Create (or overwrite) the file at the output path.\n- The file must be valid YAML.\n- Use this structure (minimum):\n - version: 1\n - project: <short name>\n - overview: <1-3 paragraphs>\n - goals: [ ... ]\n - nonGoals: [ ... ]\n - qualityGates:\n - npm run test\n - npm run lint\n - stories: [ ... ]\n- Stories should be actionable, small, and testable. Keep it to one story per atomic feature.\n- Each story must include:\n - id: "US-###" (sequential, starting at US-001)\n - title\n - status: open\n - dependsOn: [] (or list of story IDs)\n - description: "As a user, I want ..."\n - acceptanceCriteria: ["...", "..."]\n\n## If The Request Is Empty\nAsk the user for a one-sentence description of what they want to build.\n\n## Validation\nAfter writing the plan file, validate it by running:\n```\npoe-code ralph agent validate-plan --plan <output-path>\n```\nIf validation fails, fix the errors and re-validate until the plan passes.\n\n## Done Signal\nAfter the plan is validated, print a single line confirming the path, e.g.:\n```\nWrote plan to <output-path>\n```\n';
35508
+
35509
+ // src/templates/ralph/SKILL_plan.md
35510
+ var SKILL_plan_default = "---\nname: poe-code-ralph-plan\ndescription: 'Generate a Ralph plan (YAML) from a user request. Triggers on: create a plan, write plan for, plan this feature, ralph plan.'\n---\n\n{{{PROMPT_PARTIAL_PLAN}}}\n\n## User Request\n\nThe user's request follows this skill invocation. Use it to determine what to build.\n\n## Output Path\n\nWrite the YAML file to `.agents/tasks/plan-<name>.yaml` unless the user specifies a different path.\n";
35511
+
35512
+ // src/templates/ralph/PROMPT_plan.md
35513
+ var PROMPT_plan_default = "{{{PROMPT_PARTIAL_PLAN}}}\n\n## User Request\n{{REQUEST}}\n\n## Output Path\nWrite the YAML file to:\n{{OUT_PATH}}\n";
35514
+
35515
+ // src/templates/ralph/PROMPT_build.md
35516
+ var PROMPT_build_default = '# Build\n\nYou are an autonomous coding agent. Your task is to complete the work for exactly one story and record the outcome.\n\n## Paths\n- Plan: {{PLAN_PATH}}\n- Progress Log: {{PROGRESS_PATH}}\n- Guardrails: {{GUARDRAILS_PATH}}\n- Guardrails Reference: {{GUARDRAILS_REF}}\n- Context Reference: {{CONTEXT_REF}}\n- Errors Log: {{ERRORS_LOG_PATH}}\n- Activity Log: {{ACTIVITY_LOG_PATH}}\n- Activity Logger: {{ACTIVITY_CMD}}\n- No-commit: {{NO_COMMIT}}\n- Repo Root: {{REPO_ROOT}}\n- Run ID: {{RUN_ID}}\n- Iteration: {{ITERATION}}\n- Run Log: {{RUN_LOG_PATH}}\n- Run Summary: {{RUN_META_PATH}}\n\n## Global Quality Gates (apply to every story)\n{{QUALITY_GATES}}\n\n## Selected Story (Do not change scope)\nID: {{STORY_ID}}\nTitle: {{STORY_TITLE}}\n\nStory details:\n{{STORY_BLOCK}}\n\nIf the story details are empty or missing, STOP and report that the plan story format could not be parsed.\n\n## Rules (Non-Negotiable)\n- Implement **only** the work required to complete the selected story.\n- Complete all tasks associated with this story (and only this story).\n- Do NOT ask the user questions.\n- Do NOT change unrelated code.\n- Do NOT assume something is unimplemented \u2014 confirm by reading code.\n- Implement completely; no placeholders or stubs.\n- If No-commit is true, do NOT commit or push changes.\n- Do NOT edit the plan file (status is handled by the loop).\n- All changes made during the run must be committed (including updates to progress/logs).\n - Before committing, perform a final **security**, **performance**, and **regression** review of your changes.\n\n## Your Task (Do this in order)\n1. Read {{GUARDRAILS_PATH}} before any code changes.\n2. Read {{ERRORS_LOG_PATH}} for repeated failures to avoid.\n3. Read {{PLAN_PATH}} for global context (do not edit).\n4. Fully audit and read all necessary files to understand the task end-to-end before implementing. Do not assume missing functionality.\n5. Implement only the tasks that belong to {{STORY_ID}}.\n6. Run verification commands listed in the story and the global quality gates.\n7. If the project has a build or dev workflow, run what applies:\n - Build step (e.g., `npm run build`) if defined.\n - Dev server (e.g., `npm run dev`, `wrangler dev`) if it is the normal validation path.\n - Confirm no runtime/build errors in the console.\n8. Perform a brief audit before committing:\n - **Security:** check for obvious vulnerabilities or unsafe handling introduced by your changes.\n - **Performance:** check for avoidable regressions (extra queries, heavy loops, unnecessary re-renders).\n - **Regression:** verify existing behavior that could be impacted still works.\n9. If No-commit is false, commit changes using the `$commit` skill.\n - Stage everything: `git add -A`\n - Confirm a clean working tree after commit: `git status --porcelain` should be empty.\n - After committing, capture the commit hash and subject using:\n `git show -s --format="%h %s" HEAD`.\n10. Append a progress entry to {{PROGRESS_PATH}} with run/commit/test details (format below).\n If No-commit is true, skip committing and note it in the progress entry.\n\n## Progress Entry Format (Append Only)\n```\n## [Date/Time] - {{STORY_ID}}: {{STORY_TITLE}}\nThread: [codex exec session id if available, otherwise leave blank]\nRun: {{RUN_ID}} (iteration {{ITERATION}})\nRun log: {{RUN_LOG_PATH}}\nRun summary: {{RUN_META_PATH}}\n- Guardrails reviewed: yes\n- No-commit run: {{NO_COMMIT}}\n- Commit: <hash> <subject> (or `none` + reason)\n- Post-commit status: `clean` or list remaining files\n- Verification:\n - Command: <exact command> -> PASS/FAIL\n - Command: <exact command> -> PASS/FAIL\n- Files changed:\n - <file path>\n - <file path>\n- What was implemented\n- **Learnings for future iterations:**\n - Patterns discovered\n - Gotchas encountered\n - Useful context\n---\n```\n\n## Completion Signal\nOnly output the completion signal when the **selected story** is fully complete and verified.\nWhen the selected story is complete, output:\n<promise>COMPLETE</promise>\n\nOtherwise, end normally without the signal.\n\n## Additional Guardrails\n- When authoring documentation, capture the why (tests + implementation intent).\n- If you hit repeated errors, log them in {{ERRORS_LOG_PATH}} and add a Sign to {{GUARDRAILS_PATH}} using {{GUARDRAILS_REF}} as the template.\n\n## Activity Logging (Required)\nLog major actions to {{ACTIVITY_LOG_PATH}} using the helper:\n```\n{{ACTIVITY_CMD}} "message"\n```\nLog at least:\n- Start of work on the story\n- After major code changes\n- After tests/verification\n- After updating progress log\n\n## Browser Testing (Required for Frontend Stories)\nIf the selected story changes UI, you MUST verify it in the browser:\n1. Load the `dev-browser` skill.\n2. Navigate to the relevant page.\n3. Verify the UI changes work as expected.\n4. Take a screenshot if helpful for the progress log.\n\nA frontend story is NOT complete until browser verification passes.\n';
35517
+
35518
+ // src/templates/ralph/state/progress.md
35519
+ var progress_default = "# Progress Log\n\n## Codebase Patterns\n- (add reusable patterns here)\n\n---\n";
35520
+
35521
+ // src/templates/ralph/state/guardrails.md
35522
+ var guardrails_default = "# Guardrails (Signs)\n\n> Lessons learned from failures. Read before acting.\n\n## Core Signs\n\n### Sign: Read Before Writing\n- **Trigger**: Before modifying any file\n- **Instruction**: Read the file first\n- **Added after**: Core principle\n\n### Sign: Test Before Commit\n- **Trigger**: Before committing changes\n- **Instruction**: Run required tests and verify outputs\n- **Added after**: Core principle\n\n---\n\n## Learned Signs\n";
35523
+
35524
+ // src/templates/ralph/state/errors.log
35525
+ var errors_default = "# Error Log\n\n> Failures and repeated issues. Use this to add guardrails.\n";
35526
+
35527
+ // src/templates/ralph/state/activity.log
35528
+ var activity_default = "";
35529
+
35530
+ // src/cli/commands/ralph.ts
35495
35531
  var DEFAULT_RALPH_AGENT = "claude-code";
35496
35532
  async function pathExists2(fs3, filePath) {
35497
35533
  try {
@@ -35553,9 +35589,7 @@ async function installRalphTemplates(args) {
35553
35589
  if (support.status !== "supported" || !support.config) {
35554
35590
  throw new ValidationError(`Unsupported agent: ${args.agent}`);
35555
35591
  }
35556
- const promptPartialPlan = await loadTemplate("ralph/PROMPT_PARTIAL_plan.md");
35557
- const skillTemplate = await loadTemplate("ralph/SKILL_plan.md");
35558
- const skillContents = renderTemplate(skillTemplate, { PROMPT_PARTIAL_PLAN: promptPartialPlan });
35592
+ const skillContents = renderTemplate(SKILL_plan_default, { PROMPT_PARTIAL_PLAN: PROMPT_PARTIAL_plan_default });
35559
35593
  const skillResult = await installSkill(
35560
35594
  args.agent,
35561
35595
  { name: "poe-code-ralph-plan", content: skillContents },
@@ -35568,8 +35602,7 @@ async function installRalphTemplates(args) {
35568
35602
  }
35569
35603
  );
35570
35604
  resources.logger.info(`Create: ${skillResult.displayPath}`);
35571
- const promptPlanTemplate = await loadTemplate("ralph/PROMPT_plan.md");
35572
- const promptPlanContents = promptPlanTemplate.replace("{{{PROMPT_PARTIAL_PLAN}}}", promptPartialPlan);
35605
+ const promptPlanContents = PROMPT_plan_default.replace("{{{PROMPT_PARTIAL_PLAN}}}", PROMPT_PARTIAL_plan_default);
35573
35606
  const templateWrites = [
35574
35607
  {
35575
35608
  targetPath: path15.join(cwd, ".agents", "poe-code-ralph", "PROMPT_plan.md"),
@@ -35579,7 +35612,7 @@ async function installRalphTemplates(args) {
35579
35612
  {
35580
35613
  targetPath: path15.join(cwd, ".agents", "poe-code-ralph", "PROMPT_build.md"),
35581
35614
  displayPath: ".agents/poe-code-ralph/PROMPT_build.md",
35582
- contents: await loadTemplate("ralph/PROMPT_build.md")
35615
+ contents: PROMPT_build_default
35583
35616
  }
35584
35617
  ];
35585
35618
  for (const entry of templateWrites) {
@@ -35594,32 +35627,31 @@ async function installRalphTemplates(args) {
35594
35627
  }
35595
35628
  const stateFiles = [
35596
35629
  {
35597
- templatePath: "ralph/state/progress.md",
35630
+ contents: progress_default,
35598
35631
  targetPath: path15.join(cwd, ".poe-code-ralph", "progress.md"),
35599
35632
  displayPath: ".poe-code-ralph/progress.md"
35600
35633
  },
35601
35634
  {
35602
- templatePath: "ralph/state/guardrails.md",
35635
+ contents: guardrails_default,
35603
35636
  targetPath: path15.join(cwd, ".poe-code-ralph", "guardrails.md"),
35604
35637
  displayPath: ".poe-code-ralph/guardrails.md"
35605
35638
  },
35606
35639
  {
35607
- templatePath: "ralph/state/errors.log",
35640
+ contents: errors_default,
35608
35641
  targetPath: path15.join(cwd, ".poe-code-ralph", "errors.log"),
35609
35642
  displayPath: ".poe-code-ralph/errors.log"
35610
35643
  },
35611
35644
  {
35612
- templatePath: "ralph/state/activity.log",
35645
+ contents: activity_default,
35613
35646
  targetPath: path15.join(cwd, ".poe-code-ralph", "activity.log"),
35614
35647
  displayPath: ".poe-code-ralph/activity.log"
35615
35648
  }
35616
35649
  ];
35617
35650
  for (const entry of stateFiles) {
35618
- const contents = await loadTemplate(entry.templatePath);
35619
35651
  await writeFileOrSkip({
35620
35652
  fs: resources.context.fs,
35621
35653
  filePath: entry.targetPath,
35622
- contents,
35654
+ contents: entry.contents,
35623
35655
  force,
35624
35656
  logger: resources.logger,
35625
35657
  displayPath: entry.displayPath
@@ -35822,6 +35854,7 @@ var package_default = {
35822
35854
  predev: "turbo run build --filter=@poe-code/agent-mcp-config --filter=@poe-code/tiny-mcp-server --output-logs=none --log-prefix=none --verbosity=0 > /dev/null 2>&1",
35823
35855
  dev: "tsx src/index.ts",
35824
35856
  start: "node dist/bin.cjs",
35857
+ "dev:bundle": "npm run build && node dist/bin.cjs",
35825
35858
  test: "vitest run",
35826
35859
  typecheck: "npm run lint:types",
35827
35860
  "check:semver": `node -e "const semver=require('semver'); const pkg=require('./package.json'); if(!semver.valid(pkg.version)){console.error('Invalid semver version in package.json:', pkg.version); process.exit(1);}"`,