<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Chef on Producthunt daily</title>
        <link>https://producthunt.programnotes.cn/en/tags/chef/</link>
        <description>Recent content in Chef on Producthunt daily</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Sun, 02 Nov 2025 15:26:39 +0800</lastBuildDate><atom:link href="https://producthunt.programnotes.cn/en/tags/chef/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>chef</title>
        <link>https://producthunt.programnotes.cn/en/p/chef/</link>
        <pubDate>Sun, 02 Nov 2025 15:26:39 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/chef/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1593185161464-7a4ab97a58b7?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3NjIwNjgzODR8&amp;ixlib=rb-4.1.0" alt="Featured image of post chef" /&gt;&lt;h1 id=&#34;get-convexchef&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/get-convex/chef&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;get-convex/chef&lt;/a&gt;
&lt;/h1&gt;&lt;p align=&#34;center&#34;&gt;
  &lt;picture&gt;
    &lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;https://chef.convex.dev/github-header-dark.svg&#34;&gt;
    &lt;img alt=&#34;Chef by Convex&#39;&#34; src=&#34;https://chef.convex.dev/github-header-light.svg&#34; width=&#34;600&#34;&gt;
  &lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://chef.convex.dev&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Chef&lt;/a&gt; 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 &lt;a class=&#34;link&#34; href=&#34;https://github.com/get-convex/chef/releases/latest&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Chef&amp;rsquo;s capabilities are enabled by being built on top of &lt;a class=&#34;link&#34; href=&#34;https://convex.dev&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Convex&lt;/a&gt;, the open-source reactive database designed to make life easy for web app developers. The &amp;ldquo;magic&amp;rdquo; in Chef is just the fact that it&amp;rsquo;s using Convex&amp;rsquo;s APIs, which are an ideal fit for codegen.&lt;/p&gt;
&lt;p&gt;Development of the Chef is led by the Convex team. We
&lt;a class=&#34;link&#34; href=&#34;./CONTRIBUTING.md&#34; &gt;welcome bug fixes&lt;/a&gt; and
&lt;a class=&#34;link&#34; href=&#34;https://discord.gg/convex&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;love receiving feedback&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This project is a fork of the &lt;code&gt;stable&lt;/code&gt; branch of &lt;a class=&#34;link&#34; href=&#34;https://github.com/stackblitz-labs/bolt.diy&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;bolt.diy&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;getting-started&#34;&gt;Getting Started
&lt;/h2&gt;&lt;p&gt;Visit our &lt;a class=&#34;link&#34; href=&#34;https://docs.convex.dev/chef&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;documentation&lt;/a&gt; to learn more about Chef and check out our prompting &lt;a class=&#34;link&#34; href=&#34;https://stack.convex.dev/chef-cookbook-tips-working-with-ai-app-builders&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;guide&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The easiest way to build with Chef is through our hosted &lt;a class=&#34;link&#34; href=&#34;https://chef.convex.dev&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;webapp&lt;/a&gt;, which includes a generous free tier. If you want to
run Chef locally, you can follow the guide below.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[!IMPORTANT]
Chef is provided as-is, using an authentication configuration specific to Convex&amp;rsquo;s internal control plane that manages user accounts.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;If you are planning on developing a fork of Chef for production use or re-distribution, your fork will need to replace the existing authentication system with your own. We recommend using the &lt;a class=&#34;link&#34; href=&#34;https://docs.convex.dev/platform-apis/oauth-applications#implementing-oauth&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;OAuth Authorization Code Grant&lt;/a&gt; flow to authorize access to Convex teams or projects. &lt;a class=&#34;link&#34; href=&#34;https://docs.convex.dev/platform-apis&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Read more about available Platform APIs&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Chef is easy to use for local development without changes. Read on for instructions for using Chef locally.&lt;/p&gt;
&lt;h3 id=&#34;running-locally&#34;&gt;Running Locally
&lt;/h3&gt;&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. Clone the project&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Clone the GitHub respository and &lt;code&gt;cd&lt;/code&gt; into the directory by running the following commands:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/get-convex/chef.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; chef
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;2. Set up local environment&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Run the following commands in your terminal:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nvm install
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nvm use
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install -g pnpm
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pnpm i
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;VITE_CONVEX_URL=placeholder&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; .env.local
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx convex dev --once &lt;span class=&#34;c1&#34;&gt;# follow the steps to create a Convex project in your team&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Note: &lt;code&gt;nvm&lt;/code&gt; only works on Mac and Linux. If you are using Windows, you may have to find an alternative.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Set up Chef OAuth application&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Go to the Convex &lt;a class=&#34;link&#34; href=&#34;https://dashboard.convex.dev/team/settings/applications/oauth-apps&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;dashboard&lt;/a&gt; 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.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4. Set up Convex deployment&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Use &lt;code&gt;npx convex dashboard&lt;/code&gt; to open the Convex &lt;a class=&#34;link&#34; href=&#34;https://dashboard.convex.dev&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;dashboard&lt;/a&gt; and go to Settings → Environment Variables. Then, set the following environment variables:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-env&#34; data-lang=&#34;env&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;BIG_BRAIN_HOST&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;https://api.convex.dev
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;CONVEX_OAUTH_CLIENT_ID&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&amp;lt;value from oauth setup&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;CONVEX_OAUTH_CLIENT_SECRET&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&amp;lt;value from oauth setup&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;WORKOS_CLIENT_ID&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&amp;lt;value from .env.development&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;5. Add API keys for model providers&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Add any of the following API keys in your &lt;code&gt;.env.local&lt;/code&gt; to enable code generation:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-env&#34; data-lang=&#34;env&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;ANTHROPIC_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&amp;lt;your api key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;GOOGLE_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&amp;lt;your api key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;OPENAI_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&amp;lt;your api key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;XAI_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&amp;lt;your api key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Note: You can also add your own API keys through the Chef settings page.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;6. Run Chef backend and frontend&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Run the following commands in your terminal:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pnpm run dev
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;## in another terminal&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx convex dev
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Congratulations, you now have Chef running locally! You can log in to Chef with your existing Convex account.&lt;/p&gt;
&lt;p&gt;Note: Chef is accessible at http://127.0.0.1:{port}/ and will not work properly on http://localhost:{port}/.&lt;/p&gt;
&lt;h2 id=&#34;repository-layout&#34;&gt;Repository Layout
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;app/&lt;/code&gt; contains all of the client side code and some serverless APIs.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;components/&lt;/code&gt; defines the UI components&lt;/li&gt;
&lt;li&gt;&lt;code&gt;lib/&lt;/code&gt; contains client-side logic for syncing local state with the server&lt;/li&gt;
&lt;li&gt;&lt;code&gt;routes/&lt;/code&gt; defines some client and server routes&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;chef-agent/&lt;/code&gt; handles the agentic loop by injecting system prompts, defining tools, and calling out to model providers.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;chefshot/&lt;/code&gt; defines a CLI interface for interacting with the Chef webapp.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;convex/&lt;/code&gt; contains the database that stores chats and user metadata.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;template/&lt;/code&gt; contains the template that we use to start all Chef projects.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;test-kitchen/&lt;/code&gt; contains a test harness for the Chef agent loop.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        
    </channel>
</rss>
