What problem does it solve? Deploying a web app under a URL prefix (e.g., /meridian) behind a reverse proxy breaks cookie paths, SPA routing, API base URLs, and streaming unless backend, frontend build, and proxy configs are coordinated. This Skill encodes the locked architectural decisions so agents do not reintroduce known bugs like runtime prefix detection or hardcoded /api fallbacks. ## Core Features & Use Cases - Three-variable contract: Documents how APP_ROOT_PATH, VITE_APP_BASENAME, and VITE_API_URL interact across backend runtime, Docker build args, and proxy config. - Locked decisions: Prefix-stripping proxy only, prefix-agnostic backend, build-time frontend prefix, no X-Forwarded-Prefix detection, and cookie Path matching the browser-visible URL. - Edge-case guidance: Covers the tsconfig composite-project boundary for vite.config.ts, the is_unstripped_prefix() 404 guard, dev proxy parity, streaming headers for NGINX, and fetch-based SSE auth instead of EventSource. - Use Case: When changing the deployment prefix from /knowledgevault to /meridian, follow the documented rebuild-and-reconfigure walkthrough without touching application code. ## Quick Start Load this skill before modifying anything related to APP_ROOT_PATH, VITE_APP_BASENAME, cookie paths, SPA catch-all routing, or frontend Docker build args, then follow its locked decisions.