Self-hosted, GitOps-driven
Every PR gets a real kustomize overlay, deployed via ArgoCD — not a black-box build service.
DevPlatform spins up an ephemeral environment for every pull request, then hands it to an AI reviewer, a doc generator, and a test writer — the way Vercel and Netlify do it, except it runs in your cluster and your logs never leave the building.
What it replaces
Most teams get ephemeral environments from a hosted platform, and AI code review from a separate bolt-on. DevPlatform runs both from one control plane, on infrastructure you already operate.
Every PR gets a real kustomize overlay, deployed via ArgoCD — not a black-box build service.
Review, docs, tests, and migration run as jobs against your own AI provider — OpenAI, Anthropic, or a local Ollama model.
Metrics, traces, and logs are wired up from the first `make dev` — not an integration you build later.
System design
The control plane (Go, Gin) sits between the frontend and everything else: it writes to Postgres directly, queues async work onto NATS, and leans on Redis for cache and live logs. Workers pick jobs off the queue; the whole path is instrumented and shipped to Grafana.
Capabilities
Six pieces of a normal platform team's stack, already wired together.
A real environment on every pull request, rendered through kustomize and reconciled by ArgoCD.
PR review, doc generation, test generation, and language migration, all running against a pluggable AI client.
Group projects, environments, and deployments the way your team actually organizes work.
Deployment logs and status stream over WebSocket, so a build's progress shows up as it happens.
OpenTelemetry feeds Prometheus, Tempo, and Loki; Grafana ships with dashboards for all of it.
Deploys with kustomize and staging/production overlays; ArgoCD is the recommended path to prod.
AI provider interface
DevPlatform ships an OpenAI, Anthropic, and Ollama client out of the box — and a mock provider for local dev. Add another by implementing AIClient in internal/ai/client.go.
type AIClient interface { Chat(ctx, messages) (string, error) ChatStream(ctx, messages) (<-chan string, error) ReviewPR(ctx, ReviewRequest) (*ReviewResult, error) GenerateDocs(ctx, DocsRequest) (*DocsResult, error) GenerateTests(ctx, TestsRequest) (*TestsResult, error) MigrateCode(ctx, MigrateRequest) (*MigrateResult, error) }
Point it at security, performance, or style, and it reviews the diff against that lens rather than everything at once.
Drafts README updates, API docs, and architecture notes from the current state of the code.
Set the coverage goal you're aiming for; it writes tests toward that number.
JS to TS, Python to Go, and similar moves — a starting translation you review, not a black box.
Get running
Everything — Postgres, NATS, Redis, the control plane, a worker, the frontend, and the observability stack — starts from a single Makefile target.
# clone and enter git clone https://github.com/ATLURI0001/DevPlatform.git cd DevPlatform # copy and edit environment config cp .env.example .env # start every service make dev ✓ postgres ready on :5432 ✓ nats ready on :4222 ✓ redis ready on :6379 ✓ control-plane listening on :8080 ✓ frontend ready on :3000
Operating it
Fork it, open an issue, or send a pull request. See CONTRIBUTING.md for the workflow.