jjbruntonandClaude Opus 5 3a019e62d3 fix(api): allow the admin console origin through CORS
The production allowlist held only https://sauci.app, so every
/v1/admin/* preflight from https://manage.sauci.app returned 204 with no
Access-Control-Allow-Origin and the browser blocked the request. Login
then reported "Access denied. You are not an administrator." because the
admin app treats any /v1/admin/me failure as a permissions failure.

Add the admin console origin and record in the README that new admin
hosts belong in the Compose contract rather than a Dokploy override.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 18:17:26 +01:00
2026-01-24 20:16:01 +00:00
2025-12-30 15:54:34 +00:00
2025-12-27 19:10:11 +00:00

Sauci

Sauci is a couples connection product built as a full-stack npm/Turborepo workspace.

Applications

Path Surface
apps/mobile Expo React Native customer app
apps/admin Vite/React administration app
apps/web Next.js marketing and redemption app
apps/supabase database, auth, realtime, storage, and Edge Functions
apps/mcp authenticated internal MCP service
packages/shared shared TypeScript contracts

Bootstrap and run

Use Node 20.10.0 from .nvmrc, Docker-compatible containers, and tmux.

npm ci
scripts/dev-local.sh reset
scripts/dev-local.sh up

The launcher starts local Supabase, Edge Functions, web, admin, MCP, and Expo in one tmux session. See local stack documentation for ports, logs, native launch commands, and troubleshooting.

Verify

npm run verify:fast  # lint, typecheck, unit/contract tests
npm run verify:full  # fast checks, builds, Supabase integration
npm run verify:e2e   # running-stack Playwright journeys
npm run verify       # complete pre-PR gate

Native black-box flows use npm run test:mobile:e2e. Pull requests run static and full-stack gates and retain browser traces/screenshots/videos on failure.

Agent harness

Start with AGENTS.md and the documentation index. Task/risk agent routing lives in docs/agents/routing.md, repository skills live under .codex/skills, and verified lessons follow the learning promotion lifecycle.

Database schema changes must use committed files in apps/supabase/migrations. Remote migration tools and DDL through MCP SQL execution are forbidden.

S
Description
No description provided
Readme
73 MiB
0 Stars 1 Watchers 0 Forks
Languages
TypeScript 79.3%
Python 7.6%
PLpgSQL 6.2%
HTML 2.8%
JavaScript 1.5%
Other 2.3%