Automated code review service powered by Claude Agent SDK. Used by ops.groo.dev.
921
Automated code review service powered by Claude Agent SDK. Runs inside a Cloudflare Container, managed by the ops API via a Durable Object.
ops API Worker
| REVIEW_CONTAINER.idFromName("repo:type")
v
ReviewContainer DO --> Cloudflare Container (this service)
| |
| forwards HTTP | Hono on port 3100
| | git clone, Claude agent
v v
Each unique repo:reviewType pair gets its own DO instance and container. The DO starts the container on first request and forwards HTTP to it. On review completion, the container POSTs results back to the ops API via callback.
Start a new review job.
{
"repo": "owner/repo/project",
"review_type": "security",
"git_tag": "v1.0.0",
"job_id": "report-uuid-from-ops-db",
"callback_url": "https://ops.groo.dev/v1/review/callback"
}
Returns 202 with the internal job ID.
Get job status and result.
SSE stream of job logs. Sends event: done when the job completes or fails.
Returns { "status": "ok" }.
| Variable | Description |
|---|---|
PORT | Server port (default: 3100) |
CLAUDE_CODE_OAUTH_TOKEN | OAuth token for Claude Agent SDK |
GITHUB_TOKEN | GitHub token for private repo cloning |
REVIEW_SERVICE_TOKEN | Token for authenticating callbacks to ops API |
# Build
docker build -t groodev/ops-review .
# Run locally
docker run -p 3100:3100 \
-e CLAUDE_CODE_OAUTH_TOKEN=... \
-e GITHUB_TOKEN=... \
groodev/ops-review
The image is published to Docker Hub on every push to main that changes review/.
npm install
npm run dev # starts with tsx watch
Content type
Image
Digest
sha256:103950029…
Size
269.6 MB
Last updated
7 months ago
docker pull groodev/ops-review