AI-powered Software Development Lifecycle orchestration
Design multi-agent workflows on a visual canvas · Dispatch tasks to the right AI tier · Ship with human-in-the-loop approvals
Nexus treats your entire SDLC as a directed graph of stages. Each stage is handled by an AI agent at the right cost tier — cheap fast models for boilerplate, powerful reasoning models for architecture and security. Think n8n, but for engineering teams running AI agents.
Input ──► Design ──► Implement ──► Test ──► Security Audit ──► Human Approval ──► Ship
│ │ │ │ │
Senior Mid Junior Senior You decide
- Visual workflow canvas built on ReactFlow — drag, connect, branch
- Tiered agent routing — automatically dispatches each stage to Junior / Mid / Senior based on complexity
- Human-in-the-loop — pause any stage, review agent output, approve or redirect
- Real-time streaming — SSE-based live output from every agent
- Cost tracking — per-run token spend broken down by tier
- Full audit trail — blame graph, decision log, cost log persisted to disk and Postgres
| Tier | Default Models | Token Budget | Cost | Use Cases |
|---|---|---|---|---|
| Junior | gpt-4o-mini, ollama/llama3:8b |
2 048 | 1× | Unit tests, boilerplate, CSS/HTML |
| Mid | gemini-1.5-flash, mistral-large |
8 192 | 5× | API dev, docs, standard bugfixes |
| Senior | claude-sonnet-4-6, gpt-4o |
32 768 | 25× | Architecture, security audits, complex debug |
Models are fully configurable. Point any tier at any LiteLLM-compatible model including local Ollama.
| Template | Stages | Best For |
|---|---|---|
indie_hacker |
Design → Build → QA → Ship | MVPs in a single Senior pass |
security_first_dev |
Plan → Implement → SAST → Review → Deploy | Security-sensitive codebases |
refactor_expert |
Analyze → Refactor → Regression QA → Approve | Legacy code cleanup |
testing |
Spec → Generate Tests → Validate → Report | Boosting test coverage |
Custom templates are plain YAML — drop them in nexus/core/workflow/templates/ and they appear in the UI automatically.
nexus-sdlc/
├── nexus/ # Backend (Python)
│ ├── api/ # FastAPI — REST + SSE endpoints
│ │ └── routes/ # workflows · agents · approvals · audit
│ ├── core/
│ │ ├── agents/ # Tiers, roles, perspectives
│ │ ├── workflow/ # LangGraph engine + YAML template loader
│ │ ├── tools/ # GitHub, sandbox, security, Slack
│ │ ├── human_loop/ # Approval queue & directive steering
│ │ ├── consensus/ # Multi-agent voting board
│ │ └── logging/ # Audit trail, blame graph, cost logger
│ ├── db/ # SQLAlchemy async (Postgres)
│ └── cache/ # Redis client (SSE streaming)
└── ui/ # Frontend (Next.js 14 + TypeScript)
└── app/
├── components/
│ ├── canvas/ # ReactFlow workflow designer
│ ├── dashboard/ # Execution, audit, approvals, cost monitor
│ └── hub/ # Template browser & YAML editor
├── store/ # Zustand state
└── types/ # Shared TypeScript types
- Python 3.11+
- Node.js 18+
- Docker & Docker Compose
git clone https://github.com/zer0dayf/nexus-sdlc.git
cd nexus-sdlc
cp .env.example .env
# Fill in at least one LLM provider keydocker-compose up -d postgres redispython -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e ".[dev]"
uvicorn nexus.api.main:app --reload --port 8000API: http://localhost:8000 · Docs: http://localhost:8000/docs
cd ui
npm install
npm run devOpen http://localhost:3000
Graceful degradation: Postgres and Redis are optional. Without them Nexus runs in memory-only mode — perfect for local testing.
Copy .env.example → .env and fill in your values.
# LLM Providers — at least one required
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_API_KEY=...
# Infrastructure
DATABASE_URL=postgresql+asyncpg://nexus:nexus@localhost:5432/nexus
REDIS_URL=redis://localhost:6379/0
# Integrations (all optional)
GITHUB_TOKEN=ghp_...
SLACK_BOT_TOKEN=xoxb-...
SLACK_CHANNEL_ID=C...
SNYK_TOKEN=...
SONARQUBE_URL=http://localhost:9000
SONARQUBE_TOKEN=...
# App
NEXUS_ENV=development
NEXUS_SECRET_KEY=change-me-in-production
NEXUS_LOG_LEVEL=INFOProduction checklist
- Set
NEXUS_ENV=production(enables strict CORS) - Generate a strong secret:
openssl rand -hex 32 - Replace the default Postgres password (
nexus) with a secret manager value - Set
allow_originsto your actual domain innexus/api/main.py
# Tests
pytest
# Lint & format
ruff check . --fix && ruff format .
# Type check
mypy nexus/See ROADMAP.md for planned features including:
- Google Search, Tavily, and Exa action nodes
- GitHub Actions trigger & await
- Slack async approvals
- Parallel stage execution
- Dynamic tier escalation
- Cost budgets per run
- RBAC & SSO
MIT © zer0dayf