-[Chef](https://chef.convex.dev) is the only AI app builder that knows backend. It builds full-stack web apps with a built-in database, zero config auth, file uploads,
-real-time UIs, and background workflows. If you want to check out the secret sauce that powers Chef, you can view or download the system prompt [here](https://github.com/get-convex/chef/releases/latest).
+
+ The only AI app builder that truly knows backend development
+
+
+---
+
+## ๐ What is Chef?
+
+[Chef](https://chef.convex.dev) is a revolutionary AI-powered application builder that creates **complete full-stack web applications** with:
+
+- ๐๏ธ **Built-in Database** - Powered by Convex reactive database
+- ๐ **Zero-Config Authentication** - User management out of the box
+- ๐ **File Upload System** - Handle media and documents seamlessly
+- โก **Real-time UIs** - Live updates across all connected clients
+- ๐ **Background Workflows** - Automated tasks and processes
+- ๐ค **AI Code Generation** - Smart, context-aware code creation
+
+### ๐ฏ Why Chef is Different
+
+Unlike other AI code generators that only create frontend mockups, Chef understands and builds **complete backend systems**. It leverages [Convex](https://convex.dev)'s powerful APIs to create production-ready applications with real databases, authentication, and server-side logic.
+
+---
+
+## โจ Features
+
+### ๐จ **Frontend Capabilities**
+- **React/TypeScript** - Modern, type-safe frontend development
+- **Responsive Design** - Mobile-first, adaptive layouts
+- **Component Library** - Reusable UI components with Tailwind CSS
+- **Real-time Updates** - Live data synchronization
+- **File Management** - Drag-and-drop file uploads
+
+### ๐ง **Backend Power**
+- **Convex Database** - Reactive, real-time database
+- **Authentication** - Secure user management with OAuth
+- **API Functions** - Serverless backend functions
+- **File Storage** - Secure file upload and management
+- **Background Jobs** - Scheduled tasks and workflows
+
+### ๐ค **AI Integration**
+- **Multi-Provider Support** - OpenAI, Anthropic, Google, xAI
+- **Context-Aware Generation** - Understands your entire codebase
+- **Incremental Development** - Build and iterate on existing projects
+- **Smart Debugging** - AI-powered error detection and fixes
-Chef's capabilities are enabled by being built on top of [Convex](https://convex.dev), the open-source reactive database designed to make life easy for web app developers. The "magic" in Chef is just the fact that it's using Convex's APIs, which are an ideal fit for codegen.
+---
-Development of the Chef is led by the Convex team. We
-[welcome bug fixes](./CONTRIBUTING.md) and
-[love receiving feedback](https://discord.gg/convex).
+## ๐ New Features (Latest Update)
-This project is a fork of the `stable` branch of [bolt.diy](https://github.com/stackblitz-labs/bolt.diy).
+This fork includes three major enhancements:
-## Getting Started
+### 1. ๐ **Enhanced API Key Management**
+- **Visual Interface** - Manage all API keys through a clean UI
+- **Multiple Providers** - Support for Anthropic, Google, OpenAI, and xAI
+- **Secure Storage** - Encrypted key storage in Convex database
+- **Validation** - Real-time API key validation
+- **No Environment Setup** - Add keys directly through settings page
-Visit our [documentation](https://docs.convex.dev/chef) to learn more about Chef and check out our prompting [guide](https://stack.convex.dev/chef-cookbook-tips-working-with-ai-app-builders).
+### 2. ๐ **GitHub Integration**
+- **OAuth Authentication** - Secure GitHub account connection
+- **Repository Browser** - View and select existing repositories
+- **Project Import** - Continue work on existing GitHub projects
+- **Seamless Workflow** - Import, modify, and deploy GitHub repos
-The easiest way to build with Chef is through our hosted [webapp](https://chef.convex.dev), which includes a generous free tier. If you want to
-run Chef locally, you can follow the guide below.
+### 3. ๐ **Unified Architecture**
+- **Single URL Access** - Frontend and backend served from one endpoint
+- **Simplified Deployment** - No separate backend deployment needed
+- **Development Efficiency** - Streamlined local development setup
-### Running Locally
+---
-Note: This will use the hosted Convex control plane to provision Convex projects. However, Chef tokens used in this enviroment will not count towards usage in your Convex account.
+## ๐ Quick Start
-**1. Clone the project**
+### Prerequisites
+- **Node.js 20+** - [Download here](https://nodejs.org/)
+- **pnpm** - Fast, disk space efficient package manager
+- **Git** - Version control
-Clone the GitHub respository and `cd` into the directory by running the following commands:
+### 1-Minute Setup
```bash
-git clone https://github.com/get-convex/chef.git
+# Clone the repository
+git clone https://github.com/somdipto/chef.git
cd chef
+
+# Install dependencies
+npm install -g pnpm
+pnpm install
+
+# Set up environment
+echo 'VITE_CONVEX_URL=placeholder' > .env.local
+
+# Start development
+pnpm dev
```
-**2. Set up local environment**
+๐ **That's it!** Chef will start without requiring any API keys upfront. Add them through the UI at `http://127.0.0.1:5173/settings`.
+
+---
-Run the following commands in your terminal:
+## ๐ Detailed Setup
+
+### Step 1: Environment Setup
```bash
+# Install Node Version Manager (if not installed)
+curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
+
+# Use the correct Node version
nvm install
nvm use
+
+# Install pnpm globally
npm install -g pnpm
-pnpm i
-echo 'VITE_CONVEX_URL=placeholder' >> .env.local
-npx convex dev --once # follow the steps to create a Convex project in your team
-```
-Note: `nvm` only works on Mac and Linux. If you are using Windows, you may have to find an alternative.
+# Install project dependencies
+pnpm install
+```
-**3. Set up Chef OAuth application**
+### Step 2: Convex Database Setup
-Go to the Convex [dashboard](https://dashboard.convex.dev/team/settings/applications/oauth-apps) and create an OAuth application. The team you use to create the application will be the only team you can sign-in with on local Chef. Redirect URIs will not matter, but you can set one to http://127.0.0.1:5173 (or whatever port youโll run the Chef UI on) so that the form can be submitted.
+```bash
+# Initialize Convex (follow interactive prompts)
+npx convex dev --once
+
+# This will:
+# 1. Create a Convex account (or login)
+# 2. Set up a new project
+# 3. Generate your CONVEX_URL
+# 4. Update .env.local automatically
+```
-**4. Set up Convex deployment**
+### Step 3: Configure Environment Variables
-Use `npx convex dashboard` to open the Convex [dashboard](https://dashboard.convex.dev) and go to Settings โ Environment Variables. Then, set the following environment variables:
+Create or update `.env.local`:
```env
-BIG_BRAIN_HOST=https://api.convex.dev
-CONVEX_OAUTH_CLIENT_ID=
-CONVEX_OAUTH_CLIENT_SECRET=
-WORKOS_CLIENT_ID=
+# Convex (auto-generated by convex dev)
+VITE_CONVEX_URL=https://your-deployment.convex.cloud
+
+# GitHub Integration (optional)
+GITHUB_CLIENT_ID=your_github_oauth_app_id
+GITHUB_CLIENT_SECRET=your_github_oauth_app_secret
+VITE_APP_URL=http://127.0.0.1:5173
+
+# API Keys (optional - can be added via UI)
+ANTHROPIC_API_KEY=your_anthropic_key
+GOOGLE_API_KEY=your_google_key
+OPENAI_API_KEY=your_openai_key
+XAI_API_KEY=your_xai_key
```
-**5. Add API keys for model providers**
+### Step 4: GitHub Integration Setup (Optional)
-Add any of the following API keys in your `.env.local` to enable code generation:
+1. **Create GitHub OAuth App**:
+ - Go to GitHub Settings โ Developer settings โ OAuth Apps
+ - Click "New OAuth App"
+ - **Application name**: `Chef Local Development`
+ - **Homepage URL**: `http://127.0.0.1:5173`
+ - **Authorization callback URL**: `http://127.0.0.1:5173/settings`
-```env
-ANTHROPIC_API_KEY=
-GOOGLE_API_KEY=
-OPENAI_API_KEY=
-XAI_API_KEY=
+2. **Add credentials to `.env.local`**:
+ ```env
+ GITHUB_CLIENT_ID=your_client_id_here
+ GITHUB_CLIENT_SECRET=your_client_secret_here
+ ```
+
+### Step 5: Start Development
+
+```bash
+# Terminal 1: Start Convex backend
+npx convex dev
+
+# Terminal 2: Start frontend (in new terminal)
+pnpm dev
+```
+
+๐ **Access your app**: http://127.0.0.1:5173
+
+---
+
+## ๐๏ธ Architecture
+
+### Frontend Stack
+```
+React 18 + TypeScript
+โโโ Remix (Full-stack framework)
+โโโ Tailwind CSS (Styling)
+โโโ Radix UI (Component primitives)
+โโโ Convex React (Real-time data)
+โโโ AI SDK (LLM integration)
+```
+
+### Backend Stack
+```
+Convex Platform
+โโโ Reactive Database
+โโโ Authentication (OAuth)
+โโโ File Storage
+โโโ Serverless Functions
+โโโ Real-time Subscriptions
+```
+
+### AI Integration
+```
+Multi-Provider Support
+โโโ OpenAI (GPT-4, GPT-3.5)
+โโโ Anthropic (Claude 3.5 Sonnet)
+โโโ Google (Gemini Pro)
+โโโ xAI (Grok)
+```
+
+---
+
+## ๐ Project Structure
+
+```
+chef/
+โโโ ๐ app/ # Frontend application
+โ โโโ ๐ components/ # React components
+โ โ โโโ ๐ settings/ # Settings page components
+โ โ โ โโโ ApiKeyCard.tsx # API key management
+โ โ โ โโโ GitHubCard.tsx # GitHub integration
+โ โ โโโ ๐ ui/ # Reusable UI components
+โ โโโ ๐ lib/ # Client-side utilities
+โ โโโ ๐ routes/ # Remix routes
+โ โ โโโ settings.tsx # Settings page
+โ โ โโโ api.github.oauth.ts # GitHub OAuth handler
+โ โโโ ๐ styles/ # CSS and styling
+โ
+โโโ ๐ convex/ # Backend functions & schema
+โ โโโ schema.ts # Database schema
+โ โโโ apiKeys.ts # API key management
+โ โโโ github.ts # GitHub integration
+โ โโโ messages.ts # Chat functionality
+โ โโโ auth.config.ts # Authentication config
+โ
+โโโ ๐ chef-agent/ # AI agent logic
+โ โโโ ๐ prompts/ # System prompts
+โ โโโ ๐ tools/ # AI tools and functions
+โ
+โโโ ๐ template/ # Project templates
+โโโ ๐ public/ # Static assets
+โโโ ๐ SETUP_FEATURES.md # Feature setup guide
+```
+
+---
+
+## ๐ฎ Usage Guide
+
+### Adding API Keys
+
+1. **Navigate to Settings**: http://127.0.0.1:5173/settings
+2. **Choose Provider**: Click "Add [Provider] API Key"
+3. **Enter Key**: Paste your API key
+4. **Validate**: Chef automatically validates the key
+5. **Save**: Keys are encrypted and stored securely
+
+### GitHub Integration
+
+1. **Connect Account**: Click "Connect GitHub" in settings
+2. **Authorize**: Complete OAuth flow
+3. **Browse Repos**: View your repositories
+4. **Import Project**: Select a repo to continue working on it
+
+### Creating Applications
+
+1. **Start Chat**: Begin describing your application
+2. **Iterate**: Refine requirements through conversation
+3. **Deploy**: Chef generates complete full-stack code
+4. **Customize**: Continue development with AI assistance
+
+---
+
+## ๐ง Configuration Options
+
+### API Key Preferences
+
+```typescript
+// Set in UI: Settings โ API Keys
+{
+ preference: "always" | "quotaExhausted", // When to use your keys
+ anthropic: "sk-ant-...", // Claude models
+ openai: "sk-...", // GPT models
+ google: "AIza...", // Gemini models
+ xai: "xai-..." // Grok models
+}
+```
+
+### GitHub Integration
+
+```typescript
+// Stored securely in Convex
+{
+ accessToken: "ghp_...", // GitHub access token
+ username: "your-username", // GitHub username
+ avatarUrl: "https://..." // Profile picture
+}
```
-Note: You can also add your own API keys through the Chef settings page.
+---
-**6. Run Chef backend and frontend**
+## ๐ Deployment
-Run the following commands in your terminal:
+### Vercel Deployment
```bash
-pnpm run dev
+# Install Vercel CLI
+npm i -g vercel
-## in another terminal
-npx convex dev
+# Deploy
+vercel
+
+# Set environment variables in Vercel dashboard
+# - VITE_CONVEX_URL
+# - GITHUB_CLIENT_ID
+# - GITHUB_CLIENT_SECRET
+# - API keys (optional)
+```
+
+### Netlify Deployment
+
+```bash
+# Build for production
+pnpm build
+
+# Deploy build/ directory to Netlify
+# Configure environment variables in Netlify dashboard
+```
+
+### Docker Deployment
+
+```dockerfile
+FROM node:20-alpine
+WORKDIR /app
+COPY package*.json ./
+RUN npm install -g pnpm && pnpm install
+COPY . .
+RUN pnpm build
+EXPOSE 3000
+CMD ["pnpm", "start"]
+```
+
+---
+
+## ๐งช Development
+
+### Running Tests
+
+```bash
+# Run all tests
+pnpm test
+
+# Run tests in watch mode
+pnpm test:watch
+
+# Run specific test file
+pnpm test messages.test.ts
```
-Congratulations, you now have Chef running locally! You can log in to Chef with your existing Convex account.
+### Linting & Formatting
-Note: Chef is accessible at http://127.0.0.1:{port}/ and will not work properly on http://localhost:{port}/.
+```bash
+# Lint code
+pnpm lint
-## Repository Layout
+# Fix linting issues
+pnpm lint:fix
-- `app/` contains all of the client side code and some serverless APIs.
+# Format code
+prettier --write .
+```
- - `components/` defines the UI components
- - `lib/` contains client-side logic for syncing local state with the server
- - `routes/` defines some client and server routes
+### Database Migrations
-- `chef-agent/` handles the agentic loop by injecting system prompts, defining tools, and calling out to model providers.
+```bash
+# Create migration
+npx convex migration new add_github_integration
-- `chefshot/` defines a CLI interface for interacting with the Chef webapp.
+# Run migrations
+npx convex migration run
+```
-- `convex/` contains the database that stores chats and user metadata.
+---
-- `template/` contains the template that we use to start all Chef projects.
+## ๐ Troubleshooting
+
+### Common Issues
+
+**Port 5173 already in use**
+```bash
+# Kill existing process
+lsof -ti:5173 | xargs kill -9
+pnpm dev
+```
+
+**Convex authentication errors**
+```bash
+# Re-authenticate
+npx convex auth
+npx convex dev --once
+```
+
+**API key validation fails**
+- Check key format and permissions
+- Ensure sufficient credits/quota
+- Verify network connectivity
+
+**GitHub OAuth not working**
+- Verify callback URL matches exactly
+- Check client ID and secret
+- Ensure OAuth app is active
+
+### Debug Mode
+
+```bash
+# Enable debug logging
+DEBUG=chef:* pnpm dev
-- `test-kitchen/` contains a test harness for the Chef agent loop.
+# Convex debug mode
+npx convex dev --debug
+```
+
+---
+
+## ๐ค Contributing
+
+We welcome contributions! Here's how to get started:
+
+### Development Setup
+
+```bash
+# Fork and clone the repository
+git clone https://github.com/your-username/chef.git
+cd chef
+
+# Create feature branch
+git checkout -b feature/amazing-feature
+
+# Make changes and test
+pnpm dev
+pnpm test
+
+# Commit and push
+git commit -m "Add amazing feature"
+git push origin feature/amazing-feature
+
+# Create Pull Request
+```
+
+### Contribution Guidelines
+
+- **Code Style**: Follow existing patterns and use Prettier
+- **Testing**: Add tests for new features
+- **Documentation**: Update README and inline docs
+- **Commits**: Use conventional commit messages
+- **Issues**: Check existing issues before creating new ones
+
+### Areas for Contribution
+
+- ๐ **Bug Fixes** - Help improve stability
+- โจ **New Features** - Add AI providers, integrations
+- ๐ **Documentation** - Improve guides and examples
+- ๐งช **Testing** - Increase test coverage
+- ๐จ **UI/UX** - Enhance user experience
+
+---
+
+## ๐ License
+
+This project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.
+
+---
+
+## ๐ Acknowledgments
+
+- **Convex Team** - For the amazing reactive database platform
+- **Bolt.diy** - Original inspiration and foundation
+- **AI Providers** - OpenAI, Anthropic, Google, xAI for powerful models
+- **Open Source Community** - For continuous improvements and feedback
+
+---
+
+## ๐ Support & Community
+
+- ๐ **Bug Reports**: [GitHub Issues](https://github.com/somdipto/chef/issues)
+- ๐ฌ **Discussions**: [GitHub Discussions](https://github.com/somdipto/chef/discussions)
+- ๐ง **Email**: [Contact maintainer](mailto:your-email@example.com)
+- ๐ฆ **Twitter**: [@your-handle](https://twitter.com/your-handle)
+
+---
+
+
+ Built with โค๏ธ by developers, for developers
+
- You can use your own API keys to cook with Chef.
+ You can use your own API keys to cook with Chef. Supported providers: Anthropic, Google, OpenAI, and xAI.