AI-powered CI/CD that replaces YAML with intelligence.
Push code β AI generates pipelines β Deploys to Kubernetes β Self-heals failures.
Oply is an enterprise-grade, autonomous software delivery platform that acts as the "brain" of your CI/CD pipeline. Instead of writing YAML configs, Oply's AI engine:
- Scans your repository β detects language, framework, and dependencies
- Generates an execution DAG β a directed acyclic graph of build/test/deploy steps
- Executes the pipeline β builds Docker images, runs tests, pushes artifacts
- Predicts deployment risk β AI scores each deploy (0β100) before it goes live
- Self-heals failures β auto-analyzes errors, generates patches, triggers rollbacks
Think of Oply as Vercel + GitHub Actions + PagerDuty β powered by AI, with zero YAML.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β OPLY PLATFORM β
β β
β ββββββββββββ ββββββββββββββββ ββββββββββββββββββββββββ β
β β Dashboardβββββ API Gateway βββββ GitHub Webhooks β β
β β (Next.js)β β (REST + SSE) β β (push/PR triggers) β β
β ββββββββββββ ββββββββββββββββ ββββββββββββββββββββββββ β
β β β β β
β β ββββββΌβββββββ βββββββΌβββββββ β
β β β PostgreSQLβ β AI Engine β β
β β β (Drizzle) β β (Gemini) β β
β β βββββββββββββ ββββββββββββββ β
β β β β β
β ββββββΌβββββ βββββββΌββββββ ββββββββΌββββββ β
β β Copilot β β Redis β β Pipeline β β
β β (Chat) β β (BullMQ) ββββββββββββ Workers β β
β βββββββββββ βββββββββββββ ββββββββββββββ β
β β β
β ββββββββββββΌβββββββββββ β
β β Docker + K8s +AWS β β
β β (Build & Deploy) β β
β βββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | Next.js 16, Tailwind CSS 4 | Dashboard & landing page |
| Database | PostgreSQL + Drizzle ORM | Persistent storage |
| Auth | NextAuth v5 (GitHub + Google OAuth) | User authentication |
| AI | Google Gemini 1.5 Pro | Copilot, pipeline gen, failure analysis |
| Queue | Redis + BullMQ | Job queue for pipeline execution |
| CLI | Node.js + Commander + Dockerode | Command-line interface |
| Infra | Docker, Kubernetes, AWS | Build, deploy, orchestrate |
Oply/
βββ .env.example # Environment variables template
βββ README.md # This file
βββ docs/ # Architecture blueprints
β βββ ARCHITECTURE.md # System architecture & diagrams
β βββ DATABASE.md # PostgreSQL schema design
β βββ API_DESIGN.md # REST & GraphQL API spec
β βββ WORKFLOW_ENGINE.md # CI/CD execution engine design
β βββ AI_SYSTEM_AND_PROMPTS.md # AI prompts & subsystems
β βββ UI_UX_DASHBOARD.md # Dashboard wireframes
β βββ ROADMAP.md # Implementation phases
β
βββ app/ # Next.js Dashboard Application
β βββ package.json
β βββ drizzle.config.ts # Drizzle ORM migration config
β βββ next.config.ts
β βββ lib/
β β βββ db/
β β β βββ schema.ts # Full Drizzle schema (10+ tables)
β β β βββ index.ts # Database client singleton
β β βββ auth.ts # NextAuth v5 config
β β βββ ai/
β β βββ prompts.ts # AI system prompts
β βββ app/
β βββ globals.css # Design system
β βββ layout.tsx # Root layout
β βββ page.tsx # Landing page
β βββ login/ # OAuth login
β βββ dashboard/ # Protected dashboard
β β βββ page.tsx # Overview with stats
β β βββ pipelines/ # Pipeline management & DAG viz
β β βββ deployments/ # Deployment table with risk scores
β β βββ environments/ # Cluster management (Dev/Staging/Prod)
β β βββ services/ # Service map graph topology
β β βββ logs/ # Real-time log explorer
β β βββ copilot/ # AI DevOps assistant chat
β β βββ settings/ # Project & AI configuration
β βββ api/
β βββ auth/ # NextAuth route handler
β βββ v1/
β βββ webhooks/github/ # GitHub webhook processor
β βββ pipelines/ # Pipeline CRUD + trigger
β βββ deployments/ # Deploy + rollback
β βββ projects/ # Project management
β βββ ai/assistant/chat/ # AI Copilot streaming
β
βββ cli/ # Oply CLI
βββ package.json
βββ bin/oply.js # CLI entry point
βββ src/
βββ index.js # Commander program setup
βββ config.js # Persistent config (conf)
βββ api.js # API + GitHub API client
βββ git.js # Real git operations (stage, commits, diff)
βββ store.js # Local state store (.oply/)
βββ project.js # Project loader (oply.config.json)
βββ commands/
βββ init.js # Project initialization + .oply/ setup
βββ stage.js # Git staging info & environment status
βββ status.js # Pipeline & deployment status (real data)
βββ deploy.js # Build, test, deploy workflow (real execution)
βββ logs.js # K8s/Docker/pipeline log viewer (real logs)
βββ ai-debug.js # AI failure analysis (full project context)
βββ pipeline.js # Pipeline DAG execution (real commands)
βββ docker.js # Docker build/push/scan/prune
βββ k8s.js # kubectl operations
βββ rollback.js # Git revert + K8s rollback
- Node.js 20+
- PostgreSQL (local, Neon, or Supabase)
- Docker (for container operations)
- kubectl (for Kubernetes operations)
git clone https://github.com/SkyDarkOpenSources/oply.git
cd oply
# Copy environment template
cp .env.example .envEdit .env with your credentials:
# Required
DATABASE_URL=postgresql://user:pass@localhost:5432/oply
NEXTAUTH_SECRET=your-secret-here
NEXTAUTH_URL=http://localhost:3000
# OAuth (at least one)
GITHUB_CLIENT_ID=...
GITHUB_CLIENT_SECRET=...
# AI (for Copilot & pipeline generation)
GOOGLE_API_KEY=...# Install dashboard dependencies
cd app
npm install
# Push database schema to PostgreSQL
npm run db:push
# Start the dashboard
npm run devOpen http://localhost:3000 β you'll see the Oply landing page.
- Click "Get Started" β Sign in with GitHub or Google
- You'll land on the Dashboard with pipeline overview, deployments, and service maps.
# In a new terminal
cd cli
npm install
# Link the CLI globally so you can use the 'oply' command anywhere
npm link
# Now go to ANY project directory and initialize Oply!
cd ~/my-project
oply init
# This creates:
# β’ oply.config.json β project configuration (commit this)
# β’ .oply/ β local state store (gitignored)
# β’ .env.oply β your API keys (gitignored)
# View git staging info, commits, environment status
oply stage
# Check pipeline & deployment status
oply status
# Run your CI/CD pipeline (actually executes build/test/lint)
oply pipeline trigger
# Deploy to staging
oply deploy --env staging
# AI debugging (uses your GOOGLE_API_KEY from .env.oply)
oply ai-debug
# View Kubernetes pods
oply k8s status| Page | Path | Description |
|---|---|---|
| Overview | /dashboard |
Summary cards, recent pipeline runs, active deployments |
| Pipelines | /dashboard/pipelines |
Workflow list, DAG visualization, run history |
| Deployments | /dashboard/deployments |
Deploy table with risk scores, rollback actions |
| Environments | /dashboard/environments |
Dev/Staging/Prod cluster cards with CPU/memory gauges |
| Service Map | /dashboard/services |
Interactive SVG graph of infrastructure topology |
| Logs | /dashboard/logs |
Real-time log stream with level filtering |
| AI Copilot | /dashboard/copilot |
Chat with your DevOps AI assistant |
| Settings | /dashboard/settings |
Project config, repo integration, AI settings |
COMMANDS:
oply init Initialize Oply in current project
oply stage View git staging info & environment status
oply stage diff Show staged diff (git diff --cached)
oply stage log Show formatted git commit log
oply stage envs Show deployment status per environment
oply status View pipeline & deployment status
oply status --github Show GitHub Actions & deployment status
oply status --git Show detailed git history
oply deploy [options] Deploy to an environment
oply logs [options] View K8s/Docker/pipeline logs
oply logs --pipeline <id> View logs for a specific pipeline run
oply ai-debug Interactive AI failure analysis
oply pipeline trigger Execute the pipeline DAG
oply pipeline list List recent pipeline runs
oply pipeline stages Show configured pipeline stages
oply pipeline generate Re-generate a pipeline DAG
oply docker build Build Docker image
oply docker push Push image to registry
oply docker scan Security scan with Trivy
oply docker ps List running containers
oply docker prune Clean up Docker resources
oply k8s status Cluster & pod status
oply k8s pods List pods
oply k8s apply Apply K8s manifests
oply k8s rollout Check rollout status
oply k8s scale Scale deployment replicas
oply k8s events Recent cluster events
oply rollback Rollback a deployment (git revert or K8s)
DEPLOY OPTIONS:
-e, --env <env> Target: dev, staging, production
-i, --image <tag> Docker image tag
-s, --strategy <type> rolling, canary, blue-green
--skip-build Skip Docker build
--skip-tests Skip test execution
--dry-run Simulate without executing
# Initialize and scan your project
oply init --repo github.com/acme/api
# Deploy to staging with canary strategy
oply deploy --env staging --strategy canary
# AI debug a Docker build failure
oply ai-debug --error "npm ERR! ERESOLVE unable to resolve dependency tree"
# Build and push Docker image
oply docker build --tag myapp:v1.2.0
oply docker push --tag myapp:v1.2.0
# Scale production to 5 replicas
oply k8s scale -d api-gateway -r 5 -n production
# View K8s pod logs
oply logs --pod --namespace staging
# Emergency production rollback
oply rollback --env production --deployment api-gateway| Method | Path | Description |
|---|---|---|
POST |
/api/v1/webhooks/github |
GitHub webhook receiver |
GET |
/api/v1/pipelines |
List pipeline runs |
POST |
/api/v1/pipelines |
Trigger pipeline manually |
GET |
/api/v1/projects |
List projects |
POST |
/api/v1/projects |
Create project |
GET |
/api/v1/deployments |
List deployments |
POST |
/api/v1/deployments |
Create deployment |
PATCH |
/api/v1/deployments |
Rollback / approve |
POST |
/api/v1/ai/assistant/chat |
AI Copilot (SSE stream) |
Managed with Drizzle ORM. Schema includes:
organizationβ Multi-tenant org structureuserβ Users with roles (ADMIN, MEMBER, VIEWER)projectβ Projects owned by organizationsrepositoryβ Git repos (GitHub, GitLab, Bitbucket)environmentβ Dev, Staging, Production clustersworkflowβ AI-generated pipeline definitions (DAG)pipeline_runβ Execution records with AI analysis cachetask_runβ Individual pipeline step executiondeploymentβ Deploy records with risk scores & rollbackai_conversation/ai_messageβ Copilot chat history
# Generate migrations
npm run db:generate
# Push schema changes
npm run db:push
# Open Drizzle Studio (visual DB browser)
npm run db:studioOply uses four AI models (documented in docs/AI_SYSTEM_AND_PROMPTS.md):
| Subsystem | Purpose | Trigger |
|---|---|---|
| Pipeline Generator | Analyzes repo β generates build DAG | On repo connect / oply init |
| Risk Predictor | Scores deployment risk 0β100 | Before every deployment |
| Failure Analyzer | Root-cause analysis + auto-fix patches | On pipeline failure |
| Copilot Assistant | Conversational DevOps assistant | Dashboard chat / oply ai-debug |
See .env.example for all configuration options:
| Variable | Required | Description |
|---|---|---|
DATABASE_URL |
β | PostgreSQL connection string |
NEXTAUTH_SECRET |
β | Session encryption key |
NEXTAUTH_URL |
β | App URL (http://localhost:3000) |
GITHUB_CLIENT_ID |
β | GitHub OAuth app ID |
GITHUB_CLIENT_SECRET |
β | GitHub OAuth secret |
GOOGLE_CLIENT_ID |
β»οΈ | Google OAuth ID |
GOOGLE_CLIENT_SECRET |
β»οΈ | Google OAuth secret |
GOOGLE_API_KEY |
β»οΈ | For AI Copilot & pipeline gen |
REDIS_URL |
β»οΈ | BullMQ job queue |
GITHUB_WEBHOOK_SECRET |
β»οΈ | Webhook signature verification |
DOCKER_REGISTRY_URL |
β»οΈ | Docker registry for image pushes |
# Dashboard (Next.js)
cd app && npm run dev # http://localhost:3000
# CLI (any directory)
cd cli && node bin/oply.js # Shows help
# Database
cd app && npm run db:studio # Visual DB browser
cd app && npm run db:push # Push schema changesDetailed system design documents are in the docs/ folder:
- Architecture β Full system diagram, modular breakdown, K8s deployment strategy
- Database β PostgreSQL schema with ER diagram
- API Design β REST & GraphQL endpoints, security
- Workflow Engine β Dynamic DAG execution, BullMQ workers
- AI System β All AI agent prompts and data flows
- UI/UX β Dashboard wireframes and component spec
- Roadmap β 4-phase implementation plan
MIT License β see LICENSE for details.
Oply - built for DevOps Communty, by SkyDarkOpenSources.
Dashboard Β· CLI Docs Β· API Reference Β· Architecture