727b4bb3ed
- Update root tsconfig.json references: replace packages/workflow with 6 new packages - Update cli-workflow tsconfig references to new packages - Add tsconfig references to workflow-util, workflow-runtime, workflow-execute - Fix workflow-agent-llm, workflow-agent-cursor, workflow-agent-hermes, workflow-util-agent tsconfig references (../workflow -> ../workflow-runtime) - Remove stale @uncaged/workflow deps from agent package.json files - Change template packages to import buildDescriptor from @uncaged/workflow-register - Normalize package.json exports field across all new packages - Delete old packages/workflow/ directory
@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 |