# Build context excludes — keep the image reproducible and free of host state. # # The Dockerfile installs dependencies with `npm ci` and then `COPY . .`. Without # this file that copy would drop the host's node_modules on top of the ones just # installed in the image: those are built for the host (macOS/arm64), the image # is Linux, and esbuild/rollup ship native binaries — so `npm run build` would # fail or emit a broken bundle. It would also bake `.env` into the image, where # Vite would read it and override the API URLs passed as build args. # Dependencies — reinstalled in the image from the lockfile node_modules # Build output — produced inside the image by `npm run build` dist dist-ssr # Local environment / secrets — never baked into the image; API URLs come from # build args (see the Dockerfile). Keep .env.example so the repo still documents # the knobs, but it is not needed in the build either. .env .env.* !.env.example # Version control and project metadata .git .gitignore .dockerignore Dockerfile *.md README* # Editor / OS cruft .vscode .idea .DS_Store *.log npm-debug.log* # Tooling caches .eslintcache coverage .cache