This is the monorepo for Etched's AI chat platform. Connect it to any open-source model (or any endpoint that streams responses like OpenAI or Anthropic's API) and start chatting!
This is a turborepo managed monorepo. Read up on it if you have never heard of it before.
There are two main components: apps/
and infra/
.
apps/
is the application built with electron-vite.
infra/
is for any infrastructure, like the local supabase setup.
First set up your .env
files. You will need them in apps/desktop/.env
and infra/.env
. Follow the .env.sample
files in each of them.
For Google OAuth, follow these steps to create a Google OAuth client. Then, for local development go to the Credentials page and edit your OAuth client. Add http://localhost:54321/auth/v1/callback
to the Authorized redirect URIs.
Get the rest of the supabase environment variables from the output of your local supabase cli (it'll show up in turbo dev
the first time you run it, otherwise just check pnpm exec supabase status
).
Make sure you have pnpm installed. Then run:
pnpm i
pnpm dev