Prerequisites
Before you begin, ensure you have the following installed:Install Bun
Teak uses Bun as its package manager and runtime. Install Bun 1.3.5 or later:Verify installation:
Teak is configured to use
[email protected] as defined in package.json. The exact version will be enforced by the packageManager field.Install Node.js
While Teak uses Bun, some dependencies require Node.js. Install Node.js 18 or later:
- Download from nodejs.org
- Or use a version manager like nvm or fnm
Install Git
Version control is managed with Git:
- Download from git-scm.com
- Or install via package manager (Homebrew, apt, etc.)
Clone and Install
Install dependencies
Install all workspace dependencies using Bun:This installs dependencies for all apps and packages in the monorepo, including:
- Web app (Next.js)
- Mobile app (Expo)
- Desktop app (Tauri)
- Browser extension (Wxt)
- Convex backend
- Documentation site
The
prepare script will automatically run simple-git-hooks to set up pre-commit hooks.Development Servers
Teak provides multiple development commands for different apps and services:Primary Development
dev command starts:
- Next.js web app at
http://localhost:3000 - Convex backend with hot reloading
Individual Services
- Web
- Mobile
- Desktop
- Extension
- Convex Only
- Docs
- Web:
http://localhost:3000 - Uses
turbo watchfor hot reloading - Automatically rebuilds on file changes
Building for Production
- Runs Turborepo build pipeline
- Builds dependencies in order (
^build) - Outputs to app-specific directories:
- Web:
.next/ - Extension:
dist/ - Desktop:
.output/
- Web:
Code Quality
Linting and Type Checking
Testing
Pre-commit Hooks
The repository usessimple-git-hooks to run checks before commits:
- Type checking
- Linting
- Builds (only for affected packages)
Pre-commit hooks are automatically installed when you run
bun install via the prepare script.Workspace Management
Add dependencies to specific workspaces:Troubleshooting
Clear Cache
If you encounter issues, try clearing the Turbo cache:- Stops the Turbo daemon
- Clears
node_modules/.cache - Removes all
.turbodirectories
Reinstall Dependencies
Convex Issues
If Convex functions aren’t deploying:- Check your deployment URL in
.env - Verify you’re authenticated:
bunx convex dev - Check Convex dashboard for errors
- Restart the dev server
Next Steps
Monorepo Structure
Learn about the Turborepo workspace structure
Convex Backend
Set up and develop with the Convex backend