Files
united-workforce/packages/workflow-template-develop
xiaoju c05fac746c feat: cursor agent auto-extracts workspace from context via LLM
- workflow-agent-cursor: workspace config now optional (string | null)
- When null, uses LLM call to extract workspace path from AgentContext
  (previous steps' meta, start prompt) before spawning cursor-agent CLI
- Requires llmProvider when workspace is null
- develop bundle-entry: switched from hermes to cursor agent for all roles
- solve-issue bundle-entry: created, developer role uses workflowAsAgent('develop'),
  preparer/submitter remain hermes

小橘 <xiaoju@shazhou.work>
2026-05-11 13:51:41 +00:00
..

@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

  1. Startplanner
  2. After plannercoder
  3. After coder → if all planned phases are done (or last phase completed) → reviewer; else coder again, until maxRounds then END
  4. After reviewer → if approved → tester; else coder (or END if out of rounds)
  5. After tester → if passed → committer; else coder (or END if out of rounds)
  6. After committerEND

API overview

Export Description
developWorkflowDefinition description, roles, developModerator
developModerator Moderator<DevelopMeta>
buildDevelopDescriptor buildDescriptor({ … }) for bundle metadata
DEVELOP_WORKFLOW_DESCRIPTION Human-readable one-liner