Documentation Index
Fetch the complete documentation index at: https://docs.tuturuuu.com/llms.txt
Use this file to discover all available pages before exploring further.
Overview
apps/apps serves apps.tuturuuu.com, the central public gateway for routable
Tuturuuu web apps. It is a launcher and redirect layer, not a reverse proxy.
The gateway exposes app cards for the routable web apps in apps/ and redirects
users to each app’s canonical domain:
/calendarredirects tocalendar.tuturuuu.com/qrredirects toqr.tuturuuu.com/tasks/personal/tasksredirects totasks.tuturuuu.com/personal/tasks- query strings are preserved during redirects
apps/database, apps/mobile, apps/redis, apps/discord,
apps/storage-unzip-proxy, and apps/hive-realtime.
Routing Contract
/: public app directory./{appSlug}: redirect to the target app root./{appSlug}/{path...}: redirect to the same path on the target app.
apps.tuturuuu.com must not own auth callbacks, protected APIs, cross-app token
exchange, or app-session cookies. Those flows remain owned by the canonical app
or by apps/web for central login.
The gateway layout uses @tuturuuu/satellite/providers so the public launcher
supports system, light, and dark theme switching through the shared
next-themes shell.
Local Development
bun dev:appsstarts the gateway through Portless.- Local app origin:
https://apps.tuturuuu.localhost. - Direct fallback port:
7818.
/vi/calendar should canonicalize to /calendar while storing NEXT_LOCALE.
CI/CD
Preview and production deployments use dedicated Vercel workflows:.github/workflows/vercel-preview-apps.yaml.github/workflows/vercel-production-apps.yaml
tuturuuu.ts and use the shared
ci-check.yml switchboard with affected-path gating. They require
environment-scoped Vercel credentials:
- preview environment:
vercel-preview-apps - production environment:
vercel-production-apps - project secret:
VERCEL_APPS_PROJECT_ID - shared secrets:
VERCEL_TOKENandVERCEL_ORG_ID
env.
Validation
Use these focused checks when changing the gateway:bun check when the shared worktree
state allows it.