A modern full-stack TypeScript monorepo built with Turborepo + Convex + React + Vite + TanStack Router + shadcn/ui + Autumn Billing.
- Frontend: React 19 with TanStack Router, Vite, and shadcn/ui components
- Backend: Convex for real-time database and serverless functions
- Auth: Kinde Auth integration
- Styling: Tailwind CSS v4 with Radix UI primitives
- Billing: Autumn for payment management
- Build System: Turborepo with Bun package manager
- Type Safety: TypeScript throughout with strict configurations
This monorepo includes the following packages/apps:
web: React application with TanStack Router, Convex integration, and Kinde Authatmn: Autumn billing management CLI and utilitiesbackend: Convex backend with database schema, auth, and serverless functionstypescript-config: Shared TypeScript configurations for different environments
Each package/app is 100% TypeScript.
- Bun (recommended package manager and runtime)
- Convex account for backend services
- Autumn account for billing engine
To develop all apps and packages:
# Install dependencies
bun install
# Start all development servers
bun dev
# Or with turbo directly
turbo devYou can develop specific packages using filters:
# Web app only
turbo dev --filter=web
# Backend only
turbo dev --filter=backend
# Autumn billing CLI
turbo dev --filter=atmnTo build all apps and packages:
bun run build
# Or with turbo
turbo buildBuild specific packages:
turbo build --filter=web
turbo build --filter=backend# Type checking across monorepo
bun run check-types
# Linting
bun run lint
# Code formatting
bun run format- apps/web: Main React application with TanStack Router and Convex integration
- apps/atmn: Autumn billing management tools and CLI
- packages/backend: Convex backend with auth, database schema, and functions
- packages/typescript-config: Shared TypeScript configurations
This Turborepo has some additional tools already setup for you:
- TypeScript for static type checking
- ESLint for code linting
- Prettier for code formatting
- Turbo for build system and task runner
Tip
Vercel Remote Cache is free for all plans. Get started today at vercel.com.
Turborepo can use a technique known as Remote Caching to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.
By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can create one, then enter the following commands:
# Authenticate with Vercel
turbo login
# Link your repo to Remote Cache
turbo linkLearn more about the technologies used:
- Convex - Backend-as-a-Service with real-time database
- TanStack Router - Type-safe router for React
- Kinde Auth - Authentication and user management
- shadcn/ui - Re-usable components built with Radix UI and Tailwind CSS
- Autumn - Billing and payment management
- Bun - Fast all-in-one JavaScript runtime and package manager