- 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
32 lines
972 B
TypeScript
32 lines
972 B
TypeScript
export function plannerPrompt({ threadId }: { threadId: string }): string {
|
|
return `You are planning a new Nerve workflow.
|
|
|
|
Read the workflow thread for the user's request: \`nerve thread ${threadId}\`
|
|
Read the nerve-dev skill for workflow conventions: \`cat node_modules/@uncaged/nerve-skills/nerve-dev/SKILL.md\`
|
|
Also look at existing workflows in the \`workflows/\` directory for patterns.
|
|
|
|
Assess whether the requirements are clear enough to implement a workflow.
|
|
|
|
If requirements ARE clear:
|
|
- Pick a good kebab-case name for this workflow.
|
|
- Produce a PLAN (not code) in markdown covering:
|
|
- Workflow name
|
|
- Roles list (name, purpose, tool)
|
|
- Flow transitions / moderator routing logic
|
|
- Validation loops design
|
|
- External dependencies
|
|
- Data flow between roles
|
|
|
|
If requirements are NOT clear:
|
|
- Describe what is missing or ambiguous.
|
|
|
|
End your response with a JSON block:
|
|
\`\`\`json
|
|
{ "ready": true }
|
|
\`\`\`
|
|
or
|
|
\`\`\`json
|
|
{ "ready": false }
|
|
\`\`\``;
|
|
}
|