AI Pipeline is an AI-powered CI/CD orchestration platform that automates the full software delivery lifecycle — from issue triage and AI-driven code fixes, through automated code review and merge, to multi-service, multi-environment deployment and design-to-code synchronization. Built in Rust with a React frontend.
- Multi-AI-tool support — Claude Code, Copilot CLI, and Gemini CLI with per-project configuration and capability-based routing
- Automated issue fixing & multi-reviewer code review — Poll VCS for labeled issues, dispatch AI tools to generate fixes, open PRs, and auto-review with multiple AI reviewers, debate mechanism, and human escalation
- Multi-service, multi-machine deployment — DAG-based service ordering, rolling host batches, health checks, rollback, and environment promotion
- Design-to-code sync — Figma integration with automatic token extraction, component generation, and tech-stack detection
- Role-based access control — Admin, Operator, and Viewer roles with JWT authentication and Argon2 password hashing
- Real-time WebSocket updates — Subscribe to pipeline, deployment, and log channels for live progress streaming
- Encrypted credential storage — Secure management of API keys, SSH credentials, and platform tokens
- Comprehensive audit logging — Immutable trail of all user and system actions with scoped queries
AI Pipeline is a Rust workspace of 9 crates plus a React (Vite + Ant Design) frontend. The core crate defines domain models and plugin traits; crate-level adapters implement AI tools, VCS platforms, deploy targets, and design platforms. The server crate wires everything together behind an Axum HTTP/WebSocket API.
┌──────────────┐
│ server │ Axum HTTP/WS, auth, config
└──────┬───────┘
┌────────────────┼────────────────┐
▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ pipeline- │ │ deploy │ │ design-to- │
│ engine │ │ │ │ code │
└──────┬───────┘ └──────┬───────┘ └──────┬───────┘
│ │ │
┌────────┼──────┐ │ ┌──────┴────────┐
▼ ▼ ▼ │ ▼ ▼
┌────────┐┌─────┐┌─────┐ │ ┌───────────────┐┌─────────────┐
│ai-tools││ vcs ││obser│ │ │design-platform││observability│
│ ││ ││vabil│ │ │ (figma) ││ │
└────┬───┘└──┬──┘│ity │ │ └──────┬────────┘└─────────────┘
│ │ └─────┘ │ │
▼ ▼ ▼ ▼
┌──────────────────────────────────────┐
│ core │
│ models, errors, plugin traits │
└──────────────────────────────────────┘
- Rust 1.85+ (edition 2024)
- Node.js 18+ and npm
- SQLite 3 (bundled via
rusqlite, no system install required)
# Clone the repository
git clone https://github.com/user/ai-pipeline.git
cd ai-pipeline
# Build the backend
cargo build --release
# Build the frontend
cd frontend
npm install
npm run build
cd ..
# (Optional) Create a config file — the server runs with sane defaults
cp config.toml.example config.toml # if available, or create one (see below)
# Run the server
./target/release/aipThe server starts at http://0.0.0.0:8080 by default. The first user
registered via POST /api/auth/register is automatically granted the Admin role.
AI Pipeline loads configuration from config.toml in the working directory.
If the file is missing, all settings fall back to defaults.
[server]
host = "0.0.0.0"
port = 8080
[storage]
data_dir = "data" # SQLite DB + vsdb data directory
[auth]
jwt_secret = "change-me-in-production"
token_expiry_hours = 24
[github]
token = "ghp_..." # Personal access token
# app_id = "12345" # GitHub App authentication (alternative)
# app_private_key = "..."
Security: Never commit
config.tomlwith real credentials. The file is git-ignored by default.
Note: AI tools (Claude Code, Copilot CLI, Gemini CLI) are not configured on the server. Each project provides its own SSH host with pre-installed and pre-authenticated AI CLIs. See the AI Tools Guide.
# Run the backend in debug mode
cargo run -p aip
# Run the frontend dev server (hot-reload)
cd frontend && npm run dev
# Run all Rust tests
cargo test --workspace
# Run Rust lints
cargo clippy --workspace --all-targets
# Run frontend lints
cd frontend && npm run lint
# Run frontend e2e tests (requires Playwright)
cd frontend && npx playwright install && npm run e2eFull API reference: docs/api-reference.md
Base URL: http://<host>:<port>/api
Key endpoint groups:
| Group | Prefix | Auth | Description |
|---|---|---|---|
| System | /api/system |
No | Health check |
| Auth | /api/auth |
Varies | Register, login |
| Projects | /api/projects |
Yes | CRUD projects & services |
| Pipelines | /api/pipelines |
Yes | Trigger & monitor pipeline runs |
| Environments | /api/environments |
Yes | Manage deploy environments & targets |
| AI Tools | /api/ai-tools |
Yes | Configure AI tool settings |
| Design | /api/design |
Yes | Manage design links & sync runs |
| WebSocket | /api/ws |
Yes | Real-time event streaming |
Connect to ws://<host>:<port>/api/ws with a valid JWT. Subscribe to channels:
pipeline:{run_id}— pipeline run progressdeployment:{deploy_id}— deployment progressdesign_sync:{id}— design sync progresslogs:global— all system log events
| Document | Description |
|---|---|
docs/architecture.md |
System architecture, crate structure, storage design, plugin system |
docs/api-reference.md |
Complete REST & WebSocket API reference |
docs/user-guide.md |
End-user guide for managing projects and pipelines |
docs/deployment-guide.md |
Production deployment and operations guide |
docs/ai-tools-guide.md |
Configuring and using AI tool integrations |
docs/design-sync-guide.md |
Figma design-to-code synchronization guide |
docs/extension-guide.md |
Writing custom plugins (AI tools, VCS, deploy targets) |
ai-pipeline/
├── crates/
│ ├── core/ # Domain models, error types, plugin traits
│ ├── ai-tools/ # AI tool adapters (Claude, Copilot, Gemini)
│ ├── vcs/ # VCS platform integrations (GitHub)
│ ├── deploy/ # Deployment orchestration & rollback
│ ├── design-platform/ # Design platform adapters (Figma)
│ ├── design-to-code/ # AI code generation from design data
│ ├── pipeline-engine/ # Pipeline runtime, scheduler, state machine
│ ├── observability/ # Structured logging, metrics, event streaming
│ └── server/ # Axum HTTP server, routes, auth, config
├── frontend/ # React + Vite + Ant Design dashboard
├── migrations/ # SQLite schema migrations
├── tests/ # Unit, integration, and e2e tests
├── docs/ # Project documentation
├── data/ # Runtime data (SQLite DB, vsdb files)
└── config.toml # Server configuration (git-ignored)
Contributions are welcome! Please see CONTRIBUTING.md for
guidelines on submitting issues and pull requests.
This project is licensed under the MIT License.