Getting Started
Get up and running with YeetCode.
Prerequisites
Installation
Clone the repository and install dependencies:
git clone https://github.com/lyemac/yeetcode.git
cd yeetcode
bun installBun handles all dependency management — never use npm, yarn, or pnpm.
Convex Setup
The Convex backend runs in the cloud — there's no local Convex server. Running convex dev connects you to a cloud deployment:
cd apps/convex
bun run devIf this is your first time, the CLI will walk you through selecting or creating a project in the Convex Dashboard. It generates .env.local automatically with your deployment credentials — you don't need to create this file manually.
After Convex is set up, configure these environment variables in the Convex Dashboard (Settings → Environment Variables):
| Variable | Description |
|---|---|
CLERK_WEBHOOK_SECRET | Signing secret from Clerk's webhook settings (Svix) |
CLERK_JWT_ISSUER_DOMAIN | Your Clerk JWT issuer domain |
See Environment Variables for the full list.
Development
Start all workspaces in parallel:
bun run devOr run individual workspaces:
# Convex backend (connects to cloud deployment, streams logs)
cd apps/convex && bun run dev
# Documentation site (port 3001)
cd apps/docs && bun run dev
# Email preview (port 3003)
cd packages/email && bun run devProject Structure
yeetcode/
├── packages/ # Shared libraries
│ └── email/ # @yeetcode/email — React Email templates
├── apps/ # React/Next.js applications
│ └── docs/ # Documentation site (Fumadocs)
├── apps/ # Backend services
│ └── convex/ # @yeetcode/convex-backend
├── tooling/ # Shared configs
│ └── typescript/ # @yeetcode/typescript (base, nextjs, react-library)
├── package.json # Root workspace config
├── turbo.json # Turborepo pipeline config
├── biome.json # Linting & formatting config
└── tsconfig.json # Root TypeScript configCommon Commands
bun run build # Build all packages (respects dependency graph)
bun run lint # Lint all packages + repo-level checks (sherif)
bun run format # Format everything with Biome
bun run typecheck # Type-check all packages
bun run clean # Remove all node_modules
bun run clean:workspaces # Clean workspace build artifacts