Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,17 @@ This project is a fork of the `stable` branch of [bolt.diy](https://github.com/s

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).

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.
The easiest way to build with Chef is through our hosted [webapp](https://chef.convex.dev), which includes a generous free tier.

### One-Click Deploy

You can deploy your own instance of Chef to Vercel with one click:

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fget-convex%2Fchef&env=VITE_CONVEX_URL,VITE_WORKOS_CLIENT_ID,VITE_WORKOS_API_HOSTNAME,VITE_WORKOS_REDIRECT_URI,ANTHROPIC_API_KEY,OPENAI_API_KEY,GOOGLE_API_KEY,XAI_API_KEY&project-name=chef&repository-name=chef)

**Note:** You will need to set up a [Convex](https://convex.dev) project and a [WorkOS](https://workos.com) project to get the required environment variables (`VITE_CONVEX_URL`, `VITE_WORKOS_CLIENT_ID`, etc.).

If you want to run Chef locally, you can follow the guide below.

> [!IMPORTANT]
> Chef is provided as-is, using an authentication configuration specific to Convex's internal control plane that manages user accounts.
Expand Down
16 changes: 14 additions & 2 deletions depscheck.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,17 @@

import { existsSync } from 'fs';
import process from 'process';
import * as dotenv from 'dotenv';

// Try to import dotenv, and print a friendly error if it fails
let dotenv;
try {
dotenv = await import('dotenv');
} catch (e) {
console.error('\x1b[31m❌ Dependencies are not installed.\x1b[0m');
console.error('Cannot find package "dotenv".');
console.error('Please run \x1b[1mpnpm install\x1b[0m to install dependencies.');
process.exit(1);
}

// Load environment variables from .env.local if it exists
if (existsSync('.env.local')) {
Expand All @@ -14,7 +24,9 @@ if (existsSync('.env.local')) {
}

function checkNodeVersion() {
const version = process.version.match(/^v(\d+)/)[1];
const match = process.version.match(/^v(\d+)/);
if (!match) return; // Should not happen
const version = match[1];
if (parseInt(version) < 20) {
console.error('\x1b[31m❌ Node.js 20 or greater is required. Current version:', process.version, '\x1b[0m');
console.error("Run `nvm use`, and if that doesn't work run `nvm install; nvm use`.");
Expand Down
5 changes: 5 additions & 0 deletions vercel.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"framework": "remix",
"buildCommand": "npm run build",
"installCommand": "pnpm install"
}