8d650326db
Planner, coder, reviewer, and tester system prompts now explicitly instruct the agent to keep responses short and avoid pasting diffs, code blocks, or full build logs. This reduces CAS storage and token waste when downstream roles read the thread. Signed-off-by: 小橘 <xiaoju@shazhou.work>
@uncaged/workflow-template-develop
Reference develop workflow template: plan phases, implement in a loop, review, test, then commit.
Export a pure WorkflowDefinition (developWorkflowDefinition) and role/moderator pieces. Workflow instantiation (createWorkflow(definition, binding)) happens in the workflow instance layer, not in this template package.
Install
bun add @uncaged/workflow-template-develop @uncaged/workflow zod
In this monorepo: workspace:* for @uncaged/workflow-template-develop and @uncaged/workflow.
Usage
import { createWorkflow } from "@uncaged/workflow";
import { developWorkflowDefinition } from "@uncaged/workflow-template-develop";
const run = createWorkflow(developWorkflowDefinition, binding);
Roles
| Role | Purpose |
|---|---|
| planner | Break work into ordered phases (hashes) |
| coder | Implement current phase; repeats until phases complete or limits hit |
| reviewer | Code review gate (approved vs send back to coder) |
| tester | Verify via tests/build/lint (passed vs send back to coder) |
| committer | Final commit step |
Also exported: role factories/meta schemas (plannerRole, coderRole, …), DevelopMeta, developRoles.
Moderator flow
- Start →
planner - After planner →
coder - After coder → if all planned phases are done (or last phase completed) →
reviewer; elsecoderagain, untilmaxRoundsthenEND - After reviewer → if approved →
tester; elsecoder(orENDif out of rounds) - After tester → if passed →
committer; elsecoder(orENDif out of rounds) - After committer →
END
API overview
| Export | Description |
|---|---|
developWorkflowDefinition |
description, roles, developModerator |
developModerator |
Moderator<DevelopMeta> |
buildDevelopDescriptor |
buildDescriptor({ … }) for bundle metadata |
DEVELOP_WORKFLOW_DESCRIPTION |
Human-readable one-liner |