Skip to content

Chat app made using: Qwik + Vite 8 (Rolldown) + UnoCSS + Lightning CSS + View Transitions + Speculation Rules + Partytown + Bun(Elysia) + Postgres + Valkey + NGINX Early Hints + optional TypeGPU(WebGPU) + optional WebTransport.

Notifications You must be signed in to change notification settings

Collin-Budrick/prometheus-site

Repository files navigation

prometheus-site

Monorepo for the Fragment Prime site (apps/site) and API (packages/platform) with Bun, Qwik, and Tauri for native packaging.

Getting started

cp .env.example .env   # review and adjust values
bun install

Common commands

bun run dev       # local dev stack + caddy + API/web
bun run preview   # preview mode (uses production Caddy host mapping)
bun run build     # build site + API
bun run test     # API tests
bun run lint     # lint workspace
bun run typecheck # generated fragment manifest + TS typecheck

Android (Tauri) quick setup (Windows)

bun run setup:tauri:android   # sets ANDROID_HOME/JAVA_HOME/path and creates a local gradle.bat shim
bun run dev:tauri:android      # starts Android dev flow

If the setup script reports missing Android SDK paths, set ANDROID_HOME (or ANDROID_SDK_ROOT) and rerun the script.

Environments and generated artifacts

Fragments and several platform artifacts are now generated at build/runtime, not committed:

  • apps/site/public/fragments/**
  • apps/site/src/fragment/fragment-css.generated.ts
  • apps/tauri/src-tauri/gen/**
  • infra/caddy/Caddyfile

These files are generated by:

  • bun run build:fragment-css
  • scripts/dev.ts / scripts/preview.ts
  • bun run tauri:mobile:init
  • scripts/compose-utils.ts (ensureCaddyConfig)

If you need to inspect generated Caddy config, run:

bun run scripts/dev.ts  # or bun run preview.ts

Runtime defaults

Defaults are centralized in scripts/runtime-config.ts and mirrored by .env.example:

  • Hosts: prometheus.dev, prometheus.prod
  • Ports: 4000 API, 5433 Postgres, 6379 Valkey, 4444 webtransport, 4173 device web
  • Compose project: prometheus
  • Feature/service toggles from PROMETHEUS_*/VITE_*

Optional services are controlled with:

  • PROMETHEUS_ENABLE_REALTIME_SERVICES=1, or
  • PROMETHEUS_COMPOSE_PROFILE=realtime

When disabled, yjs-signaling and webtransport are not started by default.

CI

/.github/workflows/ci.yml keeps PR-safe checks lightweight:

  • bun run lint
  • bun run typecheck
  • bun run test
  • bun run build

Native-heavy workflows remain manual/secret-gated (native-desktop-release.yml, native-mobile-release.yml, native-pr-smoke.yml).

Notes for contributors

  • Use bun run scripts at repository root unless specified otherwise.
  • Android/SDK paths are not hardcoded; use environment variables or local defaults from .env.

About

Chat app made using: Qwik + Vite 8 (Rolldown) + UnoCSS + Lightning CSS + View Transitions + Speculation Rules + Partytown + Bun(Elysia) + Postgres + Valkey + NGINX Early Hints + optional TypeGPU(WebGPU) + optional WebTransport.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors