Skip to content

Repository files navigation

Buildplan.ai

Turn a product idea into a production-ready architecture, a generated starter repo, and a live deploy — in one shot.

See ARCHITECTURE.md for the full design.

Layout

apps/web            Next.js 15 (App Router, RSC streaming, Clerk, Tailwind)
services/api        FastAPI + uv + Alembic + arq worker
packages/ui         Shared React components
packages/schemas    Shared Zod schemas (mirror of Pydantic in services/api)
infra/terraform     Neon · Upstash · R2 · Fly · Vercel
.github/workflows   CI + prod deploy pipeline

Quick start

# prereqs: pnpm 9, node 20, python 3.12, uv, terraform 1.9+
make install
cp .env.example .env
cp apps/web/.env.local.example apps/web/.env.local
cp services/api/.env.example services/api/.env
make dev

Web: http://localhost:3000 · API: http://localhost:8000/healthz

Deploy

make bootstrap   # terraform apply: infra
make migrate     # alembic upgrade head
git push origin main   # GitHub Actions handles deploy + smoke + rollback

Generation → deploy pipeline

Clicking Deploy on a finished generation fans out to three providers:

  • Neon — creates a preview branch, forwards DATABASE_URL onward
  • Fly.iocreateApp + flyctl deploy --remote-only against the generated services/api directory (Fly's remote builder does the image build, so no Docker-in-Docker)
  • Vercel — uploads each file under apps/web to /v2/files, then POST /v13/deployments, and polls until readyState is terminal

Missing provider tokens (FLY_API_TOKEN, VERCEL_API_TOKEN, NEON_API_KEY) cause that driver to fall back to a deterministic dry-run URL so local dev works without credentials. The pipeline fetches and extracts the R2 tarball once per run and hands the path to both drivers via DeployContext.extracted_path.

Rollback is just a redeploy of a prior generation: each plan has a history list at GET /v1/plans/{id}/generations, and deploying any non-latest generation tags the audit row with rollback: true, rollback_from_generation_id: <id> for forensics.

About

Buildplan.ai Turn a product idea into a production-ready architecture, a generated starter repo, and a live deploy — in one shot.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages