Team Workflow
LumenFlow scales from solo developers to teams. This guide covers team-specific practices.
Team Setup
Section titled “Team Setup”- Install GitHub App for enforcement
- Define lanes for your team structure
- Set WIP limits per lane
- Add team members to npm org (for CLI access)
Lane Strategies
Section titled “Lane Strategies”By Domain
Section titled “By Domain”lanes: - name: Frontend wip_limit: 2 - name: Backend wip_limit: 2 - name: Infrastructure wip_limit: 1By Team
Section titled “By Team”lanes: - name: Team-Alpha wip_limit: 3 - name: Team-Beta wip_limit: 3 - name: Platform wip_limit: 1By Product Area
Section titled “By Product Area”lanes: - name: Checkout wip_limit: 2 - name: Search wip_limit: 2 - name: User-Profile wip_limit: 1Claiming Protocol
Section titled “Claiming Protocol”First Come, First Served
Section titled “First Come, First Served”Simple: whoever claims first, owns it.
pnpm wu:claim --id WU-100 --lane Frontend# If already claimed → errorAssigned
Section titled “Assigned”Pre-assign in the WU spec:
id: WU-100assigned_to: alice@team.comOnly the assigned person can claim.
Team Discussion
Section titled “Team Discussion”For complex WUs, discuss before claiming:
- Review in standup
- Agree on approach
- Assign and claim
Handoffs
Section titled “Handoffs”If you need to hand off a WU:
# Current owner releasespnpm wu:release --id WU-100
# New owner claimspnpm wu:claim --id WU-100 --lane FrontendBlocking and Unblocking
Section titled “Blocking and Unblocking”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_progressDaily Standup
Section titled “Daily Standup”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 keysFocus on:
- What’s blocked (help unblock)
- What’s nearing completion (coordinate)
- What to claim next (visibility)
WIP Enforcement
Section titled “WIP Enforcement”GitHub App enforces WIP limits:
❌ Cannot claim WU-105 for lane "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.
Review Practices
Section titled “Review Practices”Gates Replace PRs
Section titled “Gates Replace PRs”LumenFlow’s gates replace traditional code review:
- Format, lint, typecheck, test run automatically
- All must pass before completion
When to Add Human Review
Section titled “When to Add Human Review”Add human review for:
- Security-sensitive changes
- Architectural decisions
- Public API changes
# WU specrequires_review: truereviewers: - security@team.comPair Programming
Section titled “Pair Programming”For complex WUs, pair instead of review:
- Pair claims together
- Both work in the worktree
- Gates validate as usual
- No separate review needed
Metrics
Section titled “Metrics”Track team health:
| Metric | Healthy | Concerning |
|---|---|---|
| WU cycle time | 1-3 hours | > 1 day |
| Gate pass rate | > 90% | < 80% |
| Blocked WU count | 0-1 | > 3 |
| WIP per lane | At limit | Consistently under |
Scaling to Multiple Teams
Section titled “Scaling to Multiple Teams”For larger organizations:
# Separate config per teamlanes: - 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: 2Or use separate repos per team, each with LumenFlow.
Next Steps
Section titled “Next Steps”- AI Agent Integration – Working with AI teammates
- CLI Reference – Team commands