proof

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-app

This site is the template, deployed by its own pipeline. Or sign in and try it live.

The loop

  1. 01

    Issue

    You write what done means.

  2. 02

    Isolation

    An agent takes a worktree; stages and ports are hashed, so nothing clashes.

  3. 03

    Proof

    The pull request deploys the running app to your host. Automatically.

  4. 04

    Markup

    You test it and comment. The diff is for the compiler; the proof is for you.

  5. 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 it

Boring 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.