Skip to content

Team Workflow

LumenFlow scales from solo developers to teams. This guide covers team-specific practices.

  1. Run lumenflow init to scaffold configuration
  2. Define lanes for your team structure
  3. Set WIP limits per lane
  4. Add team members to npm org (for CLI access)
lanes:
  - name: 'Experience: Frontend'
    wip_limit: 2
  - name: 'Framework: Backend'
    wip_limit: 2
  - name: 'Operations: Infrastructure'
    wip_limit: 1
lanes:
  - name: 'Team: Alpha'
    wip_limit: 3
  - name: 'Team: Beta'
    wip_limit: 3
  - name: 'Operations: Platform'
    wip_limit: 1
lanes:
  - name: 'Product: Checkout'
    wip_limit: 2
  - name: 'Product: Search'
    wip_limit: 2
  - name: 'Product: User-Profile'
    wip_limit: 1

Simple: whoever claims first, owns it.

pnpm wu:claim --id WU-100 --lane "Experience: Frontend"
# If already claimed → error

Pre-assign in the WU spec:

id: WU-100
assigned_to: alice@team.com

Only the assigned person can claim.

For complex WUs, discuss before claiming:

  1. Review in standup
  2. Agree on approach
  3. Assign and claim

If you need to hand off a WU:

# Current owner releases
pnpm wu:release --id WU-100

# New owner claims
pnpm wu:claim --id WU-100 --lane "Experience: Frontend"

When stuck on external dependency:

pnpm wu:block --id WU-100 --reason "Waiting for API spec from backend team"

This:

  • Sets status to blocked
  • Frees the lane for other work
  • Documents the blocker

When unblocked:

pnpm wu:unblock --id WU-100
# Status returns to in_progress

Use the backlog as the standup board:

## 🔧 In Progress
- [WU-100 — Add cart API](wu/WU-100.yaml) - Alice
- [WU-101 — Add product search](wu/WU-101.yaml) - Bob

## ⛔ Blocked
- [WU-102 — Payment integration](wu/WU-102.yaml) - Carol
  Blocked: Waiting for Stripe API keys

Focus on:

  • What’s blocked (help unblock)
  • What’s nearing completion (coordinate)
  • What to claim next (visibility)

The CLI enforces WIP limits:

❌ Cannot claim WU-105 for lane "Experience: Frontend"
   Lane already at WIP limit (2/2):
   - WU-100 (Alice)
   - WU-101 (Bob)

   Complete or release a WU first.

This prevents overload and encourages finishing work.

LumenFlow’s gates replace traditional code review:

  • Format, lint, typecheck, test run automatically
  • All must pass before completion

Add human review for:

  • Security-sensitive changes
  • Architectural decisions
  • Public API changes
# WU spec
requires_review: true
reviewers:
  - security@team.com

For complex WUs, pair instead of review:

  1. Pair claims together
  2. Both work in the worktree
  3. Gates validate as usual
  4. No separate review needed

Track team health:

MetricHealthyConcerning
WU cycle time1-3 hours> 1 day
Gate pass rate> 90%< 80%
Blocked WU count0-1> 3
WIP per laneAt limitConsistently under

For larger organizations:

# Separate config per team
lanes:
  - name: 'Team-A: Core'
    wip_limit: 2
  - name: 'Team-A: UI'
    wip_limit: 2
  - name: 'Team-B: Core'
    wip_limit: 2
  - name: 'Team-B: UI'
    wip_limit: 2

Or use separate repos per team, each with LumenFlow.

Teams can delegate WUs to AI agents and coordinate multiple agents working in parallel.

Generate a context-loaded prompt that an AI agent can use to pick up a WU:

pnpm wu:brief --id WU-100 --client claude-code

This produces a prompt with the WU spec, code paths, acceptance criteria, and project context. Paste it into your AI agent to start work.

For initiative work where you need auditable delegation tracking:

pnpm wu:delegate --id WU-101 --parent-wu WU-100

This records delegation lineage so you can trace which WUs were delegated from which parent:

pnpm delegation:list --initiative INIT-007

When an initiative spans multiple WUs, orchestrate across lanes using the same control plane whether the coordinator is a human, a local agent, or another compatible orchestration surface:

# Preview logical waves and bottlenecks
pnpm orchestrate:initiative --initiative INIT-007 --dry-run

# Process one logical wave / launch attempt
pnpm orchestrate:initiative --initiative INIT-007 --checkpoint-per-wave

# Reconcile live state
pnpm orchestrate:init-status --initiative INIT-007
pnpm delegation:list --initiative INIT-007
pnpm orchestrate:monitor --initiative INIT-007

# Read signal traffic between waves
pnpm mem:inbox --since 30m

wu:brief and wu:delegate still generate the worker handoff material, but emitted prompts are not the source of truth by themselves. Checkpoint mode may prepare handoffs without launching if the selected runtime cannot auto-invoke workers, and mem:inbox only shows signal traffic. Reconcile initiative truth against the orchestration surfaces plus WU status, worktree / branch presence, gate outcomes, and stamps.