AI-powered multi-agent technical leadership system for Africa Climate Energy Nexus
# đź§ AfCEN Digital CTO
**AI-powered multi-agent technical leadership system** for the Africa Climate Energy Nexus.
The Digital CTO is a network of specialized AI agents coordinated by a central LangGraph supervisor. It reviews code, manages sprints, joins meetings, scans markets, and communicates with the CEO's personal AI ("Jarvis").
## 🚀 Phase 1: Foundation
Phase 1 delivers:
- **Automated Code Review** — Reviews every PR from Bayes Consulting against a comprehensive checklist (security, architecture, dependencies, quality)
- **GitHub Webhook Integration** — Receives PR events in real-time via webhooks
- **3-Tier Memory** — Redis (working), PostgreSQL (episodic), Qdrant (semantic)
- **LangGraph Supervisor** — Routes events to the correct sub-agent
## 📦 Quick Start
### Option A: Using the TUI (Recommended)
The Digital CTO now includes a Terminal User Interface (TUI) for easy setup and interaction.
```bash
# Install the Digital CTO
pip install -e .
# Run the onboarding wizard
cto onboard
# Start the main interface
cto
```
The TUI provides:
- đź§™ Interactive onboarding wizard
- đź’¬ Chat interface with all agents
- 📊 Real-time system status dashboard
- 📜 Live log viewer
- ⚙️ Configuration management
### Option B: Manual Setup
```bash
# 1. Clone & configure
cp .env.example .env
# Edit .env with your API keys (see below)
# 2. Run with Docker
docker compose up -d
# 3. Verify
curl
localhost
```
## 🔑 Required Configuration
Edit `.env` with:
| Variable | Required | Description |
|----------|----------|-------------|
| `ANTHROPIC_API_KEY` | Yes* | Claude API key (preferred for code review) |
| `AZURE_OPENAI_API_KEY` | Yes* | Azure OpenAI key (alternative to Anthropic) |
| `ZAI_API_KEY` | Yes* | z.ai API key (GLM-5, OpenAI-compatible) |
| `GITHUB_TOKEN` | Yes | GitHub PAT with `repo` scope |
| `GITHUB_WEBHOOK_SECRET` | Yes | Secret for webhook HMAC verification |
| `GITHUB_REPOS` | No | Comma-separated repos to monitor (e.g., `afcen/platform`) | …