# Build artifacts and node_modules — never useful inside the Docker context. **/.git **/.gitignore **/node_modules **/.svelte-kit **/build web/build # The Android client — built by its own job, never from this context. The APK # reaches the image through client/, downloaded as a CI artifact, so nothing # here reads android/ sources. # Excluded so the Gradle project neither bloats the context nor busts the # `COPY . .` layer on every Android-only change. android/ # Local `make build` output — an 18 MB binary the image never uses, since the # builder stage compiles its own. bin/ # Docs and IDE noise docs/ **/.idea **/.vscode **/.DS_Store # Test outputs **/coverage **/.nyc_output # Local env / secrets — fail closed. .env .env.* !.env.example # CI workflow files don't need to ship in the image. # # This said `.forgejo/` and `.github/` — neither of which this repo has. Gitea # Actions reads `.gitea/`, so the one directory that actually exists was the # one not excluded, and every workflow edit invalidated the context. .gitea/