An opinionated TypeScript monorepo template: typesafe APIs, one-command local dev, CI, and deploys. Production-ready from the first commit.
Fastify + tRPC, end-to-end typed. Supabase JWKS auth, rate limiting, CORS, two-tier cache, health checks, graceful shutdown.
A Next.js 16 web app with standalone Docker output, a Nextra docs site, and this landing page on TanStack Start + Vite. Keep what fits, delete the rest.
@cradle/auth · cache · db · telemetry · common, consumed as raw .ts source. Nothing to compile in the inner loop.
Declarative Varlock .env.schema per app, validated before boot with generated types. Bad config never reaches runtime.
tilt up brings up Postgres, Redis, Meilisearch, and every app. The whole dependency graph, locally.
GitHub Actions → GHCR → Dokploy with Sentry sourcemaps and a /ready health gate. Renovate keeps dependencies fresh.
Meilisearch, the Rust-built OSS engine, ships as a first-class service: typo-tolerant, sub-50ms full-text search over denormalized indexes, kept in sync straight from Postgres CDC. Tenant tokens enforce visibility server-side, so public search only ever sees published content.
Types flow from the router to the client with no codegen. Environment variables are schema-declared and validated before the process starts. Bad config fails the boot, not the user.
Create your repo from austinbiggs/cradle on GitHub, then clone it.
api, web, or both. Each lands in apps/ ready to run.
Retarget the whole workspace's package namespace in one command.
Postgres, Redis, and every app. The full local stack in one command.