Coordinate multiple specialized AI agents to solve complex tasks through collaboration.
✨ APEV Workflow - Ask → Plan → Execute → Validate with auto-retry
🔄 YAML Pipelines - Define custom agent workflows with DAG execution
🤖 4 Specialized Agents - Architect, Implementer, Reviewer, Analyst
🔍 Built-in Validation - Every output is reviewed before delivery
⚡ Fault Isolation - Each agent runs independently for robustness
- Node.js 18+
- GitHub Copilot CLI (install guide)
npm install -g multi-agent-copilot-sdkAPEV Mode (Interactive collaboration):
copilot-agentsPipeline Mode (YAML-defined workflows):
copilot-pipeline examples/simple-pipeline.yml --prompt "Your task"# Interactive session
copilot-agents
> Create a TypeScript calculator with add, subtract, multiply, divide
# Or in development:
npm run apeAgents collaborate: Bob plans → Alice implements → Dave validates → Auto-retry if needed
Simple 3-agent pipeline:
# examples/simple-pipeline.yml
name: "Code Review Pipeline"
agents:
- id: implementer
profile: IMPLEMENTER
- id: reviewer
profile: REVIEWER
dependsOn: [implementer]
- id: verifier
profile: ANALYST
dependsOn: [reviewer]Run it:
# After global install:
copilot-pipeline examples/simple-pipeline.yml --prompt "Build a REST API"
# In development:
npm run pipeline examples/simple-pipeline.yml -- --prompt "Build a REST API"| Agent | Role | Expertise |
|---|---|---|
| Alice | Implementer | Code generation, file creation |
| Bob | Architect | System design, planning |
| Carol | Analyst | Analysis, debugging, insights |
| Dave | Reviewer | Code review, validation |
Create custom workflows in YAML:
name: "My Pipeline"
version: "1.0"
agents:
- id: "step1"
name: "Data Processor"
profile: "IMPLEMENTER"
customInstructions: "Process CSV data"
- id: "step2"
name: "Quality Check"
profile: "REVIEWER"
dependsOn: ["step1"]
settings:
continueOnFailure: false # Stop on first error
maxParallelAgents: 3 # Limit concurrency
verbose: trueSee Pipeline Guide for complete reference.
Per-Agent Isolation:
- Each agent runs its own CopilotClient process
- Independent stdio streams eliminate contention
- Failures in one agent don't cascade to others
DAG Execution:
- Topological sort determines execution order
- Parallel execution of independent agents
- Dependency validation prevents cycles
Coordinated Cleanup:
Promise.allSettled()for parallel shutdown- Proper error logging (no suppression)
- 100ms stream flush delay for graceful termination
Details: Architecture Docs | Implementation Summary
# Clone and install
git clone https://github.com/tdevere/Team-Copilot.git
cd Team-Copilot
npm install
# Build
npm run build
# Test APEV mode
npm run apev
# Test pipeline
npm run pipeline examples/simple-pipeline.yml -- --prompt "Your task"
# Run tests
npm testGlobal Installation:
npm install -g .
# Then use copilot-agents and copilot-pipeline directly# Custom Copilot CLI path
export COPILOT_CLI_PATH=/path/to/copilot
# Debug logging
export COPILOT_LOG_LEVEL=debug"Cannot find copilot CLI"
- Install:
winget install GitHub.Copilot(Windows) orbrew install copilot-cli(macOS) - Set path:
export COPILOT_CLI_PATH=/path/to/copilot
Pipeline fails with "Cycle detected"
- Check
dependsOn- must form valid DAG (no circular dependencies)
Agents hang during initialization
- Each agent needs its own client - per-agent architecture prevents this
See Troubleshooting Guide for more.
- Pipeline System - YAML workflows, DAG execution
- Architecture - Design decisions, patterns
- API Reference - Programmatic usage
- Contributing - Development guide
MIT - See LICENSE