Files
united-workforce/packages/workflow-template-develop
xiaoju 21cf3db111 feat(util): extract requireEnv/optionalEnv to workflow-util
- requireEnv(name, message) — throws with custom error message
- optionalEnv(name, fallback?) — returns fallback or null
- Update develop and solve-issue bundle entries to use shared helpers
- Remove inline requireEnv/optionalEnv and wrapAgentAsAdapter usage
- Add tests for both functions

小橘 🍊
2026-05-13 06:02:17 +00:00
..
2026-05-13 03:28:33 +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