This site — a static React/Vite SPA, built in an agent-first loop with Claude Code.
A static SPA (no backend) served from S3 + CloudFront and provisioned with Terraform. Delivery is plan-first, with blocking CI gates and deploy on merge. The repo is the source of truth.
What you take awaywhere to start reading the repo, and what to reuse: the ADRs record the load-bearing decisions, from plan-first to deploy — with the trade-off each one cost.
ReactViteTypeScriptTerraformGitHub ActionsClaude Code
The harness that builds this site — review personas, permission hooks, and a merge gate wired into the tool, not the prompt.
An agent produces plausible work fast; the bottleneck becomes trusting it. Here the verification is mechanical and the human keeps what is theirs: a reviewer judges the MR in a fresh context, and a hook refuses irreversible actions before the command runs, leaving them to you.
What you take awaywhat you can install into your own repo today, and what is a reference pattern — the README publishes how to tell them apart rather than leaving you to find out per file.
Claude CodeBashGitHub Actions