Developers

Run

Learn how to run Char for development

Development

How to run the app?

  • We use pnpm for workspace management and package management.

Desktop (apps/desktop)

pnpm exec turbo run tauri:dev --filter=@hypr/desktop

Web (apps/web)

pnpm exec turbo run dev --filter=@hypr/web

API server (apps/api)

cargo run -p api

The API server (formerly apps/ai) handles LLM proxying (via OpenRouter), STT proxying, calendar integration, subscriptions, and the in-app support chat MCP server. See Environment Variables for required configuration.

Supabase

task supabase-start
task supabase-stop
  • task supabase-start will modify apps/api/.env and apps/web/.env based on the output of supabase start.
  • We generate supabase/config.toml dynamically based on the environment variables, and it is gitignored.
  • Currently, GITHUB_CLIENT_SECRET and GITHUB_CLIENT_ID is supported to enable GitHub OAuth.
  • It is important to set <SUPABASE_URL>/auth/v1/callback as redirect URI in your OAuth application settings.

Stripe

task stripe
  • task stripe will modify apps/api/.env based on the output of stripe listen.

Stripe webhook service (apps/stripe)

pnpm exec turbo run dev --filter=@hypr/stripe

This runs the dedicated Stripe webhook handler on Bun (default port 8788). It processes Stripe webhook events for subscription and entitlement management. See Environment Variables for required configuration.