frontend/README.md
All frontend commands are run from the repository root using Task:
task frontend:dev — start Vite dev server (localhost:5173)task frontend:build — production buildtask frontend:test — run teststask frontend:test:watch — run tests in watch modetask frontend:lint — run ESLint + cycle detectiontask frontend:typecheck — run TypeScript type checkingtask frontend:check — run typecheck + lint + testtask frontend:install — install npm dependenciesFor desktop app development, see the Tauri section below.
The frontend requires environment variables to be set before running. task frontend:dev will create a .env file for you automatically on first run using the defaults from config/.env.example - for most development work this is all you need.
If you need to configure specific services (Google Drive, Supabase, Stripe, PostHog), edit your local .env file. The values in config/.env.example show what each variable does and provides sensible defaults where applicable.
For desktop (Tauri) development, task desktop:dev will additionally create a .env.desktop file from config/.env.desktop.example.
For Docker deployments and configuration, see the Docker README.
All desktop tasks are available via Task. From the root of the repo:
task desktop:dev
This ensures the JLink runtime and backend JAR exist (skipping if already built), then starts Tauri in dev mode.
task desktop:build
This does a full clean rebuild of the backend JAR and JLink runtime, then builds the Tauri app for production.
Platform-specific dev builds are also available:
task desktop:build:dev # No bundling
task desktop:build:dev:mac # macOS .app bundle
task desktop:build:dev:windows # Windows NSIS installer
task desktop:build:dev:linux # Linux AppImage
You can also run JLink steps individually:
task desktop:jlink # Build JAR + create JLink runtime
task desktop:jlink:jar # Build backend JAR only
task desktop:jlink:runtime # Create JLink custom JRE only
task desktop:jlink:clean # Remove JLink artifacts
task desktop:clean
Removes all desktop build artifacts including JLink runtime, bundled JARs, Cargo build, and dist/build directories.
[!NOTE]
Desktop builds require additional environment variables. See Environment Variables above -
task desktop:devwill set these up automatically fromconfig/.env.desktop.exampleon first run.