Humans and AI agents —
run production with the same one line.
A single Go binary that brings Fly.io-grade DX to GCP. Deploy, infra, env, cost, and diagnostics in one command. Guardrails built in.
$ oq deploy api --env prod ✓ image oq-api:20260531 (digest verified) ✓ revision 00312 ready ✓ traffic ████████████ 100% → 00312 ✓ health /health 200 ✓ audit logged Deployed in 41s. ← auto-rollback on failure.
harness → oq deploy api --env prod --json { "service": "api", "env": "prod", "new_revision": "00312", "traffic_percent": 100, "health": "200", "result": "success" } exit 0 // typed exit code
Why is deploying straight to the cloud
still this hard?
Hand-edit an image tag → push → wait on a CI runner. Bootstrap infra by running scripts in order, by hand. Memorize gcloud incantations. The deploy says "success" while traffic stays on the old revision. You ship without knowing what will change. So you end up needing a dedicated DevOps specialist.
oq removes the need for that role. Developers and AI agents both deploy safely with one command.
Works today. More soon. This is the future.
- 833 tests passing
- Production-ready 90/100
- 13 live services
- deploy · plan · cost · diagnose
- Agent deploy (--json)
- Traffic-shift verification
- Self-heal loop
- End of the DevOps role
- Agent-native
- Self-evolving infra
- One interface, every cloud
Not claims. Numbers.
Every package builds, vets, and tests green. gcloud, Cloud SQL, GLB, Secret Manager, and Cloud Build are already production-grade on real API calls. This site was deployed by oq itself.
From in-house operations to a general-purpose product.
▌In-house — running oqoq.ai
- Multi-service DAG deploy/rollback across 13 services
- Festival burst scaling / stress testing
- Repo ↔ central env single-source-of-truth sync
- Per-service TCO cost attribution (shared split)
- kakao-bridge / redroid specialized automation
▌General — any GCP team
- Fly-like one-command deploy (
oq deploy) - mini-terraform
plan/apply - env/secret management + drift detection
- TCO monitoring + anomaly alerts
- Natural-language
oq ask· typed exit codes
Four layers, one binary.
Type-safe config loading. Typos and missing fields error at load time — no silent failures.
Describe / Diff / Apply. Desired vs current state compared consistently, idempotency guaranteed.
Unified execution, timeouts, logging, dry-run. Every infra command in one pattern.
DAG pipeline. Dependencies resolved automatically, parallel execution, rollback plan.
Not a CLI for humans —
a control plane for humans and agents alike.
Designed so AI agents can invoke deploys directly: non-interactive mode, structured JSON output, typed exit codes. A harness decides success or failure mechanically.
$ oq deploy api --env prod --non-interactive --json { "result": "success", "traffic_percent": 100, "health": "200", "audit_ref": "2026-05/deploy.jsonl#41" } exit 0 # 0 success · 2 prod-gate · others typed
Autonomy is only as smart as its guardrails. Prod gate, traffic-shift verification, auto rollback, and audit logs are why you can hand an AI the prod keys.
Eight bets — where we're headed.
Every developer their own SRE
AI as a first-class operator
Fixes itself while you sleep
oq ask "faster and cheaper"
Deterministic guardrails
GCP · AWS · K8s
Just set the budget
A credit score for infra
Install in one line. Look around in a minute.
The one control plane you can hand the prod keys to an AI with.