- Node.js 18+
- pnpm 8+
- Clone the repository
- Install dependencies:
pnpm install
- Set up environment variables:
Create a
.env.local
&.env
file in the root directory with:
# .env.local
CONVEX_DEPLOYMENT=your-deployment-id
CONVEX_URL=your-convex-url
npx convex env set SITE_URL <your-app-url>
npx convex env set AUTH_GOOGLE_SECRET <your-google-secret>
npx convex env set AUTH_GOOGLE_ID <your-google-client-id>
npx convex env set OPENROUTER_API_KEY <your-openrouter-api-key>
- Start the development server:
pnpm dev
The application will be available at http://localhost:3000
src/
- Source codecomponents/
- React componentsroutes/
- TanStack Router routeslib/
- Utility functions
convex/
- Convex backend functions and schema
- TanStack Start - Framework
- TanStack Router - Routing
- TanStack Query - Data fetching
- Convex - Backend
- Convex Auth - Authentication
- React - UI library
- Tailwind CSS - Styling
- Lucide - Icons
- Shadcn UI - UI components
- Prompt kit - Chat UI
- OpenRouter - AI API
- Vercel AI SDK - AI SDK