bender-pipeline
v2.0.0
Published
Parallel story development pipelines with Dev+Review agent pairs for Claude Code. Git worktree isolation, cross-LLM code review, persistent state, and pluggable adapters.
Maintainers
Readme
bender-pipeline
"I'm gonna build my own pipeline, with blackjack and code review!"
Parallel story development pipelines with Dev+Review agent pairs for Claude Code.
Bender orchestrates up to 4 concurrent pipelines, each pairing a Dev agent with a Review agent. It handles git worktree isolation, automated code review, fix-plan approval loops, merge verification, and configurable notifications — all fully unattended.
How It Works
Stories ──> Bender (team-lead) ──> Dev Agent 1 ──> Review Agent 1 ──> Merge
Dev Agent 2 ──> Review Agent 2 ──> Merge
Dev Agent 3 ──> Review Agent 3 ──> Merge
Dev Agent 4 ──> Review Agent 4 ──> Merge- You provide fully written stories (with acceptance criteria, tasks, affected repos)
- Bender spawns Dev+Review agent pairs as Claude Code subagents
- Each pipeline gets an isolated git worktree (no branch conflicts between parallel work)
- Dev agents implement stories, Review agents perform adversarial code review
- Fix cycles iterate until review passes (or escalation threshold)
- Bender merges all completed stories, runs tests, and pushes
Prerequisites
Required
Claude Code with Agent Teams enabled:
// .claude/settings.json { "env": { "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" } }Fully written stories before running the pipeline. Stories must contain:
- Acceptance Criteria (numbered ACs)
- Tasks/Subtasks (checkbox items
- [ ]) - Affected Repos
- Test requirements
The pipeline implements stories — it does NOT create them. Use BMAD Method or your own process.
For cross-LLM review (recommended)
- Codex CLI installed and in PATH
- BMAD Method installed in BOTH:
- Claude Code (for the dev agent's workflow engine)
- Codex (for the review agent's review prompt)
Without cross-LLM review (zero-dependency setup)
- Use the built-in
simpledev workflow +claude-self-reviewreview tool - No Codex, no BMAD needed — works out of the box
Install
npm
npm install bender-pipeline --save-devThe postinstall script creates a symlink at .claude/skills/bender/, making /bender available in Claude Code.
git clone
git clone https://github.com/Duatadmin/bender-pipeline.git .claude/skills/benderQuick Start (Zero Dependencies)
- Install bender-pipeline
- Open Claude Code in your project
- Run
/bender - On first run, the setup wizard creates
.claude/bender.yaml:- Auto-detects your git repos
- Uses
simpledev workflow (no BMAD needed) - Uses
claude-self-review(no Codex needed)
- Point it at your stories:
/bender docs/stories/epic-1/
Full Setup (Cross-LLM Review)
For production use with adversarial cross-LLM code review:
1. Install BMAD Method
# In your project root
git clone https://github.com/bmadcode/BMAD-METHOD.git _bmad2. Install Codex CLI
npm install -g @openai/codex3. Set up BMAD for Codex
Copy the BMAD code-review prompt to your Codex prompts directory:
mkdir -p .codex/prompts/
# Create or copy your code-review prompt to:
# .codex/prompts/code-review.md4. Configure .claude/bender.yaml
version: 1
project:
stories_dir: "docs/stories/"
story_pattern: "*.story.md"
repos:
- name: my-backend
path: "./my-backend"
default_branch: main
test_command: "pytest tests/ -v --tb=short"
test_timeout: 120
- name: my-frontend
path: "./my-frontend"
default_branch: main
test_command: "npx vitest run"
test_timeout: 120
pipeline:
max_pipelines: 4
max_review_iterations: 3
branch_prefix: "story/"
dev_workflow:
adapter: bmad
dev_agent_command: ".claude/commands/bmad-agent-bmm-dev.md"
workflow_engine: "_bmad/core/tasks/workflow.xml"
workflow_config: "_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml"
review_tool:
adapter: codex-cli
review_prompt: ".codex/prompts/code-review.md"
timeout: 900
retry_timeout: 1200
notifications:
adapter: telegram # or: slack, webhook, none5. Run
claude
> /bender docs/stories/epic-1/Configuration Reference
See references/config-schema.md for the full .claude/bender.yaml schema.
Adapters
Dev Workflows
| Adapter | Dependencies | Description |
|---------|-------------|-------------|
| simple | None | Built-in TDD workflow: read story, implement tasks, test, commit |
| bmad | _bmad/ directory | BMAD Method workflow engine with dev persona |
| custom | Your prompt file | Bring your own dev workflow |
Review Tools
| Adapter | Dependencies | Description |
|---------|-------------|-------------|
| claude-self-review | None | Adversarial self-review using Claude's own context |
| codex-cli | Codex CLI | Cross-LLM review via Codex (different LLM catches different bugs) |
| custom | Your prompt file | Bring your own review tool |
Notifications
| Adapter | Dependencies | Description |
|---------|-------------|-------------|
| none | None | Silent (default) |
| telegram | Bot token + chat ID | Telegram messages on escalations |
| slack | Webhook URL | Slack messages on escalations |
| webhook | Webhook URL | Generic HTTP POST on escalations |
Architecture
bender-pipeline/
├── SKILL.md # Orchestration engine (the team-lead brain)
├── references/ # Prompt templates, state schema, handler logic
├── adapters/
│ ├── dev-workflows/ # simple | bmad | custom
│ ├── review-tools/ # claude-self-review | codex-cli | custom
│ └── notifications/ # telegram | slack | webhook
├── hooks/ # Pre-commit test gating
└── scripts/ # npm postinstallThe pipeline runs as an 8-step process: 0. Load config + pre-run cleanup
- Discover & select stories
- Spawn Dev+Review agent teams
- Create isolated git worktrees per pipeline
- Dispatch stories to dev agents
- Monitor: implementation → review → fix cycles
- Merge completed stories with test gating
- Report + auto-commit/push
- Shutdown team
Production Notes
From running this on real projects:
- Git worktree isolation is critical — without it, parallel pipelines corrupt each other's branches
- Cross-LLM review catches real bugs — Codex found JWT validation gaps that Claude missed
- Codex CLI has ~50% failure rate — the retry mechanism handles most failures
- Dev agents spawn research subagents — 80+ total agents per run is normal
- Context compactions happen — the persistent state file survives compaction; always read it first
- 3 review iterations is usually enough — after that, remaining findings are auto-deferred
License
MIT
