Skip to main content
This page explains how to run the Orbit AI app locally, what you need installed, which environment variables are required, and how to handle the most common setup failures.

Supported environments

  • Browser: Vite serves the single-page app locally. Production hosting must serve dist/ and route unknown paths to the SPA entry.
  • Desktop: Electron package targets Windows portable/NSIS and Linux AppImage/deb/dir via electron-builder.
  • Mobile: Capacitor 8 targets Android and iOS. Native project builds require Android Studio/SDK or Xcode. Feature parity is not established; see docs/mobile/PLATFORM_LIMITATIONS.md.

Prerequisites

You need Node.js and npm compatible with the lockfile, Git, and a configured Supabase project. Desktop and mobile release builds require Electron Builder and platform-specific dependencies; mobile builds additionally need Android Studio or Xcode. Versions and support policy are not declared in the repository.

Local browser launch

1

Install dependencies

Run npm ci to install from package-lock.json.
2

Set required environment variables

Create a local .env file with:
Only these two Vite variables are mandatory at client initialization (src/integrations/supabase/client.ts).
3

Start the dev server

Run npm run dev. Vite listens on port 8000 (vite.config.ts).
4

Open the app

Open the printed local URL. Most product screens require a signed-in account and a working Supabase client configuration.
The publishable/anonymous client key is browser-visible. Never put service-role or provider secrets in VITE_* variables.

Server-side secrets

Edge Function secrets are server-side and vary by feature. Secret names discovered in source include:
  • SUPABASE_URL
  • SUPABASE_ANON_KEY
  • A service-role or secret key where privileged operations require it
  • OPENAI_API_KEY / AI_API_KEY
  • GEMINI_API_KEY
  • STRIPE_SECRET_KEY
  • STRIPE_WEBHOOK_SECRET
  • Origin and app settings
Consult each function and deployment setup before configuring. Secret values are intentionally omitted. .env exists in this checkout; do not copy or publish its contents.

npm scripts

All commands are declared in package.json.

Core

Desktop

Cloudflare

Supabase

Mobile

Repository layout

Suggested workflow

  1. Install dependencies with npm install.
  2. Configure the local app using the project’s approved private setup instructions. Do not copy production credentials into source files, documentation, chat, or a public repository.
  3. Start the frontend with npm run dev.
  4. For Supabase-backed features, validate the configured project with the bootstrap scripts.
  5. For desktop or mobile builds, use the corresponding desktop:* or mobile:* scripts.

Common setup failures

  • Missing Supabase public config: the client throws during app startup. Set both required VITE_ variables and restart Vite.
  • Blank or error startup: confirm dependencies and the Supabase URL/key pair, then inspect the browser console. The app has a startup error boundary and a configuration fallback.
  • Auth, tables, or functions fail: confirm the target Supabase project has the required migrations, Auth settings, Edge Functions, and secrets deployed. npm run supabase:check checks deployment prerequisites; it does not prove runtime feature health.
  • OAuth or email redirect errors: confirm Supabase Auth URL allow-lists and function CORS origins against the exact development or production host.

Common maintainer checks

  • Verify private local configuration and backend connectivity without printing credentials.
  • Ensure auth and role permissions are correctly configured.
  • Verify Stripe and payment webhook configuration for billing flows.
  • Ensure dist/ builds cleanly before deployment.
  • Check migration and edge function alignment before a production rollout.
For a newcomer, the best first pass is:
  1. README.md
  2. docs/README.md
  3. docs/orbit-ai/overview.md
  4. docs/orbit-ai/architecture.md
  5. docs/orbit-ai/getting-started.md
  6. src/App.tsx for route and guard behavior
  7. supabase/ for backend logic and database state
Open verification items: live screenshot capture for sign-in, chat, history, settings, and privacy screens needs a test tenant with synthetic data. Test tenant requirements for standard, workspace-member, staff, and admin roles, plus MFA states and entitlements, are not yet confirmed.