Ship the PR Review Agent
Deploy the agent as a real GitHub App.
6 lessons 3 phases advanced
Get started
Signed in as your account.
why this workshop
who it's for.
Developers who finished W5 and want to ship the agent as a deployed, production GitHub App reviewing real PRs.
what you'll build
what you walk away with.
- 01 A GitHub App webhook receiver (src/server/webhook.ts) with signature verification and installation token exchange.
- 02 A Fly.io deployment config (fly.toml) that wires your own Anthropic API key and the GitHub App private key from secrets.
- 03 Structured JSON logging (src/server/logging.ts) with per-request latency, cost, and findings-count fields — no raw diffs — plus a /stats endpoint.
- 04 An eval suite (evals/) with fixture PRs and expected findings. CI gate at 80% pass-rate.
- 05 Rate-limit (src/server/rate-limit.ts) and cost-cap (src/server/cost-cap.ts) guards: default 10 reviews/hour, $25/month per installation.
- 06 A deployed GitHub App wired to a real repo, commenting on real PRs.
curriculum
6 lessons across 3 phases.
phase A · Webhook surface 2 lessons
- 01 GitHub App Boilerplate
- 02 Deploy
phase B · Production discipline 3 lessons
- 03 Observability
- 04 Eval Suite
- 05 Cost & Rate-Limit Discipline
phase C · Ship it 1 lessons
- 06 Wire to a Real Repo
prerequisites
what you need before you start.
- Completed W5 (or equivalent)
- The workshop dispatches to the agent pipeline (src/agent/: orchestrate() plus its workers, critic, hooks, and sessions), which ships with the workshop state. The artifacts you built in W5 — prompt-layout.ts, escalate.ts, src/cli/review-ui.ts, provenance fields — arrive via your own carried-forward src/. W6's verifies don't require those W5 artifacts, but the agent you deploy is better with them.
- Node.js 22+
- pnpm workspaces, tsx, TypeScript — same stack as W1–W5.
- A GitHub account with App creation permission
- L1–L5 are local; only L6 requires creating a real GitHub App. A personal GitHub account is enough.
- Fly.io account (optional until L2)
- L2 verify checks fly.toml only. Actual deploy is manual — you own the env and the cost.
- An Anthropic API key (only to deploy live)
- The workshop itself is keyless — Claude runs through the platform gateway. Only the optional L2 production deploy needs your own key, set via `fly secrets`, for your always-on deployed app.
start
how to start.
Once Claude Code is set up, tell it “start the capstone workshop” and it clones the project and queues the first lesson.
New here? The
getting-started guide
walks you through installing the lwc CLI and the Claude Code
plugin once — everything you need before that line works.
the series