How the tools connect — and how this repo is itself built by agents.
The dev loop is a circuit: a PR opens, CI checks, merge deploys exactly what changed, Alchemy keeps the substrate honest, every model call goes through the Gateway, every prompt and trace lands in Langfuse, and the coding agents that wrote most of this reach those systems through MCP — with the founder reviewing strategy and merging. The same shape the product runs on.
The circuit.
The loop, in words.
1 · Branch → PR → green → squash-merge
Conventional commits; small single-purpose PRs; CI = typecheck every workspace, unit tests, a secret-scan that fails the build if any secret-bearing file is tracked, JSON validation. main is protected by convention (free plan) and by a prepared ruleset.
2 · Deploy exactly what changed
Path-scoped workflows: deploy-console, deploy-<agent>, deploy-showcase… each runs migrations before code, deploys with wrangler, and smoke-checks the result (the console's checks every JS chunk; this site's checks every referenced asset).
3 · Infra as code, account-pinned
Alchemy provisions D1 · KV · R2 · Queues · Vectorize · AI Gateway · Secrets Store per environment, hard-pinned to the canonical account and stage (a near-miss taught us). Bindings are declared per env — never inherited.
4 · One gateway, one observability stream
Every model call → AI Gateway (BYOK per provider, per-env tokens); every prompt → Langfuse by name@label; every run → events the console can show. A model swap is a KV edit; a prompt change is a new version with a label, never auto-promoted to production.
5 · Agents build it, the founder steers
AGENTS.md is the front door for coding agents (repo map, stack, conventions, the MCP servers to prefer). Claude Code opened most PRs on this repo; the founder reviews strategy, design decisions and merges. Memory notes carry gotchas between sessions.
6 · Runs without the cloud
docker compose brings up console-api + console + the agents with mock identity; a native llama.cpp serves a local LLM; the Lab works Vectorize-free (raw-embedding copy in D1). Cloud providers are reachable locally through the Gateway (pause WARP first — a real gotcha).
Go deeper
In the repo
- .github/workflows/*.yml
- infra/alchemy.run.ts
- docker-compose.yml
- AGENTS.md · CLAUDE.md (the agent front door)
- .mcp.json (gitignored — tokens inline)