# 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. # # This block named `flutter_client/` until 2026-09-10 and lost its PATTERN when # that tree was deleted, leaving a comment describing an exclusion that was no # longer happening. android/ never took its place, so 4.1 MB of Gradle project # has been entering the context and busting 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/