From zero to AI-driven development in under two minutes
You don’t review diffs. You check the proof.
Proof is a starter with a pipeline. Brief an issue; an agent builds it in isolation; every pull request ships with a proof: the real app, running on your own domain. Mark it up, merge, and it ships.
$ bunx create-proof my-appThis site is the template, deployed by its own pipeline. Or sign in and try it live.
The loop
- 01
Issue
You write what done means.
- 02
Isolation
An agent takes a worktree; stages and ports are hashed, so nothing clashes.
- 03
Proof
The pull request deploys the running app to your host. Automatically.
- 04
Markup
You test it and comment. The diff is for the compiler; the proof is for you.
- 05
Ship
Merge ships it. That is the whole pipeline.
Don’t take the loop on faith.
This page runs on the stack it sells: an Effect backend on D1 and R2, TanStack Start up front, passwordless auth with an emailed code. Sign in and build a note with an image.
The image you attach lives in a private bucket, and the link you get is signed for you alone: no public keys, no second endpoint, no re-validation. That is the view concept, and it is why the demo has images at all.
Sign in and try itBoring is a feature.
- Least-privilege CI
- The scaffold mints a CI token that can deploy previews and nothing else.
- Merge is production
- A readiness gate blocks the merge until every secret checks green.
- Bundled template
- Every release carries a tested snapshot; scaffolding never depends on this repo.
- Hashed ports
- Parallel projects and agents never fight over a port.
- Worktrees
- Every issue gets its own checkout, branch, and stage.
- Views
- One place authorizes; a pure function projects the row into a shape that arrives usable.
Every decision and its why: docs/faq.md.