- planner: { ready }, coder: { done }, tester: { passed }, committer: { success }
- planner/coder: createCursorRole, tester: createHermesRole
- committer: direct spawn, output to .log file
- moderator: coder loop (max 5), committer fail → coder
- bundle 24kb → 8.7kb
Fixes #5
28 lines
1018 B
TypeScript
28 lines
1018 B
TypeScript
export function testerPrompt({ threadId }: { threadId: string }): string {
|
|
return `You are testing a newly generated Nerve workflow end-to-end.
|
|
|
|
Read the workflow thread for context: \`nerve thread ${threadId}\`
|
|
Read the nerve-dev skill for expected file structure: \`cat node_modules/@uncaged/nerve-skills/nerve-dev/SKILL.md\`
|
|
|
|
Get the workflow name from the thread (the planner's output).
|
|
|
|
Verify the full lifecycle:
|
|
1. Check all required workflow files exist: index.ts, package.json, tsconfig.json
|
|
2. Check nerve.yaml has the workflow config
|
|
3. Run \`nerve workflow list\` — confirm the workflow appears
|
|
4. Run \`pnpm build\` inside the workflow directory — must succeed
|
|
5. Run \`nerve workflow dry-run <workflow-name>\` — should complete without error
|
|
6. If any step fails, include the relevant error output
|
|
|
|
Output a clear summary: what you checked, what passed, what failed, and why.
|
|
|
|
End your response with a JSON block:
|
|
\`\`\`json
|
|
{ "passed": true }
|
|
\`\`\`
|
|
or
|
|
\`\`\`json
|
|
{ "passed": false }
|
|
\`\`\``;
|
|
}
|