# Exclude everything that isn't strictly needed to build or run the dev images. # The dev Dockerfiles COPY source subpaths (frontend/, backend/, gradlew, # settings.gradle, etc.), so without this the image would bloat with docs, # scripts, git history, etc. # Build artifacts and caches (mounted as named volumes at runtime) .gradle backend/build frontend/dist frontend/coverage frontend/node_modules backend/.gradle # Test outputs **/build/test-results **/build/reports **/coverage **/.pytest_cache frontend/playwright-report frontend/test-results # Local config and secrets .env .env.* !.env.example **/application-local.yml # VCS and editor state .git .gitignore .gitattributes .github .forgejo .idea .vscode *.iml .DS_Store # Documentation (not needed at runtime) README.md REQUIREMENTS.md AGENTS.md CODING_GUIDELINES.md docs/ # Ops scripts (not needed at runtime) scripts/ # Test source dirs that aren't built into runtime artifacts frontend/src/__tests__ backend/src/test # Docker metadata — Dockerfiles, .dockerignore, and compose files are not # needed inside the running image. Keep docker/*.conf and docker/entrypoint.sh # because frontend.prod.Dockerfile copies them into the production nginx image. docker/*.Dockerfile Dockerfile* .dockerignore docker-compose*.yml # Misc *.log logs/ tmp/ *.bak *.tmp