32 lines
753 B
TypeScript
32 lines
753 B
TypeScript
import { nerveAgentContext } from "@uncaged/nerve-workflow-utils";
|
|
import type { IssueData } from "../issue-reader/index.js";
|
|
|
|
export function buildPlannerPrompt(params: {
|
|
issue: IssueData;
|
|
nerveYamlText: string;
|
|
}): string {
|
|
const { issue, nerveYamlText } = params;
|
|
return `You are planning a fix for a Gitea issue in this repository.
|
|
|
|
${nerveAgentContext}
|
|
|
|
Issue URL: ${issue.url}
|
|
Issue title: ${issue.title}
|
|
Issue body:
|
|
${issue.body}
|
|
|
|
Issue comments:
|
|
${issue.comments.map((c) => `- ${c.author} (${c.createdAt}): ${c.body}`).join("\n") || "(none)"}
|
|
|
|
Current nerve.yaml:
|
|
\`\`\`yaml
|
|
${nerveYamlText}
|
|
\`\`\`
|
|
|
|
Output implementation-ready markdown with sections:
|
|
1) Problem understanding
|
|
2) Change strategy
|
|
3) Test strategy (commands)
|
|
4) Risks`;
|
|
}
|