Manual Monorepo Setup
How to fork, clone, and run the Expo + Next.js + Convex monorepo without the CLI.
This guide is for people who want to explore the repo manually or customize it without the CLI.
1. Fork then clone
- Fork the public
vibefastrepository on GitHub so you control your own repo and branches. - Clone your fork:
git clone https://github.com/<your-username>/vibefast.git
cd vibefast- (Optional) Keep the upstream remote so you can pull updates:
git remote add upstream https://github.com/vibefast/vibefast.git2. Install dependencies
pnpm installThe repo uses pnpm and Turborepo to coordinate the native, web, and backend packages.
3. Configure secrets and environment variables
Copy the backend example file and edit it with your keys:
cp packages/backend/.env.example .env.localFill in the required values (Convex deployment info, OpenAI/Gemini keys, Tavily, ElevenLabs, RevenueCat, PostHog, Sentry, URLs, and Convex auth settings). The CLI will rename and validate the .env.* files automatically when you run the starter script.
You also need the native app env files (apps/native/.env.local, .env.staging, etc.). The pnpm native:setup:starter script attempts to rename existing .env.*.example files and will warn you if anything is missing. Once the files exist, open each one and point them at the same Convex URLs and support links that you set in the backend .env.local.
If you want Convex to read these secrets (required for the chatbot, AI tools, and auth), run:
pnpm native:setup:convexThis executes npx convex env set for each key in .env.local (except CONVEX_SITE_URL).
4. Starter scripts
Run this once after cloning to rename env files, install the required global tools, and trigger the first Convex bootstrap:
pnpm native:setup:starterIt will:
- Rename
.env.local.examplefiles if needed. - Install dependencies (runs
pnpm installfrom the monorepo root). - Run
npx convex dev --onceso Convex creates a new deployment locally. - Attempt to fix Expo/EAS dependencies.
5. Run the servers
| Target | Command | Notes |
|---|---|---|
| Convex backend | pnpm dev:server | Runs turbo -F @vibefast/backend dev → convex dev. No production deploy required for local development. |
| Native app | pnpm dev:native | Starts Expo Router for iOS/Android. Use Expo Dev Client or custom dev build (not Expo Go). |
| Web | pnpm dev:web | Starts Next.js in dev mode. Good for SaaS dashboards, admin panels, marketing, or docs. |
| Full workspace | pnpm dev | Runs everything through Turborepo (Convex + native + web). |
You can run the backend and frontend processes in parallel (e.g., run pnpm dev:server in one terminal and pnpm dev:native in another).
6. Keep the CLI option open
Even after a manual setup, you can still use the CLI by logging in with your license key and running vf add <feature> or vf remove <feature>. That lets you add chatbot, payments, AI image tools, tracker-app, and voice/voice-bot flows without manually editing the repo.
vf login --token YOUR_LICENSE_KEY
vf add chatbot
vf remove tracker-appFound an issue or bug in the docs?
Help me improve! If you spot any errors, typos, or have suggestions, please let me know.
Reach out on X/Twitter @zafarbuildzz